/* Cenegenics LP — built from Figma c9hAhlJLrOSvLFSBT8Nyfb
   Desktop frame 183:3 @1440 (≥1024px)  ·  Mobile frame 183:685 @390 (≤1023px) */
:root {
  --ink: #1b3137;
  --ink-2: #304c54;
  --line-dark: #345f6f;
  --aqua: #a9f2f3;
  --aqua-soft: #a9d8db;
  --mist: #e3f0f1;
  --stone: #c9d4d0;
  --teal: #256e89;
  --teal-2: #3b7681;
  --teal-3: #43919d;
  --teal-4: #52aeb7;
  --text: #292928;
  --text-2: #3d3d3c;
  --muted: #6e716f;
  --line: #e2e4e1;
  --paper: #f6f6f5;
  --paper-2: #f6f8f6;
  --cmp-b: #f1f7f9;
  --sans: "Mona Sans", system-ui, sans-serif;
  --serif: "Instrument Serif", Georgia, serif;
  --mono: Menlo, "JetBrains Mono", ui-monospace, monospace;
  --tick-font: "Lucida Grande", "Segoe UI Symbol", sans-serif;
  --gutter: clamp(24px, 8.3333vw, 120px);
  --bar-h: 0px;
}
[hidden] { display: none !important; }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  padding-bottom: var(--bar-h);
  background: var(--ink);
  color: var(--text);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
p, h1, h2, h3, ul, ol, figure { margin: 0; padding: 0; }
h1, h2, h3 { font-weight: inherit; font-size: inherit; }
ul, ol { list-style: none; }
img { display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
em { font-style: italic; }

@media (min-width: 1024px) { .v-m { display: none !important; } }
@media (max-width: 1023px) { .v-d { display: none !important; } }

.wrap { width: 100%; max-width: 1200px; margin-inline: auto; }
.sec { padding: 112px var(--gutter); }
.sec--dark { background: var(--ink); }
.sec--white { background: #fff; }
.sec--paper { background: var(--paper); }

/* ---------- shared type ---------- */
.eyebrow { font-weight: 700; font-size: 12px; line-height: normal; letter-spacing: 1.68px; text-transform: uppercase; color: var(--teal); }
.eyebrow--aqua { color: var(--aqua); }
.h2 { font-weight: 500; font-size: 48px; line-height: 51.84px; color: var(--text); }
.h2 em, .h1 em, .book__h2 em, .closing__h2 em { font-family: var(--serif); font-weight: 400; }
.h2 em { font-size: 52.8px; line-height: 57px; color: var(--teal); }
.sec--dark .h2 { color: var(--paper); }
.sec--dark .h2 em { color: var(--aqua); }
.h2--inline { line-height: 57px; white-space: nowrap; }
.lead { font-size: 18px; line-height: 28.8px; color: var(--text-2); }
.sec-head { display: flex; flex-direction: column; gap: 20px; max-width: 780px; }

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; font-weight: 600; text-align: center; white-space: nowrap; }
/* brand hover: a Teal 500 ring with a gap. The ring never moves or resizes: it fades
   in on hover, softly pulses on and off while hovered, and fades out on leave. */
.btn, .btn-submit { position: relative; }
.btn::after, .btn-submit::after { content: ""; position: absolute; inset: -6px; border: 2px solid var(--teal-4); border-radius: 999px; opacity: 0; pointer-events: none; transition: opacity .5s ease; animation: ring-pulse 3s cubic-bezier(.45, 0, .55, 1) infinite paused; }
.btn:focus-visible::after, .btn-submit:focus-visible::after { opacity: 1; animation-play-state: running; }
/* hover effects only where a real pointer can hover; on touch screens a tap would leave them stuck on */
@media (hover: hover) and (pointer: fine) { .btn:hover::after, .btn-submit:hover::after { opacity: 1; animation-play-state: running; } }
.btn:focus-visible, .btn-submit:focus-visible { outline: none; }
@keyframes ring-pulse {
  0%, 100% { border-color: rgba(82, 174, 183, 1); }
  50% { border-color: rgba(82, 174, 183, .12); }
}
@media (prefers-reduced-motion: reduce) {
  .btn::after, .btn-submit::after { animation: none; }
}

.btn--aqua { background: var(--aqua); color: var(--ink); }
.btn--ghost { border: 1px solid var(--aqua); color: var(--aqua); }
@media (hover: hover) and (pointer: fine) { .btn--ghost:hover { background: rgba(169, 242, 243, .08); } }
.btn--call { min-height: 52px; padding: 14.74px 24.75px 14.76px; font-size: 16px; }
.btn--hero { min-height: 56px; padding: 16px 34px 15.99px; font-size: 17px; }
.btn--bar { min-height: 52px; padding: 14.74px 32px 14.76px; font-size: 16px; }

/* ---------- header ---------- */
.site-header { position: absolute; inset: 0 0 auto 0; z-index: 3; background: var(--ink); border-bottom: .75px solid rgba(169, 242, 243, .14); padding: 16px var(--gutter) 16.75px; }
.site-header .wrap, .cta-bar .wrap { display: flex; align-items: center; justify-content: space-between; }
.site-header__btns { display: flex; align-items: center; }
/* header Book button: collapsed until the hero CTA leaves the screen (desktop only) */
.btn--head-book { max-width: 0; margin-left: 0; padding-inline: 0; opacity: 0; overflow: hidden; pointer-events: none; transition: max-width .4s ease, margin-left .4s ease, padding .4s ease, opacity .25s ease; }
.site-header.has-book .btn--head-book { max-width: 420px; margin-left: 12px; padding-inline: 32px; opacity: 1; overflow: visible; pointer-events: auto; }
@media (min-width: 1024px) {
  .hero { z-index: 10; }
  .site-header { position: fixed; }
}
.logo { display: block; flex-shrink: 0; margin-left: -3.107px; }
.logo img { width: 246.362px; height: 40px; }

/* ---------- hero ---------- */
.hero { position: relative; background: var(--ink); isolation: isolate; }
.hero__stage { position: relative; height: 761.61px; overflow: hidden; }
.hero__media { position: absolute; left: 0; right: 0; top: 85px; height: 714.98px; transform: scaleX(-1); overflow: hidden; }
.hero__media img { position: absolute; height: 147.93%; left: -23.86%; top: -7.4%; width: 110.01%; max-width: none; object-fit: cover; }
.hero__grad1 { position: absolute; inset: 0; background: linear-gradient(90.02deg, rgba(27,49,55,.97) 20.111%, rgba(27,49,55,.9) 48.867%, rgba(27,49,55,.45) 66.44%, rgba(27,49,55,0) 82.415%); }
.hero__grad2 { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(27,49,55,0) 62%, var(--ink)); }
.hero__content { position: relative; padding: 125.62px var(--gutter) 0; }
.hero__col { width: 660px; max-width: 100%; display: flex; flex-direction: column; gap: 23.7px; }
.h1 { color: var(--paper); white-space: nowrap; }
.h1__sans { display: block; font-weight: 500; font-size: 60px; line-height: 62.4px; margin-bottom: -.79px; }
.h1 em { display: block; font-size: 66px; line-height: 68.64px; color: var(--aqua); }
.hero__lede { max-width: 605.44px; font-size: 20px; line-height: 31px; color: var(--mist); }
.price-box { display: flex; align-items: stretch; padding: 1px; background: rgba(27, 49, 55, .6); border: 1px solid var(--line-dark); border-radius: 20px; overflow: hidden; }
.price-box__a { display: flex; flex-direction: column; gap: 4px; padding: 16px 24.75px 16px 24px; border-right: .75px solid var(--line-dark); }
.price-box__label { font-weight: 700; font-size: 12px; letter-spacing: 1.44px; text-transform: uppercase; color: var(--aqua-soft); white-space: nowrap; }
.price-box__price { font-weight: 500; font-size: 30px; color: #fff; white-space: nowrap; }
.price-box__b { flex: 1 0 0; display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 16px 24px; font-size: 15px; color: var(--mist); }
.price-box__b p + p { color: var(--aqua-soft); }
.hero__cta { display: flex; align-items: center; gap: 19.99px; padding-top: 8px; }
.hero__fine { flex: 1 0 0; font-size: 15px; color: var(--aqua-soft); }

.stats { padding: 0 var(--gutter); }
.stats .wrap { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: .75px solid var(--ink-2); padding: 40.75px 0 72px; }
.stat { min-width: 0; display: flex; flex-direction: column; gap: 6px; padding: 0 24px 0 24.75px; border-left: .75px solid var(--ink-2); }
.stat:first-child { padding-left: 0; border-left: 0; }
.stat__n { font-weight: 500; font-size: 48px; line-height: 48px; color: var(--paper); white-space: nowrap; }
.stat__n > span:not(.stat__unit) { color: var(--aqua); }
.stat__l { font-size: 15px; color: var(--aqua-soft); }

/* ---------- misses ---------- */
.misses .wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 80px; }
.misses__copy { position: relative; min-width: 0; height: 429.68px; }
.misses__copy > * { position: absolute; left: 0; right: 0; }
.misses__copy > .eyebrow { top: 0; }
.misses__h2 { top: 40.5px; height: 168px; white-space: nowrap; }
.misses__h2 > * { position: absolute; left: 0; }
.misses__h2 .l1 { top: .08px; }
.misses__h2 .l2 { top: 54.08px; }
.misses__h2 em { top: 105px; }
.misses__p { top: 231.94px; max-width: 550px; }
.misses__quote { top: 371.67px; border-left: 1.5px solid var(--teal-4); padding-left: 21.5px; font-weight: 500; font-size: 20px; line-height: 29px; color: var(--text); white-space: nowrap; }

