@layer reset, tokens, base, components, sections, utilities;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body, h1, h2, h3, p, ol, ul { margin: 0; }
  ol, ul { padding: 0; list-style: none; }
  img, svg, canvas { display: block; max-width: 100%; }
  button, a { font: inherit; }
}

@layer tokens {
  :root {
    color-scheme: light;
    --slate-950: #020617;
    --slate-900: #0f172a;
    --slate-850: #131d31;
    --slate-800: #1e293b;
    --slate-700: #334155;
    --slate-600: #475569;
    --slate-500: #64748b;
    --slate-400: #94a3b8;
    --slate-300: #cbd5e1;
    --slate-200: #e2e8f0;
    --slate-100: #f1f5f9;
    --slate-50: #f8fafc;
    --cyan-600: #0891b2;
    --cyan-700: #0e7490;
    --cyan-500: #06b6d4;
    --cyan-400: #22d3ee;
    --cyan-300: #67e8f9;
    --cyan-oklch: 72% 0.14 205;
    --shell: min(1240px, calc(100vw - 48px));
    --display: "Outfit", system-ui, sans-serif;
    --body: "Inter", system-ui, sans-serif;
    --ease: cubic-bezier(.2, .75, .25, 1);
    --ease-spring: linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 33.4%, .937 42.9%, .968 49.8%, .991 60.4%, 1.003 72%, 1);
  }

  @property --scan-angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
}

@layer base {
  body {
    background: var(--slate-50);
    color: var(--slate-900);
    font-family: var(--body);
    font-size: 16px;
    line-height: 1.65;
    overflow-x: clip;
    text-rendering: optimizeLegibility;
  }

  ::selection { color: var(--slate-950); background: var(--cyan-300); }
  a { color: inherit; text-decoration: none; }
  button { color: inherit; }
  :focus-visible { outline: 3px solid var(--cyan-400); outline-offset: 4px; }
  h1, h2 { font-family: var(--display); text-wrap: balance; }
  h1 { font-size: clamp(3.4rem, 6.1vw, 5.9rem); line-height: .98; letter-spacing: -.055em; }
  h2 { font-size: clamp(2.35rem, 4vw, 4rem); line-height: 1.04; letter-spacing: -.04em; }
  h3 { font-size: 1.5rem; line-height: 1.2; letter-spacing: -.025em; }
  p { text-wrap: pretty; }
}

@layer components {
  .page-shell { width: var(--shell); margin-inline: auto; }
  .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 10px 16px; background: white; color: var(--slate-950); transform: translateY(-150%); transition: transform .2s; }
  .skip-link:focus { transform: translateY(0); }

  .reading-progress {
    position: fixed; z-index: 100; inset: 0 auto auto 0; height: 2px; width: 100%;
    transform-origin: left; background: linear-gradient(90deg, var(--cyan-500), var(--cyan-300));
    animation: reading linear; animation-timeline: scroll(root block);
  }
  @keyframes reading { from { scale: 0 1; } to { scale: 1 1; } }

  .site-header {
    position: absolute; z-index: 50; top: 0; left: 0; width: 100%; padding-top: 18px; color: var(--slate-100);
  }
  .site-header.is-scrolled { position: fixed; animation: nav-in .45s var(--ease); }
  @keyframes nav-in { from { transform: translateY(-100%); } }
  .nav-shell {
    width: var(--shell); min-height: 70px; margin-inline: auto; padding: 10px 12px 10px 18px;
    display: flex; align-items: center; justify-content: space-between; border: 1px solid rgb(148 163 184 / 18%);
    border-radius: 18px; background: rgb(2 6 23 / 72%); box-shadow: 0 18px 60px rgb(2 6 23 / 18%);
    backdrop-filter: blur(20px) saturate(130%);
    -webkit-backdrop-filter: blur(20px) saturate(130%);
  }
  .brand { display: inline-flex; align-items: center; gap: 11px; font-family: var(--display); font-weight: 700; letter-spacing: -.025em; }
  .brand-name { font-size: 1.2rem; }
  .logo-emblem { position: relative; display: block; flex: 0 0 auto; overflow: hidden; border: 1px solid rgb(34 211 238 / 34%); border-radius: 18%; background: #000; box-shadow: inset 0 0 20px rgb(255 255 255 / 5%), 0 0 24px rgb(34 211 238 / 22%); }
  .logo-emblem img { position: absolute; left: 50%; top: 50%; width: 280%; max-width: none; height: auto; transform: translate(-50%, -46%); filter: drop-shadow(0 0 6px rgb(34 211 238 / 28%)); }
  .logo-emblem--nav { width: 42px; height: 42px; }
  .primary-nav { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 34px); font-size: .875rem; font-weight: 500; }
  .primary-nav > a:not(.nav-cta) { color: var(--slate-300); transition: color .2s; }
  .primary-nav > a:not(.nav-cta):hover { color: white; }
  .nav-cta { display: inline-flex; align-items: center; gap: 15px; padding: 11px 16px; border-radius: 10px; color: var(--slate-950); background: var(--cyan-400); font-weight: 600; box-shadow: 0 0 24px rgb(34 211 238 / 18%); }
  .nav-cta span, .button span { transition: transform .25s var(--ease); }
  .nav-cta:hover span, .button:hover span { transform: translate(2px, -2px); }
  .menu-toggle { display: none; width: 44px; height: 44px; padding: 12px; border: 0; border-radius: 10px; background: transparent; }
  .menu-toggle span:not(.sr-only) { display: block; width: 100%; height: 1px; margin: 5px 0; background: white; transition: transform .25s, opacity .25s; }

  .eyebrow, .section-kicker { font-size: .76rem; line-height: 1.2; font-weight: 600; letter-spacing: .12em; }
  .eyebrow { display: flex; align-items: center; gap: 10px; color: var(--cyan-300); }
  .eyebrow { text-transform: uppercase; }
  .eyebrow > span { width: 28px; height: 1px; background: currentColor; box-shadow: 0 0 10px var(--cyan-400); }
  .section-kicker { color: var(--cyan-700); letter-spacing: .045em; }
  .folio { margin-top: 14px; color: var(--slate-500); font-size: .78rem; font-feature-settings: "tnum" 1; }

  .button { display: inline-flex; justify-content: center; align-items: center; gap: 28px; min-height: 54px; padding: 0 21px; border: 0; border-radius: 12px; font-weight: 600; line-height: 1; cursor: pointer; transition: transform .25s var(--ease), background .25s, box-shadow .25s; }
  .button:hover { transform: translateY(-2px); }
  .button:active, .nav-cta:active { transform: translateY(1px) scale(.985); }
  .button--primary { color: var(--slate-950); background: var(--cyan-400); box-shadow: 0 12px 38px rgb(6 182 212 / 28%), inset 0 1px rgb(255 255 255 / 35%); }
  .button--primary:hover { background: var(--cyan-300); box-shadow: 0 16px 44px rgb(6 182 212 / 35%); }
  .button--dark { color: white; background: var(--slate-900); box-shadow: 0 12px 30px rgb(15 23 42 / 16%); }
  .button--large { min-height: 64px; padding-inline: 28px; font-size: 1rem; }
  .text-link { display: inline-flex; gap: 14px; align-items: center; border-bottom: 1px solid rgb(148 163 184 / 34%); padding-block: 10px 5px; color: var(--slate-200); font-size: .9rem; font-weight: 500; }

  .section-light { background: var(--slate-50); }
  .section-dark { color: var(--slate-100); background: var(--slate-950); }
  .section-mist { background: var(--slate-100); }
  .section-heading { display: grid; grid-template-columns: minmax(160px, .55fr) 1.45fr; gap: 60px; margin-bottom: 72px; }
  .section-heading > div:last-child { max-width: 830px; }
  .section-heading h2 { max-width: 800px; }
  .section-heading > div:last-child > p { max-width: 650px; margin-top: 25px; color: var(--slate-600); font-size: 1.05rem; }
  .section-heading--dark > div:last-child > p { color: var(--slate-400); }
  .section-heading--evidence { grid-template-columns: minmax(130px, .34fr) 1.66fr; }
  .section-heading--evidence > div:last-child { max-width: 940px; padding-left: clamp(0px, 5vw, 72px); border-left: 1px solid var(--slate-300); }
  .section-heading--resources { display: flex; align-items: end; justify-content: space-between; gap: 80px; }
  .section-heading--resources > div:first-child { flex: 0 0 160px; }
  .section-heading--resources > div:last-child { max-width: 760px; }

  .reveal { animation: reveal both var(--ease); animation-timeline: view(); animation-range: entry 4% cover 32%; }
  @keyframes reveal { from { transform: translateY(30px); } to { transform: none; } }
}

