
.hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  grid-template-rows: 1fr auto;
  padding: clamp(90px, 14vh, 160px) var(--gut) clamp(24px, 3vw, 44px);
  overflow: hidden;
  color: var(--paper);
  background-color: var(--navy);
}
.hero__photo {
  position: absolute; inset: -8% 0;
  background: url("../img/hero-house-rear.jpg") center 38% / cover no-repeat;
  will-change: transform;
}
@media (min-width: 961px) {
  .hero__photo {
    background-image: url("../img/hero-house-rear-wide.jpg"); background-position: center 4%;
    inset: 0 0 -8%;
  }
}
.hero__vid {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center 4%;
  opacity: 0; transition: opacity 1.2s ease;
}
.hero__vid.on { opacity: 1; }
.hero__shade {
  position: absolute; inset: 0;
  background: linear-gradient(180deg,
    rgba(4, 16, 46, 0.7) 0%,
    rgba(4, 16, 46, 0.42) 13%,
    rgba(5, 22, 62, 0.46) 30%,
    rgba(5, 22, 62, 0.64) 50%,
    rgba(4, 14, 40, 0.92) 100%);
}
.hero__mark, .hero__in, .hero__stats { z-index: 1; }
.hero__in { position: relative; }
.hero__in, .hero__stats { will-change: transform, opacity; }
.hero h1 { color: var(--paper); }

.hero__in, .hero__stats { max-width: none; margin-inline: 0; padding-inline: 0; }

.hero__mark {
  position: absolute; z-index: 0; pointer-events: none;
  top: 6%; right: -6%;
  width: clamp(360px, 62vw, 980px); aspect-ratio: 712 / 423;
  background: rgba(123, 164, 255, 0.09);
  -webkit-mask: url("../img/ordex-mark.png?v=5") center / contain no-repeat;
  mask: url("../img/ordex-mark.png?v=5") center / contain no-repeat;
}

.hero__in {
  position: relative;
  display: grid;
  grid-template-columns: minmax(min(320px, 100%), 1.55fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 80px);
  align-items: end;
}

.hero__eyebrow {
  display: flex; align-items: center; flex-wrap: wrap; gap: 14px;
  margin: 0;
  font-family: var(--mono); font-size: var(--t-label); font-weight: 500;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--blue-light);
  text-shadow: 0 1px 2px rgba(4, 14, 40, 0.9), 0 0 14px rgba(4, 14, 40, 0.75);
}
.hero__rule { width: 46px; height: 1px; background: rgba(143, 178, 255, 0.5); }

.hero__copy h1 {
  margin: clamp(22px, 4vh, 48px) 0 0;
  font-size: clamp(44px, 7.6vw, 146px);
  line-height: 0.86;
  letter-spacing: -0.05em;
}

.hero__side { padding-bottom: clamp(6px, 2vh, 22px); }
.hero__side .lead {
  max-width: 34ch;
  font-size: clamp(15px, 1.1vw, 17.5px);
  line-height: 1.6;
  color: rgba(248, 249, 251, 0.97);
  text-shadow: 0 1px 14px rgba(4, 14, 40, 0.55);
}
.hero__actions { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 10px; }
.hero .btn--ghost { border-color: rgba(244, 245, 247, 0.28); color: var(--paper); }
.hero .btn--ghost:hover { border-color: rgba(244, 245, 247, 0.7); background: rgba(244, 245, 247, 0.06); }