.span-card { min-width: 0; display: flex; flex-direction: column; gap: 28px; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 36.75px; filter: drop-shadow(0 12px 20px rgba(27, 49, 55, .06)); }
.span-card__top { display: flex; flex-direction: column; gap: 12px; }
.span-card__head { display: flex; justify-content: space-between; font-weight: 700; font-size: 13px; letter-spacing: 1.56px; color: var(--muted); white-space: nowrap; }
.span-bar { display: flex; height: 13.99px; border-radius: 999px; overflow: hidden; }
.span-bar__a { width: 80%; background: var(--teal-2); }
.span-bar__b { width: 20%; background: repeating-linear-gradient(135deg, var(--stone) 0 4px, var(--mist) 4px 8px); }
.span-legend { display: flex; gap: 19.99px; font-size: 14px; color: var(--text-2); white-space: nowrap; }
.span-legend > span:last-child { color: var(--muted); }
.span-stat { border-top: .75px solid var(--line); padding-top: 24.125px; display: flex; flex-direction: column; gap: 6px; }
.span-stat__n { font-weight: 500; font-size: 44px; line-height: 44px; padding-bottom: .625px; color: var(--text); }
.span-stat__l { font-size: 16px; color: var(--text-2); }
.span-card__src { font-size: 12px; color: var(--muted); }