@layer sections {
  .hero { --pointer-x: 68%; --pointer-y: 38%; position: relative; min-height: 760px; height: clamp(760px, 100svh, 900px); overflow: hidden; color: var(--slate-100); background: var(--slate-950); isolation: isolate; }
  .terrain { position: absolute; z-index: -5; inset: 0; width: 100%; height: 100%; opacity: .96; }
  .hero::before { content: ""; position: absolute; z-index: -4; inset: 0; opacity: .55; background: radial-gradient(circle at var(--pointer-x) var(--pointer-y), rgb(34 211 238 / 15%), transparent 24%); mix-blend-mode: screen; pointer-events: none; transition: opacity .4s; }
  .hero::after { content: ""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgb(2 6 23 / 99%) 0%, rgb(2 6 23 / 89%) 40%, rgb(2 6 23 / 28%) 71%, rgb(2 6 23 / 58%) 100%), linear-gradient(0deg, var(--slate-950) 0, transparent 34%); pointer-events: none; }
  .hero-grain { position: absolute; z-index: -1; inset: 0; opacity: .045; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
  .hero-beam { position: absolute; z-index: -3; width: 48vw; height: 120vh; top: -22%; right: 3%; opacity: .22; background: conic-gradient(from var(--scan-angle) at 50% 52%, transparent 0 42%, rgb(34 211 238 / 30%) 49%, transparent 56% 100%); filter: blur(30px); animation: beam-rotate 18s linear infinite; pointer-events: none; }
  @keyframes beam-rotate { to { --scan-angle: 1turn; } }
  .hero-orbit { position: absolute; z-index: -3; border: 1px solid rgb(34 211 238 / 10%); border-radius: 50%; box-shadow: 0 0 120px rgb(8 145 178 / 7%); }
  .hero-orbit--one { width: 760px; height: 760px; top: 40px; right: -110px; animation: orbit-drift 14s ease-in-out infinite alternate; }
  .hero-orbit--two { width: 470px; height: 470px; top: 190px; right: 35px; animation: orbit-drift 10s ease-in-out -4s infinite alternate-reverse; }
  @keyframes orbit-drift { to { translate: 12px -16px; scale: 1.035; } }
  .hero-inner { height: 100%; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); gap: 70px; align-items: center; padding-top: 102px; }
  .hero-copy { position: relative; z-index: 3; max-width: 750px; }
  .hero-copy h1 { margin-top: 27px; }
  .hero-copy h1 em, .contact h2 em { color: var(--cyan-300); font-style: normal; }
  .hero-lede { max-width: 665px; margin-top: 30px; color: var(--slate-300); font-size: clamp(1.05rem, 1.4vw, 1.25rem); line-height: 1.65; }
  .hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 38px; }
  .hero-watermark { position: absolute; right: -40px; bottom: -200px; color: transparent; font-family: var(--display); font-size: 620px; line-height: 1; font-weight: 700; -webkit-text-stroke: 1px rgb(34 211 238 / 4%); pointer-events: none; }

  .signal-stage { --tilt-x: 0deg; --tilt-y: -3deg; position: relative; width: min(100%, 560px); justify-self: end; perspective: 1200px; transform-style: preserve-3d; }
  .signal-halo { position: absolute; z-index: -1; inset: -18%; border-radius: 50%; opacity: .62; background: radial-gradient(circle, rgb(6 182 212 / 16%), transparent 66%); filter: blur(26px); transform: translateZ(-80px); }
  .signal-tag { position: absolute; z-index: 3; padding: 7px 11px; border: 1px solid rgb(34 211 238 / 18%); border-radius: 100px; color: var(--slate-400); background: rgb(2 6 23 / 70%); backdrop-filter: blur(8px); font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; }
  .signal-tag--one { left: -54px; top: 28%; transform: translateZ(45px); }
  .signal-tag--two { right: -25px; bottom: 26%; transform: translateZ(60px); }
  .signal-panel { position: relative; width: 100%; border: 1px solid rgb(34 211 238 / 21%); border-radius: 26px; background: linear-gradient(150deg, rgb(15 23 42 / 69%), rgb(2 6 23 / 40%)); box-shadow: 0 55px 130px rgb(2 6 23 / 58%), inset 0 1px rgb(255 255 255 / 6%), 0 0 0 1px rgb(2 6 23 / 45%); backdrop-filter: blur(14px) saturate(125%); -webkit-backdrop-filter: blur(14px) saturate(125%); overflow: hidden; transform: rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transition: transform .8s var(--ease-spring), border-color .4s; will-change: transform; }
  .signal-stage:hover .signal-panel { border-color: rgb(34 211 238 / 36%); }
  .hud-corner { position: absolute; z-index: 4; width: 18px; height: 18px; border-color: var(--cyan-400); opacity: .48; pointer-events: none; }
  .hud-corner--tl { left: 8px; top: 8px; border-left: 1px solid; border-top: 1px solid; }
  .hud-corner--tr { right: 8px; top: 8px; border-right: 1px solid; border-top: 1px solid; }
  .hud-corner--bl { left: 8px; bottom: 8px; border-left: 1px solid; border-bottom: 1px solid; }
  .hud-corner--br { right: 8px; bottom: 8px; border-right: 1px solid; border-bottom: 1px solid; }
  .signal-panel__top { min-height: 58px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgb(148 163 184 / 12%); color: var(--slate-400); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
  .status-dot { display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; background: var(--cyan-400); box-shadow: 0 0 10px var(--cyan-400); animation: pulse 2.5s infinite; }
  @keyframes pulse { 50% { opacity: .4; box-shadow: 0 0 20px var(--cyan-400); } }
  .signal-map { position: relative; aspect-ratio: 1.2; padding: 18px; overflow: hidden; }
  .signal-map::before { content: ""; position: absolute; inset: 12% 10%; background: radial-gradient(circle, rgb(34 211 238 / 9%), transparent 68%); filter: blur(20px); }
  .signal-map svg { width: 100%; height: 100%; overflow: visible; }
  .map-grid { fill: none; stroke: rgb(148 163 184 / 7%); stroke-width: 1; }
  .coastline { fill: rgb(8 145 178 / 3%); stroke: url(#coast); stroke-width: 2; stroke-dasharray: 3 5; filter: drop-shadow(0 0 7px rgb(34 211 238 / 35%)); }
  .boundary { fill: none; stroke: rgb(103 232 249 / 16%); stroke-width: 1; stroke-dasharray: 2 5; }
  .map-points { fill: var(--cyan-300); }
  .map-points circle { transform-box: fill-box; transform-origin: center; animation: map-pulse 3s ease-in-out infinite alternate; }
  .map-points circle:nth-child(2n) { animation-delay: -1.2s; }
  .map-points circle:nth-child(3n) { animation-delay: -2.1s; }
  @keyframes map-pulse { to { scale: 1.8; opacity: .5; } }
  .scan-line { position: absolute; left: 8%; right: 8%; top: 30%; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan-400), transparent); box-shadow: 0 0 20px var(--cyan-400); animation: scan 5s ease-in-out infinite alternate; }
  @keyframes scan { to { transform: translateY(235px); opacity: .35; } }
  .map-readout { position: absolute; padding: 5px 7px; border: 1px solid rgb(34 211 238 / 20%); border-radius: 5px; color: var(--cyan-300); background: rgb(2 6 23 / 74%); font-size: .5rem; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 0 18px rgb(34 211 238 / 8%); }
  .map-readout--one { left: 24%; top: 32%; }
  .map-readout--two { right: 23%; top: 42%; }
  .map-readout--three { right: 27%; bottom: 24%; }
  .signal-panel__bottom { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgb(148 163 184 / 12%); }
  .signal-panel__bottom > div { padding: 16px 18px; }
  .signal-panel__bottom > div + div { border-left: 1px solid rgb(148 163 184 / 12%); }
  .signal-panel__bottom span, .signal-panel__bottom strong { display: block; }
  .signal-panel__bottom span { margin-bottom: 4px; color: var(--slate-500); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
  .signal-panel__bottom strong { color: var(--slate-200); font-size: .7rem; font-weight: 500; }

  .trust-rail { color: var(--slate-200); background: var(--slate-900); border-top: 1px solid rgb(34 211 238 / 12%); }
  .trust-rail__inner { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
  .trust-rail__inner > p { color: var(--slate-500); font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; }
  .trust-items { display: flex; gap: clamp(28px, 4vw, 70px); }
  .trust-items span { color: var(--slate-300); font-size: .78rem; white-space: nowrap; }
  .trust-items i { margin-right: 7px; color: var(--cyan-500); font-style: normal; font-size: .6rem; }

  .statement { padding: 130px 0 78px; }
  .statement-grid { display: grid; grid-template-columns: minmax(160px, .55fr) 1.45fr; gap: 60px; }
  .statement-grid > div:last-child { max-width: 920px; }
  .statement-grid h2 { font-size: clamp(2.6rem, 4.7vw, 4.7rem); }
  .statement-grid p:last-child { max-width: 730px; margin-top: 30px; color: var(--slate-600); font-size: 1.1rem; }
  .decision-lens { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 90px; border-block: 1px solid var(--slate-300); }
  .decision-lens article { min-height: 250px; padding: 34px 30px 34px 0; display: grid; grid-template-columns: 42px 1fr; align-content: space-between; border-right: 1px solid var(--slate-300); }
  .decision-lens article + article { padding-left: 30px; }
  .decision-lens article:last-child { border-right: 0; }
  .decision-lens article > span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--slate-300); border-radius: 50%; color: var(--cyan-700); font-size: .58rem; }
  .decision-lens small { color: var(--cyan-700); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
  .decision-lens h3 { margin-top: 6px; font-family: var(--display); font-size: 1.5rem; }
  .decision-lens p { grid-column: 2; max-width: 310px; color: var(--slate-600); font-size: .82rem; }

  .process { padding: 110px 0 145px; }
  .process-list { border-top: 1px solid var(--slate-300); }
  .process-item { display: grid; grid-template-columns: 70px 1.1fr 1.5fr 100px; gap: 30px; align-items: center; min-height: 152px; border-bottom: 1px solid var(--slate-300); transition: padding .35s var(--ease), background .35s; }
  .process-item:hover { padding-inline: 20px; background: white; }
  .process-number { align-self: start; margin-top: 37px; color: var(--cyan-700); font-size: .68rem; font-feature-settings: "tnum" 1; }
  .process-title { display: flex; align-items: center; gap: 18px; }
  .process-title h3 { font-weight: 500; }
  .process-icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--slate-300); border-radius: 50%; color: var(--cyan-600); }
  .process-item > p { max-width: 500px; color: var(--slate-600); }
  .process-meta { justify-self: end; padding: 6px 10px; border: 1px solid var(--slate-300); border-radius: 100px; color: var(--slate-500); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
  .process-meta i { display: inline-block; width: 5px; height: 5px; margin-right: 6px; border-radius: 50%; background: var(--cyan-500); box-shadow: 0 0 7px rgb(6 182 212 / 55%); }

  .services { position: relative; padding: 145px 0 160px; overflow: hidden; }
  .services::before { content: ""; position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgb(148 163 184 / 12%) 1px, transparent 1px), linear-gradient(90deg, rgb(148 163 184 / 12%) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to bottom, transparent, black 20%, black 80%, transparent); }
  .service-glow { position: absolute; width: 700px; height: 700px; right: -300px; top: 5%; border-radius: 50%; background: rgb(6 182 212 / 12%); filter: blur(130px); }
  .services .page-shell { position: relative; }
  .service-grid { display: grid; grid-template-columns: 1.15fr .925fr .925fr; gap: 18px; container-type: inline-size; }
  .service-card { --spot-x: 50%; --spot-y: 50%; position: relative; min-height: 510px; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgb(148 163 184 / 15%); border-radius: 20px; background: radial-gradient(380px circle at var(--spot-x) var(--spot-y), rgb(34 211 238 / 8%), transparent 46%), linear-gradient(145deg, rgb(30 41 59 / 70%), rgb(15 23 42 / 48%)); box-shadow: inset 0 1px rgb(255 255 255 / 4%); transition: border-color .35s, transform .35s var(--ease); overflow: hidden; }
  .service-card:hover { transform: translateY(-6px); border-color: rgb(34 211 238 / 40%); }
  .service-card--featured { background: radial-gradient(420px circle at var(--spot-x) var(--spot-y), rgb(34 211 238 / 12%), transparent 48%), linear-gradient(145deg, rgb(8 145 178 / 16%), rgb(15 23 42 / 60%)); }
  .card-index { display: flex; justify-content: space-between; color: var(--cyan-400); font-size: .68rem; }
  .card-index span { color: var(--slate-500); letter-spacing: .08em; text-transform: uppercase; }
  .service-symbol { position: relative; width: 130px; height: 130px; align-self: center; display: grid; place-items: center; }
  .service-symbol span { position: absolute; border: 1px solid rgb(34 211 238 / 30%); border-radius: 50%; }
  .service-symbol span:nth-child(1) { inset: 0; animation: spin 12s linear infinite; border-style: dashed; }
  .service-symbol span:nth-child(2) { inset: 22px; box-shadow: 0 0 38px rgb(34 211 238 / 13%); }
  .service-symbol span:nth-child(3) { inset: 48px; background: var(--cyan-400); box-shadow: 0 0 30px var(--cyan-500); }
  @keyframes spin { to { rotate: 1turn; } }
  .service-glyph { align-self: center; display: grid; place-items: center; width: 100px; height: 100px; border: 1px solid rgb(34 211 238 / 24%); border-radius: 50%; color: var(--cyan-300); font-size: 2rem; box-shadow: 0 0 55px rgb(34 211 238 / 8%); }
  .service-card h3 { margin-bottom: 16px; color: white; font-size: 1.55rem; font-weight: 500; }
  .service-card p { min-height: 105px; color: var(--slate-400); font-size: .94rem; }
  .service-card ul { margin-top: 25px; padding-top: 20px; border-top: 1px solid rgb(148 163 184 / 13%); }
  .service-card li { padding: 5px 0; color: var(--slate-300); font-size: .8rem; }
  .service-card li::before { content: "↳"; margin-right: 8px; color: var(--cyan-500); }

  .evidence { padding: 145px 0; }
  .case-file { display: grid; grid-template-columns: .84fr 1.16fr; min-height: 560px; border: 1px solid var(--slate-300); border-radius: 24px; overflow: hidden; background: white; box-shadow: 0 30px 70px rgb(15 23 42 / 7%); }
  .case-file__visual { position: relative; min-height: 480px; padding: 34px; display: flex; flex-direction: column; justify-content: space-between; color: white; background: radial-gradient(circle at 30% 40%, rgb(6 182 212 / 20%), transparent 30%), linear-gradient(145deg, var(--slate-800), var(--slate-950)); overflow: hidden; }
  .case-file__visual::before { content: ""; position: absolute; inset: 0; opacity: .16; background: repeating-radial-gradient(ellipse at 10% 100%, transparent 0 22px, var(--cyan-400) 23px 24px); }
  .case-stamp { align-self: end; position: relative; z-index: 1; padding: 12px 15px; border: 1px solid rgb(103 232 249 / 45%); border-radius: 8px; color: var(--slate-400); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; transform: rotate(2deg); }
  .case-stamp strong { color: var(--cyan-300); font-size: .68rem; font-weight: 500; }
  .case-file__visual > p { position: relative; z-index: 1; font-family: var(--display); font-size: 2.4rem; line-height: 1.05; letter-spacing: -.035em; }
  .case-file__visual > p span { color: var(--cyan-300); font-size: .95rem; font-family: var(--body); letter-spacing: .05em; text-transform: uppercase; }
  .case-wave { position: absolute; inset: 20% -15%; rotate: -12deg; }
  .case-wave span { position: absolute; inset: calc(var(--i, 0) * 30px); border: 1px solid rgb(34 211 238 / 20%); border-radius: 48% 52% 70% 30%; }
  .case-wave span:nth-child(1) { --i: 0; }.case-wave span:nth-child(2) { --i: 1; }.case-wave span:nth-child(3) { --i: 2; }.case-wave span:nth-child(4) { --i: 3; }
  .case-coordinate { position: absolute; top: 50%; left: 34px; z-index: 1; display: grid; gap: 3px; color: rgb(103 232 249 / 55%); font-size: .5rem; letter-spacing: .12em; }
  .case-file__content { padding: clamp(36px, 5vw, 72px); display: flex; flex-direction: column; justify-content: center; }
  .case-label { display: flex; justify-content: space-between; margin-bottom: 40px; color: var(--cyan-700); font-size: .65rem; letter-spacing: .12em; text-transform: uppercase; }
  .case-label span:last-child { color: var(--slate-400); }
  .case-file__content h3 { max-width: 640px; font-family: var(--display); font-size: clamp(1.75rem, 3vw, 2.65rem); line-height: 1.1; }
  .case-file__content > p { max-width: 640px; margin-top: 22px; color: var(--slate-600); }
  .milestones { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 45px; }
  .milestone { position: relative; padding-right: 8px; }
  .milestone::before { content: ""; position: absolute; top: 14px; left: 28px; right: 0; height: 1px; background: var(--slate-200); }
  .milestone i { position: relative; z-index: 1; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--slate-300); border-radius: 50%; color: var(--slate-400); background: white; font-size: .65rem; font-style: normal; }
  .milestone span { display: block; margin-top: 12px; }
  .milestone strong, .milestone small { display: block; }
  .milestone strong { font-size: .7rem; font-weight: 600; }
  .milestone small { color: var(--slate-500); font-size: .62rem; }
  .milestone.is-complete i { border-color: var(--cyan-600); color: var(--cyan-600); }
  .milestone.is-complete::before { background: var(--cyan-500); }
  .milestone.is-current i { border-color: var(--cyan-400); color: var(--slate-950); background: var(--cyan-400); box-shadow: 0 0 14px rgb(34 211 238 / 40%); }

  .pricing { padding: 130px 0; }
  .pricing-grid { display: grid; grid-template-columns: .45fr 1.15fr .8fr; gap: clamp(40px, 6vw, 90px); align-items: center; }
  .pricing-copy > p { max-width: 650px; margin: 25px 0 35px; color: var(--slate-600); font-size: 1.02rem; }
  .scope-card { padding: 30px; border: 1px solid var(--slate-300); border-radius: 18px; background: rgb(255 255 255 / 55%); }
  .scope-card > p { margin-bottom: 24px; color: var(--slate-500); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
  .scope-card li { display: grid; grid-template-columns: 34px 1fr; padding: 14px 0; border-top: 1px solid var(--slate-200); color: var(--slate-700); font-size: .82rem; }
  .scope-card li span { color: var(--cyan-600); font-size: .65rem; }
  .scope-card small { display: block; margin-top: 20px; color: var(--slate-500); font-size: .65rem; }

  .resources { padding: 140px 0 155px; background-image: radial-gradient(circle at 12% 18%, rgb(6 182 212 / 5%), transparent 28%); }
  .resource-list { border-top: 1px solid var(--slate-300); }
  .resource-list article { display: grid; grid-template-columns: .55fr 1.35fr 52px; gap: 30px; align-items: center; min-height: 142px; border-bottom: 1px solid var(--slate-300); transition: padding .35s var(--ease), background .35s; }
  .resource-list article:hover { padding-inline: 20px; background: rgb(255 255 255 / 72%); }
  .resource-list span { color: var(--cyan-700); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
  .resource-list h3 { max-width: 700px; font-size: 1.28rem; font-weight: 500; }
  .resource-list i { color: var(--slate-400); font-family: var(--display); font-size: 1.4rem; font-style: normal; font-variant-numeric: tabular-nums; text-align: right; }

  .contact { position: relative; min-height: 760px; display: grid; place-items: center; overflow: hidden; color: white; background: var(--slate-950); }
  .contact-grid { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgb(148 163 184 / 10%) 1px, transparent 1px), linear-gradient(90deg, rgb(148 163 184 / 10%) 1px, transparent 1px); background-size: 68px 68px; mask-image: radial-gradient(circle, black, transparent 75%); }
  .contact-glow { position: absolute; width: 520px; height: 520px; left: 50%; top: 50%; translate: -50% -50%; border-radius: 50%; background: rgb(6 182 212 / 15%); filter: blur(130px); }
  .contact-inner { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; }
  .logo-emblem--large { width: 112px; height: 112px; margin-bottom: 32px; border-color: rgb(34 211 238 / 48%); box-shadow: inset 0 0 32px rgb(255 255 255 / 5%), 0 0 48px rgb(34 211 238 / 24%); }
  .contact h2 { margin-top: 24px; font-size: clamp(3.2rem, 6vw, 6.1rem); }
  .contact-inner > p:not(.eyebrow) { max-width: 670px; margin-top: 28px; color: var(--slate-400); font-size: 1.05rem; }
  .contact .button { margin-top: 38px; }
  .contact-inner > small { margin-top: 16px; color: var(--slate-600); }

  .site-footer { padding: 80px 0 30px; color: var(--slate-300); background: var(--slate-950); border-top: 1px solid rgb(148 163 184 / 12%); }
  .footer-top { display: grid; grid-template-columns: 1fr 1fr .8fr; gap: 50px; padding-bottom: 70px; }
  .footer-top > p { color: var(--slate-500); font-size: .85rem; }
  .footer-top nav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px; font-size: .8rem; }
  .footer-top nav a:hover { color: var(--cyan-300); }
  .footer-bottom { min-height: 60px; display: flex; justify-content: space-between; align-items: end; border-top: 1px solid rgb(148 163 184 / 12%); color: var(--slate-600); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }

  .contact-dialog { width: min(520px, calc(100vw - 32px)); padding: 42px; border: 1px solid var(--slate-300); border-radius: 22px; color: var(--slate-900); background: var(--slate-50); box-shadow: 0 40px 120px rgb(2 6 23 / 45%); opacity: 1; transform: scale(1); transition: opacity .25s, transform .25s, overlay .25s allow-discrete, display .25s allow-discrete; }
  .contact-dialog::backdrop { background: rgb(2 6 23 / 76%); backdrop-filter: blur(8px); }
  .contact-dialog:not([open]) { opacity: 0; transform: scale(.96); }
  @starting-style { .contact-dialog[open] { opacity: 0; transform: scale(.96); } }
  .dialog-close { position: absolute; right: 15px; top: 15px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--slate-100); font-size: 1.5rem; cursor: pointer; }
  .logo-emblem--dialog { width: 64px; height: 64px; margin-bottom: 25px; border-color: rgb(8 145 178 / 40%); box-shadow: 0 0 20px rgb(8 145 178 / 15%); }
  .contact-dialog h2 { margin-top: 12px; font-size: 2.3rem; }
  .contact-dialog > p:not(.section-kicker) { margin: 20px 0 28px; color: var(--slate-600); }
}