.hero__stats { position: relative; margin-top: clamp(32px, 6vh, 72px); }
.hero__stats ul {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px;
  border: 1px solid rgba(244, 245, 247, 0.18);
  background: rgba(244, 245, 247, 0.05);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.hero__stats li { padding: 20px; box-shadow: 0 0 0 1px rgba(244, 245, 247, 0.14); }
.hero__n {
  display: block;
  font-size: clamp(26px, 2.4vw, 36px);
  font-weight: 500; letter-spacing: -0.04em; line-height: 1;
}
.hero__k {
  display: block; margin-top: 8px;
  font-family: var(--mono); font-size: 9.5px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: rgba(244, 245, 247, 0.62);
}

.cap__top {
  display: flex; flex-wrap: wrap; align-items: baseline;
  justify-content: space-between; gap: 20px;
  padding-bottom: 24px; border-bottom: 1px solid var(--line);
}
.cap__top-r { color: var(--steel); }

.cap__in {
  margin-top: clamp(40px, 7vh, 90px);
  display: grid;
  grid-template-columns: minmax(min(300px, 100%), 1fr) minmax(min(340px, 100%), 1.25fr);
  gap: clamp(32px, 6vw, 110px);
}
.cap__statement h2 { font-size: clamp(30px, 3.6vw, 58px); line-height: 1.02; max-width: 22ch; }
.cap__statement p { margin: 26px 0 0; max-width: 44ch; font-size: 16px; line-height: 1.66; color: var(--mute); }
.cap__pull {
  max-width: 40ch !important;
  font-size: clamp(19px, 1.7vw, 26px) !important;
  line-height: 1.42;
  color: var(--blue) !important;
}

.cap__ledger { display: grid; }
.cap__row {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr) auto;
  gap: clamp(14px, 2vw, 32px);
  align-items: baseline;
  padding: clamp(20px, 2.4vw, 30px) 0;
  border-top: 1px solid var(--line);
  transition: border-color .45s var(--ease-hover);
}
.cap__row:last-child { border-bottom: 1px solid var(--line); }
.cap__row > * { transition: transform .5s var(--ease-hover), color .45s var(--ease-hover); }
.cap__row:hover > * { transform: translateX(16px); }
.cap__row:hover .cap__t b { color: var(--blue); }
.cap__row:hover .cap__n { color: var(--blue-bright); }
.cap__n { font-family: var(--mono); font-size: var(--t-label); letter-spacing: 0.14em; color: var(--blue); }
.cap__t b { display: block; font-size: clamp(19px, 1.8vw, 26px); font-weight: 500; letter-spacing: -0.03em; }
.cap__t em {
  display: block; margin-top: 8px; font-style: normal;
  font-size: var(--t-small); line-height: 1.6; color: var(--mute); max-width: 46ch;
}
.cap__m { font-family: var(--mono); font-size: var(--t-label); color: var(--steel); text-align: right; }

.hm-who .head { margin-bottom: 0; }
.hm-who__tabs {
  margin-top: clamp(32px, 5vh, 60px);
  display: flex; flex-wrap: wrap; gap: clamp(18px, 3vw, 44px);
  padding-bottom: 16px; border-bottom: 1px solid var(--line);
}
.hm-who__tabs button {
  background: none; border: 0; padding: 0 0 6px; cursor: pointer;
  display: flex; align-items: baseline; gap: 10px;
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--steel);
  border-bottom: 1px solid transparent;
  transition: color .4s, border-color .4s;
}
.hm-who__tabs button span { color: var(--blue); }
.hm-who__tabs button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--ink); }

.hm-who__pager { display: none; }
.hm-who__tabs { scroll-margin-top: 120px; }
@media (min-width: 901px) {
  .hm-who__tabs button { font-size: 12.5px; color: var(--mute); }
  .hm-who__tabs button:hover { color: var(--ink); }
  .hm-who__pager:not([hidden]) { display: block; margin-top: 34px; }
  .hm-who__pager [data-who-prev] { display: none; }
  .hm-who__pager [data-who-next] {
    display: inline-flex; align-items: center; gap: 14px; padding: 0 0 7px; cursor: pointer;
    background: none; border: 0; border-bottom: 1px solid var(--ink);
    color: var(--ink); font: inherit; text-align: left;
  }
  .hm-who__pager [data-who-next] span { display: flex; align-items: baseline; gap: 12px; }
  .hm-who__pager small {
    font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em;
    text-transform: uppercase; color: var(--steel);
  }
  .hm-who__pager b { font-weight: 500; font-size: 15px; }
  .hm-who__pager [data-who-next] svg { transition: transform .45s var(--ease); }
  .hm-who__pager [data-who-next]:hover svg { transform: translateX(4px); }
}
@media (max-width: 900px) {
  .hm-who__pager:not([hidden]) {
    display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 8px; margin-top: 28px;
  }
  .hm-who__pager button {
    min-height: 54px; padding: 0 18px; cursor: pointer; font: inherit; color: var(--ink);
    display: flex; align-items: center; justify-content: center; gap: 14px;
    background: none; border: 1px solid var(--ink);
  }
  .hm-who__pager [data-who-prev] { padding: 0; }
  .hm-who__pager [data-who-prev] svg { transform: rotate(180deg); }
  .hm-who__pager [data-who-next] {
    justify-content: space-between; text-align: left; background: var(--ink); color: var(--paper);
  }
  .hm-who__pager small {
    display: block; font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.16em;
    text-transform: uppercase; opacity: 0.72;
  }
  .hm-who__pager b { display: block; margin-top: 2px; font-weight: 500; font-size: 15px; line-height: 1.2; }
  .hm-who__pager svg { flex: none; }
}

