/* ==========================================================================
   fm-growth18 - Vantridge Partners (likeness rebuild, original code)
   Roboto Flex solo. Navy / signal-yellow / paper. Measured against the
   reference at 1440 and 390. Never hand-edit design/: rebuild.
   ========================================================================== */

@font-face {
  font-family: "Roboto Flex";
  src: url("../fonts/roboto-flex-var-latin.woff2") format("woff2");
  font-weight: 100 1000;
  font-stretch: 25% 151%;
  font-style: normal;
  font-display: optional;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* palette (ours, same hue families as the reference) */
  --navy: #0b0730;
  --navy-ink: #0b0730;
  --yellow: #fcd53f;
  --yellow-deep: #eec325;
  --paper: #f4f4f2;
  --paper-2: #f0f0ee;
  --white: #ffffff;
  --gray: #63615c;        /* body gray, 5.6:1 on paper */
  --gray-soft: #6e6c66;   /* deepened from the reference #8f8e8b (3.05:1) */
  --dim: #b7b6b3;         /* muted on navy */
  --dim-2: #adaca7;       /* footer links, deepened lane */
  --nav-ink: #6c697f;     /* reference nav label slate, 5.3:1 on white */
  --green: #c2daa3;
  --scrim: #0b0b0b;
  --line: #e3e2de;
  --line-dark: rgba(255, 255, 255, 0.14);
  --team-scrim: #332f2b;

  /* type */
  --ff: "Roboto Flex", "Helvetica Neue", Arial, sans-serif;
  --fs-d1: 73px;  /* ref Geist 72/500, cap-height calibrated */
  --fs-d2: 57px;  /* ref 56 */
  --fs-d3: 49px;  /* ref 48 */
  --fs-d4: 41px;  /* ref 40 */
  --fs-d5: 32.5px;/* ref 32 */
  --fs-d6: 28.5px;/* ref 28 */
  --fs-lead: 18px;
  --fs-body: 16px;
  --fs-meta: 14px;
  --fs-micro: 12px;

  /* structure */
  --wrap: 1432px;
  --pad: 30px;
  --gap-band: 160px;
  --r-pill: 52px;
  --r-lg: 32px;
  --r-card: 24px;
  --r-md: 20px;
  --r-sm: 16px;
  --r-xs: 12px;
  --head-h: 76px;

  /* motion */
  --t-fast: 0.15s;
  --t-base: 0.4s;
  --ease: cubic-bezier(0.33, 1, 0.68, 1);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--navy-ink);
  font-family: var(--ff);
  font-size: var(--fs-body);
  line-height: 1.5;
  font-variation-settings: "opsz" 24;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img { display: block; max-width: 100%; height: auto; }
p { margin: 0; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; border: 0; background: none; cursor: pointer; }
input, textarea, select { font: inherit; color: inherit; min-width: 0; }
:focus-visible { outline: 2px solid var(--yellow); outline-offset: 3px; border-radius: 4px; }
.skip {
  position: absolute; left: 16px; top: -60px; z-index: 200; background: var(--navy);
  color: #fff; padding: 10px 18px; border-radius: 999px; font-size: 14px; font-weight: 600;
}
.skip:focus { top: 12px; }
.sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- layout ---------- */
.wrap { width: min(var(--wrap), calc(100% - var(--pad) * 2)); margin-inline: auto; }
.band { position: relative; }
.band--paper { background: var(--paper); }
.band--dark { background: var(--navy); padding: 160px 0; }
.stack-160 { padding-top: var(--gap-band); }