@layer utilities {
  @supports (color: oklch(70% .15 200)) {
    .button--primary, .nav-cta { background: oklch(var(--cyan-oklch)); }
    .button--primary:hover, .nav-cta:hover { background: oklch(from oklch(var(--cyan-oklch)) calc(l + .07) c h); }
  }

  @supports (corner-shape: squircle) {
    .nav-shell, .signal-panel, .service-card, .case-file, .scope-card { corner-shape: squircle; }
  }

  @supports (animation-timeline: scroll()) {
    .hero-copy { animation: hero-exit linear both; animation-timeline: view(); animation-range: exit 0% exit 90%; }
    @keyframes hero-exit { to { translate: 0 90px; opacity: .18; } }
  }

  @media (min-width: 1041px) {
    .service-grid { grid-template-columns: repeat(12, 1fr); grid-template-rows: repeat(2, minmax(250px, auto)); }
    .service-card--featured { grid-column: 1 / 8; grid-row: 1 / 3; min-height: 620px; padding: 36px; }
    .service-card:not(.service-card--featured) { grid-column: 8 / -1; min-height: 300px; display: grid; grid-template-columns: 92px 1fr; grid-template-rows: auto 1fr auto; column-gap: 24px; align-items: center; }
    .service-card:not(.service-card--featured) .card-index { grid-column: 1 / -1; }
    .service-card:not(.service-card--featured) .service-glyph { grid-column: 1; grid-row: 2; width: 76px; height: 76px; font-size: 1.45rem; }
    .service-card:not(.service-card--featured) > div:nth-child(3) { grid-column: 2; grid-row: 2; }
    .service-card:not(.service-card--featured) h3 { margin-bottom: 10px; }
    .service-card:not(.service-card--featured) p { min-height: 0; }
    .service-card:not(.service-card--featured) ul { grid-column: 2; grid-row: 3; margin-top: 12px; padding-top: 13px; }
  }

  @container (max-width: 900px) {
    .service-card { min-height: 470px; }
  }

  @media (max-width: 1040px) {
    :root { --shell: min(100% - 40px, 920px); }
    .primary-nav { gap: 17px; }
    .primary-nav > a:not(.nav-cta) { display: none; }
    .hero { min-height: 880px; height: auto; }
    .hero-inner { grid-template-columns: 1fr .72fr; gap: 30px; padding-block: 180px 100px; }
    .signal-stage { opacity: .88; }
    .signal-tag { display: none; }
    .trust-rail__inner { align-items: flex-start; flex-direction: column; padding-block: 28px; }
    .trust-items { width: 100%; justify-content: space-between; }
    .service-grid { grid-template-columns: 1fr 1fr; }
    .service-card--featured { grid-column: span 2; min-height: 420px; }
    .pricing-grid { grid-template-columns: .4fr 1fr; }
    .scope-card { grid-column: 2; }
  }

  @media (max-width: 760px) {
    :root { --shell: calc(100vw - 32px); }
    body { font-size: 15px; }
    h1 { font-size: clamp(3rem, 14vw, 4.3rem); }
    h2 { font-size: clamp(2.25rem, 10vw, 3.1rem); }
    .site-header { padding-top: 10px; }
    .nav-shell { min-height: 62px; padding: 8px 9px 8px 14px; border-radius: 15px; }
    .menu-toggle { display: block; }
    .menu-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(3px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-3px) rotate(-45deg); }
    .primary-nav { position: absolute; top: calc(100% + 8px); left: 16px; right: 16px; padding: 18px; display: none; align-items: stretch; flex-direction: column; border: 1px solid rgb(148 163 184 / 18%); border-radius: 16px; background: rgb(2 6 23 / 96%); box-shadow: 0 25px 50px rgb(2 6 23 / 40%); }
    .primary-nav.is-open { display: flex; }
    .primary-nav > a:not(.nav-cta) { display: block; padding: 9px; }
    .nav-cta { justify-content: center; }
    .hero { min-height: 980px; }
    .hero::after { background: linear-gradient(180deg, rgb(2 6 23 / 80%), rgb(2 6 23 / 95%) 55%, var(--slate-950)); }
    .hero-inner { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 55px; padding-block: 135px 70px; }
    .hero-copy h1 { margin-top: 22px; }
    .hero-lede { margin-top: 24px; }
    .hero-actions { align-items: stretch; flex-direction: column; gap: 16px; margin-top: 30px; }
    .hero-actions .text-link { align-self: flex-start; }
    .hero-proof { flex-wrap: wrap; gap: 10px 18px; }
    .signal-stage { width: 100%; opacity: 1; }
    .signal-panel { transform: none; }
    .signal-map { max-height: 310px; }
    .hero-watermark { font-size: 360px; bottom: -110px; }
    .trust-items { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
    .statement { padding: 90px 0 40px; }
    .statement-grid, .section-heading { grid-template-columns: 1fr; gap: 34px; }
    .section-heading--evidence > div:last-child { padding-left: 0; border-left: 0; }
    .section-heading--resources { display: grid; align-items: initial; justify-content: initial; }
    .section-heading--resources > div:first-child { width: auto; }
    .decision-lens { grid-template-columns: 1fr; margin-top: 60px; }
    .decision-lens article, .decision-lens article + article { min-height: 200px; padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--slate-300); }
    .decision-lens article:last-child { border-bottom: 0; }
    .statement-grid h2 br, .section-heading h2 br { display: none; }
    .process, .services, .evidence, .resources { padding: 95px 0; }
    .section-heading { margin-bottom: 45px; }
    .process-item { grid-template-columns: 42px 1fr; gap: 12px 18px; padding: 28px 0; }
    .process-number { grid-row: span 2; margin-top: 6px; }
    .process-item > p { grid-column: 2; }
    .process-meta { display: none; }
    .process-item:hover { padding-inline: 12px; }
    .service-grid { grid-template-columns: 1fr; }
    .service-card, .service-card--featured { grid-column: auto; min-height: 460px; }
    .case-file { grid-template-columns: 1fr; }
    .case-file__visual { min-height: 360px; }
    .case-file__content { padding: 34px 24px; }
    .milestones { grid-template-columns: 1fr 1fr; gap: 28px 0; }
    .pricing { padding: 90px 0; }
    .pricing-grid { grid-template-columns: 1fr; gap: 35px; }
    .scope-card { grid-column: auto; }
    .resource-list article { grid-template-columns: 1fr 38px; gap: 12px; padding-block: 25px; }
    .resource-list span { grid-column: 1 / -1; }
    .contact { min-height: 720px; }
    .contact h2 br { display: none; }
    .footer-top { grid-template-columns: 1fr; gap: 30px; padding-bottom: 50px; }
    .footer-bottom { align-items: flex-start; flex-direction: column; gap: 6px; padding-top: 25px; }
    .contact-dialog { padding: 34px 24px; }
  }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .terrain { display: none; }
    .hero { background: radial-gradient(circle at 80% 25%, rgb(8 145 178 / 22%), transparent 36%), var(--slate-950); }
    .reveal { animation: none; }
    .hero-copy { animation: none; }
    .hero-beam, .hero-orbit { animation: none; }
    .signal-panel { transform: none !important; }
  }

  .shader-fallback .terrain { display: none; }
  .shader-fallback .hero { background: radial-gradient(circle at 80% 25%, rgb(8 145 178 / 22%), transparent 36%), var(--slate-950); }

  @media (prefers-contrast: more) {
    .hero-lede, .section-heading > div:last-child > p { color: var(--slate-200); }
    .section-light .section-heading > div:last-child > p { color: var(--slate-700); }
    .nav-shell, .service-card { border-color: var(--slate-400); }
  }
}