.hm-who__panel {
  margin-top: clamp(32px, 5vh, 64px);
  display: grid;
  grid-template-columns: minmax(min(300px, 100%), 1fr) minmax(min(320px, 100%), 1.15fr);
  gap: clamp(28px, 5vw, 80px);
  align-items: start;
}
.hm-who__panel[hidden] { display: none; }
.hm-who__body .label { color: var(--steel); }
.hm-who__body h3 { margin: 18px 0 0; font-size: clamp(26px, 3.2vw, 48px); line-height: 1.04; max-width: 20ch; }
.hm-who__body p { margin: 22px 0 0; max-width: 44ch; font-size: 16px; line-height: 1.66; color: var(--mute); }
.hm-who__body ul { list-style: none; margin: 30px 0 0; padding: 0; }
.hm-who__body li {
  display: flex; align-items: baseline; gap: 14px;
  padding: 14px 0; border-top: 1px solid var(--line); font-size: var(--t-small);
}
.hm-who__body li::before {
  content: "\2715"; flex: none;
  font-family: var(--mono); font-size: 12px; line-height: 1; color: var(--blue);
}

.hm-work { background: var(--paper); }
.hm-work .head { margin-bottom: 0; }

.hm-work__item { display: block; margin-top: clamp(40px, 7vh, 90px); }
.hm-work__item + .hm-work__item { margin-top: clamp(48px, 9vh, 120px); }
.hm-work__item > .hm-work__grid {
  display: grid;
  grid-template-columns: minmax(min(320px, 100%), 1.7fr) minmax(min(260px, 100%), 1fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: end;
}
.hm-work__item--flip > .hm-work__grid {
  grid-template-columns: minmax(min(260px, 100%), 1fr) minmax(min(320px, 100%), 1.7fr);
}
.hm-work__item--flip .hm-work__media { order: 1; }
.hm-work__item--flip .hm-work__body  { order: 2; }

.hm-work__body h3 { margin: 16px 0 0; font-size: clamp(24px, 2.6vw, 40px); line-height: 1.06; max-width: 20ch; }
.hm-work__body p  { margin: 18px 0 0; max-width: 40ch; font-size: 15px; line-height: 1.62; color: var(--mute); }
.hm-work__more {
  display: inline-flex; align-items: center; gap: 10px; margin-top: 24px;
  font-family: var(--mono); font-size: var(--t-label);
  letter-spacing: 0.16em; text-transform: uppercase;
}
.hm-work__more svg { transition: transform .45s var(--ease); }
.hm-work__item:hover .hm-work__more { color: var(--blue); }
.hm-work__item:hover .hm-work__more svg { transform: translateX(5px); }

.accred-strip {
  background: #fff;
  border-block: 1px solid var(--line);
  padding-block: clamp(24px, 3vw, 40px);
  overflow: hidden;
}
.accred-strip__track {
  display: flex; align-items: center; width: max-content;
  animation: accredScroll 110s linear infinite;
}
.accred-strip:hover .accred-strip__track { animation-play-state: paused; }
@keyframes accredScroll { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
@media (prefers-reduced-motion: reduce) { .accred-strip__track { animation: none; } }

.accred-strip .ac { flex: none; margin: 0 clamp(26px, 3.4vw, 54px); }

.hm-assure {
  background-color: var(--navy);
  background-image:
    linear-gradient(180deg,
      rgba(7, 31, 87, 0.86) 0%,
      rgba(7, 31, 87, 0.81) 52%,
      rgba(7, 31, 87, 0.93) 100%),
    url("../img/aerial-terraces.jpg");
  background-size: cover, cover;
  background-position: center, center;
}
.hm-assure .head { margin-bottom: 0; }
.hm-assure .head h2 { font-size: clamp(34px, 5vw, 86px); }

.hm-assure__eyebrow {
  margin: clamp(40px, 7vh, 84px) 0 16px;
  padding-top: clamp(28px, 4vh, 44px);
  border-top: 1px solid var(--line-dark);
  font-size: 11px; letter-spacing: 0.18em; color: var(--mute-dark);
}
.hm-assure__more {
  margin: 0; max-width: 56ch;
  font-size: var(--t-small); line-height: 1.7; color: var(--mute-dark);
}
.hm-assure__more a {
  color: var(--sky); border-bottom: 1px solid currentColor;
  transition: color .3s var(--ease-hover);
}
.hm-assure__more a:hover { color: var(--paper); }

.hm-assure__quote {
  margin-top: clamp(48px, 8vh, 100px);
  padding-top: clamp(32px, 5vh, 56px);
  border-top: 1px solid var(--line-dark);
  display: grid;
  grid-template-columns: minmax(min(300px, 100%), 1.4fr) minmax(min(240px, 100%), 1fr);
  gap: clamp(28px, 5vw, 80px);
  align-items: end;
}
.hm-assure__quote blockquote {
  margin: 0;
  font-size: clamp(22px, 2.7vw, 42px); line-height: 1.32;
}
.hm-assure__cite {
  margin: 0;
  font-family: var(--mono); font-size: var(--t-label);
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--mute-dark); line-height: 2;
}
.hm-assure__cite span { color: var(--sky); }

.hm-assure__note {
  margin-top: clamp(40px, 6vh, 70px); padding-top: 28px;
  border-top: 1px solid var(--line-dark);
  max-width: 60ch; font-size: 15.5px; line-height: 1.65; color: var(--mute-dark);
}

.hm-enquiry h2 { margin: 26px 0 0; font-size: clamp(36px, 5.4vw, 96px); line-height: 0.92; }
.hm-enquiry .lead { margin: 26px 0 0; max-width: 40ch; font-size: 16px; line-height: 1.66; }

.hm-enquiry .form { display: grid; gap: 0; }
.hm-enquiry .form__row {
  display: grid; gap: 10px;
  padding: 20px 0; border-top: 1px solid rgba(34, 38, 43, 0.2);
}
.hm-enquiry .form__row--end { border-bottom: 1px solid rgba(34, 38, 43, 0.2); }
.hm-enquiry legend.form__label { padding: 0; }
.hm-enquiry .form__label {
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--blue);
}
.hm-enquiry .form__field {
  background: none; border: 0; outline: none; padding: 0;
  font-size: clamp(17px, 1.5vw, 21px); letter-spacing: -0.02em;
  color: var(--ink); width: 100%;
}
.hm-enquiry textarea.form__field {
  resize: vertical;
  font-size: clamp(16px, 1.35vw, 19px); line-height: 1.5; letter-spacing: -0.01em;
}
.hm-enquiry .form__field::placeholder { color: rgba(34, 38, 43, 0.68); }
.hm-enquiry .form__field:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 4px; }