/* ---------- pricing ---------- */
.pricing .wrap { display: flex; flex-direction: column; gap: 40px; }
.pricing .sec-head { gap: 16px; max-width: 760px; }
.pricing__body { display: flex; flex-direction: column; gap: 49px; }
.price-card { display: flex; justify-content: space-between; gap: 0; padding: 12px; background: var(--paper-2); border: 1px solid var(--line); border-radius: 28px; overflow: hidden; }
.price-card__info { flex: 0 1 576px; min-width: 0; display: flex; flex-direction: column; gap: 28px; padding: 32px 36px 32px 32px; }
.price-card__head { display: flex; align-items: flex-end; gap: 38px; padding-bottom: 16.75px; border-bottom: .75px solid var(--line); }
.price-card__title { flex: 1 0 0; min-width: 0; height: 136px; position: relative; }
.price-card__name { position: absolute; top: -.63px; left: 0; font-weight: 500; font-size: 22px; line-height: 27.5px; color: var(--text); white-space: nowrap; }
.price-card__meta { position: absolute; top: 62.98px; left: 0; right: .74px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; color: var(--muted); }
.price-card__meta strong { font-weight: 600; }
.price-card__meta p:first-child { white-space: nowrap; }
.price-card__amt { display: flex; flex-direction: column; align-items: flex-end; gap: 1.99px; }
.price-card__from { font-size: 13px; color: var(--muted); }
.price-card__num { font-weight: 500; font-size: 52px; line-height: 52px; color: var(--teal); white-space: nowrap; }
.checks { display: flex; flex-direction: column; gap: 16px; }
.checks li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 24px; color: var(--text-2); }
.checks li > span:last-child { flex: 1 0 0; max-width: 474px; }
.checks b { font-weight: 600; color: var(--text); }
.tick { flex-shrink: 0; width: 22px; height: 22px; margin-top: 1px; border-radius: 11px; background: var(--mist); color: var(--teal); display: flex; align-items: center; justify-content: center; font-family: var(--tick-font); font-size: 12px; line-height: 18px; }
.note-box { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 18.75px 20.75px; font-size: 15px; line-height: 23.25px; color: var(--text-2); }
.note-box p { max-width: 460px; }
.price-card__media { position: relative; flex: 0 1 576px; align-self: stretch; background: #e9eceb; border-radius: 18px; overflow: hidden; }
.price-card__media img { position: absolute; height: 101.62%; left: -99.12%; top: -.85%; width: 262.82%; max-width: none; object-fit: cover; }

.fit { display: flex; justify-content: space-between; align-items: stretch; gap: 24px; }
.fit__card { flex: 0 1 588px; display: flex; flex-direction: column; gap: 16px; padding: 32.75px; border: 1px solid var(--line); border-radius: 20px; }
.fit__card--no { background: var(--paper); }
.fit__card ul { display: flex; flex-direction: column; gap: 16px; }
.fit__title { font-weight: 700; font-size: 13px; letter-spacing: 1.56px; text-transform: uppercase; color: var(--teal); }
.fit__card--no .fit__title { color: var(--muted); }
.fit__card li { border-top: .75px solid var(--line); padding-top: 14.75px; font-size: 16px; line-height: 24px; color: var(--text); }
.fit__card--no li { color: var(--text-2); }
.fit__card li span { display: block; max-width: 500px; }
.fit__card--no li:nth-child(2) span { max-width: 400px; }

/* ---------- how it works ---------- */
.how .wrap { display: flex; flex-direction: column; gap: 56px; }
.how__head { display: flex; flex-direction: column; gap: 19.99px; max-width: 1039px; }
.how__h2 { white-space: nowrap; padding-bottom: 9.5px; }
.how__h2 em { display: block; margin-top: 3.58px; }
.steps { display: flex; gap: 24px; align-items: flex-start; }
.step { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; gap: 14px; border-top: .75px solid var(--line-dark); padding-top: 24px; }
.step__top { display: flex; align-items: center; gap: 12px; }
.step__num { flex-shrink: 0; width: 36px; height: 36px; border-radius: 18px; background: var(--teal); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 15px; }
.step__when { width: 173px; min-height: 34px; display: flex; align-items: center; font-weight: 700; font-size: 12px; letter-spacing: 1.44px; text-transform: uppercase; color: var(--aqua-soft); }
.step__body { display: flex; flex-direction: column; gap: 14px; }
.step__title { font-weight: 500; font-size: 20px; line-height: 25px; color: var(--paper); }
.step__desc { max-width: var(--dmax, none); font-size: 15px; line-height: 23.25px; color: var(--stone); }
.step--tight .step__title { margin-top: -6px; }
.step--tight .step__desc { margin-top: -14px; }

.report { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 12px; height: 600px; padding: 12px; background: #fff; border-radius: 28px; }
.report__media { position: relative; background: #f2f4f1; border-radius: 18px; overflow: hidden; }
.report__media img { position: absolute; height: 111.73%; left: 0; top: -3.52%; width: 100%; max-width: none; object-fit: cover; }
.pill-cap { position: absolute; left: 19.99px; bottom: 19.99px; display: flex; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 999px; background: var(--ink); font-size: 14px; color: var(--paper); white-space: nowrap; }
.pill-cap::before { content: ""; width: 7.99px; height: 7.99px; border-radius: 4px; background: var(--aqua); }
.report__data { display: flex; flex-direction: column; justify-content: center; gap: 16px; padding: 28px 36px 28px 28px; }
.report__head { display: flex; justify-content: space-between; align-items: center; }
.report__title { font-weight: 700; font-size: 13px; letter-spacing: 1.56px; text-transform: uppercase; color: var(--teal); }
.report__tag { font-family: var(--mono); font-size: 12px; color: var(--muted); white-space: nowrap; }
.report__row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) var(--c3, auto); gap: 16px; align-items: center; padding: 14.75px 0 14px; border-top: .75px solid var(--line); font-size: 15px; color: var(--text-2); white-space: nowrap; }
.report__k { display: contents; }
.report__k b { font-weight: 500; color: var(--text); }
.flag { justify-self: end; padding: 4px 12px; border-radius: 999px; font-size: 13px; background: var(--mist); color: var(--teal); }
.flag--hi { background: #fbedea; color: #b4412f; }
.flag--ok { background: #f1f1ee; color: var(--teal); }
.flag--watch { background: #f1f1ee; color: var(--text-2); }
.report__note { background: var(--paper-2); border: 1px solid var(--line); border-radius: 16px; padding: 16.75px 18.75px; font-weight: 700; font-size: 14px; line-height: 21px; color: var(--text-2); }
.report__note p { max-width: 388px; }
.report__note span { color: var(--text); }

/* ---------- stories ---------- */
.stories .wrap { display: flex; flex-direction: column; gap: 55.99px; }
.stories__body { display: flex; flex-direction: column; gap: 40px; }
.stories__viewport { overflow: hidden; }
.stories__track { display: flex; gap: 24px; transition: transform .45s ease; }
.story { position: relative; flex: 0 0 calc((100% - 48px) / 3); height: 540px; border-radius: 20px; overflow: hidden; background: var(--ink); }
.story > img { position: absolute; top: 0; height: 100%; left: -17.14%; width: 242.86%; max-width: none; object-fit: cover; }
.story::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(27,49,55,0) 46%, rgba(27,49,55,.78) 68%, rgba(27,49,55,.96)); }
.story__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; display: flex; flex-direction: column; gap: 14px; padding: 23.055px 24px 24px; }
.story__quote { font-size: 17px; line-height: 23.8px; color: var(--paper); }
.story__foot { display: flex; align-items: center; justify-content: space-between; padding-top: 14.75px; border-top: .75px solid rgba(169, 242, 243, .25); }
.story__who { display: flex; flex-direction: column; gap: 1.99px; white-space: nowrap; }
.story__name { font-weight: 600; font-size: 15px; color: var(--paper); }
.story__role { font-size: 13px; color: var(--aqua-soft); }
.play { flex-shrink: 0; width: 48px; height: 48px; border-radius: 24px; background: var(--aqua); display: flex; align-items: center; justify-content: center; padding: 0 15.63px 0 19.62px; transition: transform .15s ease; }
@media (hover: hover) and (pointer: fine) { .play:hover { transform: scale(1.05); } }
.play[data-video=""] { display: none; }
.story--photo > img { left: 0; width: 100%; object-fit: cover; object-position: center top; }
.play::before { content: ""; width: 0; height: 0; border-style: solid; border-width: 7.5px 0 7.5px 12.75px; border-color: transparent transparent transparent var(--ink); }
.carousel-nav { width: 600px; max-width: 100%; margin-inline: auto; padding-top: 14px; display: flex; align-items: center; gap: 24px; }
.carousel-nav__btn { flex-shrink: 0; width: 52px; height: 52px; border-radius: 26px; }
.carousel-nav__btn img { width: 52px; height: 52px; }
.carousel-nav__dots { flex: 1 0 0; display: flex; gap: 6px; }
.carousel-nav__dots button { flex: 1 0 0; height: 4px; border-radius: 4px; background: #d5ddda; transition: background-color .2s; }
.carousel-nav__dots button[aria-current="true"] { background: var(--teal); }

/* ---------- results ---------- */
.results .wrap { display: flex; flex-direction: column; gap: 48px; }
.results .sec-head { gap: 19.99px; }
.res-cards { display: flex; gap: 24px; align-items: flex-start; }
.res-card { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; gap: 18px; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 36.75px; }
.res-card--a { padding-bottom: 59.25px; }
.res-card__k { font-size: 13px; letter-spacing: 2.34px; color: var(--text-2); }
.res-card__big { display: flex; flex-direction: column; gap: 6px; }
.res-card__n { font-size: 52px; line-height: 52px; color: var(--teal-2); white-space: nowrap; }
.res-card__l { font-size: 17px; color: var(--text-2); }
.res-card__note { background: var(--paper-2); border-radius: 16px; padding: 16px 20px; font-size: 15px; line-height: 22.5px; color: var(--text); }
.chart { position: relative; height: 109.99px; overflow: hidden; }
.chart picture { display: block; }
.chart img { display: block; width: 100%; height: 100%; }
.chart__area, .chart__line { position: absolute; left: 0; right: 0; }
.chart--1 .chart__area { top: 11.11%; bottom: 0; }
.chart--1 .chart__line { top: calc(11.11% - 1.34% * .6889); bottom: calc(20% - 1.33% * .6889); }
.chart--2 .chart__area { top: 15.56%; bottom: 0; }
.chart--2 .chart__line { top: calc(15.56% - 1.2% * .6666); bottom: calc(17.78% - 1.35% * .6666); }
.res-card__note b { font-weight: 600; }
.chart-site, .chart-site img { display: block; width: 100%; height: auto; }
/* desktop: both cards share row heights (subgrid), so the charts, chips and footers line up
   across the cards; each note bubble keeps its own height (a one-line bubble just leaves more
   space below it) */
@media (min-width: 1024px) {
  .res-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(6, auto); column-gap: 24px; row-gap: 0; align-items: stretch; }
  .res-card { display: grid; grid-template-rows: subgrid; grid-row: span 6; row-gap: 18px; }
  .res-card--a { padding-bottom: 36.75px; }
  .res-card__note { align-self: start; }
}
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips span { padding: 8px 16px; border-radius: 999px; background: var(--mist); font-size: 14px; color: var(--ink-2); white-space: nowrap; }
.res-card__foot { border-top: .75px solid var(--line); padding-top: 14.75px; font-size: 13px; color: var(--muted); }
.disclaimer { max-width: 867px; font-size: 13px; line-height: 19.5px; color: var(--muted); }
.docs { display: flex; flex-direction: column; gap: 24px; }
.docs__head { color: var(--text-2); }
.docs__head h3 { font-weight: 700; font-size: 13px; letter-spacing: 1.56px; text-transform: uppercase; }
.docs__head p { font-size: 16px; }
.docs__grid { display: flex; gap: 24px; }
.doc { position: relative; flex: 1 0 0; min-width: 0; height: 439.99px; border-radius: 20px; overflow: hidden; background: #e9eceb; }
.doc > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.doc__card { position: absolute; left: 12px; right: 12px; bottom: 12px; display: flex; flex-direction: column; gap: 3px; padding: 16px 18px; background: #fff; border-radius: 14px; filter: drop-shadow(0 8px 12px rgba(27, 49, 55, .12)); }
.doc__name { font-weight: 600; font-size: 17px; color: var(--text); }
.doc__role { font-size: 14px; line-height: 19.6px; color: var(--text-2); }
.doc__loc { font-size: 13px; color: var(--teal-3); }

/* ---------- comparison ---------- */
.compare .wrap { display: flex; flex-direction: column; gap: 47.75px; }
.compare__h2 { white-space: nowrap; }
.cmp { border: 1px solid var(--line); border-radius: 24px; padding: 1px; overflow: hidden; }
.cmp__head, .cmp__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1.4fr); }
.cmp__head { background: var(--paper); font-weight: 700; font-size: 13px; letter-spacing: 1.56px; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.cmp__head span { padding: 20px 32px; }
.cmp__head span:last-child { background: var(--mist); color: var(--teal); }
.cmp__row { border-top: .75px solid var(--line); min-height: 68.73px; font-size: 16px; line-height: 24px; }
.cmp__row--tall { min-height: 92.72px; }
.cmp__k { padding: 21.25px 32px; font-weight: 600; color: var(--text); }
.cmp__a, .cmp__b { padding: 22px 32px; }
.cmp__a { color: var(--text-2); }
.cmp__b { background: var(--cmp-b); color: var(--text); }
.cmp__lbl { display: none; }
.cmp__w381 { max-width: 381px; }
.compare__foot { font-weight: 600; font-size: 18px; line-height: 28.8px; color: var(--text-2); }

/* ---------- booking ---------- */
.book__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 72px; align-items: start; }
.book__copy { display: flex; flex-direction: column; gap: 28px; padding-top: 12px; }
.book__h2 { font-weight: 500; font-size: 52px; line-height: 55.12px; color: var(--paper); white-space: nowrap; }
.book__h2 em { font-size: 57.2px; line-height: 60.63px; color: var(--aqua); }
.book__next { display: flex; flex-direction: column; gap: 10px; }
.book__label { margin-bottom: 4px; font-weight: 700; font-size: 13px; letter-spacing: 1.56px; text-transform: uppercase; color: var(--aqua-soft); }
.nsteps { display: flex; flex-direction: column; gap: 14px; }
.nsteps li { display: flex; gap: 15.99px; align-items: flex-start; border-top: .75px solid var(--ink-2); padding-top: 13.99px; min-height: 56.73px; }
.nsteps li + li { padding-top: 14.75px; min-height: 78.48px; }
.nsteps p { max-width: var(--dw, none); font-size: 16px; line-height: 24px; color: var(--mist); }
.nsteps li:first-child p { margin-top: 1.25px; }
.nsteps li + li p { margin-top: -.45px; }
.nsteps b { font-weight: 600; color: #fff; }
.s2r { font-weight: 600; color: #fff; }
.nstep { flex-shrink: 0; width: 28px; height: 28px; border-radius: 14px; border: 1px solid var(--aqua-soft); display: flex; align-items: center; justify-content: center; font-size: 13px; color: var(--aqua); }
.helped { display: flex; align-items: center; gap: 0; border-top: .75px solid var(--ink-2); padding-top: 16.75px; height: 84.75px; align-items: flex-start; }
.helped__n { width: 165px; padding-right: 3.52px; font-weight: 500; font-size: 40px; line-height: normal; color: var(--paper); white-space: nowrap; }
.helped__n span { color: var(--aqua); }
.helped__l { width: 177px; margin-top: 18px; font-size: 14px; color: var(--aqua-soft); }

.form-card { background: #fff; border-radius: 24px; padding: 28.89px 36px 28.9px; filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .25)); }
.lead-form { display: flex; flex-direction: column; gap: 19.99px; }
/* /nr: the GHL survey sits on its own, without our white card behind it */
.form-card.form-card--cal { padding: 0; background: none; border-radius: 0; filter: none; }
.form-card--cal iframe { display: block; min-height: 480px; }
.form-card__progress { display: flex; flex-direction: column; gap: 8px; }
.form-card__steps { display: flex; justify-content: space-between; font-weight: 700; font-size: 12px; letter-spacing: 1.44px; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.form-card__bar { display: flex; gap: 6px; }
.form-card__bar span { flex: 1 0 0; height: 4px; border-radius: 4px; background: var(--line); }
.form-card__bar span.is-on { background: var(--teal); }
.form-card__fields { display: flex; flex-direction: column; gap: 16px; }
.field { display: flex; flex-direction: column; gap: 8px; }
.field__label { font-weight: 600; font-size: 14px; color: var(--text); }
.field input { width: 100%; height: 52px; padding: 0 22.75px; border: 1px solid var(--stone); border-radius: 999px; background: #fff; font: 400 16px var(--sans); color: var(--text); outline: none; transition: border-color .15s, box-shadow .15s; }
.field input::placeholder { color: #757575; opacity: 1; }
.field input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(37, 110, 137, .15); }
.field.is-invalid input { border-color: #b4412f; }
.field__err { font-size: 12px; color: #b4412f; }
.form-card__submit { padding-top: 4px; min-height: 59.99px; }
.btn-submit { width: 100%; min-height: 55.99px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 119.07px 15.99px; border-radius: 999px; background: var(--teal); color: #fff; font-weight: 600; font-size: 17px; text-align: center; transition: filter .15s; }
.btn-submit > span { flex: none; width: 347px; }
.btn-submit > i { flex: 1 0 0; min-width: 1px; display: flex; justify-content: center; }
.btn-submit img { flex: none; width: 13.414px; height: 7.786px; margin: 0 -6.707px; }
.btn-submit[disabled] { opacity: .7; cursor: progress; }
.assure { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; font-size: 14px; color: var(--text-2); white-space: nowrap; }
.assure li { display: flex; align-items: center; gap: 6px; min-height: 20px; }
.tick--sm { width: 18px; height: 18px; margin: 0; border-radius: 9px; font-size: 11px; line-height: normal; }
.consent { position: relative; display: flex; gap: 9.99px; align-items: flex-start; border-top: .75px solid var(--line); padding-top: 12.75px; cursor: pointer; }
.consent input { position: absolute; opacity: 0; width: 16px; height: 18px; margin: 0; }
.consent__box { flex-shrink: 0; width: 16px; height: 18px; background: url("assets/checkbox-checked.svg") no-repeat 0 0 / 16px 18px; }
.consent input:not(:checked) + .consent__box { background: none; }
.consent input:not(:checked) + .consent__box::before { content: ""; display: block; margin: 2.5px 0 0 .5px; width: 15px; height: 15px; border: 1px solid var(--stone); border-radius: 2px; }
.consent input:focus-visible + .consent__box { outline: 2px solid var(--teal); outline-offset: 2px; border-radius: 2px; }
.consent__text { flex: 1 0 0; padding-right: 23.14px; font-size: 12px; line-height: 18px; color: var(--muted); }
.form-privacy { font-size: 12px; line-height: 18px; color: var(--muted); }
.form-privacy a { color: var(--text-2); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.form-error { font-size: 13px; line-height: 19px; color: #b4412f; text-align: center; }
.form-error a { color: inherit; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
/* honeypot: kept out of sight and out of the tab order, but still in the form for bots */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.field__hint { font-weight: 400; color: var(--muted); }
.field--choice { margin: 0; padding: 0; border: 0; min-width: 0; }
.field--choice legend { padding: 0; margin-bottom: 8px; }
.choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.choice { position: relative; cursor: pointer; }
.choice input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.choice span { display: flex; align-items: center; justify-content: center; height: 48px; padding: 0 18px; border: 1px solid var(--stone); border-radius: 999px; font-size: 15px; color: var(--text); white-space: nowrap; transition: border-color .15s, background-color .15s, color .15s; }
@media (hover: hover) and (pointer: fine) { .choice:hover span { border-color: var(--teal); } }
.choice input:checked + span { background: var(--teal); border-color: var(--teal); color: #fff; }
.choice input:focus-visible + span { box-shadow: 0 0 0 3px rgba(37, 110, 137, .25); }
.field--choice.is-invalid .choice span { border-color: #b4412f; }
.btn-submit--plain { padding-inline: 24px; }
.form-done { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; padding: 32px 0; outline: none; }
.form-done__ico { width: 56px; height: 56px; border-radius: 28px; background: var(--mist); color: var(--teal); display: flex; align-items: center; justify-content: center; font-family: var(--tick-font); font-size: 24px; }
.form-done h3 { margin-top: 8px; font-weight: 500; font-size: 28px; line-height: 1.2; color: var(--text); }
.form-done p { max-width: 380px; font-size: 16px; line-height: 25px; color: var(--text-2); }

/* ---------- FAQ ---------- */
.faq__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 80px; align-items: start; }
.faq__intro { display: flex; flex-direction: column; gap: 20px; }
.faq__h2 { white-space: nowrap; }
.faq__h2 em { display: block; margin-top: -.16px; }
.faq__call { font-size: 16px; line-height: 24.8px; color: var(--text-2); }
.faq__call a { color: var(--teal-3); text-decoration: underline; text-decoration-thickness: 1px; text-underline-position: from-font; }
.qa__a a { color: var(--teal-3); text-decoration: underline; text-decoration-thickness: 1px; text-underline-position: from-font; }
.faq__list { border-top: .75px solid var(--line); padding-top: .75px; }
.qa { border-bottom: .75px solid var(--line); padding-bottom: .75px; }
.qa__q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 0; text-align: left; font-weight: 500; font-size: 19px; color: var(--text); }
.qa__q span { max-width: 640px; }
.qa__ico { flex-shrink: 0; position: relative; width: 31.99px; height: 31.99px; border: 1px solid var(--stone); border-radius: 16px; transition: background-color .2s ease; }
/* plus drawn with two bars; the vertical bar folds away when open */
.qa__ico::before, .qa__ico::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 1.5px; margin: -.75px 0 0 -5px; border-radius: 1px; background: var(--teal); transition: transform .45s cubic-bezier(.33, 1, .68, 1); }
.qa__ico::after { transform: rotate(90deg); }
.qa.is-open .qa__ico::after { transform: rotate(180deg); }
@media (hover: hover) and (pointer: fine) { .qa__q:hover .qa__ico { background: var(--mist); } }
/* answer height animates via grid rows 0fr → 1fr */
.qa__a { display: grid; grid-template-rows: 0fr; opacity: 0; font-size: 16px; line-height: 25.6px; color: var(--text-2); transition: grid-template-rows .5s cubic-bezier(.33, 1, .68, 1), opacity .35s ease; }
.qa.is-open .qa__a { grid-template-rows: 1fr; opacity: 1; transition: grid-template-rows .5s cubic-bezier(.33, 1, .68, 1), opacity .45s ease .08s; }
.qa__inner { min-height: 0; overflow: hidden; }
.qa__inner p { padding: 0 56px 24px 0; }

/* ---------- closing ---------- */
.closing { position: relative; background: var(--ink); overflow: hidden; isolation: isolate; }
.closing__bg { position: absolute; inset: 0 0 -.2px 0; opacity: .3; overflow: hidden; }
.closing__bg img { position: absolute; height: 230.06%; left: 0; top: -18.21%; width: 100%; max-width: none; object-fit: cover; }
.closing__grad { position: absolute; inset: 0 0 -.2px 0; background: linear-gradient(to bottom, rgba(27,49,55,.15), rgba(27,49,55,.45) 60%, var(--ink)); }
.closing__inner { position: relative; display: flex; flex-direction: column; align-items: center; gap: 32px; padding: 180px var(--gutter) 0; text-align: center; }
.closing__h2 { font-weight: 500; font-size: 72px; line-height: 74.88px; color: var(--paper); white-space: nowrap; }
.closing__h2 em { font-size: 79.2px; line-height: 82.37px; color: var(--aqua); }
.closing__sub { max-width: 620px; font-size: 20px; line-height: 31px; color: var(--mist); }
.closing__ctas { display: contents; }
.closing__call { font-size: 14px; color: var(--aqua-soft); }
@media (hover: hover) and (pointer: fine) { .closing__call:hover { color: var(--aqua); } }
.site-footer { width: 100%; max-width: 1200px; margin-top: 140px; display: flex; justify-content: space-between; align-items: flex-start; border-top: .75px solid var(--ink-2); padding: 28.75px 0 28px; font-size: 13px; color: var(--aqua-soft); }
.site-footer nav { display: flex; gap: 24px; }
.site-footer a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-position: from-font; }
@media (hover: hover) and (pointer: fine) { .site-footer a:hover { color: var(--aqua); } }

/* ---------- member story video popup ---------- */
.vmodal { position: fixed; inset: 0; z-index: 50; display: flex; align-items: center; justify-content: center; padding: 24px var(--gutter); opacity: 0; transition: opacity .3s ease; }
.vmodal.is-open { opacity: 1; }
.vmodal__backdrop { position: absolute; inset: 0; background: rgba(27, 49, 55, .92); cursor: pointer; }
.vmodal__box { position: relative; width: min(100%, 1040px, calc((100vh - 120px) * 16 / 9)); transform: translateY(12px) scale(.98); transition: transform .35s cubic-bezier(.33, 1, .68, 1); }
.vmodal.is-open .vmodal__box { transform: none; }
.vmodal__frame { position: relative; aspect-ratio: 16 / 9; border-radius: 20px; overflow: hidden; background: #000; box-shadow: 0 24px 60px rgba(0, 0, 0, .45); }
.vmodal__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vmodal__close { position: absolute; right: 0; bottom: calc(100% + 14px); width: 44px; height: 44px; border-radius: 22px; background: var(--aqua); transition: transform .15s ease; }
@media (hover: hover) and (pointer: fine) { .vmodal__close:hover { transform: scale(1.06); } }
.vmodal__close::before, .vmodal__close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 1.75px; margin: -.875px 0 0 -8px; border-radius: 1px; background: var(--ink); transform: rotate(45deg); }
.vmodal__close::after { transform: rotate(-45deg); }
.vmodal__close:focus-visible { outline: 2px solid var(--aqua); outline-offset: 3px; }
body.has-modal { overflow: hidden; }
@media (max-width: 1023px) {
  .vmodal { padding: 16px; }
  .vmodal__frame { border-radius: 14px; }
  .vmodal__close { width: 40px; height: 40px; bottom: calc(100% + 12px); }
}

/* ---------- sticky CTA bar (mobile only, per copy doc S11) ---------- */
@media (min-width: 1024px) { .cta-bar { display: none !important; } }
.cta-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 20; height: var(--bar-h); background: var(--ink); border-top: .75px solid rgba(169, 242, 243, .14); padding: .75px var(--gutter) 0; display: flex; align-items: center; transform: translateY(100%); transition: transform .3s ease; }
.cta-bar.is-shown { transform: none; }
.cta-bar__btns { display: flex; align-items: center; gap: 12.01px; }

/* ======================================================================
   Between 1024 and 1279: keep the desktop layout but let wide rows breathe
   ====================================================================== */
@media (min-width: 1024px) and (max-width: 1279px) {
  .h2--inline, .how__h2, .compare__h2, .faq__h2, .book__h2, .closing__h2, .misses__quote, .h1 { white-space: normal; }
  .closing__h2 { font-size: 60px; line-height: 64px; }
  .closing__h2 em { font-size: 66px; line-height: 68px; }
  .steps { flex-wrap: wrap; }
  .step { flex-basis: calc((100% - 48px) / 3); }
  .step__desc { max-width: none; }
  .report__row { white-space: normal; }
  .misses .wrap { gap: 48px; }
}

/* ======================================================================
   MOBILE — Figma frame 183:685 (390 wide, 20px gutters)
   ====================================================================== */
@media (max-width: 1023px) {
  :root { --gutter: 20px; --bar-h: 0px; }
  .wrap { max-width: 600px; }
  .eyebrow { font-size: 11px; letter-spacing: 1.54px; text-align: center; }
  .h2 { font-size: 32px; line-height: 35.2px; text-align: center; }
  .h2 em { font-size: 35.2px; line-height: 38.72px; }
  .h2--inline { white-space: normal; line-height: 35.2px; }
  .h2--inline em { display: inline-block; margin-top: -.425px; }
  .lead { font-size: 16px; line-height: 25.6px; text-align: center; }
  .sec { padding: 64px var(--gutter); }
  .sec-head { max-width: none; }

  /* header + hero */
  .site-header { padding: 9px 20px 9.75px 17.719px; }
  .logo img { width: 197.09px; height: 32px; }
  .logo { margin-left: 0; }
  .site-header .btn--call { min-height: 44px; padding: 10.75px 22px; }
  .hero__stage { height: auto; overflow: visible; }
  .hero__media { top: 62px; height: 559.99px; transform: none; opacity: .3; }
  .hero__media img { height: 100%; left: -77.42%; top: 0; width: 215.05%; }
  .hero__grad1 { display: none; }
  .hero__grad2 { inset: 0 0 auto 0; height: 637px; background: linear-gradient(to bottom, rgba(27,49,55,.3), rgba(27,49,55,.55) 45%, var(--ink)); }
  .hero__content { padding: 86px 20px 36px; }
  .hero__col { width: auto; gap: 13px; align-items: stretch; text-align: center; }
  .h1 { font-size: 36px; line-height: 38.16px; white-space: nowrap; }
  .h1__sans { display: inline; font-size: 36px; line-height: 38.16px; margin: 0; }
  .h1 em { display: inline; font-size: 39.6px; line-height: 41.98px; }
  .hero__lede { max-width: none; font-size: 17px; line-height: 25.5px; }
  .price-box { align-items: center; gap: 13.19px; padding: 12.75px 16.75px; border-radius: 16px; text-align: left; overflow: visible; }
  .price-box__a { padding: 0; border: 0; gap: 0; }
  .price-box__label { font-size: 10px; letter-spacing: 1.2px; }
  .price-box__price { font-size: 24px; }
  .price-box__b { flex: 0 1 auto; display: block; padding: 0 12.97px 0 14.74px; border-left: .75px solid var(--line-dark); font-size: 13px; line-height: 18.85px; }
  .price-box__b p { max-width: 195px; }
  .price-box__b p + p { color: var(--mist); }
  .hero__cta { flex-direction: column; align-items: stretch; gap: 10px; padding-top: 3px; }
  .btn--hero { width: 100%; font-size: 16px; padding: 15.99px 20px 16px; white-space: normal; }
  .hero__fine { flex: none; font-size: 13px; text-align: center; }
  .stats { padding: 0 20px; }
  .stats .wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .75px 0 0; }
  .stat { gap: 4px; padding: 20px 0 20.75px 16.75px; }
  .stat:nth-child(odd) { padding-left: 0; padding-right: 12px; border-left: 0; }
  .stat:nth-child(-n+2) { border-bottom: .75px solid var(--ink-2); }
  .stat:nth-child(n+3) { padding-bottom: 28px; }
  .stat__n { font-size: 32px; line-height: 32px; }
  .stat__l { font-size: 13px; }

  /* misses */
  .misses .wrap { display: flex; flex-direction: column; align-items: stretch; gap: 20px; }
  .misses__copy { height: auto; display: flex; flex-direction: column; gap: 10px; text-align: center; }
  .misses__copy > * { position: static; }
  .misses__h2 { height: auto; white-space: nowrap; }
  .misses__h2 > * { position: static; display: block; }
  .misses__h2 em { margin-top: 1.8px; }
  .misses__p { max-width: none; font-size: 16px; line-height: 25.6px; }
  .misses__quote { margin-top: 6px; border: 0; padding: 0; font-size: 17px; line-height: 24.65px; }
  .span-card { margin-top: 8px; gap: 20px; padding: 24.75px; filter: none; }
  .span-card__top { gap: 10px; }
  .span-card__head { font-size: 12px; letter-spacing: 1.44px; }
  .span-bar { height: 12px; }
  .span-legend { font-size: 13px; }
  .span-stat { padding-top: 18.75px; gap: 4px; }
  .span-stat__n { font-size: 34px; line-height: 34px; padding-bottom: 0; }
  .span-stat__l { font-size: 15px; }
  .span-card__src { font-size: 11px; }

  /* pricing */
  .pricing { padding: 62px 20px; }
  .pricing .wrap { gap: 24px; }
  .pricing .sec-head { gap: 10px; }
  .pricing .h2--inline em { display: block; }
  .pricing__body { gap: 10px; }
  .price-card { flex-direction: column; gap: 6px; padding: 10.75px; border-radius: 22px; }
  .price-card__media { order: -1; flex: none; height: 240px; border-radius: 14px; }
  .price-card__media img { inset: 0; width: 100%; height: 100%; left: 0; top: 0; }
  .price-card__info { flex: none; gap: 20px; padding: 14px 12px 12px; }
  .price-card__head { display: block; height: 147.25px; padding: 0; }
  .price-card__title { height: 100%; }
  .price-card__name { top: 0; font-size: 18px; line-height: normal; }
  .price-card__title .price-card__from { position: absolute; top: 31.5px; font-size: 14px; }
  .price-card__title .price-card__num { position: absolute; top: 56.38px; font-size: 44px; line-height: 44px; }
  .price-card__meta { top: 107px; font-size: 14px; }
  .price-card__bought { font-weight: 600; font-size: 14px; color: var(--muted); }
  .checks { gap: 20px; }
  .checks li { gap: 11.99px; font-size: 15px; line-height: 22.5px; color: var(--text); }
  .checks li > span:last-child { max-width: none; padding-right: var(--mpr, 0); }
  .note-box { border-radius: 14px; padding: 13.945px 16.75px 14.645px; font-size: 14px; line-height: 21.7px; }
  .note-box p { max-width: none; }
  .fit { flex-direction: column; gap: 10px; }
  .fit__card { flex: none; gap: 12px; padding: 24.75px; }
  .fit__card ul { gap: 12px; }
  .fit__title { font-size: 12px; letter-spacing: 1.44px; }
  .fit__card li { padding-top: 12.75px; font-size: 15px; line-height: 22.5px; }
  .fit__card li span { max-width: none !important; }
  .fit__card li .nw-m { white-space: nowrap; }

  /* how */
  .how .wrap { gap: 28px; }
  .how__head { gap: 28px; }
  .how__h2 { padding: 0; }
  .how__h2 em { display: inline; margin: 0; }
  .steps { flex-direction: column; gap: 0; }
  .step { flex: none; width: 100%; flex-direction: row; gap: 16px; padding: 20.75px 0 20px; }
  .step__top { flex-shrink: 0; align-self: flex-start; }
  .step__body { flex: 1 0 0; min-width: 0; gap: 0; }
  .step__when { width: auto; min-height: 0; font-size: 11px; letter-spacing: 1.32px; white-space: nowrap; }
  .step__title { margin-top: 6.13px !important; font-size: 18px; line-height: normal; }
  .step__desc { margin-top: 5.5px !important; max-width: none; }
  .report { display: flex; flex-direction: column; gap: 6px; height: auto; padding: 10px; border-radius: 22px; }
  .report__media { height: 259.99px; border-radius: 14px; }
  .report__media img { height: 122.05%; top: -6.62%; }
  .pill-cap { left: 12px; bottom: 12px; padding: 8px 14px; font-size: 13px; }
  .report__data { gap: 12px; padding: 14px 12px 12px; }
  .report__title { font-size: 12px; letter-spacing: 1.44px; }
  .report__tag { font-family: "JetBrains Mono", var(--mono); font-size: 11px; }
  .report__row { display: flex; justify-content: space-between; align-items: center; padding: 11.75px 0 11px; }
  .report__k { display: flex; flex-direction: column; gap: 2px; }
  .report__k b { font-size: 14px; }
  .report__v { font-size: 13px; color: var(--muted); }
  .flag { padding: 4px 10px; font-size: 12px; }
  .flag--ok { color: var(--text-2); }
  .report__note { padding: 14.11px 16.75px 14.84px; font-size: 13px; line-height: 19.5px; color: var(--text); }
  .report__note p { max-width: none; }

  /* stories */
  .stories .wrap { gap: 28px; }
  .stories__head { gap: 28px; }
  .stories .h2--inline em { margin-top: 0; }
  .stories__track { flex-direction: column; gap: 16px; transform: none !important; }
  .story { flex: none; width: 100%; height: 520px; }
  .story--1 > img { left: -18.76%; width: 256.34%; }
  .story__body { gap: 13.99px; padding: 18.885px 20px 19.99px; }
  .story__quote { font-size: 16px; line-height: 22.4px; }
  .play { padding: 0 15.64px 0 19.61px; }
  .carousel-nav { display: none; }

  /* results */
  .results { padding-bottom: 136.47px; }
  .results .wrap { gap: 24px; }
  .results .sec-head { gap: 23.4px; }
  .results .h2--inline em { display: block; }
  .res-cards { flex-direction: column; gap: 24px; }
  .res-card, .res-card--a { flex: none; width: 100%; gap: 14px; padding: 23.75px; }
  .res-card__k { font-size: 12px; letter-spacing: 2.16px; }
  .res-card__big { gap: 4px; margin-top: -1.13px; }
  .res-card__n { font-size: 38px; line-height: 38px; padding-bottom: .625px; }
  .res-card__l { font-size: 15px; }
  .res-card__note { border-radius: 14px; padding: 14px 16px; font-size: 14px; line-height: 21px; }
  .chart { height: 79.99px; }
  .chart--1 .chart__line { top: calc(11.11% - 1.81% * .6889); bottom: calc(20% - 1.79% * .6889); }
  .chart--2 .chart__line { top: calc(15.56% - 1.53% * .6666); bottom: calc(17.78% - 1.8% * .6666); left: -.19%; }
  .chips span { padding: 6px 14px; font-size: 13px; }
  .res-card__foot { padding-top: 12.75px; font-size: 12px; }
  .disclaimer { max-width: none; font-size: 12px; line-height: 18px; text-align: center; }
  .docs { gap: 23.5px; }
  .docs__head { padding-top: 12px; text-align: center; }
  .docs__head h3 { font-size: 12px; letter-spacing: 1.44px; white-space: nowrap; }
  .docs__head p { font-size: 12px; line-height: 18px; color: var(--muted); }
  .docs__grid { flex-direction: column; gap: 16px; }
  .doc { flex: none; height: 420px; }

  /* comparison */
  .compare .wrap { gap: 19.5px; }
  .compare .sec-head { gap: 19.5px; }
  .compare__h2 { white-space: nowrap; }
  .compare__h2 em { line-height: 38.72px; }
  .cmp { display: flex; flex-direction: column; gap: 19.5px; border: 0; border-radius: 0; padding: 0; overflow: visible; }
  .cmp__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 0; border: 1px solid var(--line); border-radius: 16px; padding: 1px; overflow: hidden; font-size: 14px; line-height: 20.3px; }
  .cmp__k { grid-column: 1 / -1; padding: 14px 18px; background: var(--paper); font-size: 15px; line-height: normal; }
  .cmp__a, .cmp__b { display: flex; flex-direction: column; gap: 4px; padding: 14px 18px; }
  .cmp__lbl { display: block; font-weight: 700; font-size: 10px; line-height: 14.5px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--muted); }
  .cmp__b .cmp__lbl { color: var(--teal); }
  .cmp__w381 { max-width: none; }
  .cmp__a { padding-right: 14px; }
  .compare__foot { font-weight: 400; font-size: 16px; line-height: 25.6px; text-align: center; }

  /* booking */
  .book__grid { display: flex; flex-direction: column; align-items: stretch; gap: 25px; }
  .form-card { min-width: 0; }
  .book__copy { gap: 18px; padding-top: 0; }
  .book__copy .eyebrow { text-align: center; }
  .book__h2 { font-size: 28px; line-height: 31.36px; text-align: center; }
  .book__h2 em { display: block; font-size: 30.8px; line-height: 34.5px; margin: -.9px 0; }
  .book__next { gap: 18px; }
  .nsteps { gap: 18px; }
  .nsteps li, .nsteps li + li { gap: 12px; min-height: 0; padding-top: 12.75px; }
  .nsteps p, .nsteps li:first-child p, .nsteps li + li p { margin-top: 0; max-width: none; font-size: 14px; line-height: 21px; color: #fff; }
  .nsteps li:nth-child(1) p { padding-right: 35.18px; }
  .nsteps li:nth-child(2) p { padding-right: 30.73px; }
  .nsteps li:nth-child(3) p { padding-right: 26.78px; color: var(--mist); white-space: nowrap; }
  .s1r { font-weight: 600; color: #fff; }
  .s2r { font-weight: 400; }
  .nstep { width: 24px; height: 24px; border-radius: 12px; font-size: 12px; }
  .form-card { padding: 20px; border-radius: 20px; filter: drop-shadow(0 16px 20px rgba(0, 0, 0, .25)); }
  .btn-submit { font-size: 16px; padding: 16px 50.65px 15.99px; }
  .btn-submit > span { width: 209px; }
  .btn-submit > i { display: none; }
  .assure { width: 255px; margin: 0 auto; justify-content: space-between; gap: 10px 0; min-height: 73px; }
  .assure li { min-height: 38px; }
  .assure li:nth-child(3) { min-height: 26px; margin: 0 auto; }
  .consent { gap: 10px; }
  .consent__text { padding-right: 5.68px; }
  .helped--m { justify-content: center; align-items: center; gap: 4px; border: 0; padding: 0; height: 45px; }
  .helped--m .helped__n { width: auto; font-size: 32px; }
  .helped--m .helped__l { width: 177px; margin: 0; }

  /* narrower than the 390px design: let two no-wrap lines fit instead of pushing the page sideways */
  @media (max-width: 389px) {
    .nsteps li:nth-child(3) p { white-space: normal; padding-right: 0; }
    .how__h2 { white-space: normal; }
    .how__h2 em { font-size: 33px; line-height: 36.3px; }
  }

  /* faq */
  .faq__grid { display: flex; flex-direction: column; align-items: stretch; gap: 20.4px; }
  .faq__intro { gap: 0; text-align: center; }
  .faq__h2 { margin-top: 19.4px; }
  .faq__h2 em { margin-top: -.425px; }
  .faq__call { margin-top: 13.5px; line-height: 25.6px; }
  .faq__call a { color: inherit; text-decoration: none; }
  .qa__q { min-height: 56px; padding: 18px 0; gap: 12.8px; font-size: 16px; }
  .qa__ico { width: 28px; height: 28px; border-radius: 14px; }
  .qa__a { font-size: 15px; line-height: 24px; }
  .qa__inner p { padding: 0 0 18px; }

  /* closing */
  .closing__bg img { height: 100%; left: -29.35%; top: 0; width: 158.69%; }
  .closing__grad { background: linear-gradient(to bottom, rgba(27,49,55,.1), rgba(27,49,55,.5) 55%, var(--ink)); }
  .closing__inner { gap: 0; padding: 120px 20px 0; }
  .closing__h2 { margin-top: -.88px; font-size: 40px; line-height: 42.4px; }
  .closing__h2 em { display: block; margin-top: 2px; font-size: 44px; line-height: 46.64px; }
  .closing__sub { margin-top: 22.4px; max-width: 326px; font-size: 16px; line-height: 24.8px; }
  .closing__ctas { display: flex; flex-direction: column; gap: 8px; width: 100%; margin-top: 22.83px; }
  .closing__call { display: block; min-height: 52px; padding: 14.74px 14px 14.76px; border: 1px solid var(--aqua); border-radius: 999px; font-weight: 600; font-size: 16px; color: var(--aqua); text-align: center; transition: background-color .15s ease; }
  @media (hover: hover) and (pointer: fine) { .closing__call:hover { background: rgba(169, 242, 243, .08); color: var(--aqua); } }
  .closing__call .nw { white-space: nowrap; }
  .site-footer { margin-top: 92px; flex-direction: column; align-items: center; gap: 12px; padding: 22.75px 0 28px; font-size: 12px; }
  .site-footer nav { gap: 20px; }

  /* sticky bar */
  .cta-bar { height: auto; padding: 12.75px 16px 20px; }
  .cta-bar .wrap { max-width: none; }
  .cta-bar__btns { width: 100%; gap: 10px; align-items: stretch; }
  .btn--phone { flex: none; width: 52px; min-height: 52px; padding: 0; }
  .btn--phone svg { display: block; }
  .btn--bar { flex: 1 0 0; min-width: 0; padding: 8px 16px; font-size: 14px; white-space: normal; }


  .field-row { grid-template-columns: minmax(0, 1fr); gap: 16px; } /* mobile: last name under first name */
  /* form step 2 */
  .choice span { height: 44px; padding: 0 8px; font-size: 14px; }
  .btn-submit--plain { padding-inline: 20px; }
  .form-done { padding: 20px 0; }
  .form-done h3 { font-size: 24px; }
  .form-done p { font-size: 15px; line-height: 23px; }
}