/* ===== Redesign preview: conversion funnel additions ===== */
@layer sections {
  .hero-proof { display: flex; gap: 10px 22px; margin-top: 30px; color: var(--slate-400); font-size: .8rem; }
  .hero-proof li::before { content: "✓"; margin-right: 7px; color: var(--cyan-400); }
  .text-link:hover { color: white; border-color: var(--cyan-400); }
  .text-link--dark { color: var(--slate-700); border-color: var(--slate-300); }
  .section-dark .text-link--dark { color: var(--slate-200); border-color: rgb(148 163 184 / 34%); }
  .text-link--dark:hover { color: var(--cyan-700); }
  .section-kicker--dark { color: var(--cyan-300); }

  .process-note { margin-top: 34px; max-width: 760px; color: var(--slate-600); font-size: .95rem; }

  .offer { position: relative; padding: 130px 0; overflow: hidden; }
  .offer-grid { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 7vw, 100px); align-items: center; }
  .offer-copy h2 { margin-top: 18px; color: white; }
  .offer-copy > p { max-width: 600px; margin-top: 24px; color: var(--slate-400); font-size: 1.05rem; }
  .offer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; margin-top: 34px; }
  .offer-preview { padding: 30px; border: 1px solid rgb(34 211 238 / 22%); border-radius: 22px; background: linear-gradient(160deg, rgb(15 23 42 / 90%), rgb(2 6 23 / 90%)); box-shadow: 0 30px 80px rgb(2 6 23 / 40%); }
  .offer-preview__label { color: var(--slate-400); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
  .offer-preview ol { margin-top: 16px; }
  .offer-preview li { display: grid; grid-template-columns: 38px 1fr; padding: 13px 0; border-top: 1px solid rgb(148 163 184 / 14%); color: var(--slate-200); font-size: .95rem; }
  .offer-preview li span { color: var(--cyan-400); font-size: .78rem; font-variant-numeric: tabular-nums; padding-top: 2px; }
  .offer-preview > a { display: inline-block; margin-top: 18px; color: var(--cyan-300); font-weight: 600; font-size: .9rem; }
  .offer-preview > a:hover { text-decoration: underline; }

  .intake { position: relative; padding: 130px 0; overflow: hidden; color: white; background: var(--slate-950); }
  .intake-grid { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 6vw, 90px); align-items: start; }
  .intake-copy h2 { margin-top: 22px; }
  .intake-copy h2 em { color: var(--cyan-300); font-style: normal; }
  .intake-copy > p:not(.eyebrow):not(.intake-direct) { max-width: 520px; margin-top: 24px; color: var(--slate-300); font-size: 1.05rem; }
  .intake-points { display: grid; gap: 10px; margin-top: 30px; color: var(--slate-300); font-size: .92rem; }
  .intake-points li::before { content: "✓"; margin-right: 10px; color: var(--cyan-400); }
  .intake-points a, .intake-direct a, .consent a { color: var(--cyan-300); text-decoration: underline; text-underline-offset: 3px; }
  .intake-direct { margin-top: 30px; color: var(--slate-400); font-size: .9rem; }

  .intake-card { padding: clamp(24px, 3.4vw, 40px); border: 1px solid rgb(148 163 184 / 22%); border-radius: 22px; color: var(--slate-900); background: var(--slate-50); box-shadow: 0 40px 100px rgb(2 6 23 / 50%); }
  .intake-form { display: grid; gap: 16px; }
  .form-note { color: var(--slate-600); font-size: .82rem; }
  .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .field { display: grid; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
  .field label, .field legend { color: var(--slate-800); font-size: .86rem; font-weight: 600; }
  .field legend { padding: 0; margin-bottom: 8px; }
  .field input[type="text"], .field input[type="email"], .field textarea {
    width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--slate-400); border-radius: 10px;
    color: var(--slate-900); background: white; font: inherit; font-size: 1rem;
  }
  .field textarea { min-height: 76px; resize: vertical; }
  .field input::placeholder, .field textarea::placeholder { color: var(--slate-500); }
  .field input:focus-visible, .field textarea:focus-visible { outline: 3px solid var(--cyan-500); outline-offset: 1px; border-color: var(--cyan-700); }
  .field [aria-invalid="true"] { border-color: #b91c1c; }
  .field-error { min-height: 0; color: #b91c1c; font-size: .8rem; font-weight: 500; }
  .field-error:empty { display: none; }
  .field-hint { color: var(--slate-600); font-size: .78rem; }
  .choice-row { display: flex; flex-wrap: wrap; gap: 8px; }
  .choice-row label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid var(--slate-400); border-radius: 999px; background: white; font-weight: 500; cursor: pointer; }
  .choice-row label:has(input:checked) { border-color: var(--cyan-700); background: rgb(34 211 238 / 14%); }
  .choice-row label:has(input:focus-visible) { outline: 3px solid var(--cyan-500); outline-offset: 2px; }
  .choice-row input, .consent input { width: 18px; height: 18px; accent-color: var(--cyan-700); }
  .consent { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; font-weight: 400 !important; font-size: .86rem !important; line-height: 1.5; color: var(--slate-700) !important; cursor: pointer; }
  .consent input { margin-top: 2px; }
  .consent input[aria-invalid="true"] { outline: 2px solid #b91c1c; outline-offset: 2px; }
  .intake-submit { width: 100%; margin-top: 6px; }
  .intake-submit:disabled { opacity: .7; cursor: progress; }
  .form-fineprint { color: var(--slate-600); font-size: .78rem; text-align: center; }
  .intake-thanks { display: grid; gap: 16px; }
  .intake-thanks:focus { outline: none; }
  .intake-thanks .section-kicker--dark { color: var(--cyan-700); }
  .intake-thanks h3 { font-family: var(--display); font-size: clamp(1.6rem, 2.6vw, 2.1rem); line-height: 1.12; }
  .intake-thanks p { color: var(--slate-600); }
  .thanks-fallback a { color: var(--cyan-700); text-decoration: underline; }
  .intake-thanks .button { justify-self: start; margin-top: 8px; }

  .site-footer a[href^="mailto"] { color: var(--slate-300); text-decoration: underline; text-underline-offset: 3px; }
  .footer-bottom { color: var(--slate-400); }

  /* sub pages (checklist, privacy) */
  .sub-hero { padding: 170px 0 80px; color: var(--slate-100); background: radial-gradient(circle at 85% 10%, rgb(8 145 178 / 22%), transparent 40%), var(--slate-950); }
  .sub-hero h1 { max-width: 900px; margin-top: 22px; font-size: clamp(2.6rem, 5.4vw, 4.8rem); }
  .sub-lede { max-width: 720px; margin-top: 24px; color: var(--slate-300); font-size: 1.1rem; }
  .sub-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; margin-top: 34px; }
  .sub-hero .text-link--dark { color: var(--slate-200); border-color: rgb(148 163 184 / 34%); }
  .checklist-body { padding: 70px 0 110px; }
  .legal-note { max-width: 900px; padding: 18px 20px; border-left: 3px solid var(--cyan-600); border-radius: 0 12px 12px 0; background: white; color: var(--slate-700); font-size: .92rem; }
  .check-group { margin-top: 64px; }
  .check-group h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); padding-bottom: 16px; border-bottom: 1px solid var(--slate-300); }
  .check-item { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 18px; padding: 28px 0; border-bottom: 1px solid var(--slate-200); }
  .check-no { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--cyan-600); border-radius: 50%; color: var(--cyan-700); font-weight: 600; font-size: .85rem; }
  .check-item h3 { font-family: var(--display); font-size: clamp(1.25rem, 2vw, 1.55rem); }
  .check-item p { max-width: 780px; margin-top: 8px; color: var(--slate-600); }
  .check-item dl { display: grid; grid-template-columns: 1.4fr 1fr; gap: 18px; margin: 14px 0 0; }
  .check-item dt { color: var(--slate-500); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
  .check-item dd { margin: 4px 0 0; color: var(--slate-800); font-size: .92rem; }
  .sub-cta { margin-top: 80px; padding: clamp(28px, 5vw, 56px); border-radius: 22px; color: white; background: var(--slate-950); }
  .sub-cta h2 { color: white; }
  .sub-cta p { max-width: 640px; margin: 18px 0 28px; color: var(--slate-300); }
  .prose { display: grid; gap: 16px; max-width: 820px; color: var(--slate-700); font-size: 1.02rem; }
  .prose h2 { margin-top: 22px; font-size: clamp(1.6rem, 3vw, 2.2rem); }
  .prose ul { display: grid; gap: 8px; padding-left: 20px; list-style: disc; }
  .prose a { color: var(--cyan-700); text-decoration: underline; }
  .prose .muted { color: var(--slate-500); }
  .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
}