.hm-enquiry .form__foot {
  display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: 18px; margin-top: 26px;
}
.hm-enquiry .form__submit { padding: 18px 30px; font-size: 14px; background: var(--ink); color: var(--paper); }
.hm-enquiry .form__submit:hover { background: var(--blue); }
.hm-enquiry .form__privacy {
  margin: 0; max-width: 34ch;
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--steel); line-height: 1.7;
}
.hm-enquiry .form__status { margin: 16px 0 0; font-size: var(--t-small); }
.hm-enquiry .form__status--ok  { color: var(--blue); }
.hm-enquiry .form__status--err { color: #a8341f; }
.form__hp { position: absolute; left: -9999px; opacity: 0; }

@media (max-width: 900px) {
  .hero__in,
  .cap__in,
  .hm-who__panel,
  .hm-work__item > .hm-work__grid,
  .hm-work__item--flip > .hm-work__grid,
  .hm-assure__quote { grid-template-columns: minmax(0, 1fr); }

  .hero__stats ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hm-work__item--flip .hm-work__media { order: 0; }
  .hm-work__item--flip .hm-work__body  { order: 0; }
  .cap__row { grid-template-columns: 46px minmax(0, 1fr); }
  .cap__m { grid-column: 2; text-align: left; margin-top: 10px; }
}

@media (pointer: coarse) {
  .hm-who__tabs button { position: relative; }
  .hm-who__tabs button::after {
    content: ""; position: absolute;
    left: 0; right: 0; top: 50%;
    height: 44px; transform: translateY(-50%);
  }
}

.cap__photo {
  position: relative; margin: clamp(30px, 4.5vh, 52px) 0 0;
  max-width: 560px; aspect-ratio: 4 / 3; overflow: hidden; background: var(--slab);
}
.cap__photo img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transform: scale(1.045);
  transition: opacity .8s var(--ease-hover), transform 1.4s var(--ease-hover);
}
.cap__photo img.is-on { opacity: 1; transform: none; }
.cap__photo-cap {
  position: absolute; left: 0; bottom: 0;
  display: flex; gap: 12px; padding: 11px 16px;
  background: var(--paper);
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ink);
}