/* ---------- type ---------- */
.d1, .d2, .d3, .d4, .d5, .d6 {
  margin: 0; font-weight: 500; font-variation-settings: "opsz" 100; text-wrap: balance;
}
.d1 { font-size: var(--fs-d1); line-height: 1.11; letter-spacing: -0.0555em; }
.d2 { font-size: var(--fs-d2); line-height: 1.15; letter-spacing: -0.0446em; }
.d3 { font-size: var(--fs-d3); line-height: 1.15; letter-spacing: -0.0446em; }
.d4 { font-size: var(--fs-d4); line-height: 1.2; letter-spacing: -0.02em; font-weight: 600; }
.d5 { font-size: var(--fs-d5); line-height: 1.25; letter-spacing: -0.02em; }
.d6 { font-size: var(--fs-d6); line-height: 1.28; letter-spacing: -0.022em; }
.lead { margin: 0; font-size: var(--fs-lead); line-height: 1.55; color: var(--gray); text-wrap: pretty; }
.lead--dark { color: var(--dim); }
.kicker {
  display: inline-flex; align-items: center; gap: 8px; margin: 0;
  font-size: var(--fs-meta); font-weight: 500; line-height: 24px; letter-spacing: 0.01em;
  text-transform: uppercase; color: var(--navy-ink);
}
.kicker svg { flex: 0 0 auto; }
.kicker--dark { color: var(--dim); }
.kicker--light { color: #fff; }
.mark { color: var(--yellow); }
.mark--u {
  color: var(--yellow); text-decoration: underline; text-decoration-thickness: 5px;
  text-underline-offset: 8px;
}
.tnum { font-variant-numeric: tabular-nums; }

/* ---------- buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  border-radius: var(--r-pill); font-size: 16px; font-weight: 700; letter-spacing: -0.031em;
  padding: 14px 28px; min-height: 52px; white-space: nowrap;
  transition: background-color var(--t-fast) ease-out, color var(--t-fast) ease-out,
    border-color var(--t-fast) ease-out, transform var(--t-fast) ease-out;
}
.btn svg { flex: 0 0 auto; }
.btn--y { background: var(--yellow); color: var(--navy-ink); }
.btn--y:hover { background: var(--yellow-deep); }
.btn--navy { background: var(--navy); color: #fff; }
.btn--navy:hover { background: #17103f; }
.btn--ghost { border: 1px solid rgba(255, 255, 255, 0.82); color: #fff; }
.btn--ghost:hover { border-color: #fff; background: rgba(255, 255, 255, 0.08); }
.btn--outline { border: 1px solid var(--line); color: var(--gray); background: var(--white); }
.btn--xl { min-height: 68px; padding: 20px 32px; }
.btn:active { transform: scale(0.985); }
.iconbtn {
  display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px;
  border-radius: 50%; background: var(--white); color: var(--navy-ink);
  transition: background-color var(--t-fast) ease-out, color var(--t-fast) ease-out,
    opacity var(--t-fast) ease-out;
}
.iconbtn--navy { background: var(--navy); color: #fff; }
.iconbtn--sm { width: 40px; height: 40px; }
.iconbtn--y { background: var(--yellow); color: var(--navy-ink); }
.iconbtn[disabled] { opacity: 0.72; cursor: default; }
.iconbtn:not([disabled]):hover { filter: brightness(0.94); }

/* ---------- header ---------- */
.head { position: fixed; inset: 0 0 auto; z-index: 60; }
.head__pill {
  position: relative; display: flex; align-items: center; justify-content: space-between;
  width: min(var(--wrap), calc(100% - var(--pad) * 2)); margin-inline: auto;
  height: var(--head-h); padding: 12px 16px; background: var(--white);
  border-radius: 0 0 var(--r-sm) var(--r-sm);
}
.logo { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.logo__mark { flex: 0 0 auto; }
.logo__word {
  font-size: 25px; font-weight: 700; letter-spacing: -0.035em; color: var(--navy-ink);
  font-variation-settings: "opsz" 40;
}
.nav {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: flex; align-items: center; gap: 40px;
}
.nav__link {
  display: inline-flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 500;
  line-height: 24px; color: var(--nav-ink); padding: 14px 0;
  transition: color var(--t-fast) ease-out;
}
.nav__link:hover, .nav__link[aria-current="page"], .nav__item--open > .nav__link { color: var(--navy-ink); }
.nav__link span { position: relative; }
.nav__link span::after {
  content: ""; position: absolute; left: 0; right: 100%; bottom: -3px; height: 1.5px;
  background: currentColor; transition: right var(--t-base) var(--ease);
}
.nav__link:hover span::after, .nav__item--open > .nav__link span::after { right: 0; }
.nav__item { position: relative; }
.nav__link svg { transition: transform var(--t-base) var(--ease); }
.nav__item--open .nav__link svg { transform: rotate(180deg); }
.mega {
  /* fixed, not absolute: the reference panel aligns to the header pill / container,
     not to the nav item, and a fixed child escapes the pill's overflow clip */
  position: fixed; top: calc(var(--head-h) + 12px); left: 50%; transform: translateX(-50%);
  width: min(var(--wrap), calc(100vw - var(--pad) * 2)); background: var(--white);
  border-radius: var(--r-md); padding: 32px 46px 40px; display: grid;
  grid-template-columns: 346px 346px 1fr; column-gap: 30px; align-items: start;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity var(--t-base) var(--ease), visibility var(--t-base);
  box-shadow: 0 18px 50px rgba(11, 7, 48, 0.1);
}
.nav__item--open .mega, .nav__item:focus-within .mega { opacity: 1; visibility: visible; pointer-events: auto; }
.mega__group { display: grid; gap: 16px; }
.mega__label { font-size: 14px; font-weight: 500; line-height: 24px; letter-spacing: 0.02em; color: var(--navy-ink); margin: 0; }
.mega__links { display: grid; gap: 16px; }
.mega__links a { font-size: 18px; line-height: 28px; color: var(--navy-ink); width: max-content; }
.mega__links a:hover { color: var(--gray); }
.mega__promo { justify-self: end; display: grid; gap: 20px; justify-items: start; }
.mega__promo img { width: 433px; height: 308px; object-fit: cover; border-radius: var(--r-xs); }
.head__cta { margin-left: auto; }
.callpill {
  display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px 8px 8px;
  min-height: 52px; border-radius: 48px; background: var(--navy); color: #fff;
  font-size: 16px; font-weight: 700; letter-spacing: -0.031em;
  transition: background-color var(--t-fast) ease-out;
}
.callpill:hover { background: #17103f; }
.callpill__dot {
  width: 36px; height: 36px; border-radius: 50%; background: var(--yellow);
  display: inline-flex; align-items: center; justify-content: center; color: var(--navy-ink);
  flex: 0 0 auto;
}
.burger { display: none; }
.mnav { display: none; }

/* ---------- hero (home) ---------- */
.hero { position: relative; min-height: 100vh; padding: 276px 0 73px; overflow: hidden; color: #fff; }
.hero__bg { position: absolute; inset: 0; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.hero__scrim {
  position: absolute; inset: auto 0 0; height: 56%;
  background: linear-gradient(rgba(11, 11, 11, 0) 0%, var(--scrim) 100%);
}
/* contrast floor over photography: the reference leans on its own dark plate,
   ours adds a directional top wash so the eyebrow and h1 clear 4.5:1 / 3:1 */
.hero__wash {
  position: absolute; inset: 0 0 auto; height: 62%;
  background: linear-gradient(rgba(11, 11, 11, 0.42) 0%, rgba(11, 11, 11, 0.2) 46%, rgba(11, 11, 11, 0) 100%);
}
.hero__grid {
  position: relative; display: grid; grid-template-columns: 1fr 344px; column-gap: 30px;
  align-items: stretch; min-height: 551px;
}
.hero__copy { align-self: end; padding-bottom: 57px; max-width: 700px; }
.hero__rating { display: flex; align-items: center; gap: 12px; }
.stars { display: inline-flex; gap: 4px; color: var(--yellow); }
.hero__h1 { margin: 16px 0 0; max-width: 664px; color: #fff; }
.hero__cta { display: flex; gap: 16px; margin-top: 44px; flex-wrap: wrap; }
.hero__cta .btn--y { min-width: 256px; }
.hero__cta .btn--ghost { min-width: 200px; }

/* stat widget */
.widget { background: var(--paper-2); border-radius: 30px; padding: 8px; }
.widget__card {
  background: var(--white); border-radius: var(--r-card); padding: 24px; height: 100%;
  display: flex; flex-direction: column; color: var(--navy-ink);
}
.widget__label { margin: 0; font-size: var(--fs-micro); line-height: 1.1; letter-spacing: -0.02em; }
.widget__label--muted { color: var(--gray-soft); }
.bignum {
  display: flex; align-items: flex-start; font-size: 72px; font-weight: 500;
  line-height: 1.2; letter-spacing: -0.028em; font-variation-settings: "opsz" 100;
  font-variant-numeric: tabular-nums; margin: 12px 0 6px;
}
.bignum__unit { font-size: 0.62em; line-height: 1.3; margin-left: 2px; }
.reel { display: inline-flex; height: 1.2em; overflow: hidden; }
.reel__col { display: flex; flex-direction: column; transition: transform 1s var(--ease); }
.reel__col > span { height: 1.2em; line-height: 1.2; }
.spark { margin-top: 24px; }
.spark svg { width: 100%; height: auto; display: block; }
.spark__axis {
  display: flex; justify-content: space-between; margin-top: 8px; font-size: 11px;
  letter-spacing: 0.06em; color: var(--gray-soft);
}
.widget__rule { border: 0; border-top: 1px solid var(--line); margin: 24px 0; }
.widget__quote { margin: 0; font-size: 20px; line-height: 1.28; letter-spacing: -0.01em; }
.quoteglyph { color: var(--navy-ink); display: block; margin-bottom: 12px; }
.widget__from {
  margin-top: auto; padding-top: 24px; display: flex; align-items: center;
  justify-content: space-between; gap: 12px;
}
.widget__from p { margin: 0; font-size: var(--fs-meta); color: var(--gray); }
.badgemark {
  display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700;
  letter-spacing: 0.08em; color: var(--gray); text-transform: uppercase;
}

/* ---------- logo marquee ---------- */
.marquee-band { padding-top: 80px; }
.marquee-band__inner {
  display: grid; grid-template-columns: 380px 1fr; align-items: center; column-gap: 36px;
  min-height: 92px;
}
.marquee-band__lede { margin: 0; font-size: 20px; line-height: 1.3; letter-spacing: -0.02em; }
.marquee { position: relative; overflow: hidden; }
.marquee::before, .marquee::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 90px; z-index: 2; pointer-events: none;
}
.marquee::before { left: 0; background: linear-gradient(90deg, var(--paper), rgba(244, 244, 242, 0)); }
.marquee::after { right: 0; background: linear-gradient(270deg, var(--paper), rgba(244, 244, 242, 0)); }
.marquee__track { display: flex; gap: 20px; width: max-content; animation: mq 17s linear infinite; }
.marquee:hover .marquee__track, .marquee:focus-within .marquee__track { animation-play-state: paused; }
@keyframes mq { from { transform: translateX(0); } to { transform: translateX(-1020px); } }
.chip {
  flex: 0 0 auto; width: 184px; height: 92px; background: var(--white); border-radius: var(--r-sm);
  display: flex; align-items: center; justify-content: center;
}
.wordmark {
  font-size: 19px; font-weight: 700; letter-spacing: -0.02em; color: var(--gray);
  display: inline-flex; align-items: center; gap: 7px;
}
.wordmark svg { color: var(--gray-soft); }
.wordmark--wide { letter-spacing: 0.1em; font-weight: 600; font-size: 16px; }
.wordmark--light { font-weight: 400; letter-spacing: 0.01em; }

/* ---------- heading blocks ---------- */
.head-block { display: grid; gap: 20px; }
.head-block--offset { max-width: 800px; margin-left: 35.1%; }
.head-block--center { justify-items: center; text-align: center; max-width: 583px; margin-inline: auto; }
/* the services head is the reference's wide centred measure (x368 w704), not 583 */
.head-block--wide { max-width: 704px; }
.head-block--narrow { max-width: 583px; }
.head-row { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 30px; }
.head-row__nav { display: flex; gap: 15px; }
.head-row .head-block { max-width: 583px; }
.split-head { display: grid; grid-template-columns: 1fr 1fr; column-gap: 30px; align-items: start; }
.split-head .lead { max-width: 340px; }

/* ---------- about band (home) ---------- */
.about-row {
  display: grid; grid-template-columns: 460px 1fr; column-gap: 25px; margin-top: 60px;
  align-items: stretch;
}
.counter-card {
  background: var(--white); border-radius: var(--r-lg); padding: 32px;
  display: flex; flex-direction: column;
}
.counter {
  display: grid; grid-template-columns: 195px 1fr; column-gap: 0; align-items: center;
  padding-bottom: 24px;
}
.counter + .counter { border-top: 1px solid var(--line); padding-top: 24px; }
.counter__num {
  display: flex; align-items: flex-start; font-size: 72px; font-weight: 500; line-height: 1.2;
  letter-spacing: -0.028em; font-variation-settings: "opsz" 100; font-variant-numeric: tabular-nums;
}
.counter__num .bignum__unit { font-size: 0.42em; line-height: 1.9; }
.counter__label { margin: 0; font-size: 16px; line-height: 1.5; color: var(--gray); max-width: 168px; }
.counter-card__body { margin: auto 0 0; }
.counter-card__body p { margin: 0 0 28px; font-size: 18px; line-height: 1.55; color: var(--gray); }
.media-card { position: relative; border-radius: var(--r-md); overflow: hidden; }
.media-card img { width: 100%; height: 100%; object-fit: cover; }
.media-stack { position: relative; }
.float-card {
  position: absolute; right: 32px; bottom: 32px; width: 380px; background: var(--white);
  border-radius: var(--r-sm); padding: 24px; display: grid; gap: 21px;
}
.float-card__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.avatars { display: flex; }
.avatars img {
  width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 2px solid var(--white);
}
.avatars img + img { margin-left: -10px; }
.pillchip {
  display: inline-flex; align-items: center; gap: 7px; background: var(--navy); color: #fff;
  border-radius: 999px; padding: 4px 12px; font-size: var(--fs-micro); font-weight: 500;
}
.pillchip__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--yellow); }
.float-card h3 { margin: 0; font-size: 24px; font-weight: 500; line-height: 1.25; letter-spacing: -0.025em; }
.float-card .lead { font-size: 16px; }
.float-card .btn { justify-self: start; }

/* ---------- service cards ---------- */
.cards-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 60px; }
.svc {
  background: var(--white); border-radius: var(--r-card); padding: 32px; min-height: 443px;
  display: flex; flex-direction: column; justify-content: space-between; gap: 220px;
}
.svc__glyph { color: var(--navy-ink); }
.svc h3 { margin: 0 0 12px; font-size: 24px; font-weight: 500; line-height: 1.25; letter-spacing: -0.025em; }
.svc p { margin: 0; font-size: 16px; line-height: 1.5; color: var(--gray); }

/* ---------- carousel (case studies + testimonials) ---------- */
.carousel { position: relative; margin-top: 60px; }
.carousel__view { overflow: hidden; }
.carousel__track { display: flex; gap: 24px; transition: transform var(--t-base) var(--ease); }
.case {
  flex: 0 0 979px; display: grid; grid-template-columns: 1fr 505px; background: var(--white);
  border-radius: var(--r-card); padding: 16px; column-gap: 16px;
}
.case__body { padding: 16px 0 16px 16px; display: flex; flex-direction: column; }
.case__chip {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start;
  background: var(--paper-2); border-radius: var(--r-xs); padding: 10px 14px;
}
.case__chip .wordmark { font-size: 15px; color: var(--navy-ink); }
.case h3 { margin: 24px 0 12px; font-size: 24px; font-weight: 500; line-height: 1.32; letter-spacing: -0.022em; }
.case p { margin: 0; font-size: 16px; line-height: 1.5; color: var(--gray); }
.case__stats { display: flex; gap: 32px; margin: auto 0 24px; }
.case__stat { min-width: 148px; }
.case__stat + .case__stat { border-left: 1px solid var(--line); padding-left: 32px; }
.case__stat b {
  display: block; font-size: 24px; font-weight: 500; letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.case__stat span { font-size: 16px; color: var(--gray-soft); }
.case__media { border-radius: var(--r-sm); overflow: hidden; height: 490px; }
.case__media img { width: 100%; height: 100%; object-fit: cover; }

.tcards { display: flex; gap: 10px; transition: transform var(--t-base) var(--ease); }
.tcard {
  flex: 0 0 685px; background: var(--white); border-radius: var(--r-lg);
  display: grid; grid-template-columns: 232px 1fr; min-height: 502px;
}
.tcard__who { padding: 32px; display: flex; flex-direction: column; }
.tcard__who img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.tcard__who h3 { margin: 18px 0 0; font-size: 18px; font-weight: 600; line-height: 28px; }
.tcard__who p { margin: 4px 0 0; font-size: var(--fs-meta); line-height: 18px; color: var(--gray-soft); }
.tcard__who .wordmark { margin-top: auto; font-size: 17px; }
.tcard__quote {
  border-left: 1px solid var(--line); padding: 32px; display: flex; flex-direction: column;
}
.tcard__quote blockquote { margin: 0; font-size: 24px; line-height: 1.32; letter-spacing: -0.022em; }
.tcard__foot {
  margin-top: auto; padding-top: 32px; display: flex; align-items: center;
  justify-content: space-between; gap: 16px;
}
.tcard__foot p { margin: 0; font-size: 16px; color: var(--gray); }
.seal {
  width: 44px; height: 44px; border-radius: 50%; background: var(--navy); color: var(--yellow);
  display: inline-flex; align-items: center; justify-content: center;
}
.carousel__nav { display: flex; gap: 10px; justify-content: center; margin-top: 40px; }

/* ---------- why band ---------- */
.why { display: grid; grid-template-columns: 676px 1fr; column-gap: 120px; align-items: start; }
.why__media { position: relative; border-radius: var(--r-lg); overflow: hidden; }
.why__media img { width: 100%; height: 724px; object-fit: cover; }
.quickpill {
  position: absolute; right: 46px; bottom: 33px; display: flex; align-items: center; gap: 14px;
  background: var(--white); border-radius: 60px; padding: 10px 26px 10px 10px;
}
.quickpill__dot {
  width: 52px; height: 52px; border-radius: 50%; background: var(--yellow); color: var(--navy-ink);
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
}
.quickpill p { margin: 0; }
.quickpill a { display: block; font-size: 18px; font-weight: 600; line-height: 24px; }
.ticklist { margin: 40px 0 0; padding: 0; list-style: none; display: grid; gap: 20px; }
.ticklist li { display: flex; align-items: center; gap: 16px; font-size: 20px; line-height: 32px; letter-spacing: -0.015em; }
.ticklist svg { color: var(--navy-ink); flex: 0 0 auto; }

/* ---------- faq ---------- */
.faq { display: grid; grid-template-columns: 1fr 617px; column-gap: 180px; align-items: start; }
.faq__list { display: grid; gap: 16px; }
.faq__item { background: var(--white); border-radius: var(--r-md); }
.faq__q {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 24px; text-align: left; font-size: 20px; font-weight: 500; line-height: 32px;
  letter-spacing: -0.015em;
}
.faq__q svg { flex: 0 0 auto; color: var(--navy-ink); transition: transform var(--t-base) var(--ease); }
.faq__item[data-open="true"] .faq__q svg { transform: rotate(180deg); }
.faq__a { padding: 0 24px 24px; margin: 0; font-size: 16px; line-height: 1.5; color: var(--gray); max-width: 540px; }
.faq__item:not([data-open="true"]) .faq__a { display: none; }

/* ---------- contact band + form ---------- */
.touch { position: relative; overflow: hidden; padding: 120px 0; color: #fff; background: #08061a; }
.touch__bg { position: absolute; inset: 0; }
.touch__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.62; }
.touch__grid { position: relative; display: grid; grid-template-columns: 1fr 583px; column-gap: 214px; align-items: start; min-height: 948px; }
.touch__left { display: flex; flex-direction: column; height: 100%; }
.touch__left .lead { max-width: 460px; margin-top: 32px; }
.expert {
  margin-top: auto; width: 456px; background: var(--white); color: var(--navy-ink);
  border-radius: var(--r-card); padding: 12px 16px 12px 12px; display: grid;
  grid-template-columns: 152px 1fr; column-gap: 16px; align-items: center;
}
.expert img { width: 152px; height: 177px; border-radius: var(--r-xs); object-fit: cover; }
.expert__h { margin: 0 0 20px; font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: -0.015em; }
.expert__row { display: flex; align-items: center; gap: 12px; }
.formcard { background: var(--white); color: var(--navy-ink); border-radius: var(--r-lg); padding: 32px; }
.formcard h2, .formcard h3 { margin: 0 0 27px; font-size: 24px; font-weight: 500; line-height: 32px; letter-spacing: -0.025em; }
.field { display: grid; gap: 8px; margin-bottom: 24px; }
.field > span { font-size: 16px; font-weight: 500; line-height: 24px; }
.field__shell {
  display: flex; align-items: center; gap: 12px; background: var(--paper-2);
  border-radius: 60px; padding: 16px 24px; min-height: 59px;
}
.field__shell svg { color: var(--gray); flex: 0 0 auto; }
.field__shell input, .field__shell select {
  width: 100%; border: 0; background: none; font-size: 16px; line-height: 25px; outline: none;
}
.field__shell--select { padding: 0 12px; }
.field__shell--select select {
  appearance: none; height: 59px; padding: 0 34px 0 12px; color: var(--gray);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 24 24' fill='none' stroke='%2363615c' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9.5 6 6 6-6'/%3E%3C/svg%3E") right 10px center no-repeat;
}
.field__shell--area { border-radius: var(--r-card); padding: 16px 24px; align-items: flex-start; }
.field__shell--area textarea {
  width: 100%; min-height: 86px; border: 0; background: none; resize: vertical; outline: none;
  font-size: 16px; line-height: 27px;
}
.field__shell input::placeholder, .field__shell textarea::placeholder { color: var(--gray); }
.form__submit { width: 100%; margin-top: 8px; min-height: 72px; }
.form__note { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; font-size: 16px; color: var(--gray); }
.form__note svg { flex: 0 0 auto; }
.form__ok {
  display: none; margin: 16px 0 0; padding: 16px 20px; border-radius: var(--r-sm);
  background: var(--paper-2); font-size: 16px; color: var(--navy-ink);
}
form.is-sent .form__ok { display: block; }

/* ---------- cta band ---------- */
.cta-band { position: relative; overflow: hidden; padding: 150px 0; text-align: center; color: #fff; background: #08061a; }
.cta-band__bg { position: absolute; inset: 0; }
.cta-band__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.62; }
.cta-band__inner { position: relative; display: grid; justify-items: center; gap: 24px; }
.cta-band .d2 { max-width: 583px; color: #fff; }
.cta-band__ticks { display: grid; gap: 8px; justify-items: center; margin: 0; padding: 0; list-style: none; }
.cta-band__ticks li { display: flex; align-items: center; gap: 8px; font-size: 16px; color: #f7f9ff; }
.cta-band .btn { margin-top: 20px; }
.starglyph { color: var(--yellow); }

/* ---------- footer ---------- */
.foot { background: var(--navy); color: #fff; padding: 81px 0 0; }
.foot__grid { display: grid; grid-template-columns: 380px 1fr; column-gap: 126px; }
.foot__cols { display: grid; grid-template-columns: 275px 275px; justify-content: start; column-gap: 0; border-left: 1px solid var(--line-dark); padding-left: 99px; }
.foot h2 { margin: 0 0 24px; font-size: 32px; font-weight: 500; line-height: 40px; letter-spacing: -0.02em; }
.foot h3 { margin: 0 0 26px; font-size: 24px; font-weight: 500; line-height: 32px; letter-spacing: -0.02em; }
.foot__lede { margin: 0 0 32px; font-size: 16px; line-height: 1.5; color: #f0f0ee; max-width: 330px; }
.subscribe {
  display: flex; align-items: center; gap: 12px; width: 380px; min-height: 56px;
  border: 1px solid rgba(255, 255, 255, 0.22); border-radius: var(--r-pill); padding: 8px 8px 8px 24px;
}
.subscribe svg { color: #fff; flex: 0 0 auto; }
.subscribe input { width: 100%; border: 0; background: none; outline: none; font-size: 16px; color: #fff; }
.subscribe input::placeholder { color: #fff; }
.subscribe .iconbtn { margin-left: auto; flex: 0 0 40px; width: 40px; height: 40px; aspect-ratio: 1; }
.foot__consent { display: flex; gap: 8px; margin: 20px 0 0; font-size: 16px; line-height: 1.5; color: var(--dim); max-width: 330px; }
.foot__consent svg { flex: 0 0 auto; margin-top: 4px; }
.foot__links { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.foot__links a { font-size: 16px; line-height: 24px; color: var(--dim-2); }
.foot__links a:hover { color: #fff; }
.foot__cert { margin-top: 44px; }
.certrow { display: flex; align-items: center; gap: 20px; margin-top: 20px; }
.certmark {
  display: inline-flex; align-items: center; gap: 8px; color: var(--dim-2); font-size: 11px;
  font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap;
}
.certmark svg { color: var(--dim); }
.foot__base {
  margin-top: 56px; border-top: 1px solid var(--line-dark); padding: 18px 0 22px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.foot__base p { margin: 0; font-size: var(--fs-meta); line-height: 1.6; color: var(--dim); max-width: 760px; }
.socials { display: flex; gap: 18px; }
.socials a { color: var(--dim); }
.socials a:hover { color: #fff; }

/* ---------- page heads (light) ---------- */
.pagehead { padding: 200px 0 0; }
.pagehead--center { text-align: center; }
.pagehead--center .kicker { margin-bottom: 20px; }
.pagehead--center .d1 { margin-inline: auto; max-width: 703px; }
.pagehead--center .d2 { margin-inline: auto; max-width: 583px; }

/* ---------- about page ---------- */
.abouthero { position: relative; overflow: hidden; background: var(--navy); color: #fff; padding: 200px 0 120px; }
.abouthero__deco { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.abouthero__deco .blob {
  position: absolute; left: -229px; top: 648px; width: 396px; height: 396px; border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
}
.abouthero__deco .star4 { position: absolute; left: -120px; top: 300px; color: rgba(255, 255, 255, 0.045); }
.abouthero__grid { position: relative; display: grid; grid-template-columns: 1fr 700px; column-gap: 30px; }
.abouthero__grid .d1 { color: #fff; }
.abouthero__grid .lead { color: #f0f0ee; margin-top: 32px; max-width: 460px; }
.abouthero__grid .btn { margin-top: 48px; }
.greenband { background: var(--green); position: relative; overflow: hidden; }
.greenband__grid { display: grid; grid-template-columns: 734px 706px; }
.greenband__stats { padding: 80px 0; display: grid; gap: 24px; align-content: center; }
.statpill {
  width: 550px; background: var(--white); border-radius: 150px; padding: 40px 60px;
  display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px;
}
.statpill__num {
  display: flex; align-items: flex-start; font-size: 72px; font-weight: 500; line-height: 1.2;
  letter-spacing: -0.01em; font-variation-settings: "opsz" 100; font-variant-numeric: tabular-nums;
}
.statpill__num .bignum__unit { font-size: 0.55em; line-height: 1.5; }
.statpill__lab {
  margin: 4px 0 0; font-size: 18px; font-weight: 600; line-height: 28px; letter-spacing: 0.02em;
  text-transform: uppercase; color: var(--gray-soft);
}
.statpill__icon { color: var(--navy-ink); }
.greenband__media { position: relative; }
.greenband__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 60px; }
.trio__img { border-radius: var(--r-lg); overflow: hidden; height: 461px; }
.trio__img img { width: 100%; height: 100%; object-fit: cover; }
.trio__panel {
  border-radius: var(--r-lg); background: var(--yellow); height: 461px; display: grid;
  place-items: center; padding: 50px;
}
.trio__panel .bars { height: 150px; }
.panelcard { background: var(--white); border-radius: var(--r-sm); padding: 20px; width: 344px; }
.panelcard__label { margin: 0; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; color: var(--gray-soft); text-transform: uppercase; }
.segs { display: flex; gap: 4px; background: var(--paper-2); border-radius: 999px; padding: 4px; margin: 14px 0 18px; }
.segs span { flex: 1; text-align: center; font-size: 12px; line-height: 24px; color: var(--gray-soft); border-radius: 999px; }
.segs span.is-on { background: var(--white); color: var(--navy-ink); font-weight: 600; }
.panelcard__fig { display: flex; align-items: baseline; gap: 10px; }
.panelcard__fig b { font-size: 32px; font-weight: 500; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.panelcard__fig i {
  font-style: normal; font-size: 12px; font-weight: 600; color: #2f6b3f; background: #e8f3e6;
  border-radius: 999px; padding: 2px 8px;
}
.bars { display: flex; align-items: flex-end; gap: 10px; height: 96px; margin-top: 18px; }
.bars div { flex: 1; border-radius: 6px 6px 3px 3px; background: #fdf0bf; }
.bars div.is-on { background: var(--yellow); }
.bars-axis { display: flex; justify-content: space-between; margin-top: 8px; font-size: 11px; letter-spacing: 0.04em; color: var(--gray-soft); }
.acc-media { position: relative; border-radius: var(--r-lg); overflow: hidden; height: 717px; }
.acc-media img { width: 100%; height: 100%; object-fit: cover; }
.acc-media .panelcard { position: absolute; left: 105px; bottom: 60px; width: 547px; }
.acclist { display: grid; }
.acc { border-bottom: 1px solid var(--line); }
.acc__q {
  width: 100%; display: grid; grid-template-columns: 20px 1fr 20px; align-items: center;
  column-gap: 16px; padding: 24px 0; text-align: left; font-size: 20px; font-weight: 500;
  line-height: 32px; letter-spacing: -0.015em;
}
.acc__q svg { color: var(--navy-ink); }
.acc__a { margin: 0 0 24px; padding-left: 36px; font-size: 16px; line-height: 1.55; color: var(--gray); max-width: 470px; }
.acc:not([data-open="true"]) .acc__a { display: none; }
.team { display: grid; grid-template-columns: 690px 321px 321px; gap: 24px; margin-top: 60px; align-items: start; }
.member {
  position: relative; border-radius: var(--r-card); overflow: hidden; background: var(--navy);
  transition: height var(--t-base) var(--ease);
}
.member img { width: 100%; height: 100%; object-fit: cover; }
.member--open { height: 703px; }
.member--shut { height: 323px; }
.member__scrim {
  position: absolute; inset: auto 0 0; height: 240px;
  background: linear-gradient(rgba(51, 47, 43, 0) 0%, var(--team-scrim) 100%);
}
.member--shut .member__scrim { height: 112px; }
.member__meta { position: absolute; left: 32px; right: 32px; bottom: 30px; }
.member__meta h3 { margin: 0; font-size: 41px; font-weight: 600; line-height: 48px; letter-spacing: -0.02em; color: #fff; white-space: nowrap; }
.member__meta p { margin: 8px 0 0; font-size: 18px; line-height: 28px; color: #e0e0e0; }
.member--shut .member__meta { display: none; }
.member__btns { position: absolute; right: 24px; top: 24px; display: grid; gap: 10px; }
.member__btn {
  width: 48px; height: 48px; border-radius: 50%; background: rgba(255, 255, 255, 0.92);
  color: var(--navy-ink); display: inline-flex; align-items: center; justify-content: center;
  transition: background-color var(--t-fast) ease-out;
}
.member__btn:hover { background: #fff; }

/* ---------- blog ---------- */
.featured {
  display: grid; grid-template-columns: 1fr 588px; background: var(--white);
  border-radius: var(--r-sm); overflow: hidden; margin-top: 60px; min-height: 497px;
}
.featured__body { padding: 48px 50px; display: flex; flex-direction: column; }
.featured h2 { margin: 24px 0 16px; max-width: 720px; }
.featured .lead { max-width: 520px; }
.featured .btn { margin-top: auto; align-self: flex-start; }
.featured__media img { width: 100%; height: 100%; object-fit: cover; }
.tags { display: flex; gap: 12px; flex-wrap: wrap; }
.tag {
  display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line);
  border-radius: 999px; padding: 7px 14px; font-size: var(--fs-meta); font-weight: 500;
  line-height: 18px; color: var(--navy-ink); background: var(--white);
}
.tag__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--yellow); }
.tag--plain { border: 0; background: none; padding: 0 2px; text-transform: uppercase; letter-spacing: 0.04em; }
.postgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 20px; }
.post { background: var(--white); border-radius: var(--r-card); padding: 24px; display: flex; flex-direction: column; }
.post__media { border-radius: var(--r-xs); overflow: hidden; height: 250px; }
.post__media img { width: 100%; height: 100%; object-fit: cover; }
.post .tags { margin: 26px 0 22px; }
.post h3 { margin: 0 0 auto; font-size: var(--fs-d5); font-weight: 500; line-height: 40px; letter-spacing: -0.02em; }
.post__more {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: 36px;
  border: 1px solid var(--line); border-radius: var(--r-pill); padding: 12px 22px;
  font-size: 16px; font-weight: 700; letter-spacing: -0.031em; color: var(--gray);
}
.post__more svg { color: var(--gray); }

/* ---------- contact page ---------- */
.contact-stage { position: relative; margin-top: 70px; }
.contact-stage__media { border-radius: var(--r-card); overflow: hidden; height: 1044px; }
.contact-stage__media img { width: 100%; height: 100%; object-fit: cover; }
.contact-stage__inner > * { min-width: 0; }
.contact-stage__inner { position: absolute; inset: 48px; display: grid; grid-template-columns: 1fr 583px; align-items: start; }
.contact-stage .expert { align-self: end; margin: 0; }
.contact-stage .formcard { grid-column: 2; }
.contact-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 24px; }
.ccard { background: var(--white); border-radius: var(--r-card); padding: 32px; display: grid; gap: 66px; align-content: start; }
.ccard__icon { color: var(--navy-ink); display: block; height: 32px; }
.ccard__label { margin: 0 0 4px; font-size: 18px; font-weight: 600; line-height: 28px; letter-spacing: 0.03em; color: var(--gray-soft); text-transform: uppercase; }
.ccard__val { display: block; font-size: var(--fs-d5); font-weight: 500; line-height: 40px; letter-spacing: -0.02em; overflow-wrap: anywhere; }

/* ---------- reveals ---------- */
.rv { opacity: 0; transition: opacity 0.9s var(--ease) 0.25s; }
.rv.in { opacity: 1; }
.no-js .rv { opacity: 1; }

/* ==========================================================================
   responsive
   ========================================================================== */
@media (max-width: 1380px) {
  :root { --gap-band: 120px; }
  .why { grid-template-columns: 1fr 1fr; column-gap: 60px; }
  .faq { grid-template-columns: 1fr 1fr; column-gap: 60px; }
  .touch__grid { grid-template-columns: 1fr 520px; column-gap: 80px; }
  .abouthero__grid { grid-template-columns: 1fr 620px; }
  .greenband__grid { grid-template-columns: 1fr 45%; }
  .statpill { width: min(550px, 100%); }
  .team { grid-template-columns: 1.6fr 1fr 1fr; }
  .featured { grid-template-columns: 1fr 45%; }
  .case { flex-basis: min(979px, 80vw); grid-template-columns: 1fr 45%; }
  .tcard { flex-basis: min(685px, 62vw); }
  .foot__cols { padding-left: 60px; }
  .foot__grid { column-gap: 60px; }
  .head-block--offset { margin-left: 30%; }
  .mega { grid-template-columns: 1fr 1fr 340px; }
  .mega__promo img { width: 100%; height: auto; aspect-ratio: 433 / 308; }
}

@media (max-width: 1080px) {
  :root { --gap-band: 96px; --fs-d1: 56px; --fs-d2: 44px; --fs-d3: 38px; --fs-d4: 34px; }
  .nav { display: none; }
  .hero { padding: 190px 0 60px; }
  .hero__grid { grid-template-columns: 1fr; row-gap: 48px; }
  .hero__copy { padding-bottom: 0; }
  .widget { max-width: 440px; }
  .cards-4 { grid-template-columns: repeat(2, 1fr); }
  .svc { min-height: 360px; gap: 120px; }
  .about-row { grid-template-columns: 1fr; row-gap: 24px; }
  .media-card img { height: 420px; }
  .why { grid-template-columns: 1fr; row-gap: 48px; }
  .why__media img { height: 520px; }
  .faq { grid-template-columns: 1fr; row-gap: 40px; }
  .touch__grid { grid-template-columns: 1fr; row-gap: 48px; min-height: 0; }
  .touch__left .expert { margin-top: 40px; }
  .greenband__grid { grid-template-columns: 1fr; }
  .greenband__stats { padding: 60px 0; }
  .greenband__media { height: 420px; }
  .greenband__media img { position: static; }
  .trio { grid-template-columns: 1fr 1fr; }
  .trio__panel { grid-column: span 2; height: auto; padding: 40px; }
  .acc-media { height: 520px; }
  .acc-media .panelcard { left: 24px; right: 24px; width: auto; }
  .team { grid-template-columns: 1fr 1fr; }
  .member--open, .member--shut { height: 420px; }
  .member__meta h3 { white-space: normal; }
  .featured { grid-template-columns: 1fr; }
  .featured__media { height: 320px; }
  .postgrid { grid-template-columns: 1fr 1fr; }
  .contact-stage__inner { position: static; inset: auto; grid-template-columns: 1fr; padding: 0; row-gap: 24px; }
  .contact-stage__media { height: 380px; }
  .contact-stage .formcard { grid-column: 1; }
  .contact-stage .expert { width: 100%; }
  .contact-cards { grid-template-columns: 1fr; }
  .foot__grid { grid-template-columns: 1fr; row-gap: 56px; }
  .foot__cols { border-left: 0; padding-left: 0; }
  .burger { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--navy-ink); }
}

@media (max-width: 860px) {
  :root { --pad: 20px; --gap-band: 80px; --head-h: 48px; --fs-d1: 40px; --fs-d2: 36px; --fs-d3: 30px; --fs-d4: 28px; --fs-d5: 26px; }
  .d1 { line-height: 1.11; letter-spacing: -0.04em; }
  .d2 { line-height: 1.16; letter-spacing: -0.035em; }
  .head__pill { padding: 12px 16px; }
  .logo__word { font-size: 20px; }
  .logo__mark { width: 22px; height: 22px; }
  .head__cta { display: none; }
  .mnav {
    display: grid; position: fixed; inset: 0 20px auto; z-index: 65; background: var(--white);
    border-radius: 0 0 var(--r-sm) var(--r-sm); padding: 0 16px 16px; align-content: start;
    opacity: 0; visibility: hidden;
    transition: opacity var(--t-base) var(--ease), visibility var(--t-base);
  }
  .mnav.is-open { opacity: 1; visibility: visible; }
  .mnav__top {
    height: 48px; display: flex; align-items: center; justify-content: space-between;
    border-bottom: 1px solid var(--line); margin: 0 -16px 12px; padding: 0 16px 0 0;
  }
  .mnav__top .logo { padding-left: 16px; }
  .mnav__x {
    width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
    color: var(--navy-ink);
  }
  .mnav__list { display: grid; }
  .mnav__row {
    display: flex; align-items: center; justify-content: space-between; width: 100%;
    height: 40px; font-size: 16px; font-weight: 500; color: var(--gray-soft); text-align: left;
  }
  .mnav__row--sub svg { color: var(--gray-soft); transition: transform var(--t-base) var(--ease); }
  .mnav__group[data-open="true"] .mnav__row--sub svg { transform: rotate(180deg); }
  .mnav__sub { display: none; padding: 0 0 8px 16px; }
  .mnav__group[data-open="true"] .mnav__sub { display: grid; }
  .mnav__sub a { height: 36px; display: flex; align-items: center; font-size: 15px; color: var(--gray); }
  .mnav .callpill { margin-top: 12px; justify-content: center; }
  .head.is-open .head__pill { opacity: 0; }
  .hero { min-height: 0; padding: 120px 0 68px; }
  .hero__bg img { object-position: 25% 42%; }
  .hero__wash { height: 52%; }
  .hero__scrim { height: 56%; }
  .hero__grid { row-gap: 47px; min-height: 0; }
  .hero__rating { flex-direction: column; align-items: flex-start; gap: 8px; }
  .hero__h1 { margin-top: 22px; }
  .hero__cta { flex-direction: column; align-items: flex-start; gap: 16px; margin-top: 32px; }
  .hero__cta .btn { min-height: 68px; }
  .widget { max-width: none; }
  .spark { margin-top: 16px; }
  .spark svg { height: 84px; }
  .widget__rule { margin: 18px 0; }
  .widget__from { padding-top: 18px; }
  .marquee-band { padding-top: 60px; }
  .marquee-band__inner { grid-template-columns: 1fr; row-gap: 24px; }
  .marquee::before, .marquee::after { width: 40px; }
  .head-block--offset { margin-left: 0; }
  .head-row { grid-template-columns: 1fr; row-gap: 28px; }
  .split-head { grid-template-columns: 1fr; row-gap: 20px; }
  .split-head .lead { max-width: none; }
  .cards-4 { grid-template-columns: 1fr; }
  .svc { min-height: 419px; padding: 20px; gap: 140px; }
  .about-row { row-gap: 0; }
  .about-row .media-stack { order: 1; }
  .about-row .counter-card { order: 2; margin-top: 24px; }
  .media-card img { height: 448px; }
  .counter { grid-template-columns: 1fr; row-gap: 2px; padding-bottom: 20px; }
  .counter + .counter { padding-top: 20px; }
  .counter__num { font-size: 56px; }
  .counter__label { max-width: 240px; }
  .counter-card__body p { margin-bottom: 24px; }
  .float-card { position: static; width: auto; margin: -60px 20px 0; }
  .media-card img { height: 300px; }
  .case { flex: 0 0 350px; min-width: 0; grid-template-columns: 1fr; padding: 16px; row-gap: 16px; min-height: 912px; }
  .case__stats { gap: 20px; }
  .case__stat { min-width: 0; }
  .case__stat + .case__stat { padding-left: 20px; }
  .case__body { padding: 8px 8px 8px; }
  .case__media { height: 321px; border-radius: var(--r-sm); }
  .case__stats { margin-top: 32px; }
  .head-row__nav { justify-self: center; }
  .carousel__nav { margin-top: 28px; }
  .tcard { flex: 0 0 350px; grid-template-columns: 1fr; min-height: 605px; }
  .tcard__who { padding: 24px 24px 0; }
  .tcard__who .wordmark { margin-top: 24px; }
  .tcard__quote { border-left: 0; border-top: 1px solid var(--line); padding: 24px; }
  .tcard__quote blockquote { font-size: 22px; }
  .why__media img { height: 380px; }
  .quickpill { left: 20px; right: 20px; bottom: 20px; padding: 10px 16px 10px 10px; }
  .quickpill__dot { width: 44px; height: 44px; }
  .ticklist li { font-size: 18px; line-height: 26px; }
  .faq__q { font-size: 20px; line-height: 32px; padding: 24px; min-height: 112px; }
  .faq__a { padding: 0 24px 24px; }
  .touch { padding: 80px 0; }
  .touch__grid > * { min-width: 0; max-width: 100%; }
  .expert, .formcard { max-width: 100%; }
  .expert { width: 100%; grid-template-columns: 110px 1fr; }
  .expert__row { flex-wrap: wrap; }
  .expert__h { margin-bottom: 14px; }
  .expert img { width: 110px; height: 140px; }
  .formcard { padding: 24px; }
  .pagehead { padding: 130px 0 0; }
  .abouthero { padding: 130px 0 80px; }
  .abouthero__grid { grid-template-columns: 1fr; row-gap: 24px; }
  .statpill { border-radius: 60px; padding: 28px 32px; }
  .statpill__num { font-size: 56px; }
  .trio { grid-template-columns: 1fr; }
  .trio__panel { grid-column: 1; }
  .trio__img { height: 320px; }
  .panelcard { width: auto; }
  .acc-media { height: 380px; }
  .acc__q { font-size: 18px; line-height: 28px; }
  .team { grid-template-columns: 1fr; }
  .member--open, .member--shut { height: 380px; }
  .member--shut .member__meta { display: block; }
  .member--shut .member__scrim { height: 200px; }
  .member__meta h3 { font-size: 30px; line-height: 36px; }
  .featured__body { padding: 24px; }
  .featured__media { height: 240px; }
  .postgrid { grid-template-columns: 1fr; }
  .post { padding: 20px; }
  .post h3 { line-height: 34px; }
  .contact-stage__media { height: 280px; }
  .ccard { padding: 24px; }
  .ccard__val { font-size: 22px; line-height: 30px; }
  .foot { padding-top: 60px; }
  .subscribe { width: 100%; }
  .foot__cols { grid-template-columns: 1fr 1fr; column-gap: 20px; justify-content: stretch; }
  .foot__base { flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 40px; }
  .cta-band { padding: 80px 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important; animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important; scroll-behavior: auto !important;
  }
  .rv { opacity: 1; }
  .marquee__track { animation: none; transform: none; }
  .reel__col { transition: none; }
}