@media (max-width: 1040px) {
  .offer-grid, .intake-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .offer, .intake { padding: 90px 0; }
  .field-row { grid-template-columns: 1fr; }
  .hero-proof { flex-wrap: wrap; }
  .sub-hero { padding: 130px 0 60px; }
  .check-item { grid-template-columns: 1fr; gap: 10px; }
  .check-item dl { grid-template-columns: 1fr; }
  .offer-actions .button, .sub-actions .button { width: 100%; }
}
@media print {
  .site-header, .site-footer, .sub-actions, .sub-cta, .skip-link, .reading-progress { display: none !important; }
  .sub-hero { padding: 0 0 20px; color: black; background: none; }
  .sub-hero .sub-lede { color: black; }
  .check-item { break-inside: avoid; }
}
[hidden] { display: none !important; }
@layer sections {
  .consent a { color: var(--cyan-700); }
  .hero-copy h1 { font-size: clamp(3rem, 5.2vw, 5rem); }
}
@media (min-width: 761px) {
  .hero-actions .button { white-space: nowrap; }
}
@media (max-width: 760px) {
  .trust-items span { white-space: normal; }
}
/* ===== Funnel additions: booking buttons, thank-you next steps, checklist capture ===== */
@layer sections {
  .button--ghost { color: var(--slate-100); background: rgb(255 255 255 / 4%); border: 1px solid rgb(148 163 184 / 38%); }
  .button--ghost:hover { border-color: var(--cyan-400); background: rgb(34 211 238 / 8%); }
  .button--ghost-light { color: var(--slate-800); background: transparent; border: 1px solid var(--slate-300); }
  .button--ghost-light:hover { border-color: var(--cyan-600); }
  .hp-field { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
  .thanks-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
  .intake-thanks .thanks-actions .button { margin-top: 0; }
  .thanks-next { display: grid; gap: 10px; margin-top: 10px; padding-top: 16px; border-top: 1px solid var(--slate-200); color: var(--slate-600); font-size: .9rem; }
  .thanks-next b { display: inline-block; min-width: 108px; color: var(--slate-900); }

  .capture { max-width: 900px; margin-top: 40px; padding: clamp(22px, 4vw, 34px); border: 1px solid var(--slate-200); border-radius: 18px; background: white; }
  .capture h2 { font-size: clamp(1.25rem, 2.2vw, 1.6rem); }
  .capture > p { margin-top: 8px; color: var(--slate-600); font-size: .95rem; }
  .capture-form { display: grid; gap: 14px; margin-top: 20px; }
  .capture-form .field-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .capture-form .button { justify-self: start; }
  .capture-status { color: var(--slate-700); font-size: .92rem; }
  .capture-status:empty { display: none; }
  .capture-status a { color: var(--cyan-700); text-decoration: underline; }
}
@media (max-width: 760px) {
  .capture-form .field-row { grid-template-columns: 1fr; }
  .capture-form .button, .thanks-actions .button { width: 100%; }
}
@media print { .capture { display: none !important; } }
@layer sections { .inline-book { color: var(--cyan-300); text-decoration: underline; text-underline-offset: 3px; } }