.cap__row:focus-visible { outline: none; }
.cap__row:focus-visible > * { transform: translateX(16px); }
.cap__row:focus-visible .cap__t b { color: var(--blue); }

@media (prefers-reduced-motion: reduce) {
  .cap__photo img { transition: none; transform: none; }
}

.hm-enquiry__alt {
  margin: 34px 0 0; padding-top: 18px; border-top: 1px solid var(--line);
  max-width: 44ch; font-size: var(--t-small); line-height: 1.7; color: var(--mute);
}
.hm-enquiry__alt a { color: var(--ink); border-bottom: 1px solid currentColor; white-space: nowrap; transition: color .3s var(--ease-hover); }
.hm-enquiry__alt a:hover { color: var(--blue); }

.loader { display: none; }
.intro-active .loader {
  position: fixed; inset: 0; z-index: 10000;
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: clamp(24px, 4vw, 56px);
  background: #05163e; color: var(--paper);
  transition: transform 1s var(--wipe);
}
.intro-out .loader { transform: translateY(-101%); }
.loader__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.loader__word { font-size: clamp(30px, 5vw, 68px); font-weight: 500; letter-spacing: -0.05em; line-height: 1; }
.loader__tag {
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.2em;
  text-transform: uppercase; opacity: 0.6;
}
.loader__bar { margin-top: 26px; height: 1px; background: rgba(244, 245, 247, 0.24); }
.loader__bar i {
  display: block; height: 1px; background: var(--paper);
  transform-origin: left center; transform: scaleX(0);
  animation: loaderBar 1.1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes loaderBar { to { transform: scaleX(1); } }
.intro-active:not(.intro-out) [data-reveal].in { opacity: 0; transform: translateY(20px); }
@media print { .loader { display: none !important; } }

.cap__n { display: block; align-self: start; line-height: 0; }
.cap__ico {
  width: 32px; height: 32px; color: var(--blue); overflow: visible;
  transition: color .4s var(--ease-hover), transform .5s var(--ease-hover);
}
.cap__ico path, .cap__ico circle { stroke-dasharray: 1; stroke-dashoffset: 1; }
.cap__row.in .cap__ico path, .cap__row.in .cap__ico circle {
  animation: capDraw 1.3s var(--ease-hover) forwards;
  animation-delay: 200ms;
}
@keyframes capDraw { to { stroke-dashoffset: 0; } }
.cap__row:hover .cap__ico, .cap__row:focus-visible .cap__ico { color: var(--blue-bright); transform: translateY(-3px) scale(1.06); }
html:not(.js) .cap__ico path, html:not(.js) .cap__ico circle { stroke-dashoffset: 0; }
@media (prefers-reduced-motion: reduce) {
  .cap__ico path, .cap__ico circle { stroke-dashoffset: 0; animation: none !important; }
  .cap__ico { transition: none; }
}

.hm-area__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(32px, 6vw, 96px); align-items: start;
}
.hm-area .lead { margin: 0; max-width: 42ch; }
.hm-area__check { margin-top: clamp(28px, 4vh, 40px); max-width: 420px; }
.hm-area__check label { display: block; margin-bottom: 10px; font-family: var(--mono); font-size: var(--t-label); letter-spacing: .16em; text-transform: uppercase; color: var(--steel); }
.hm-area__row { display: flex; }
.hm-area__row input {
  flex: 1; min-width: 0; height: 52px; padding: 0 16px;
  border: 1px solid var(--line); border-right: 0; border-radius: 0; background: #fff;
  font: inherit; font-size: 16px; text-transform: uppercase; color: var(--ink);
}
.hm-area__row input:focus { outline: 2px solid var(--blue-bright); outline-offset: -2px; }
.hm-area__row .btn { height: 52px; border-radius: 0; }
.hm-area__result { min-height: 1.5em; margin: 12px 0 0; font-size: var(--t-small); color: var(--mute); }
.hm-area__result.is-in { color: var(--blue); }
.hm-area__result a { color: inherit; }
.hm-area__groups { list-style: none; margin: 0; padding: 0; }
.hm-area__groups li {
  display: grid; grid-template-columns: minmax(120px, 0.4fr) 1fr; gap: 20px;
  padding: 20px 0; border-top: 1px solid var(--line);
}
.hm-area__groups li:last-child { border-bottom: 1px solid var(--line); }
.hm-area__groups b { font-weight: 500; font-size: 18px; }
.hm-area__groups span { color: var(--mute); line-height: 1.6; }

.hm-faq__list { max-width: 900px; border-bottom: 1px solid var(--line); }
.hm-faq__list details { border-top: 1px solid var(--line); }
.hm-faq__list summary {
  display: flex; justify-content: space-between; align-items: center; gap: 24px;
  padding: 22px 0; cursor: pointer; list-style: none;
  font-size: clamp(18px, 1.6vw, 22px); letter-spacing: -0.01em;
  transition: color .3s var(--ease-hover);
}
.hm-faq__list summary::-webkit-details-marker { display: none; }
.hm-faq__list summary::after {
  content: "+"; flex: none; font-family: var(--mono); font-size: 22px; line-height: 1; color: var(--blue);
  transition: transform .5s cubic-bezier(.34, 1.56, .64, 1);
}
.hm-faq__list details[open] summary::after { transform: rotate(45deg); }
.hm-faq__list summary:hover { color: var(--blue); }
.hm-faq__list summary:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 4px; }
.hm-faq__list details p { margin: 0 0 24px; max-width: 62ch; color: var(--mute); line-height: 1.7; }
.hm-faq__list details[open] p { animation: faqIn .45s var(--ease-hover); }
@keyframes faqIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

@media (max-width: 900px) {
  .hm-area__grid { grid-template-columns: minmax(0, 1fr); }
  .hm-area__groups li { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .hm-faq__list summary::after { transition: none; }
  .hm-faq__list details[open] p { animation: none; }
}

.hm-assure {
  --mute-dark: rgba(248, 249, 251, 0.92);
  --line-dark: rgba(244, 245, 247, 0.3);
}
.hm-assure .label, .hm-assure__eyebrow { color: #c4d5f7; }
.hm-assure__more a { color: #dfe8fb; }
.hm-assure__more, .hm-assure__cite, .hm-assure__note, .hm-assure .label, .hm-assure__eyebrow {
  text-shadow: 0 1px 12px rgba(4, 14, 40, 0.7);
}

.hm-who__tabs button { position: relative; }
.hm-who__tabs button[aria-selected="true"] { border-bottom-color: transparent; }
.hm-who__tabs button::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
  background: var(--ink); transform: scaleX(0); transform-origin: left center;
  transition: transform .55s var(--ease);
}
.hm-who__tabs button[aria-selected="true"]::before { transform: scaleX(1); }

.js .hm-who__tabs button {
  opacity: 0; transform: translateY(10px);
  transition: opacity .7s var(--ease), transform .7s var(--ease), color .4s;
}
.js .hm-who__tabs.in button { opacity: 1; transform: none; }
.js .hm-who__tabs button:nth-child(2) { transition-delay: 70ms, 70ms, 0s; }
.js .hm-who__tabs button:nth-child(3) { transition-delay: 140ms, 140ms, 0s; }
.js .hm-who__tabs button:nth-child(4) { transition-delay: 210ms, 210ms, 0s; }

.hm-who__panel.is-waiting .hm-who__body > *,
.hm-who__panel.is-waiting .hm-who__media { opacity: 0; }
.hm-who__panel.is-entering .hm-who__body > * { animation: whoUp .8s var(--ease) both; }
.hm-who__panel.is-entering .hm-who__body > :nth-child(2) { animation-delay: 80ms; }
.hm-who__panel.is-entering .hm-who__body > :nth-child(3) { animation-delay: 160ms; }
.hm-who__panel.is-entering .hm-who__body > ul { animation: none; }
.hm-who__panel.is-entering .hm-who__body li { animation: whoUp .7s var(--ease) both; animation-delay: 260ms; }
.hm-who__panel.is-entering .hm-who__body li:nth-child(2) { animation-delay: 330ms; }
.hm-who__panel.is-entering .hm-who__body li:nth-child(3) { animation-delay: 400ms; }
.hm-who__panel.is-entering .hm-who__body li:nth-child(4) { animation-delay: 470ms; }
.hm-who__panel.is-entering .hm-who__media { animation: whoWipe 1.15s var(--wipe) 60ms both; }
.hm-who__panel.is-entering .hm-who__media img { animation: whoZoom 1.8s var(--ease) both; }
@keyframes whoUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes whoWipe { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes whoZoom { from { transform: scale(1.08); } to { transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .js .hm-who__tabs button { opacity: 1; transform: none; transition: color .4s; }
  .hm-who__tabs button::before { transition: none; }
}
