:root {
  --g-50:  #F5FDF8;
  --g-100: #E6F9EF;
  --g-200: #B8F0CF;
  --g-300: #82E2A7;
  --g-400: #62DA8F;
  --g-500: #4CD57F;
  --g-600: #37A063;
  --g-700: #216B46;
  --g-800: #0F3D2E;
  --g-900: #06281E;
  --g-950: #041A14;
  --ink:        var(--g-800);
  --ink-soft:   var(--g-800);
  --ink-faint:  var(--g-700);
  --line:       #E4EFE9;
  --line-strong:#D2E5DA;
  --surface:    #FFFFFF;
  --surface-2:  var(--g-50);
  --surface-3:  var(--g-100);
  --d-bg:       var(--g-900);
  --d-bg-deep:  var(--g-950);
  --d-fg:       #FFFFFF;
  --d-fg-soft:  rgba(255,255,255,.72);
  --d-fg-faint: rgba(255,255,255,.52);
  --d-line:     rgba(255,255,255,.12);
  --d-card:     rgba(255,255,255,.045);
  --accent:     var(--g-500);
  --accent-ink: var(--g-800);
  --warn-ink:   #9C5F2E;
  --warn-fill:  #B4703C;
  --font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --fs-display: clamp(2.625rem, 5.8vw, 4.125rem);
  --fs-h2:      clamp(2.25rem, 4.2vw, 3.375rem);
  --fs-h3:      1.5rem;
  --fs-body:    1.0625rem;
  --fs-body-2:  .9375rem;
  --fs-caption:  .8125rem;
  --gutter: clamp(1.25rem, 3vw, 3.5rem);
  --nav-h:  80px;
  --sect:   clamp(5rem, 9vw, 8rem);
  --sect-top: clamp(5rem, 1.4623rem + 9.434vw, 7.5rem);
  --sect-bot: calc(var(--sect-top) * 11 / 12);
  --strip-foot: 4px;
  --max:    1920px;
  --logo-wordmark-ratio: 3.0586;
  --logo-symbol-ratio: 0.87329;
  --app-tile-radius: 22.37%;
  --app-tile-mark: 54%;
  --r-sm: 8px;
  --r:    14px;
  --r-lg: 22px;
  --r-xl: 30px;
  --page-r: clamp(20px, 2.2vw, var(--r-xl));
  --shadow-sm: 0 1px 2px rgba(6,40,30,.05), 0 2px 8px rgba(6,40,30,.04);
  --shadow:    0 2px 4px rgba(6,40,30,.04), 0 12px 32px rgba(6,40,30,.07);
  --shadow-lg: 0 4px 12px rgba(6,40,30,.06), 0 32px 64px -12px rgba(6,40,30,.16);
  --ease: cubic-bezier(.22,.61,.36,1);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  font-family: var(--font);
  font-size: var(--fs-body);
  line-height: 1.625;
  color: var(--ink-soft);
  background: var(--d-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
h1, h2, h3, h4 { color: var(--ink); margin: 0; font-weight: 600; text-wrap: balance; }
h1 { font-size: var(--fs-display); line-height: 1.05; letter-spacing: -.034em; font-weight: 700; }
h2 { font-size: var(--fs-h2);      line-height: 1.12; letter-spacing: -.024em; }
h3 { font-size: var(--fs-h3);      line-height: 1.3;  letter-spacing: -.005em; }
h4 { font-size: var(--fs-body);    line-height: 1.4; font-weight: 600; }
p  { margin: 0; }
a  { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
:focus-visible { outline: 2px solid var(--g-500); outline-offset: 3px; border-radius: 4px; }
[hidden] { display: none !important; }
.num, table, .stat-val, .price-val { font-variant-numeric: tabular-nums; }
::selection { background: rgba(76,213,127,.30); }
html { scrollbar-color: var(--g-200) transparent; }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-thumb { background: var(--g-200); border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: var(--g-300); }
::-webkit-scrollbar-track { background: transparent; }
body::after {
  content: ''; position: fixed; inset: 0; z-index: 500; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.9'/%3E%3C/svg%3E");
  background-size: 180px 180px;
  opacity: .04;
}
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.skip {
  position: absolute; left: 12px; top: -60px; z-index: 200;
  background: var(--g-900); color: #fff; padding: 10px 18px;
  border-radius: var(--r-sm); font-size: var(--fs-body-2); font-weight: 500;
  transition: top .18s var(--ease);
}
.skip:focus { top: 12px; }
.wrap {
  width: 100%; max-width: var(--max); margin-inline: auto;
  padding-left:  max(var(--gutter), env(safe-area-inset-left));
  padding-right: max(var(--gutter), env(safe-area-inset-right));
}
.wrap-narrow { max-width: 780px; }
.section { padding-block: var(--sect-top) var(--sect-bot); position: relative; isolation: isolate; }
.section::after {
  content: ''; position: absolute; inset: 0 0 auto 0; height: clamp(70px, 10vw, 130px);
  pointer-events: none; z-index: -1;
}
.section:not(.section--alt):not(.section--dark) + .section--alt::after {
  background: linear-gradient(180deg, var(--surface), transparent);
}
.section--alt + .section:not(.section--alt):not(.section--dark)::after {
  background: linear-gradient(180deg, var(--surface), transparent);
}
.section--tight { padding-block: clamp(3rem, 6vw, 4.5rem); }
.section--alt { background: var(--surface); }
.section--marquee {
  z-index: 1; border-radius: var(--page-r);
  margin-top: calc(-1 * var(--page-r));
  --strip-gap: calc((clamp(2rem, 4vw, 2.75rem) + var(--strip-foot) + var(--sect-bot)) / 2);
  padding-top: calc(var(--overlap, 320px) + var(--strip-gap) - var(--strip-foot));
  padding-bottom: var(--strip-gap);
  background: radial-gradient(var(--glow-rx) var(--glow-y) at 50% calc(100% + var(--glow-y) - var(--sect-bot)), var(--glow)), var(--surface);
}
.section.section--marquee + .section.section--alt {
  margin-top: calc(-1 * var(--page-r));
  padding-top: calc(var(--page-r) - var(--strip-foot));
}
.section.section--marquee + .section.section--alt::after { background: none; }
.section--dark {
  background:
    radial-gradient(110% 130% at 82% 6%, #14563D 0%, transparent 56%),
    linear-gradient(150deg, #0B3327, #06281E 70%);
  color: var(--d-fg-soft);
}
.section--dark h1, .section--dark h2, .section--dark h3, .section--dark h4 { color: var(--d-fg); }
:root { --card-gap: 1.125rem; }
@media (min-width: 621px) { :root { --card-gap: clamp(1rem, 1.4vw, 1.25rem); } }
.grid { display: grid; gap: var(--card-gap); }
.cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 900px) { .cols-3, .cols-4 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 620px) { .cols-2, .cols-3, .cols-4 { grid-template-columns: minmax(0,1fr); } }
.eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 1rem; font-weight: 500; letter-spacing: .16em;
  text-transform: uppercase; color: var(--g-700); margin-bottom: 20px;
}
.eyebrow::before { content:''; width: 20px; height: 2px; background: var(--g-500); border-radius: 2px; }
.section--dark .eyebrow { color: var(--g-300); }
.sect-head { max-width: 960px; margin-bottom: clamp(1.25rem, 2.1vw, 1.875rem); }
.sect-head.center { margin-inline: auto; text-align: center; }
.sect-head.center .eyebrow::before,
.sect-head.center .eyebrow::after {
  content: ''; display: block; width: 22px; height: 1px; border-radius: 0;
  background: linear-gradient(90deg, transparent, var(--g-500));
}
.sect-head.center .eyebrow::after {
  background: linear-gradient(270deg, transparent, var(--g-500));
}
.sect-head { --eb-raise: clamp(4px, .42vw, 6px); }
.sect-head .eyebrow { margin-bottom: 0; position: relative; top: calc(-1 * var(--eb-raise)); }
.sect-head { --eb-ink: calc(12.5px - var(--eb-raise)); }
.sect-head:first-child { margin-top: calc(-1 * var(--eb-ink)); }
.sect-head p { margin-top: 4px; font-size: clamp(1.25rem, 1.75vw, 1.5rem); line-height: 1.5; letter-spacing: -.004em; font-weight: 500; text-wrap: balance; }
.sect-head .statement { margin-bottom: calc(4px + .1em); }
.section--dark .sect-head p {
  color: rgba(255,255,255,.90); text-shadow: 0 1px 0 rgba(2,17,13,.35), 0 10px 24px rgba(2,17,13,.45);
}
.lede { font-size: clamp(1.25rem, 1.75vw, 1.5rem); line-height: 1.65; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  padding: 0 24px; height: 52px; border-radius: 999px;
  font-size: 1rem; font-weight: 600; letter-spacing: -.005em;
  border: 1px solid transparent; cursor: pointer; white-space: nowrap;
  transition: transform .18s var(--ease), background-color .18s var(--ease),
              box-shadow .18s var(--ease), border-color .18s var(--ease), color .18s var(--ease);
}
.btn svg { width: 18px; height: 18px; flex: none; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn-primary {
  background: linear-gradient(180deg, var(--g-400), var(--g-500));
  color: var(--accent-ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 1px 2px rgba(6,40,30,.18);
}
.btn-primary:hover {
  background: linear-gradient(180deg, var(--g-300), var(--g-400));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 8px 24px -6px rgba(76,213,127,.55);
}
.btn svg { transition: transform .18s var(--ease); }
.btn:hover svg { transform: translateX(2px); }
.btn-dark { background: var(--g-900); color: #fff; }
.btn-dark:hover { background: var(--g-800); box-shadow: 0 8px 24px -8px rgba(6,40,30,.5); }
.btn-ghost { background: transparent; color: var(--ink); border-color: var(--line-strong); }
.btn-ghost:hover { border-color: var(--g-400); background: var(--g-50); }
.section--dark .btn-ghost, .hero .btn-ghost, .cta .btn-ghost {
  color: #fff; border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.04);
}
.section--dark .btn-ghost:hover, .hero .btn-ghost:hover, .cta .btn-ghost:hover {
  background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.4);
}
.btn-sm { height: 40px; padding: 0 18px; font-size: var(--fs-body-2); }
@media (pointer: coarse) { .btn-sm { height: 44px; } }
.btn-lg { height: 54px; padding: 0 28px; font-size: 1rem; }
.btn-block { width: 100%; }
.link-arrow {
  display: inline-flex; align-items: center; gap: 6px; padding-block: 4px;
  font-size: 1rem; font-weight: 600; color: var(--g-700);
}
.link-arrow svg { width: 16px; height: 16px; transition: transform .2s var(--ease); }
.link-arrow:hover svg { transform: translateX(3px); }
.section--dark .link-arrow { color: var(--g-300); }
.logo-wordmark { display: block; width: 108px; aspect-ratio: var(--logo-wordmark-ratio); color: currentColor; }
.logo-z { display: block; width: 22px; aspect-ratio: var(--logo-symbol-ratio); color: currentColor; }
.logo-wordmark svg, .logo-z svg { width: 100%; height: 100%; }
.app-tile {
  --tile: 52px;
  width: var(--tile); height: var(--tile); border-radius: var(--app-tile-radius);
  background: var(--g-900); display: grid; place-items: center; flex: none;
}
.app-tile .logo-z {
  height: calc(var(--tile) * 0.54);
  width: calc(var(--tile) * 0.54 * 0.87329);
  aspect-ratio: auto; color: #fff;
}
.nav {
  position: fixed; inset: 0 0 auto 0; z-index: 100; height: var(--nav-h);
  display: flex; align-items: center;
  background: var(--d-bg);
  border-bottom: 1px solid rgba(255,255,255,.07);
  transition: background-color .35s var(--ease), border-color .35s var(--ease);
}
.nav.is-fill { background: transparent; border-bottom-color: transparent; }
.nav.is-fill::before {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  top: 0; left: 0; right: 0; height: var(--nav-h);
  background: var(--d-bg); border-bottom: 1px solid rgba(255,255,255,.07);
  opacity: var(--nav-a, 1);
}
@supports (animation-timeline: scroll()) {
  .nav.is-fill::before {
    opacity: 0;
    animation: nav-fill linear both;
    animation-timeline: scroll(root);
    animation-range: 0 var(--nav-span, 1px);
  }
}
@keyframes nav-fill { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 940px) {
  .nav.is-fill.menu-open { background: var(--d-bg); border-bottom-color: rgba(255,255,255,.07); }
  .nav.is-fill { background-color: rgba(6, 40, 30, .004); }
}
.nav .wrap { width: 100%; display: flex; align-items: center; gap: 24px; }
.nav-brand { display: flex; align-items: center; flex-shrink: 0; color: #fff; }
.nav-brand .logo-wordmark { width: 106px; }
.nav-links { display: flex; gap: 2px; margin-left: auto; }
.nav-links a {
  font-size: 1rem; font-weight: 600; color: var(--d-fg-soft);
  padding: 10px 16px; border-radius: 10px;
  transition: color .25s var(--ease), background-color .25s var(--ease);
}
.nav-links a:hover, .nav-links a.is-active { color: #fff; }
.nav-cta {
  display: inline-flex; align-items: center; height: 44px; padding: 0 20px; margin-left: 6px;
  font-size: .9375rem; font-weight: 600; color: var(--accent-ink);
  background: var(--g-500); border: 0; border-radius: 999px; white-space: nowrap;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
  transition: background .25s var(--ease), transform .25s var(--ease);
}
.nav-cta:hover { background: var(--g-400); transform: translateY(-1px); }
.burger {
  display: none; margin-left: auto; background: none; border: 0; width: 44px; height: 44px;
  position: relative; color: #fff; cursor: pointer;
}
.burger span { position: absolute; left: 11px; right: 11px; height: 2px; background: currentColor; border-radius: 2px; transition: transform .3s var(--ease), opacity .3s var(--ease); }
.burger span:nth-child(1) { top: 15px; }
.burger span:nth-child(2) { top: 21px; }
.burger span:nth-child(3) { top: 27px; }
.burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.drawer {
  position: fixed; top: var(--nav-h); left: 0; right: 0; z-index: 99;
  background: var(--d-bg);
  border-bottom: 1px solid var(--d-line);
  display: none; flex-direction: column; padding: 10px var(--gutter) 26px;
}
.drawer.open { display: flex; }
.drawer a { padding: 16px 0; font-size: 1.125rem; font-weight: 600; color: var(--d-fg-soft); border-bottom: 1px solid rgba(255,255,255,.07); }
.drawer a:last-of-type { border-bottom: 0; }
.drawer .nav-cta { margin: 14px 0 0; justify-content: center; height: 48px; color: var(--accent-ink); }
@media (max-width: 940px) {
  .nav .wrap > .nav-links, .nav .wrap > .nav-cta { display: none; }
  .burger { display: block; }
}
@media (min-width: 941px) {
  .nav {
    --pill-p: clamp(18px, 1.8vw, 28px); --pill-m: calc(var(--gutter) - var(--pill-p));
    border-bottom-width: 0; box-shadow: inset 0 -1px rgba(255,255,255,.07);
    transition: background-color .35s var(--ease), box-shadow .35s var(--ease);
  }
  .nav.is-fill { box-shadow: inset 0 -1px rgba(255,255,255,0); }
  .nav.is-fill::before {
    border: 1px solid rgba(255,255,255,0); border-bottom-color: rgba(255,255,255,.07); border-radius: 0;
    box-shadow: 0 2px 6px rgba(4,26,20,0), 0 16px 36px -14px rgba(4,26,20,0);
    transition: top .45s var(--ease), height .45s var(--ease), left .45s var(--ease), right .45s var(--ease),
      border-radius .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease);
  }
  .nav.is-fill.is-pill::before {
    top: 10px; height: 60px; left: round(var(--pill-m), 1px); right: round(var(--pill-m), 1px); border-radius: 30px;
    border-color: rgba(255,255,255,0);
    box-shadow: 0 2px 6px rgba(4,26,20,.10), 0 16px 36px -14px rgba(4,26,20,.42);
  }
  .nav .nav-links { transition: translate .45s var(--ease); }
  .nav .nav-cta { transition: background .25s var(--ease), transform .25s var(--ease), translate .45s var(--ease); }
  .nav.is-pill .nav-links, .nav.is-pill .nav-cta { translate: calc(var(--gutter) - round(var(--pill-m), 1px) - 8px) 0; }
}
@media (min-width: 1921px) {
  .nav.is-fill.is-pill::before { left: round(50% - var(--max) / 2 + var(--pill-m), 1px); right: round(50% - var(--max) / 2 + var(--pill-m), 1px); }
}
@media (min-width: 941px) and (prefers-reduced-motion: reduce) {
  .nav.is-fill::before, .nav .nav-links { transition: none; }
  .nav .nav-cta { transition: background .25s var(--ease), transform .25s var(--ease); }
}
.nav.is-settling, .nav.is-settling::before, .nav.is-settling .nav-links, .nav.is-settling .nav-cta { transition: none; }
@media (min-width: 941px) {
  @supports (animation-timeline: view()) {
    .pillclip {
      view-timeline: --pillclip block;
      clip-path: inset(-300px -100vw -100vh -100vw);
      animation: pillclip-out linear both;
      animation-timeline: --pillclip;
      animation-range: cover calc(100vh - 370px) cover calc(100% + 230px);
      pointer-events: none;
    }
    .pillclip > .pillclip-in {
      animation: pillclip-back linear both;
      animation-timeline: --pillclip;
      animation-range: cover calc(100vh - 370px) cover calc(100% + 230px);
      pointer-events: auto;
    }
    .marquee.pillclip { clip-path: none; animation-name: pillclip-out-strip; animation-range: cover calc(100vh - 70px) cover calc(100% + 230px); }
    .marquee.pillclip > .pillclip-in { animation-name: pillclip-back-strip; animation-range: cover calc(100vh - 70px) cover calc(100% + 230px); }
    .seat.pillclip { clip-path: none; }
    .nav.is-pill ~ main .seat.pillclip { clip-path: inset(-300px -100vw -100vh -100vw); }
  }
}
@media (min-width: 941px) {
  @supports (animation-timeline: view()) {
    main { overflow-y: clip; }
  }
}
@keyframes pillclip-out { from { translate: 0 0; } to { translate: 0 calc(100% + 600px); } }
@keyframes pillclip-back { from { translate: 0 0; } to { translate: 0 calc(-100% - 600px); } }
@keyframes pillclip-out-strip { from { translate: 0 0; } to { translate: 0 calc(100% + 300px); } }
@keyframes pillclip-back-strip { from { translate: 0 0; } to { translate: 0 calc(-100% - 300px); } }
.hero {
  --fg: #EAF6EF; --fg-2: #A9C6B7; --fg-3: #85A695;
  --l-line: #E4EFE9; --l-line-2: #D2E5DA;
  --col: 1280px;
  --frame-w: 1320px;
  --ease-out: cubic-bezier(0, 0, 0, 1);
  --ease-reveal: cubic-bezier(.16, 1, .3, 1);
  --focus: 0 0 0 2px var(--g-900), 0 0 0 4px var(--g-300);
}
html { --overlap: clamp(300px, 24vw, 350px); }
@media (max-width: 1100px) { html { --overlap: clamp(420px, 55vw, 480px); } }
@media (max-width: 720px) { html { --overlap: clamp(370px, 98vw, 400px); } }
.hero .num { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
.hero :focus-visible { outline: none; box-shadow: var(--focus); border-radius: 8px; }
.hero svg { display: block; }
.hero h1, .hero p, .hero ul, .hero figure { margin: 0; }
.hero ul { padding: 0; list-style: none; }
.hero {
  position: relative;
  display: flow-root;
  padding-top: var(--nav-h); color: rgba(255,255,255,.8);
  background: linear-gradient(180deg, var(--g-950) 0%, var(--g-900) 46%, #082E23 100%);
}
.hero-field { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.hero-field .bloom { position: absolute; border-radius: 50%; aspect-ratio: 1; }
.hero-field .bloom-a { width: max(760px, 58vw); left: -14%; top: -24%; background: radial-gradient(circle, rgba(33,107,70,.26), transparent 64%); }
.hero-field .bloom-b { width: max(640px, 50vw); right: -12%; top: -14%; background: radial-gradient(circle, rgba(15,61,46,.5), transparent 66%); }
.hero-field .vignette { position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% 32%, transparent 34%, rgba(4,26,20,.38) 70%, rgba(4,26,20,.86) 100%); }
.hero-field .horizon {
  position: absolute; left: 50%; bottom: calc(var(--frame-h, 560px) - var(--overlap) + var(--page-r));
  width: max(1600px, 140vw); height: max(720px, 78vh); translate: -50% 50%;
  background:
    radial-gradient(17% 22% at 50% 50%, rgba(184,240,207,.22), transparent 64%),
    radial-gradient(30% 36% at 50% 50%, rgba(76,213,127,.34), transparent 70%),
    radial-gradient(50% 50% at 50% 50%, rgba(55,160,99,.26), transparent 74%);
  transform-origin: 50% 50%;
}
.hero-field .rays {
  --r: max(760px, 74svh);
  position: absolute; left: 50%; bottom: calc(var(--frame-h, 560px) - var(--overlap) + var(--page-r) - 90px);
  width: calc(var(--r) * 2.2); height: var(--r); translate: -50% 0;
  transform-origin: 50% 100%;
}
.hero-field .rays::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: conic-gradient(from 270deg at 50% 100%,
    transparent 0deg, rgba(130,226,167,.0) 18deg,
    rgba(130,226,167,.07) 24deg, transparent 31deg,
    rgba(184,240,207,.05) 44deg, transparent 50deg,
    rgba(130,226,167,.09) 63deg, rgba(130,226,167,.03) 70deg, transparent 75deg,
    rgba(184,240,207,.06) 86deg, transparent 92deg,
    rgba(130,226,167,.08) 104deg, transparent 111deg,
    rgba(184,240,207,.05) 127deg, transparent 133deg,
    rgba(130,226,167,.07) 149deg, transparent 157deg,
    transparent 180deg);
  -webkit-mask-image: radial-gradient(closest-side at 50% 100%, #000 18%, rgba(0,0,0,.55) 52%, transparent 100%);
          mask-image: radial-gradient(closest-side at 50% 100%, #000 18%, rgba(0,0,0,.55) 52%, transparent 100%);
  filter: blur(7px);
}
.hero-field .streams {
  position: absolute; left: 0; right: 0; bottom: calc(var(--frame-h, 560px) - var(--overlap) + var(--page-r) - 2px);
  width: 100%; height: clamp(260px, 36svh, 400px); overflow: visible;
}
.hero-field .streams .stream { position: absolute; overflow: visible; will-change: transform; }
.hero-field .streams path { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.hero-field .streams:not(.is-laid) { visibility: hidden; }
.hero-field .streams .line { stroke-width: 1; stroke-dasharray: 1; stroke-dashoffset: 0; }
.hero-field .streams .glow { stroke-width: 9;   opacity: .16; stroke-dasharray: .16 1.4;  stroke-dashoffset: .16; }
.hero-field .streams .tail { stroke-width: 1.5; opacity: .45; stroke-dasharray: .13 1.4;  stroke-dashoffset: .13; }
.hero-field .streams .head { stroke-width: 2;   opacity: 1;   stroke-dasharray: .035 1.4; stroke-dashoffset: .035; }
.hero-field .spot {
  position: absolute; left: 0; top: 0; width: 760px; height: 760px; margin: -380px 0 0 -380px;
  border-radius: 50%; opacity: 0;
  background: radial-gradient(closest-side, rgba(130,226,167,.13), rgba(130,226,167,.05) 50%, transparent 100%);
  transition: opacity 1.2s var(--ease); will-change: transform;
}
.hero.has-spot .spot { opacity: 1; }
@media (hover: none), (pointer: coarse) { .hero-field .spot { display: none; } }
.hero .stack { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; text-align: center; padding-block: clamp(28px, 6.2vh, 72px) clamp(32px, 5.8vh, 64px);
  max-width: calc(var(--col) + 2 * var(--gutter)); }
.hero .hero-overline {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: clamp(22px, 3vh, 34px);
  padding: 11px 21px 11px 19px; border-radius: 999px; line-height: 1.625;
  font-size: .875rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 500;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03) 55%, rgba(255,255,255,.015)),
    rgba(0,42,29,.30);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(255,255,255,.04), 0 10px 30px -14px rgba(4,26,20,.8);
  color: var(--g-200); white-space: nowrap;
}
.hero .hero-overline .dot {
  position: relative; width: 6px; height: 6px; border-radius: 50%; background: var(--g-500);
  box-shadow: none;
}
.hero .hero-overline .dot::after {
  content: ''; position: absolute; left: 50%; top: 50%; width: 24px; height: 24px; margin: -12px 0 0 -12px;
  border-radius: 50%; background: rgba(76,213,127,.45);
}
@media (max-width: 400px) { .hero .hero-overline { font-size: .8125rem; letter-spacing: .1em; padding: 9px 15px 9px 14px; gap: 8px; } }
@media (max-width: 359px) { .hero .hero-overline { font-size: .75rem; letter-spacing: .08em; padding: 9px 13px 9px 12px; } }
.hero h1 {
  font-size: clamp(3.25rem, min(9vw, 15.4svh), 8.75rem);
  line-height: 1.0; font-weight: 600; letter-spacing: -.012em; color: #fff; text-wrap: balance;
  margin-bottom: clamp(18px, 3vh, 28px);
  text-rendering: optimizeLegibility;
}
.hero h1 .ln { display: block; perspective: 900px; }
.hero h1 .ln + .ln { margin-top: .02em; }
.hero h1 b { font-weight: 600; color: var(--g-300); }
.hero h1 .hw { display: inline-block; padding: .08em .05em .18em; margin: -.08em -.05em -.18em; transform-origin: 50% 100%; }
@property --sheen { syntax: '<number>'; inherits: true; initial-value: -0.6; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .hero h1 .ln--grey .hw {
    background-image:
      linear-gradient(104deg, transparent 40%, rgba(255,255,255,.26) 50%, transparent 60%),
      linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 18%, #AEBDB5 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent; background-repeat: no-repeat;
  }
  .hero h1 b .hw {
    background-image:
      linear-gradient(104deg, transparent 40%, rgba(255,255,255,.26) 50%, transparent 60%),
      linear-gradient(90deg, var(--g-200) 0%, var(--g-200) 12%, var(--g-400) 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent; background-repeat: no-repeat;
  }
}
@keyframes h1-sheen { from { --sheen: -0.6; } to { --sheen: 1.25; } }
.hero h1 .ln { filter: drop-shadow(0 -1px 0 rgba(255,255,255,.30)) drop-shadow(0 2px 0 rgba(2,17,13,.55)) drop-shadow(0 18px 28px rgba(2,17,13,.55)); }
.hero h1 b.ln { filter: drop-shadow(0 -1px 0 rgba(230,249,239,.34)) drop-shadow(0 2px 0 rgba(2,17,13,.55)) drop-shadow(0 18px 28px rgba(2,17,13,.55)); }
.hero-sub {
  font-size: clamp(1.25rem, 1.75vw, 1.625rem); line-height: 1.4; font-weight: 500; letter-spacing: -.004em;
  color: rgba(255,255,255,.90);
  text-shadow: 0 1px 0 rgba(2,17,13,.35), 0 10px 24px rgba(2,17,13,.45);
}
.hero-sub b { font-weight: 700; color: #fff; }
.hero .cta-row { position: relative; width: 100%; margin-top: clamp(26px, 3.6vh, 40px); display: flex; flex-direction: column; align-items: center; }
.hero .wait { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; width: 100%; max-width: 620px; }
.hero .wait .field { flex: 1 1 250px; position: relative; min-width: 0; }
.hero .wait .field input {
  width: 100%; height: 56px; border-radius: 999px; padding: 0 22px;
  background: #093024; color: #fff; font-size: 1.0625rem;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), inset 0 -1px 0 rgba(2,17,13,.35), 0 10px 30px -18px rgba(2,17,13,.8);
  transition: border-color .18s, box-shadow .18s, background-color .18s;
}
.hero .wait .field input::placeholder { color: rgba(255,255,255,.66); }
.hero .wait .field input:focus {
  outline: none; background: linear-gradient(rgba(255,255,255,.12), rgba(255,255,255,.12)), #093024;
  border-color: var(--g-400); box-shadow: 0 0 0 4px rgba(76,213,127,.18), inset 0 1px 0 rgba(255,255,255,.08);
}
.hero .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  padding: 0 24px; height: 56px; border-radius: 999px;
  font-size: 1.0625rem; font-weight: 600; letter-spacing: -.005em;
  border: 1px solid transparent; cursor: pointer; white-space: nowrap;
  transition: transform .18s var(--ease), background-color .18s var(--ease), box-shadow .18s var(--ease);
}
.hero .btn svg { width: 18px; height: 18px; flex: none; transition: transform .18s var(--ease); }
.hero .btn:hover { transform: translateY(-1px); }
.hero .btn:hover svg { transform: translateX(2px); }
.hero .btn:active, .hero .btn.is-pressed { transform: translateY(0) scale(.985); }
.hero .btn-primary { background: linear-gradient(180deg, var(--g-400), var(--g-500)); color: var(--accent-ink); }
.hero .btn-primary:hover { background: linear-gradient(180deg, var(--g-300), var(--g-400)); }
.hero .wait .btn-cta { height: 56px; }
.hero .hero-cta-link { display: none; text-decoration: none; }
.hero .btn-cta {
  position: relative; overflow: hidden; isolation: isolate; padding: 0 24px; flex: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), inset 0 1px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(6,40,30,.18),
    0 1px 2px rgba(6,40,30,.24), 0 10px 30px -10px rgba(76,213,127,.6), 0 0 60px -6px rgba(76,213,127,.26);
}
.hero .btn-cta:hover { box-shadow: inset 0 0 0 1px rgba(255,255,255,.2), inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(6,40,30,.18),
    0 1px 2px rgba(6,40,30,.24), 0 16px 44px -12px rgba(76,213,127,.7), 0 0 60px -6px rgba(76,213,127,.26); }
.hero .btn-cta:active, .hero .btn-cta.is-pressed { background: linear-gradient(180deg, var(--g-500), var(--g-600)); transform: translateY(0) scale(.985);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), inset 0 1px 2px rgba(6,40,30,.25), 0 1px 2px rgba(6,40,30,.2), 0 0 40px -6px rgba(76,213,127,.2); }
.hero .btn-cta:focus-visible { box-shadow: 0 0 0 3px var(--g-950), 0 0 0 5px var(--g-300), 0 10px 30px -10px rgba(76,213,127,.6); border-radius: 999px; }
.hero .btn-cta::before {
  content: ''; position: absolute; inset: 0 auto 0 0; width: 46%; z-index: -1; pointer-events: none;
  background: linear-gradient(100deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%);
  transform: translateX(-130%);
}
.hero .seat { position: relative; z-index: 2; display: flex; justify-content: center; margin-bottom: calc(-1 * var(--overlap) + var(--page-r)); max-width: calc(var(--frame-w) + 2 * var(--gutter)); }
.hero .product { position: relative; width: min(var(--frame-w), 100%); isolation: isolate; }
.hero .app {
  --a-line: rgba(184,240,207,.12);
  --a-line-2: rgba(255,255,255,.09);
  --a-card: linear-gradient(180deg, rgba(255,255,255,.048), rgba(255,255,255,.026));
  --a-well: rgba(4,26,20,.38);
  position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr);
  text-align: left; color: var(--fg-2); font-size: .875rem; line-height: 1.45;
  border-radius: 20px; border: 1px solid rgba(184,240,207,.2); overflow: hidden;
  background: linear-gradient(180deg, #0C3729 0%, #082B20 60%, #07271D 100%);
  box-shadow:
    0 0 0 1px rgba(2,17,13,.65),
    0 -30px 110px -24px rgba(98,218,143,.38),
    0 2px 4px rgba(2,17,13,.35),
    0 18px 40px -12px rgba(2,17,13,.55),
    0 70px 120px -40px rgba(2,17,13,.65),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 0 0 1px rgba(255,255,255,.03);
}
.hero .app::before { content: ''; position: absolute; left: 10%; right: 10%; top: 0; height: 1px; z-index: 3; background: linear-gradient(90deg, transparent, rgba(184,240,207,.85) 50%, transparent); }
.hero .app-sweep {
  position: absolute; left: 0; right: 0; top: 0; height: 1px; pointer-events: none; z-index: 2; opacity: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(230,249,239,0) 30%, rgba(230,249,239,.95) 50%, rgba(230,249,239,0) 70%, transparent 100%);
  background-size: 50% 100%; background-repeat: no-repeat; background-position: -60% 0;
}
.hero .rail { grid-column: 1; grid-row: 1 / 3; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px 0; border-right: 1px solid var(--a-line-2); background: rgba(4,26,20,.28); }
.hero .rail .mark { width: 24px; color: #fff; margin: 0 0 16px; }
.hero .rail .mark svg { width: 24px; height: calc(24px / .87329); }
.hero .rail a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; color: rgba(255,255,255,.55); }
.hero .rail a svg { width: 20px; height: 20px; }
.hero .rail a.is-on { background: rgba(255,255,255,.09); color: var(--g-300); box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
.hero .rail a.ai { margin-top: auto; color: var(--g-300); }
.hero .rail .avatar { width: 32px; height: 32px; margin-top: 10px; }
.hero .bar { grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: 14px; height: 60px; padding: 0 20px 0 22px; border-bottom: 1px solid var(--a-line-2); background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,0)); }
.hero .bar .brand { display: none; }
.hero .bar .title { font-size: 1rem; font-weight: 600; color: #fff; letter-spacing: -.01em; }
.hero .tag { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--a-line); color: var(--fg-3); font-size: .6875rem; font-weight: 500; letter-spacing: .02em; white-space: nowrap; }
.hero .tag::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--fg-3); }
.hero .bar .tools { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.hero .range { display: inline-flex; padding: 3px; border-radius: 999px; border: 1px solid var(--a-line-2); background: var(--a-well); }
.hero .range span { padding: 5px 11px; border-radius: 999px; font-size: .75rem; font-weight: 500; color: rgba(255,255,255,.62); }
.hero .range span.is-on { background: rgba(255,255,255,.12); color: #fff; }
.hero .search { display: inline-flex; align-items: center; gap: 8px; height: 34px; min-width: 190px; padding: 0 10px 0 12px; border-radius: 999px; border: 1px solid var(--a-line-2); background: var(--a-well); color: rgba(255,255,255,.5); font-size: .8125rem; }
.hero .search svg { width: 15px; height: 15px; }
.hero .search kbd { margin-left: auto; font: 500 .6875rem/1 var(--font); color: rgba(255,255,255,.5); border: 1px solid rgba(255,255,255,.14); border-radius: 5px; padding: 3px 5px; }
.hero .bell { position: relative; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--a-line-2); background: var(--a-well); color: rgba(255,255,255,.8); }
.hero .bell svg { width: 16px; height: 16px; }
.hero .bell::after { content: ''; position: absolute; top: 7px; right: 8px; width: 7px; height: 7px; border-radius: 50%; background: var(--g-500); box-shadow: 0 0 0 2px #0A3529; }
.hero .avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; background: linear-gradient(160deg, var(--g-600), var(--g-800)); box-shadow: inset 0 1px 0 rgba(255,255,255,.25); }
.hero .avatar svg { width: 17px; height: 17px; }
.hero .body { grid-column: 2; grid-row: 2; display: grid; grid-template-columns: minmax(0, 1fr) 336px; grid-template-rows: auto minmax(0, 1fr); gap: 18px; padding: 20px 22px 22px; }
.hero .nw { grid-column: 1 / -1; }
.hero .main { display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 18px; min-width: 0; }
.hero .side { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 18px; min-width: 0; }
.hero .fcard { position: relative; border-radius: 14px; border: 1px solid var(--a-line-2); background: var(--a-card); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 1px 2px rgba(2,17,13,.2); }
.hero .nw { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 2px 0 0; }
.hero .nw .cap { display: block; font-size: .8125rem; font-weight: 500; color: var(--fg-3); margin-bottom: 6px; }
.hero .nw .row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; }
.hero .nw .val { font-size: clamp(2rem, 3.1vw, 2.875rem); font-weight: 700; letter-spacing: -.03em; line-height: 1; color: #fff; }
.hero .delta { margin-top: 0; display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 12px 0 10px; border-radius: 999px; background: rgba(76,213,127,.1); border: 1px solid rgba(130,226,167,.18); color: var(--g-300); font-size: .8125rem; font-weight: 500; white-space: nowrap; }
.hero .delta svg { width: 14px; height: 14px; }
.hero .nw .meta { font-size: .8125rem; color: var(--fg-3); text-align: right; line-height: 1.5; }
.hero .nw .meta b { display: block; font-weight: 500; color: var(--fg-2); }
.hero .chart { position: relative; padding: 16px 16px 12px 16px; min-height: 236px; display: grid; grid-template-rows: auto 1fr auto; gap: 8px; }
.hero .chart .c-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.hero .chart .c-head b { font-size: .8125rem; font-weight: 600; color: #fff; }
.hero .chart .c-head span { font-size: .75rem; color: var(--fg-3); }
.hero .plot { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 44px; min-height: 160px; }
.hero .plot svg { width: 100%; height: 100%; overflow: visible; }
.hero .plot .grid line { stroke: rgba(255,255,255,.07); stroke-width: 1; vector-effect: non-scaling-stroke; }
.hero .plot .area { fill: url(#zh-area); }
.hero .plot .line { fill: none; stroke: var(--g-400); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.hero .endpt { position: absolute; right: 44px; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 2px solid var(--g-400); translate: 50% -50%; box-shadow: 0 0 0 5px rgba(98,218,143,.18); }
.hero .endpt::after { content: ''; position: absolute; left: 50%; top: 50%; width: 28px; height: 28px; margin: -14px 0 0 -14px; border-radius: 50%; background: rgba(98,218,143,.35); opacity: 0; }
.hero .yax { position: relative; font-size: .6875rem; color: var(--fg-3); }
.hero .yax span { position: absolute; right: 0; translate: 0 -50%; }
.hero .xax { position: relative; height: 1.2em; margin-right: 44px; font-size: .6875rem; line-height: 1.2; color: var(--fg-3); }
.hero .xax span { position: absolute; top: 0; left: calc(var(--x) * 1%); translate: -50% 0; white-space: nowrap; }
.hero .xax span:nth-child(even) { display: none; }
.hero .endtag { position: absolute; right: 56px; top: 0; translate: 0 -100%; margin-top: -14px; display: inline-flex; align-items: baseline; gap: 6px; padding: 5px 9px; border-radius: 8px; background: rgba(4,26,20,.72); border: 1px solid var(--a-line); color: #fff; font-size: .75rem; font-weight: 600; white-space: nowrap; }
.hero .endtag span { color: var(--fg-3); font-weight: 500; }
.hero .hover { position: absolute; inset: 0; right: 44px; pointer-events: none; opacity: 0; transition: opacity .15s var(--ease); }
.hero .plot.is-hover .hover { opacity: 1; }
.hero .hover .vl { position: absolute; top: 0; bottom: 0; width: 1px; background: rgba(184,240,207,.28); translate: -50% 0; }
.hero .hover .pt { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #fff; border: 2px solid var(--g-400); translate: -50% -50%; box-shadow: 0 0 0 3px rgba(98,218,143,.2); }
.hero .hover .tip { position: absolute; translate: -50% calc(-100% - 14px); padding: 6px 9px; border-radius: 8px; background: rgba(4,26,20,.9); border: 1px solid var(--a-line); color: #fff; font-size: .75rem; font-weight: 600; white-space: nowrap; }
.hero .hover .tip span { color: var(--fg-3); font-weight: 500; margin-right: 6px; }
.hero .plot .hit { position: absolute; inset: 0; right: 44px; cursor: crosshair; }
.hero .tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.hero .tile { padding: 14px 16px 13px; display: grid; gap: 7px; align-content: start; }
.hero .tile .t-lab { display: flex; align-items: center; gap: 7px; font-size: .8125rem; color: var(--fg-3); }
.hero .tile .t-lab svg { width: 15px; height: 15px; color: var(--g-400); flex: none; }
.hero .tile .t-val { font-size: 1.375rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.1; color: #fff; }
.hero .tile .t-meta { display: flex; align-items: center; gap: 6px; font-size: .75rem; color: var(--fg-3); white-space: nowrap; }
.hero .tile .t-meta b { font-weight: 500; color: var(--g-300); }
.hero .tile .t-meta b.is-flat { color: var(--fg-2); }
.hero .tile .t-meta svg { width: 12px; height: 12px; color: var(--g-300); }
.hero .tile .t-spark { width: 100%; height: 26px; margin-top: 3px; }
.hero .tile .t-spark path { fill: none; stroke: var(--g-400); stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.hero .tile .t-spark path:not(.fill) { stroke-dasharray: 1; stroke-dashoffset: 0; }
.hero .tile .t-spark .fill { fill: url(#zh-spark); stroke: none; }
.hero .flow { display: grid; gap: 5px; margin-top: 3px; }
.hero .flow i { display: block; height: 4px; border-radius: 2px; background: rgba(255,255,255,.08); overflow: hidden; }
.hero .flow i::after { content: ''; display: block; height: 100%; width: var(--w); border-radius: 2px; background: var(--g-400); }
.hero .flow i.out::after { background: rgba(184,240,207,.42); }
.hero .alloc { padding: 16px 16px 14px; display: grid; gap: 14px; align-content: start; }
.hero .alloc .a-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.hero .alloc .a-head b { font-size: .8125rem; font-weight: 600; color: #fff; }
.hero .alloc .a-head span { font-size: .75rem; color: var(--fg-3); }
.hero .alloc .a-total { font-size: 1.5rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.1; color: #fff; margin-top: -4px; }
.hero .alloc .a-total small { font-size: .75rem; font-weight: 500; letter-spacing: 0; color: var(--fg-3); margin-left: 8px; }
.hero .segs { display: flex; gap: 2px; height: 10px; }
.hero .segs i { display: block; flex: var(--p); border-radius: 2px; background: var(--c); transform-origin: left center; }
.hero .segs i:first-child { border-radius: 6px 2px 2px 6px; }
.hero .segs i:last-child { border-radius: 2px 6px 6px 2px; }
.hero .segs i.outline, .hero .legend li i.outline { box-shadow: inset 0 0 0 1.5px rgba(184,240,207,.55); }
.hero .legend { display: grid; gap: 9px; }
.hero .legend li { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto auto; align-items: center; gap: 10px; font-size: .8125rem; color: var(--fg-2); }
.hero .legend li i { width: 10px; height: 10px; border-radius: 3px; background: var(--c); }
.hero .legend li .v { color: #fff; font-weight: 500; }
.hero .legend li .p { width: 44px; text-align: right; color: var(--fg-3); }
.hero .goals { padding: 16px; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 14px; }
.hero .goals .g-head { display: flex; align-items: center; gap: 10px; }
.hero .goals .g-tile { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: linear-gradient(160deg, var(--g-500), var(--g-700)); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }
.hero .goals .g-tile svg { width: 16px; height: 16px; }
.hero .goals .g-head b { font-size: .8125rem; font-weight: 600; color: #fff; }
.hero .goals .g-head > span:last-child { font-size: .75rem; color: var(--fg-3); margin-left: auto; }
.hero .g-list { display: grid; gap: 12px; align-content: space-evenly; }
.hero .g-list li { display: grid; gap: 7px; }
.hero .g-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; min-width: 0; }
.hero .g-row .g-name { font-size: .8125rem; font-weight: 600; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hero .g-row .g-amt { font-size: .75rem; color: var(--fg-3); white-space: nowrap; }
.hero .g-row .g-amt b { font-weight: 600; color: #fff; }
.hero .g-row .g-amt .p { color: var(--g-300); font-weight: 600; margin-left: 6px; }
.hero .g-bar { display: block; height: 6px; border-radius: 3px; background: rgba(255,255,255,.08); overflow: hidden; }
.hero .g-bar i { display: block; height: 100%; width: var(--w); border-radius: 3px; background: linear-gradient(90deg, var(--g-300), var(--g-500)); transform-origin: left center; }
@media (max-width: 1280px) {
  .hero .body { grid-template-columns: minmax(0, 1fr) 300px; }
  .hero .search { min-width: 0; }
  .hero .search kbd { display: none; }
}
@media (max-width: 1100px) {
  .hero .app { grid-template-columns: minmax(0, 1fr); }
  .hero .rail { display: none; }
  .hero .bar, .hero .body { grid-column: 1; }
  .hero .bar { padding-left: 16px; }
  .hero .bar .brand { display: grid; place-items: center; width: 28px; color: #fff; }
  .hero .bar .brand svg { width: 20px; height: calc(20px / .87329); }
  .hero .body { grid-template-columns: minmax(0, 1fr); padding: 18px; }
  .hero .side { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
}
@media (max-width: 940px) {
  .hero .search { display: none; }
}
@media (max-width: 720px) {
  .hero h1 { font-size: clamp(2.625rem, 13.4vw, 4.25rem); letter-spacing: -.02em; }
  .hero h1 .ln + .ln { margin-top: .06em; }
  .hero h1 .ln, .hero h1 b.ln { filter: drop-shadow(0 -1px 0 rgba(255,255,255,.28)) drop-shadow(0 1px 0 rgba(2,17,13,.5)) drop-shadow(0 10px 18px rgba(2,17,13,.5)); }
  .hero #hero-form { display: none; }
  .hero .hero-cta-link { display: inline-flex; }
  .hero .btn-cta { width: min(100%, 360px); height: 54px; font-size: 1rem; }
  .hero-field .rays { --r: max(520px, 62svh); }
  .hero-field .rays::before { filter: blur(5px); }
  .hero-field .streams { height: 180px; }
  .hero-field .streams .s1, .hero-field .streams .s2, .hero-field .streams .s5, .hero-field .streams .s6 { display: none; }
  .hero .app { border-radius: 16px; font-size: .8125rem; }
  .hero .bar { height: 54px; gap: 10px; padding: 0 14px; }
  .hero .bar .range { display: none; }
  .hero .body { padding: 14px; gap: 14px; }
  .hero .main { gap: 14px; }
  .hero .nw { padding: 0 2px; position: relative; }
  .hero .nw .meta { position: absolute; top: 0; right: 2px; font-size: .75rem; line-height: calc(.8125rem * 1.45); white-space: nowrap; }
  .hero .nw .meta b, .hero .nw .meta .inst { display: none; }
  .hero .nw > div { flex: 1 1 auto; min-width: 0; }
  .hero .nw .row { flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 8px; }
  .hero .nw .val { flex: none; font-size: clamp(19px, calc(11.4vw - 21.8px), 28px); }
  .hero .delta { height: 26px; font-size: clamp(11px, calc(2.857vw + .72px), 13px); padding: 0 8px; }
  .hero .delta svg { display: none; }
  .hero .chart { min-height: 0; padding: 12px 12px 10px; }
  .hero .plot { min-height: 120px; grid-template-columns: minmax(0, 1fr) 36px; }
  .hero .hover, .hero .plot .hit { right: 36px; }
  .hero .xax { margin-right: 36px; }
  .hero .xax span:nth-child(4n+3) { display: none; }
  .hero .endtag { display: none; }
  .hero .endpt { right: 36px; }
  .hero .chart .c-head span { display: none; }
  .hero .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .hero .tile { padding: 12px 13px 11px; }
  .hero .tile .t-val { font-size: 1.1875rem; }
  .hero .tile .t-spark { height: 22px; }
  .hero .tile.cashflow { display: none; }
  .hero .side { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .hero .alloc { padding: 14px; gap: 12px; }
  .hero .alloc .a-total { font-size: 1.25rem; }
  .hero .legend { gap: 7px; }
  .hero .legend li { grid-template-columns: 10px minmax(0, 1fr) auto; font-size: .8125rem; }
  .hero .legend li .v { display: none; }
  .hero .legend li .p { width: auto; }
  .hero .goals { display: none; }
}
@media (max-width: 400px) {
  .hero .bar { gap: 8px; }
  .hero .bar .tag { padding: 0 8px; }
}
@media (max-width: 359px) {
  .hero .nw .row { flex-direction: column; align-items: flex-start; gap: 8px; }
  .hero .nw .val { font-size: 1.75rem; }
}
@media (min-width: 721px) and (max-height: 800px) {
  .hero .stack { padding-top: 20px; padding-bottom: 24px; }
  .hero h1 { margin-bottom: 14px; }
  .hero .hero-overline { padding: 8px 16px 8px 14px; font-size: .8125rem; margin-bottom: 14px; }
  .hero .cta-row { margin-top: 22px; }
}
@media (max-width: 720px) and (max-height: 640px) {
  .hero .hero-overline { padding: 7px 13px 7px 12px; font-size: .75rem; letter-spacing: .1em; margin-bottom: 12px; }
  .hero h1 { margin-bottom: 12px; }
  .hero .cta-row { margin-top: 14px; }
  .hero .wait .field input, .hero .wait .btn-cta, .hero .hero-cta-link { height: 48px; }
}
@media (min-width: 721px) {
  .hero .wait.wait-form {
    position: relative; flex-wrap: nowrap; gap: 0; max-width: 620px; padding: 6px;
    border-radius: 999px; border: 1px solid rgba(255,255,255,.14);
    background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.02) 60%), #082b21;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -1px 0 rgba(2,17,13,.45),
      0 1px 2px rgba(2,17,13,.35), 0 22px 44px -26px rgba(2,17,13,.95);
    transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
  }
  .hero .wait.wait-form:hover { border-color: rgba(255,255,255,.2); }
  .hero .wait.wait-form:focus-within {
    border-color: rgba(130,226,167,.55);
    box-shadow: 0 0 0 4px rgba(76,213,127,.14), inset 0 1px 0 rgba(255,255,255,.09), inset 0 -1px 0 rgba(2,17,13,.45),
      0 22px 44px -26px rgba(2,17,13,.95);
  }
  .hero .wait.wait-form .field { flex: 1 1 auto; }
  .hero .wait.wait-form .field input, .hero .wait.wait-form .field input:focus {
    height: 52px; padding: 0 10px 0 20px; border: 0; border-radius: 999px;
    background: transparent; box-shadow: none; outline: none;
  }
  .hero .wait.wait-form .btn-cta { height: 52px; padding: 0 22px 0 24px; }
  .hero .wait.wait-form > .wait-msg, .hero .wait.wait-form > noscript > .wait-msg {
    position: absolute; top: calc(100% + 12px); left: 0; right: 0; margin: 0; justify-content: center; text-align: center;
  }
}
@media (min-width: 721px) and (max-width: 1100px) {
  .hero h1 { font-size: clamp(3.25rem, min(11.5vw, 17svh), 7rem); }
  .hero .wait.wait-form { max-width: 560px; }
}
@media (min-width: 721px) and (max-width: 1100px) {
  .hero .hero-sub { font-size: clamp(1.25rem, 2.15vw, 1.5rem); }
}
@media (min-width: 721px) and (max-width: 1100px) and (min-height: 801px) {
  .hero .hero-overline { margin-bottom: clamp(18px, 2.2vh, 26px); }
}
@media (min-width: 721px) and (max-width: 1100px) and (max-height: 800px) {
  .hero .hero-overline { margin-bottom: 8px; }
}
.hero .stack { --sub-gap: calc((clamp(18px, 3vh, 28px) + clamp(26px, 3.6vh, 40px)) / 2); }
.hero h1 { margin-bottom: calc(var(--sub-gap) - 5px + .085em); }
.hero .cta-row { margin-top: calc(var(--sub-gap) - 5px); }
@media (min-width: 721px) and (max-height: 800px) { .hero .stack { --sub-gap: 18px; } }
@media (max-width: 720px) and (max-height: 640px) { .hero .stack { --sub-gap: 13px; } }
@media (prefers-reduced-motion: no-preference) {
  .hero-field .bloom { animation: bloom-in 1.6s ease-out backwards; }
  .hero-field .horizon { animation: halo-breathe 11s ease-in-out infinite alternate, v11-horizon 2.4s var(--ease-reveal) 150ms backwards; }
  .hero-field .rays { animation: v11-rays-in 2.8s var(--ease-reveal) 700ms backwards, v11-rays-sway 22s ease-in-out 3.5s infinite alternate; }
  .hero-field .streams .line { animation: v11-draw 2.2s var(--ease-reveal) backwards; }
  .hero-field .streams .s1 .line { animation-delay: 1.60s; }
  .hero-field .streams .s2 .line { animation-delay: 1.72s; }
  .hero-field .streams .s3 .line { animation-delay: 1.84s; }
  .hero-field .streams .s4 .line { animation-delay: 1.96s; }
  .hero-field .streams .s5 .line { animation-delay: 1.66s; }
  .hero-field .streams .s6 .line { animation-delay: 1.78s; }
  .hero-field .streams .s7 .line { animation-delay: 1.90s; }
  .hero-field .streams .s8 .line { animation-delay: 2.02s; }
  .hero-field .streams g.is-pulsing .glow { animation: v11-comet-g 3.2s linear 1 forwards; }
  .hero-field .streams g.is-pulsing .tail { animation: v11-comet-t 3.2s linear 1 forwards; }
  .hero-field .streams g.is-pulsing .head { animation: v11-comet-h 3.2s linear 1 forwards; }
  .nav { animation: rise-in .7s var(--ease) 80ms backwards; }
  .hero .hero-overline { animation: hero-rise 1.1s var(--ease-reveal) 120ms backwards; }
  .hero .hero-overline .dot::after { animation: dot-pulse 2.2s cubic-bezier(.4,0,.6,1) infinite; }
  .hero h1 .hw { animation: v11-word 1.25s var(--ease-reveal) backwards; animation-delay: calc(260ms + var(--i, 0) * 110ms); }
  .hero h1 { animation: h1-sheen 1.7s cubic-bezier(.45, 0, .2, 1) 2.7s 1 forwards; }
  .hero-sub { animation: hero-rise 1.2s var(--ease-reveal) 760ms backwards; }
  .hero .cta-row { animation: hero-rise 1.2s var(--ease-reveal) 900ms backwards; }
  .hero .btn-cta::before { animation: v11-sheen 1.3s cubic-bezier(.45, 0, .2, 1) 2.9s 1; }
  .hero .btn-cta:hover::before { animation: v11-sheen 1s cubic-bezier(.45, 0, .2, 1) 1; }
  .hero .product { animation: frame-in 1.5s var(--ease-reveal) 1050ms backwards; transform-origin: 50% 0; }
  .hero .app-sweep { animation: v11-sweep 2.4s cubic-bezier(.45, 0, .2, 1) 2.3s 1; }
  .hero .app .in { animation: rise-in .7s var(--ease) backwards; animation-delay: calc(1300ms + var(--i, 0) * 90ms); }
  .hero .plot .line { stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw 1.7s var(--ease) 1650ms forwards; }
  .hero .plot .area, .hero .endpt, .hero .endtag { animation: fade-in .9s var(--ease) 2500ms backwards; }
  .hero .t-spark .fill { animation: fade-in .9s var(--ease) 2600ms backwards; }
  .hero .t-spark path:not(.fill) { stroke-dashoffset: 1; animation: draw 1.2s var(--ease) 2100ms forwards; }
  .hero .endpt::after { animation: endpt-breathe 3.6s cubic-bezier(.4,0,.6,1) 3.4s infinite; }
  .hero.is-offscreen .endpt::after { animation-play-state: paused; }
  .hero .segs i { animation: grow-x .8s var(--ease-out) backwards; animation-delay: calc(1900ms + var(--i, 0) * 70ms); }
  .hero .flow i::after { animation: grow-x .9s var(--ease-out) 2000ms backwards; transform-origin: left center; }
  .hero .g-bar i { animation: grow-x .9s var(--ease-out) backwards; animation-delay: calc(2050ms + var(--i, 0) * 80ms); }
  .hero.is-offscreen .hero-field .horizon, .hero.is-offscreen .hero-field .rays, .hero.is-offscreen .hero-overline .dot::after, .hero.is-offscreen .hero-field .streams :is(.glow, .tail, .head) { animation-play-state: paused; }
}
@keyframes bloom-in { from { opacity: 0; } }
@keyframes rise-in { from { opacity: 0; translate: 0 14px; } }
@keyframes hero-rise { from { opacity: 0; translate: 0 14px; } }
@keyframes v11-word { from { opacity: 0; transform: translateY(.28em) rotateX(42deg); filter: blur(10px); } }
@keyframes v11-horizon { from { opacity: 0; scale: .72; } }
@keyframes halo-breathe { from { scale: 1; opacity: .92; } to { scale: 1.07; opacity: 1; } }
@keyframes v11-rays-in { from { opacity: 0; scale: .55 .35; } }
@keyframes v11-rays-sway { from { transform: rotate(-3deg); } to { transform: rotate(3deg); } }
@keyframes v11-draw { from { stroke-dashoffset: 1; } }
@keyframes v11-comet-g { from { stroke-dashoffset: .16; }  to { stroke-dashoffset: -1.09; } }
@keyframes v11-comet-t { from { stroke-dashoffset: .13; }  to { stroke-dashoffset: -1.12; } }
@keyframes v11-comet-h { from { stroke-dashoffset: .035; } to { stroke-dashoffset: -1.215; } }
@keyframes v11-sheen { from { transform: translateX(-130%); } to { transform: translateX(330%); } }
@keyframes v11-sweep {
  0%   { opacity: 0; background-position: 50% 0; background-size: 0% 100%; }
  15%  { opacity: 1; }
  100% { opacity: 0; background-position: 50% 0; background-size: 140% 100%; }
}
@keyframes frame-in { from { opacity: 0; transform: translateY(40px) perspective(1400px) rotateX(4deg) scale(.985); } }
@keyframes endpt-breathe { 0% { transform: scale(.3); opacity: .9; } 60% { transform: scale(1); opacity: 0; } 100% { transform: scale(1); opacity: 0; } }
@keyframes draw { to { stroke-dashoffset: 0; } }
@keyframes fade-in { from { opacity: 0; } }
@keyframes grow-x { from { transform: scaleX(0); } }
@keyframes dot-pulse {
  0% { transform: scale(.25); opacity: 1; }
  70% { transform: scale(1); opacity: 0; }
  100% { transform: scale(1); opacity: 0; }
}
@media (max-width: 720px) {
  @keyframes v11-word { from { opacity: 0; transform: translateY(.25em) rotateX(30deg); filter: blur(8px); } }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
  .hero .hero-overline .dot::after { display: none; }
  .hero .hero-overline .dot { box-shadow: 0 0 0 4px rgba(76,213,127,.15); }
  .hero-field .streams :is(.glow, .tail, .head) { opacity: 0; }
  .hero-field .spot { display: none; }
}
#security .sect-head { max-width: none; }
#security .sect-head p { max-width: 960px; margin-inline: auto; }
#security { --frame-w: 1320px; --ease-reveal: cubic-bezier(.16, 1, .3, 1); }
#security .scrolly--privacy {
  --col-gap: clamp(3rem, 6vw, 6rem);
  --pill-foot: 70px;
  --row-w: min(var(--frame-w), 100vw - 2 * var(--gutter));
  --frame-col: calc((var(--row-w) - var(--col-gap)) / 1.92);
  --frame-fit: calc((100vh - var(--pill-foot) - 5rem) * 1.6);
  --frame-wd: min(var(--frame-col), var(--frame-fit));
  width: min(var(--frame-w), 100%); max-width: none; margin: clamp(2rem, 4.5vw, 4rem) auto 0;
}
.scrolly--privacy .scrolly-step { max-width: none; }
.scrolly--privacy .scrolly-copy { grid-template-columns: 64px minmax(0, 1fr); column-gap: 28px; grid-template-rows: auto auto auto; align-items: start; }
.scrolly--privacy .scrolly-copy .ic-box {
  grid-column: 1; grid-row: 1 / span 3; width: 64px; height: 64px; border-radius: 19px;
  background: radial-gradient(110% 130% at 82% 6%, #14563D 0%, transparent 56%), linear-gradient(150deg, #0B3327, #06281E 70%); color: var(--g-300); position: relative; z-index: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 0 0 6px #fff, 0 0 0 7px var(--line);
  transition: color .35s var(--ease), box-shadow .35s var(--ease);
}
.scrolly--privacy .scrolly-copy .ic-box svg { width: 26px; height: 26px; }
.scrolly--privacy .scrolly-n { grid-column: 2; grid-row: 1; margin: 0; display: inline; font-size: .875rem; line-height: 1.3; color: var(--g-600); letter-spacing: .14em; }
.scrolly--privacy .priv-step-k { grid-column: 2; grid-row: 1; margin-left: 3.1em; font-size: .875rem; line-height: 1.3; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--g-700); }
.scrolly--privacy .scrolly-copy h3 { grid-column: 2; grid-row: 2; margin-top: 14px; font-size: clamp(1.75rem, 2.45vw, 2.375rem); line-height: 1.12; letter-spacing: -.022em; text-wrap: balance; }
.scrolly--privacy .scrolly-copy p { grid-column: 2; grid-row: 3; font-size: clamp(1.125rem, 1.35vw, 1.25rem); line-height: 1.6; color: var(--ink-soft); max-width: 34em; margin-top: 14px; text-wrap: pretty; }
.scrolly--privacy .scrolly-pic { margin-top: 1.5rem; }
.scrolly--privacy .scrolly-copy h3 .nw { white-space: nowrap; }
.priv-frame {
  --fx: clamp(1.25rem, 2.2vw, 2rem);
  position: relative; margin: 0; display: flex; flex-direction: column; aspect-ratio: 8 / 5;
  border-radius: var(--r-lg); overflow: hidden; isolation: isolate; color: var(--d-fg);
  border: 1px solid rgba(184,240,207,.2);
  background: linear-gradient(180deg, #0C3729 0%, #082B20 60%, #07271D 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), inset 0 0 0 1px rgba(255,255,255,.03);
}
.priv-frame::before { content: ""; position: absolute; left: 10%; right: 10%; top: 0; height: 1px; z-index: 3; background: linear-gradient(90deg, transparent, rgba(184,240,207,.85) 50%, transparent); pointer-events: none; }
.priv-frame > * { position: relative; z-index: 1; }
.scrolly--privacy .scrolly-pic::before, .scrolly--privacy .scrolly-stage-inner::before {
  border-radius: var(--r-lg);
  box-shadow:
    0 0 0 1px rgba(2,17,13,.65),
    0 -30px 110px -24px rgba(98,218,143,.28),
    0 2px 4px rgba(2,17,13,.35),
    0 18px 40px -12px rgba(2,17,13,.55),
    0 70px 120px -40px rgba(2,17,13,.65);
}
.scrolly--privacy .scrolly-stage-inner::before { box-shadow: 0 0 0 1px rgba(2,17,13,.65), 0 2px 4px rgba(2,17,13,.35), 0 18px 40px -12px rgba(2,17,13,.55); }
.scrolly--privacy .stage-glow, .scrolly--privacy .stage-shade { display: none; position: absolute; border-radius: var(--r-lg); pointer-events: none; z-index: 0; }
.scrolly--privacy .stage-glow  { inset: -6px 24px 54px; background: rgba(98,218,143,.28); filter: blur(55px); }
.scrolly--privacy .stage-shade { inset: 110px 40px -30px; background: rgba(2,17,13,.65); filter: blur(60px); }
#security .frame-sweep {
  position: absolute; left: 0; right: 0; top: 0; height: 1px; pointer-events: none; z-index: 2; opacity: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(230,249,239,0) 30%, rgba(230,249,239,.95) 50%, rgba(230,249,239,0) 70%, transparent 100%);
  background-size: 50% 100%; background-repeat: no-repeat; background-position: -60% 0;
}
#security .card-field { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; border-radius: inherit; }
#security .card-field .horizon {
  position: absolute; left: 50%; bottom: 0; translate: -50% 50%;
  width: max(640px, 124%); height: clamp(260px, 26vw, 360px);
  background:
    radial-gradient(17% 22% at 50% 50%, rgba(184,240,207,.075), transparent 64%),
    radial-gradient(30% 36% at 50% 50%, rgba(76,213,127,.12), transparent 70%),
    radial-gradient(50% 50% at 50% 50%, rgba(55,160,99,.10), transparent 74%);
  transform-origin: 50% 50%;
}
#security .card-field .spot {
  position: absolute; left: 0; top: 0; width: 460px; height: 460px; margin: -230px 0 0 -230px;
  border-radius: 50%; opacity: 0;
  background: radial-gradient(closest-side, rgba(130,226,167,.12), rgba(130,226,167,.045) 50%, transparent 100%);
  transition: opacity 1.2s var(--ease); will-change: transform;
}
#security .priv-frame.has-spot .spot { opacity: 1; }
@media (hover: none), (pointer: coarse) { #security .card-field .spot { display: none; } }
.priv-frame-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  height: clamp(46px, 3.6vw, 52px); padding: 0 var(--fx); flex: none;
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,0));
}
.priv-kicker { font-size: .8125rem; line-height: 1.3; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--g-300); }
.priv-count {
  display: inline-flex; align-items: center; gap: 7px; height: 24px; padding: 0 10px 0 9px; border-radius: 999px;
  border: 1px solid rgba(184,240,207,.14); background: rgba(4,26,20,.38); box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  font-size: .75rem; line-height: 1; font-weight: 500; letter-spacing: .06em; color: rgba(255,255,255,.66); white-space: nowrap;
}
.priv-count::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--g-500); box-shadow: 0 0 6px rgba(76,213,127,.55); }
.scrolly--privacy .priv-frame img { display: block; width: calc(100% - 2 * var(--fx)); max-width: none; height: auto; margin: auto var(--fx); }
.priv-progress { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; flex: none; padding: 0 var(--fx) clamp(1.125rem, 1.8vw, 1.5rem); }
.priv-progress i { display: block; height: 3px; border-radius: 2px; background: rgba(255,255,255,.12); transition: background-color .45s var(--ease), box-shadow .45s var(--ease); }
.priv-progress i.is-on { background: var(--g-400); box-shadow: 0 0 10px rgba(98,218,143,.38); }
@media (max-width: 720px) {
  .scrolly--privacy .scrolly-pic { display: none; }
  .scrolly--privacy .scrolly-step + .scrolly-step { margin-top: 2.5rem; }
  .scrolly--privacy .scrolly-copy { grid-template-columns: 52px minmax(0, 1fr); column-gap: 20px; }
  .scrolly--privacy .scrolly-copy .ic-box { width: 52px; height: 52px; border-radius: 16px; }
  .scrolly--privacy .scrolly-copy .ic-box svg { width: 23px; height: 23px; }
  .scrolly--privacy .scrolly-copy h3 { font-size: 1.5rem; margin-top: 10px; }
  .scrolly--privacy .scrolly-copy p { font-size: var(--fs-body); margin-top: 10px; }
  .scrolly--privacy .scrolly-step:not(:last-child)::after {
    content: ""; position: absolute; left: 25px; top: 26px; bottom: calc(-2.5rem - 26px); width: 2px; border-radius: 1px;
    background: var(--line); pointer-events: none;
  }
}
@media (min-width: 1100px) {
  .scrolly.scrolly--privacy.is-js { grid-template-columns: minmax(0, 1fr) minmax(0, .92fr); column-gap: var(--col-gap); }
  .scrolly.scrolly--privacy.is-js .scrolly-stage { order: -1; top: max(calc(var(--pill-foot) + 1.25rem), calc(50vh - var(--frame-wd) * 5 / 16)); }
  .scrolly.scrolly--privacy.is-js .scrolly-step { padding-left: 0; }
  .scrolly.scrolly--privacy.is-js .stage-glow, .scrolly.scrolly--privacy.is-js .stage-shade { display: block; }
  .scrolly.scrolly--privacy.is-js .scrolly-steps::before, .scrolly.scrolly--privacy.is-js .scrolly-steps::after { left: 31px; width: 2px; }
  .scrolly.scrolly--privacy.is-js .scrolly-step::before { display: none; }
  .scrolly.scrolly--privacy.is-js .scrolly-step.is-active .ic-box { color: var(--g-300); box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 0 0 6px #fff, 0 0 0 7px var(--g-300); }
  .scrolly.scrolly--privacy.is-js .scrolly-copy { opacity: 1; }
  .scrolly.scrolly--privacy.is-js .scrolly-copy > :not(.ic-box) { opacity: .36; transition: opacity .45s var(--ease); }
  .scrolly.scrolly--privacy.is-js .scrolly-step.is-active .scrolly-copy > :not(.ic-box) { opacity: 1; }
  .scrolly.scrolly--privacy.is-js .scrolly-copy .ic-box { box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 0 0 6px #fff, 0 0 0 7px #F5F9F7; }
  .scrolly.scrolly--privacy.is-js .scrolly-copy .ic-box::after {
    content: ""; position: absolute; inset: 0; border-radius: inherit; background: #fff;
    opacity: .64; pointer-events: none; transition: opacity .45s var(--ease);
  }
  .scrolly.scrolly--privacy.is-js .scrolly-step.is-active .scrolly-copy .ic-box::after { opacity: 0; }
  .scrolly.scrolly--privacy.is-js .scrolly-steps { padding-bottom: 0; }
  .scrolly.scrolly--privacy.is-js .scrolly-step:last-child { min-height: var(--stage-h, 52vh); }
  .scrolly--privacy .scrolly-stage-inner { aspect-ratio: 8 / 5; width: min(100%, var(--frame-fit)); }
  .scrolly.scrolly--privacy.is-js .scrolly-pic { display: flex; }
  .scrolly.scrolly--privacy.is-js .priv-frame { width: 100%; height: 100%; aspect-ratio: auto; }
}
#security .scrolly--privacy.is-armed { transition: opacity 1.1s var(--ease-reveal), translate 1.1s var(--ease-reveal); }
#security .scrolly--privacy.is-armed:not(.in) { opacity: 0; translate: 0 24px; }
@media (prefers-reduced-motion: no-preference) {
  #security .scrolly.in .scrolly-pic.is-active .card-field .horizon { animation: halo-breathe 11s ease-in-out 2.4s infinite alternate, v11-horizon 2.4s var(--ease-reveal) 120ms backwards; }
  #security .scrolly.in .scrolly-pic.is-active .frame-sweep { animation: v11-sweep 2.4s cubic-bezier(.45, 0, .2, 1) 300ms 1; }
  #security .scrolly.in:not(.is-js) .scrolly-pic .frame-sweep { animation: v11-sweep 2.4s cubic-bezier(.45, 0, .2, 1) 900ms 1; }
  #security.is-offscreen .card-field .horizon { animation-play-state: paused; }
}
@media (prefers-reduced-motion: reduce) {
  .scrolly--privacy .scrolly-copy .ic-box, .scrolly.scrolly--privacy.is-js .scrolly-copy .ic-box::after,
  .scrolly.scrolly--privacy.is-js .scrolly-copy > :not(.ic-box), .priv-progress i { transition: none; }
  #security .card-field .spot { display: none; }
}
#features { z-index: 1; border-radius: var(--page-r); padding-top: var(--sect-top); }
#features .sect-head { max-width: none; }
#features .sect-head p { max-width: 960px; margin-inline: auto; }
#problem .sect-head { max-width: none; }
#problem .sect-head p { max-width: 1140px; margin-inline: auto; }
.lede-accent { font-weight: 700; color: var(--g-700); }
@media (min-width: 621px) and (max-width: 900px) {
  #problem .eyebrow { font-size: .875rem; }
  #problem .statement { font-size: clamp(2.5rem, min(calc(7.22vw - 0.3rem), calc((100vw - 2 * var(--gutter)) / 13.4)), 6.125rem); }
  #problem .sect-head p { font-size: clamp(1.0625rem, calc((100vw - 2 * var(--gutter)) / 40.6), 1.25rem); }
  #problem .card h3 { font-size: 1.375rem; }
  #problem .card p { font-size: 1rem; }
}
@media (max-width: 620px) {
  #problem .sect-head { margin-bottom: 24px; }
  #problem .eyebrow { font-size: .75rem; margin-bottom: 8px; }
  #problem .statement { font-size: clamp(1.25rem, calc((100vw - 2 * var(--gutter)) / 13.15), 2.25rem); line-height: 1.15; margin-bottom: 12px; }
  #problem .sect-head p { font-size: 1rem; line-height: 1.55; }
  #problem .card h3 { font-size: 1.25rem; margin-bottom: 8px; }
  #problem .card p { font-size: .9375rem; line-height: 1.6; }
}
#product {
  margin-top: calc(-1 * var(--page-r));
  padding-top: calc(var(--sect-top) + var(--page-r)); padding-bottom: calc(var(--sect-bot) + var(--page-r));
}
.sheet-end { z-index: 1; background: var(--surface); border-radius: 0 0 var(--page-r) var(--page-r); }
.sheet-start { z-index: 1; background: var(--surface); border-radius: var(--page-r) var(--page-r) 0 0; margin-top: calc(-1 * var(--page-r)); }
.statement-band.sheet-start { padding-top: calc(clamp(4rem, 9vw, 7rem) + var(--page-r)); }
#product .sect-head { max-width: none; }
#product .sect-head p { max-width: 960px; margin-inline: auto; }
.section--dark .statement { color: #fff; filter: none; text-shadow: none; }
.section--dark .statement .accent { color: var(--g-300); filter: none; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .section--dark .statement .accent {
    background: linear-gradient(94deg, var(--g-200) 20%, var(--g-400) 100%);
    -webkit-background-clip: text; background-clip: text;
    color: transparent;
  }
}
#ai { margin-top: calc(-1 * var(--page-r)); padding-top: calc(var(--sect-top) + var(--page-r)); padding-bottom: var(--page-r); }
#ai {
  --frame-w: 1320px;
  --ease-reveal: cubic-bezier(.16, 1, .3, 1);
  overflow: clip;
  background: linear-gradient(180deg, var(--g-950) 0%, var(--g-900) 46%, #082E23 100%);
}
#ai .ai-field { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
#ai .ai-field .bloom { position: absolute; border-radius: 50%; aspect-ratio: 1; }
#ai .ai-field .bloom-a { width: max(760px, 58vw); left: -14%; top: -24%; background: radial-gradient(circle, rgba(33,107,70,.26), transparent 64%); }
#ai .ai-field .bloom-b { width: max(640px, 50vw); right: -12%; top: -14%; background: radial-gradient(circle, rgba(15,61,46,.5), transparent 66%); }
#ai .ai-field .vignette { position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% 32%, transparent 34%, rgba(4,26,20,.38) 70%, rgba(4,26,20,.86) 100%); }
#ai .ai-field .spot {
  position: absolute; left: 0; top: 0; width: 760px; height: 760px; margin: -380px 0 0 -380px;
  border-radius: 50%; opacity: 0;
  background: radial-gradient(closest-side, rgba(130,226,167,.13), rgba(130,226,167,.05) 50%, transparent 100%);
  transition: opacity 1.2s var(--ease); will-change: transform;
}
#ai.has-spot .spot { opacity: 1; }
@media (hover: none), (pointer: coarse) { #ai .ai-field .spot { display: none; } }
#ai .wrap { position: relative; z-index: 1; }
#ai.is-armed:not(.in) :is(.ai-field > *, .row-light > *) { opacity: 0; }
#ai .ai-scene.rv:not(.in) { translate: none; }
@media (prefers-reduced-motion: no-preference) {
  #ai.in .ai-field .bloom, #ai.in .ai-field .vignette { animation: bloom-in 1.6s ease-out backwards; }
  #ai.in .row-light .horizon { animation: halo-breathe 11s ease-in-out 2.55s infinite alternate, v11-horizon 2.4s var(--ease-reveal) 150ms backwards; }
  #ai.in .row-light .rays { animation: v11-rays-in 2.8s var(--ease-reveal) 700ms backwards, v11-rays-sway 22s ease-in-out 3.5s infinite alternate; }
  #ai.is-offscreen .row-light .horizon, #ai.is-offscreen .row-light .rays { animation-play-state: paused; }
  #ai .ai-scene.rv.in { animation: frame-in 1.5s var(--ease-reveal) backwards; }
}
@media (prefers-reduced-motion: reduce) {
  #ai .ai-field .spot { display: none; }
  #ai.is-armed:not(.in) :is(.ai-field > *, .row-light > *) { opacity: 1; }
}
#ai .sect-head { max-width: none; }
#ai .sect-head p { max-width: 1160px; margin-inline: auto; text-wrap: balance; }
#security { margin-top: calc(-1 * var(--page-r)); padding-top: 0; padding-bottom: 0; z-index: 1; }
#security::before {
  content: ''; display: block; height: var(--sect-top);
  background: var(--surface); border-radius: var(--page-r) var(--page-r) 0 0;
}
.trust-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: clamp(1rem, 1.7vw, 1.5625rem); }
.trust-row li {
  display: inline-flex; align-items: center; gap: 9px; min-height: 36px;
  padding: 3px 14px 3px 5px; border-radius: 999px;
  font-size: .875rem; line-height: 1.2; font-weight: 600; letter-spacing: -.005em; color: var(--g-800);
  background: linear-gradient(180deg, #fff, var(--g-50)); border: 1px solid rgba(76,213,127,.30);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 1px 2px rgba(6,40,30,.05), 0 8px 18px -10px rgba(6,40,30,.14);
}
.trust-row svg { width: 14px; height: 14px; flex: none; box-sizing: content-box; padding: 5px; border-radius: 50%; color: var(--g-700); background: var(--g-100); box-shadow: inset 0 0 0 1px rgba(76,213,127,.22); }
.trust-row .nw { white-space: nowrap; }
.section--dark .trust-row li { color: var(--d-fg); background: rgba(255,255,255,.06); border-color: var(--d-line); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.section--dark .trust-row svg { color: var(--g-300); background: rgba(76,213,127,.14); box-shadow: inset 0 0 0 1px rgba(130,226,167,.25); }
@media (max-width: 720px) {
  .trust-row { flex-wrap: nowrap; gap: 6px; }
  .trust-row li {
    gap: 6px; min-height: 28px; font-size: clamp(10.5px, calc(1.4286vw + 5.43px), 12px); line-height: 1.15;
    padding: 3px 9px 3px 3px; box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 1px 2px rgba(6,40,30,.05);
  }
  .trust-row svg { width: 11px; height: 11px; padding: 3.5px; }
}
@media (max-width: 480px) { .trust-row li > span { width: min-content; } }
.delta { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-caption); font-weight: 600; padding: 4px 9px; border-radius: 999px; background: var(--g-100); color: var(--g-700); margin-top: 8px; }
.delta svg { width: 12px; height: 12px; }
.card {
  --card-pad: clamp(1.75rem, 3vw, 2.75rem);
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-lg);
  padding: var(--card-pad);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.card-hover:hover {
  transform: translateY(-4px);
  border-color: var(--g-300);
  box-shadow: 0 2px 4px rgba(6,40,30,.05), 0 26px 48px -22px rgba(6,40,30,.20);
}
.section--alt .card:not(.card--dark) { background: #fff; }
.section--dark .card { background: var(--d-card); border-color: var(--d-line); color: var(--d-fg-soft); }
.section--dark .card-hover:hover { background: rgba(255,255,255,.075); border-color: rgba(255,255,255,.22); box-shadow: none; }
.ai-scene { position: relative; z-index: 1; isolation: isolate; display: flow-root; width: min(var(--frame-w, 1320px), 100%); margin-inline: auto; transform-origin: 50% 0; }
.ai-scene picture { display: block; width: 100%; }
.ai-scene img { display: block; width: 100%; max-width: none; height: auto; margin: -1.220% 0 -4.085%; }
@media (max-width: 900px) {
  .ai-scene picture { width: min(100%, 636px); margin-inline: auto; }
  .ai-scene img { width: 100%; margin: -10% 0 -9.909%; }
}
.ai-scene { width: min(1440px, 100%); }
.ai-scene img { width: 109.333%; margin: -1.333% -4.667% -4.667%; }
@media (max-width: 900px) {
  .ai-scene { width: min(520px, 100%); }
  .ai-scene picture { width: 100%; margin-inline: 0; }
  .ai-scene img { width: 122.222%; margin: -11.111%; }
}
.card h3 { margin-bottom: 10px; }
.card p { font-size: var(--fs-body); line-height: 1.6; }
.card .card-lead { font-weight: 600; color: var(--ink); margin-bottom: 4px; }
.card--dark {
  background:
    radial-gradient(110% 130% at 82% 6%, #14563D 0%, transparent 56%),
    linear-gradient(150deg, #0B3327, #06281E 70%);
  border-color: transparent; overflow: hidden;
}
.card--dark h3 { color: var(--d-fg); }
.card--dark p { color: var(--d-fg-soft); }
.card--dark .ic-box { background: rgba(255,255,255,.10); color: var(--g-300); }
.card--dark .link-arrow { color: var(--g-300); }
.card--dark.card-hover:hover { border-color: var(--g-400); }
.ic-box {
  width: 52px; height: 52px; border-radius: 15px; display: grid; place-items: center;
  background: var(--g-100); color: var(--g-700); margin-bottom: 20px;
}
.card-visual {
  display: block; width: calc(100% + 2 * var(--card-pad)); max-width: none; height: auto;
  margin: calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad)) 8px;
}
.statement-band {
  padding-block: clamp(4rem, 9vw, 7rem) clamp(2.5rem, 5vw, 4rem);
  overflow: hidden;
}
.statement-band .wrap {
  position: relative;
  min-height: clamp(380px, 62vh, 640px);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.statement {
  text-align: center;
  font-size: clamp(3rem, calc(7.22vw - 0.3rem), 6.125rem); line-height: 1.1; font-weight: 700;
  letter-spacing: -.012em; color: var(--ink);
  text-shadow: 0 2px 2px rgba(6,40,30,.10), 0 18px 38px rgba(6,40,30,.16);
}
.statement .accent { text-shadow: none; filter: drop-shadow(0 2px 2px rgba(6,40,30,.10)) drop-shadow(0 18px 38px rgba(6,40,30,.16)); }
.statement--long { font-size: clamp(2.75rem, calc(6.39vw - 0.3rem), 5.4375rem); }
@media (max-width: 720px) { .statement { letter-spacing: -.02em; } }
@media (min-width: 641px) and (max-width: 760px) {
  .statement { font-size: clamp(2.9rem, calc(7.22vw - 0.3rem), 6.125rem); }
  .statement--long { font-size: clamp(2.68rem, calc(6.39vw - 0.3rem), 5.4375rem); }
}
.statement .accent { color: var(--g-600); }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .statement .accent {
    background: linear-gradient(94deg, var(--g-600) 35%, var(--g-700) 115%);
    -webkit-background-clip: text; background-clip: text;
    color: transparent;
  }
}
.statement .hw { transition: opacity .3s var(--ease); }
.statement.js .hw { opacity: .14; }
.statement.js .hw.on { opacity: 1; }
.statement .ln { display: block; perspective: 900px; }
.statement .hw { display: inline-block; padding: .08em .05em .18em; margin: -.08em -.05em -.18em; transform-origin: 50% 100%; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .statement { text-shadow: none; }
  .statement .ln { filter: drop-shadow(0 2px 2px rgba(6,40,30,.10)) drop-shadow(0 18px 38px rgba(6,40,30,.16)); }
  .statement .hw {
    background-image:
      linear-gradient(104deg, transparent 40%, rgba(255,255,255,.26) 50%, transparent 60%),
      linear-gradient(var(--ink), var(--ink));
    -webkit-background-clip: text; background-clip: text; color: transparent; background-repeat: no-repeat;
  }
  .statement .hw.accent {
    background-image:
      linear-gradient(104deg, transparent 40%, rgba(255,255,255,.26) 50%, transparent 60%),
      linear-gradient(94deg, var(--g-600) 35%, var(--g-700) 115%);
    background-repeat: no-repeat; filter: none;
  }
  .section--dark .statement .ln { filter: drop-shadow(0 -1px 0 rgba(255,255,255,.30)) drop-shadow(0 2px 0 rgba(2,17,13,.55)) drop-shadow(0 18px 28px rgba(2,17,13,.55)); }
  .section--dark .statement .hw {
    background-image:
      linear-gradient(104deg, transparent 40%, rgba(255,255,255,.26) 50%, transparent 60%),
      linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 18%, #AEBDB5 100%);
  }
  .section--dark .statement .hw.accent {
    background-image:
      linear-gradient(104deg, transparent 40%, rgba(255,255,255,.26) 50%, transparent 60%),
      linear-gradient(94deg, var(--g-200) 20%, var(--g-400) 100%);
    background-repeat: no-repeat;
  }
  @media (max-width: 720px) {
    .section--dark .statement .ln { filter: drop-shadow(0 -1px 0 rgba(255,255,255,.28)) drop-shadow(0 1px 0 rgba(2,17,13,.5)) drop-shadow(0 10px 18px rgba(2,17,13,.5)); }
  }
}
#contact .card { display: flex; flex-direction: column; align-items: flex-start; }
#contact .card-visual { align-self: stretch; }
main img:not(.rv) { transition: opacity .6s var(--ease); }
main img.is-loading:not(.rv) { opacity: 0; }
@media (prefers-reduced-motion: reduce) { main img:not(.rv) { transition: none; } }
#contact .sect-head { max-width: none; }
#contact .sect-head p { max-width: 960px; margin-inline: auto; }
#problem .sect-head.center .eyebrow::after, #contact .sect-head.center .eyebrow::after, #ai .sect-head.center .eyebrow::after, #features .sect-head.center .eyebrow::after { margin-left: -.16em; }
#contact .statement { padding-right: .015em; }
@media (min-width: 660px) { #problem .statement { padding-left: .042em; } }
@media (min-width: 700px) { #ai .statement .ln + .ln { padding-left: .034em; } }
@media (min-width: 721px) { #features .statement { padding-left: .02em; } }
#contact .card p b { font-weight: 600; color: var(--ink); }
#contact .card-close { margin-top: 18px; margin-bottom: 14px; }
#contact .card--dark p b { color: var(--d-fg); }
#contact .link-arrow { margin-top: auto; }
#problem, #contact {
  --frame-w: 1320px;
  --ease-reveal: cubic-bezier(.16, 1, .3, 1);
}
#problem .grid, #contact .grid { width: min(var(--frame-w), 100%); margin-inline: auto; }
#problem .card--dark, #contact .card--dark {
  --card-pad: clamp(1.625rem, 2.8vw, 2.5rem);
  --cw: calc((min(var(--frame-w), 100vw - 2 * var(--gutter)) - 2 * var(--card-gap)) / 3);
  --glow-y: max(-30px, var(--cw) * -0.0676); --glow-b: min(110px, var(--cw) * 0.2477); --glow-s: max(-24px, var(--cw) * -0.0541);
  --long-y: min(70px, var(--cw) * 0.1367);   --long-b: min(120px, var(--cw) * 0.2344); --long-s: max(-40px, var(--cw) * -0.0781);
  position: relative; overflow: hidden; isolation: isolate;
  border: 1px solid rgba(184,240,207,.2); border-radius: var(--r-lg);
  color: var(--d-fg-soft);
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,0) 40%),
    radial-gradient(110% 130% at 82% 6%, #14563D 0%, transparent 56%),
    linear-gradient(150deg, #0B3327, #06281E 70%);
  box-shadow:
    0 0 0 1px rgba(2,17,13,.65),
    0 var(--glow-y) var(--glow-b) var(--glow-s) rgba(98,218,143,.20),
    0 2px 4px rgba(2,17,13,.35),
    0 18px 40px -12px rgba(2,17,13,.45),
    0 var(--long-y) var(--long-b) var(--long-s) rgba(2,17,13,.52),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 0 0 1px rgba(255,255,255,.03);
}
#problem .card--dark::before, #contact .card--dark::before {
  content: ''; position: absolute; left: 10%; right: 10%; top: 0; height: 1px; z-index: 3;
  background: linear-gradient(90deg, transparent, rgba(184,240,207,.85) 50%, transparent); pointer-events: none;
}
#problem .card--dark.card-hover:hover, #contact .card--dark.card-hover:hover {
  transform: translateY(-4px); border-color: rgba(184,240,207,.34);
  box-shadow:
    0 0 0 1px rgba(2,17,13,.65),
    0 var(--glow-y) var(--glow-b) var(--glow-s) rgba(98,218,143,.24),
    0 4px 8px rgba(2,17,13,.35),
    0 22px 46px -12px rgba(2,17,13,.48),
    0 calc(var(--long-y) * 1.143) calc(var(--long-b) * 1.083) var(--long-s) rgba(2,17,13,.55),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 0 0 1px rgba(255,255,255,.03);
}
#contact .card--dark:focus-visible {
  box-shadow: 0 0 0 3px var(--surface), 0 0 0 5px var(--g-500), 0 2px 4px rgba(2,17,13,.35), 0 18px 40px -12px rgba(2,17,13,.45);
}
#problem .card > *, #contact .card > * { position: relative; z-index: 1; }
#problem .frame-sweep, #contact .frame-sweep {
  position: absolute; left: 0; right: 0; top: 0; height: 1px; pointer-events: none; z-index: 2; opacity: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(230,249,239,0) 30%, rgba(230,249,239,.95) 50%, rgba(230,249,239,0) 70%, transparent 100%);
  background-size: 50% 100%; background-repeat: no-repeat; background-position: -60% 0;
}
#problem .card-field, #contact .card-field { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; border-radius: inherit; }
#problem .card-field .spot, #contact .card-field .spot {
  position: absolute; left: 0; top: 0; width: 460px; height: 460px; margin: -230px 0 0 -230px;
  border-radius: 50%; opacity: 0;
  background: radial-gradient(closest-side, rgba(130,226,167,.12), rgba(130,226,167,.045) 50%, transparent 100%);
  transition: opacity 1.2s var(--ease); will-change: transform;
}
#problem .card.has-spot .spot, #contact .card.has-spot .spot { opacity: 1; }
@media (hover: none), (pointer: coarse) { #problem .card-field .spot, #contact .card-field .spot { display: none; } }
#problem .card h3, #contact .card h3 { text-shadow: 0 1px 0 rgba(2,17,13,.30), 0 8px 18px rgba(2,17,13,.30); }
#contact .card--dark p b { text-shadow: 0 1px 0 rgba(2,17,13,.30), 0 8px 18px rgba(2,17,13,.30); }
#problem .card p, #contact .card p { text-wrap: pretty; }
#contact .link-arrow { transition: color .2s var(--ease); }
#contact .card:hover .link-arrow { color: var(--g-200); }
#contact .card:hover .link-arrow svg { transform: translate(2px, -2px); }
#problem .card.rv, #contact .card.rv {
  transition: opacity 1.1s var(--ease-reveal), translate 1.1s var(--ease-reveal),
              transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
#problem .card > .card-visual, #contact .card > .card-visual { --i: 0; }
#problem .card > h3, #contact .card > h3 { --i: 1; }
#problem .card > p:not(.card-close), #contact .card > p:not(.card-close) { --i: 2; }
#contact .card > .card-close { --i: 3; }
#contact .card > .link-arrow { --i: 4; }
@media (prefers-reduced-motion: no-preference) {
  #problem .card.in > :is(.card-visual, h3, p, .link-arrow), #contact .card.in > :is(.card-visual, h3, p, .link-arrow) { animation: rise-in .7s var(--ease) backwards; animation-delay: calc(150ms + var(--i, 0) * 70ms); }
  #problem .card.in .frame-sweep, #contact .card.in .frame-sweep { animation: v11-sweep 2.4s cubic-bezier(.45, 0, .2, 1) 900ms 1; }
}
@media (prefers-reduced-motion: reduce) {
  #problem .card-field .spot, #contact .card-field .spot { display: none; }
}
#problem .swipe-dots, #contact .swipe-dots { display: none; position: relative; justify-content: center; gap: 4px; margin-top: 14px; }
#problem .swipe-dots button, #contact .swipe-dots button {
  width: 32px; height: 32px; display: grid; place-items: center; padding: 0; border: 0;
  border-radius: 50%; background: none; cursor: pointer;
}
#problem .swipe-dots button:focus-visible, #contact .swipe-dots button:focus-visible { outline: 2px solid var(--g-500); outline-offset: -2px; }
#problem .swipe-dots span, #contact .swipe-dots span {
  display: block; width: 8px; height: 8px; border-radius: 999px; background: var(--g-800);
  transition: width .25s var(--ease);
}
#problem .swipe-dots [aria-current="true"] span, #contact .swipe-dots [aria-current="true"] span { width: 22px; }
@media (max-width: 900px) {
  #problem .grid, #contact .grid {
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    width: auto; margin: -120px calc(-1 * var(--gutter)) -170px; padding: 120px var(--gutter) 170px;
    scroll-padding-inline: var(--gutter); -webkit-overflow-scrolling: touch;
  }
  #problem .grid::-webkit-scrollbar, #contact .grid::-webkit-scrollbar { display: none; }
  #problem .grid > .card, #contact .grid > .card { flex: 0 0 calc(50% - var(--card-gap) / 2); min-width: 0; scroll-snap-align: start; }
  #problem .card--dark, #contact .card--dark { --cw: calc((100vw - 2 * var(--gutter) - var(--card-gap)) / 2); }
  #problem .swipe-dots, #contact .swipe-dots { display: flex; }
}
@media (max-width: 620px) {
  #problem .grid > .card, #contact .grid > .card { flex-basis: 100%; }
  #problem .card--dark, #contact .card--dark { --cw: calc(100vw - 2 * var(--gutter)); }
}
.scrolly { max-width: 1440px; margin-inline: auto; }
.scrolly-steps { list-style: none; margin: 0; padding: 0; position: relative; }
.scrolly-step { position: relative; }
.scrolly-copy { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 18px; align-items: center; }
.scrolly-n { grid-column: 1 / -1; font-size: .8125rem; font-weight: 600; letter-spacing: .16em; color: var(--g-700); margin-bottom: 16px; }
.scrolly-copy .ic-box { margin: 0; grid-row: 1 / span 2; transition: background-color .35s var(--ease), color .35s var(--ease), box-shadow .35s var(--ease); }
.scrolly:not(.scrolly--privacy) .scrolly-copy { column-gap: 28px; }
.scrolly:not(.scrolly--privacy) .scrolly-copy .ic-box { background: radial-gradient(110% 130% at 82% 6%, #14563D 0%, transparent 56%), linear-gradient(150deg, #0B3327, #06281E 70%); color: var(--g-300); box-shadow: inset 0 1px 0 rgba(255,255,255,.10); }
.scrolly-copy h3 { font-size: clamp(1.5rem, 2vw, 1.875rem); letter-spacing: -.02em; line-height: 1.15; align-self: end; }
.scrolly-copy p { font-size: 1.125rem; line-height: 1.4; color: var(--ink-faint); margin-top: 5px; align-self: start; }
.scrolly-pic { position: relative; margin-top: 1.75rem; display: flow-root; }
.scrolly-pic::before, .scrolly-stage-inner::before {
  content: ""; position: absolute; inset: 0; border-radius: var(--r-xl); pointer-events: none;
  box-shadow: 0 10px 24px rgba(6,40,30,.12), 0 48px 96px -18px rgba(6,40,30,.36), 0 30px 70px -24px rgba(130,226,167,.30);
}
.scrolly-stage-inner::before { display: none; }
.scrolly-pic img { display: block; width: 114.583%; max-width: none; height: auto; margin: -5.208% -7.292%; }
.feat-visual-link { position: absolute; left: 4%; top: 88%; width: 18%; height: 8%; border-radius: 8px; }
.scrolly-step { max-width: 880px; margin-inline: auto; }
.scrolly-step + .scrolly-step { margin-top: clamp(3rem, 6vw, 4.5rem); }
@media (max-width: 620px) {
  .scrolly-step { max-width: 480px; }
  .scrolly-pic img { width: 126.667%; margin: -9.524% -13.333%; }
  .feat-visual-link { left: 7%; top: 92%; width: 30%; height: 5%; }
}
@media (min-width: 1100px) {
  .scrolly.is-js { display: grid; grid-template-columns: minmax(0, .58fr) minmax(0, 1fr); gap: clamp(2.5rem, 5vw, 5rem); align-items: start; }
  .scrolly.is-js .scrolly-step { max-width: none; margin: 0; min-height: 52vh; display: flex; align-items: center; padding-left: 36px; }
  .scrolly.is-js .scrolly-step + .scrolly-step { margin-top: 0; }
  .scrolly.is-js .scrolly-steps { padding: 4vh 0 22vh; }
  .scrolly.is-js .scrolly-steps::before,
  .scrolly.is-js .scrolly-steps::after { content: ""; position: absolute; left: 5px; top: var(--rail-top, 0px); width: 2px; border-radius: 1px; }
  .scrolly.is-js .scrolly-steps::before { height: calc(var(--rail-end, 0px) - var(--rail-top, 0px)); background: var(--line); }
  .scrolly.is-js .scrolly-steps::after { height: calc(var(--rail, 0px) - var(--rail-top, 0px)); background: linear-gradient(180deg, var(--g-400), var(--g-500)); transition: height .7s var(--ease); }
  .scrolly.is-js .scrolly-step::before {
    content: ""; position: absolute; left: 0; top: 50%; width: 12px; height: 12px; margin-top: -6px; border-radius: 50%;
    background: #fff; border: 2px solid var(--line-strong, #D2E5DA); z-index: 1;
    transition: background-color .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
  }
  .scrolly.is-js .scrolly-step.is-done::before,
  .scrolly.is-js .scrolly-step.is-active::before { background: var(--g-500); border-color: var(--g-500); }
  .scrolly.is-js .scrolly-step.is-active::before { box-shadow: 0 0 0 5px var(--g-100); }
  .scrolly.is-js .scrolly-copy { opacity: .36; transition: opacity .45s var(--ease); }
  .scrolly.is-js .scrolly-step.is-active .scrolly-copy { opacity: 1; }
  .scrolly.is-js .scrolly-step.is-active .ic-box { background: radial-gradient(110% 130% at 82% 6%, #14563D 0%, transparent 56%), linear-gradient(150deg, #0B3327, #06281E 70%); color: var(--g-300); }
  .scrolly.is-js:not(.scrolly--privacy) .scrolly-step.is-active .ic-box { box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 0 0 6px #fff, 0 0 0 7px var(--g-300); }
  .scrolly-stage { position: sticky; top: calc(68px + 2rem); }
  .scrolly-stage-inner { position: relative; aspect-ratio: 768 / 680; width: min(100%, calc((100vh - 68px - 5rem) * 1.1294)); margin-inline: auto; }
  .scrolly.is-js .scrolly-pic { position: absolute; inset: 0; margin: 0; opacity: 0; transform: translateY(24px) scale(.98); pointer-events: none;
    transition: opacity 0s linear .75s, transform 0s linear .75s; }
  .scrolly.is-js .scrolly-pic.is-active { opacity: 1; transform: none; pointer-events: auto; z-index: 1;
    transition: opacity .6s var(--ease), transform .75s var(--ease); }
  .scrolly.is-js .scrolly-pic::before { display: none; }
  .scrolly.is-js .scrolly-stage-inner::before { display: block; }
  @media (prefers-reduced-motion: reduce) {
    .scrolly.is-js .scrolly-pic, .scrolly.is-js .scrolly-pic.is-active { transform: none; transition: none; }
    .scrolly.is-js .scrolly-steps::after, .scrolly.is-js .scrolly-copy, .scrolly.is-js .scrolly-step::before { transition: none; }
  }
}
#features .sect-head { margin-bottom: clamp(1.75rem, 2.8vw, 2.5rem); }
#features .scrolly { position: relative; z-index: 2; width: min(var(--frame-w, 1320px), 100%); max-width: none; margin-inline: auto; --gap: clamp(2.5rem, 5vw, 5rem); }
#features .scrolly-copy { grid-template-columns: 64px minmax(0, 1fr); column-gap: 28px; align-items: center; }
#features .scrolly-copy h3 {
  font-size: clamp(1.5rem, 2vw, 1.875rem); line-height: 1.15; letter-spacing: -.022em; font-weight: 600; color: var(--ink);
  align-self: end; text-wrap: balance;
  text-shadow: 0 1px 1px rgba(6,40,30,.06), 0 10px 24px rgba(6,40,30,.08);
}
#features .scrolly-copy p { font-size: 1.125rem; line-height: 1.4; letter-spacing: -.004em; font-weight: 500; color: var(--ink-faint); margin-top: 5px; align-self: start; }
#features .scrolly-copy .ic-box {
  grid-column: 1; grid-row: 1 / span 2; width: 64px; height: 64px; border-radius: 19px; display: grid; place-items: center; margin: 0;
  background: radial-gradient(110% 130% at 82% 6%, #14563D 0%, transparent 56%), linear-gradient(150deg, #0B3327, #06281E 70%);
  color: var(--g-300); position: relative; z-index: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 0 0 6px #fff, 0 0 0 7px var(--line);
  transition: color .35s var(--ease), box-shadow .35s var(--ease);
}
#features .scrolly-copy .ic-box svg { width: 26px; height: 26px; }
@media (max-width: 720px) {
  #features .scrolly-copy { grid-template-columns: 52px minmax(0, 1fr); column-gap: 20px; }
  #features .scrolly-copy .ic-box { width: 52px; height: 52px; border-radius: 16px; }
  #features .scrolly-copy .ic-box svg { width: 23px; height: 23px; }
}
#features .scrolly-pic {
  position: relative; margin-top: clamp(1.5rem, 2.6vw, 1.75rem); display: flow-root; isolation: isolate;
  width: calc(100% / 1.0729);
  --cw: calc(min(var(--frame-w, 1320px), 100vw - 2 * var(--gutter)) / 1.0729);
  --win-r: calc(var(--cw) * .039);
}
#features .scrolly-pic img { position: relative; z-index: 1; transition: opacity .6s var(--ease); }
#features .feat-visual-link { z-index: 4; }
#features .feat-visual-link:focus-visible { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--g-500); }
#features .scrolly-pic::before, #features .scrolly-stage-inner::before {
  --glow-y: max(-30px, var(--cw) * -0.0676); --glow-b: min(110px, var(--cw) * 0.2477); --glow-s: max(-24px, var(--cw) * -0.0541);
  --long-y: min(70px, var(--cw) * 0.1367);   --long-b: min(120px, var(--cw) * 0.2344); --long-s: max(-40px, var(--cw) * -0.0781);
  content: ""; position: absolute; inset: -1px; border-radius: calc(var(--win-r) + 1px); pointer-events: none; z-index: 0;
  border: 1px solid rgba(130,226,167,.5);
  background: linear-gradient(90deg, transparent 12%, rgba(130,226,167,.9) 50%, transparent 88%) 50% 0 / 100% 1px no-repeat border-box;
  box-shadow:
    0 var(--glow-y) var(--glow-b) var(--glow-s) rgba(98,218,143,.28),
    0 2px 4px rgba(2,17,13,.35),
    0 18px 40px -12px rgba(2,17,13,.55),
    0 var(--long-y) var(--long-b) var(--long-s) rgba(2,17,13,.65);
}
#features .frame-sweep {
  position: absolute; left: 0; right: 0; top: -1px; height: 1px; pointer-events: none; z-index: 0; opacity: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(184,240,207,0) 30%, rgba(130,226,167,.95) 50%, rgba(184,240,207,0) 70%, transparent 100%);
  background-size: 50% 100%; background-repeat: no-repeat; background-position: -60% 0;
}
#features .scrolly-step { max-width: none; margin-inline: auto; }
#features .scrolly-step + .scrolly-step { margin-top: clamp(3.25rem, 6.5vw, 5rem); }
@media (max-width: 620px) {
  #features .scrolly-step { max-width: 480px; }
  #features .scrolly-pic { width: 100%; --cw: min(480px, calc(100vw - 2 * var(--gutter))); --win-r: calc(var(--cw) * .0714); }
  #features .scrolly-copy p { font-size: 1.0625rem; margin-top: 4px; }
}
@media (min-width: 1100px) {
  #features .scrolly.is-js { gap: var(--gap); }
  #features .scrolly.is-js .scrolly-step { padding-left: 36px; }
  #features .scrolly.is-js .scrolly-step + .scrolly-step { margin-top: 0; }
  #features .scrolly.is-js .scrolly-copy { opacity: 1; }
  #features .scrolly.is-js .scrolly-copy > :not(.ic-box) { opacity: .36; transition: opacity .45s var(--ease); }
  #features .scrolly.is-js .scrolly-step.is-active .scrolly-copy > :not(.ic-box) { opacity: 1; }
  #features .scrolly.is-js .scrolly-copy .ic-box { box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 0 0 6px #fff, 0 0 0 7px #F5F9F7; }
  #features .scrolly.is-js .scrolly-copy .ic-box::after {
    content: ""; position: absolute; inset: 0; border-radius: inherit; background: #fff;
    opacity: .64; pointer-events: none; transition: opacity .45s var(--ease);
  }
  #features .scrolly.is-js .scrolly-step.is-active .scrolly-copy .ic-box::after { opacity: 0; }
  #features .scrolly.is-js .scrolly-step.is-active .ic-box { color: var(--g-300); box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 0 0 6px #fff, 0 0 0 7px var(--g-300); }
  #features .scrolly-stage { top: max(calc(68px + 2rem), calc((100vh - var(--stage-h, 60vh)) / 2)); }
  #features .scrolly-stage-inner {
    isolation: isolate; margin-inline: auto 0;
    --cw: min(calc((min(var(--frame-w, 1320px), 100vw - 2 * var(--gutter)) - var(--gap)) / 1.58), calc((100vh - 68px - 5rem) * 1.1294));
    --win-r: calc(var(--cw) * .039);
  }
  #features .scrolly.is-js .scrolly-pic { position: absolute; inset: 0; margin: 0; width: auto; isolation: auto; }
  #features .scrolly.is-js .scrolly-pic::before { display: none; }
  #features .scrolly.is-js .scrolly-stage-inner::before { display: block; }
  @media (prefers-reduced-motion: reduce) {
    #features .scrolly.is-js .scrolly-copy > :not(.ic-box), #features .scrolly-copy .ic-box, #features .scrolly.is-js .scrolly-copy .ic-box::after { transition: none; }
  }
}
#features .scrolly:not(.is-js) .scrolly-stage { display: none; }
@media (prefers-reduced-motion: no-preference) {
  #features.is-armed:not(.in) .scrolly.is-js :is(.scrolly-stage-inner, .scrolly-step) { opacity: 0; }
  #features.is-armed:not(.in) .scrolly.is-js .scrolly-steps::before { opacity: 0; }
  #features.in .scrolly.is-js .scrolly-stage-inner { animation: feat-frame-in 1.5s var(--ease-reveal, cubic-bezier(.16, 1, .3, 1)) 500ms backwards; transform-origin: 50% 0; }
  #features.in .scrolly.is-js .scrolly-step { animation: feat-rise 1.1s var(--ease-reveal, cubic-bezier(.16, 1, .3, 1)) backwards; animation-delay: calc(760ms + var(--i, 0) * 110ms); }
  #features.in .scrolly.is-js .scrolly-steps::before { animation: feat-fade 1.4s var(--ease) 900ms backwards; }
  #features.in .scrolly.is-js .scrolly-pic.is-active .frame-sweep { animation: feat-sweep 2.4s cubic-bezier(.45, 0, .2, 1) 1s 1; }
  #features.is-armed .scrolly:not(.is-js) .scrolly-step:not(.in) :is(.scrolly-copy, .scrolly-pic) { opacity: 0; }
  #features.is-armed .scrolly:not(.is-js) .scrolly-step.in .scrolly-copy { animation: feat-rise 1.1s var(--ease-reveal, cubic-bezier(.16, 1, .3, 1)) backwards; }
  #features.is-armed .scrolly:not(.is-js) .scrolly-step.in .scrolly-pic { animation: feat-rise 1.2s var(--ease-reveal, cubic-bezier(.16, 1, .3, 1)) 140ms backwards; }
  #features.is-armed .scrolly:not(.is-js) .scrolly-step.in .frame-sweep { animation: feat-sweep 2.4s cubic-bezier(.45, 0, .2, 1) 900ms 1; }
}
@keyframes feat-fade { from { opacity: 0; } }
@keyframes feat-rise { from { opacity: 0; translate: 0 18px; } }
@keyframes feat-frame-in { from { opacity: 0; transform: translateY(40px) perspective(1400px) rotateX(4deg) scale(.985); } }
@keyframes feat-sweep {
  0%   { opacity: 0; background-position: 50% 0; background-size: 0% 100%; }
  15%  { opacity: 1; }
  100% { opacity: 0; background-position: 50% 0; background-size: 140% 100%; }
}
.side-card { display: flex; gap: 16px; align-items: flex-start; }
.side-card .ic-box {
  margin: 0; flex: none; width: 44px; height: 44px; border-radius: 13px;
  background: linear-gradient(180deg, var(--g-100), var(--g-50));
  box-shadow: inset 0 0 0 1px rgba(76,213,127,.28), inset 0 1px 0 rgba(255,255,255,.85);
}
.side-card .ic-box svg { width: 21px; height: 21px; }
.side-card {
  box-shadow: 0 1px 2px rgba(6,40,30,.04), 0 10px 26px -14px rgba(6,40,30,.10);
  transition: transform .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.side-card:hover {
  transform: translateY(-2px); border-color: var(--g-300);
  box-shadow: 0 2px 4px rgba(6,40,30,.05), 0 18px 36px -16px rgba(6,40,30,.16);
}
.ic-box svg { width: 25px; height: 25px; }
.section--dark .ic-box { background: rgba(76,213,127,.14); color: var(--g-300); }
.stats { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.section--dark .stats { background: var(--d-line); border-color: var(--d-line); }
@media (max-width: 760px) { .stats { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.stat { background: var(--surface); padding: clamp(1.25rem,2.6vw,1.75rem); }
.section--alt .stat { background: #fff; }
.section--dark .stat { background: var(--d-bg); }
.stat-val { font-size: clamp(1.625rem, 3.4vw, 2.125rem); font-weight: 700; color: var(--ink); letter-spacing: -.03em; line-height: 1.1; }
.section--dark .stat-val { color: #fff; }
.stat-lbl { font-size: var(--fs-body-2); margin-top: 7px; line-height: 1.45; }
.stat-note { font-size: var(--fs-caption); color: var(--ink-faint); margin-top: 5px; }
.section--dark .stat-note { color: var(--d-fg-faint); }
#product {
  --frame-w: 1320px;
  --ease-reveal: cubic-bezier(.16, 1, .3, 1);
  overflow: clip;
  background: linear-gradient(180deg, var(--g-950) 0%, var(--g-900) 46%, #082E23 100%);
}
#product .product-field { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
#product .product-field .bloom { position: absolute; border-radius: 50%; aspect-ratio: 1; }
#product .product-field .bloom-a { width: max(760px, 58vw); left: -14%; top: -24%; background: radial-gradient(circle, rgba(33,107,70,.26), transparent 64%); }
#product .product-field .bloom-b { width: max(640px, 50vw); right: -12%; top: -14%; background: radial-gradient(circle, rgba(15,61,46,.5), transparent 66%); }
#product .product-field .vignette { position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% 32%, transparent 34%, rgba(4,26,20,.38) 70%, rgba(4,26,20,.86) 100%); }
#product .product-field .spot {
  position: absolute; left: 0; top: 0; width: 760px; height: 760px; margin: -380px 0 0 -380px;
  border-radius: 50%; opacity: 0;
  background: radial-gradient(closest-side, rgba(130,226,167,.13), rgba(130,226,167,.05) 50%, transparent 100%);
  transition: opacity 1.2s var(--ease); will-change: transform;
}
#product.has-spot .spot { opacity: 1; }
@media (hover: none), (pointer: coarse) { #product .product-field .spot { display: none; } }
#product .wrap { position: relative; z-index: 1; }
#product .tabs-wrap { display: block; }
#product .tabs-scroll {
  text-align: center; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -ms-overflow-style: none;
  scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
  padding: 6px 0 14px; margin: -6px 0 -14px;
}
#product .tabs-scroll::-webkit-scrollbar { display: none; }
@media (min-width: 941px) { #product .tabs-scroll { overflow: visible; } }
#product .tabs {
  display: inline-flex; vertical-align: top; width: max-content; gap: 4px; padding: 4px; margin: 0; text-align: left;
  border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid var(--d-line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 18px 40px -22px rgba(2,17,13,.75);
}
#product .tab {
  display: inline-flex; align-items: center; gap: 9px; height: 44px; min-height: 0; padding: 0 18px;
  border: 0; border-radius: 999px; background: transparent; color: rgba(255,255,255,.80);
  font-size: 1rem; font-weight: 500; letter-spacing: -.005em; white-space: nowrap; cursor: pointer;
  scroll-snap-align: start; box-shadow: none;
  transition: background-color .25s var(--ease), color .25s var(--ease),
              transform .18s var(--ease), box-shadow .18s var(--ease);
}
#product .tab svg { width: 18px; height: 18px; flex: none; }
#product .tab:hover { color: var(--g-400); border-color: transparent; }
#product .tab[aria-selected="true"] {
  background: linear-gradient(180deg, var(--g-400), var(--g-500)); border-color: transparent; color: var(--accent-ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 1px 2px rgba(6,40,30,.18);
}
#product .tab[aria-selected="true"]:hover {
  background: linear-gradient(180deg, var(--g-300), var(--g-400)); color: var(--accent-ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 8px 24px -6px rgba(76,213,127,.55);
  transform: translateY(-1px);
}
#product .tab[aria-selected="true"]:active { transform: translateY(0); }
#product .tab:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--g-900), 0 0 0 4px var(--g-300); border-radius: 999px; }
@media (max-width: 760px) {
  #product .tabs-scroll {
    text-align: left; width: calc(100% + 2 * var(--gutter));
    margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter);
    scroll-padding-inline: var(--gutter);
  }
}
@media (max-width: 620px) {
  #product .tab { height: 42px; padding: 0 15px; gap: 8px; font-size: .9375rem; }
  #product .tab svg { width: 17px; height: 17px; }
}
#product .tour-seat { margin-top: clamp(1.75rem, 2.8vw, 2.5rem); }
#product .tour-desk { position: relative; width: min(var(--frame-w), 100%); margin-inline: auto; }
#product .tour-frame {
  --pad-x: clamp(20px, 3.3vw, 48px);
  --pad-y: clamp(22px, 3vw, 44px);
  position: relative; z-index: 1; isolation: isolate; overflow: clip;
  border-radius: var(--r-lg); border: 1px solid rgba(184,240,207,.2);
  background: linear-gradient(180deg, #0C3729 0%, #082B20 60%, #07271D 100%);
  box-shadow:
    0 0 0 1px rgba(2,17,13,.65),
    0 -30px 110px -24px rgba(98,218,143,.38),
    0 2px 4px rgba(2,17,13,.35),
    0 18px 40px -12px rgba(2,17,13,.55),
    0 70px 120px -40px rgba(2,17,13,.65),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 0 0 1px rgba(255,255,255,.03);
}
#product .tour-frame::before { content: ''; position: absolute; left: 10%; right: 10%; top: 0; height: 1px; z-index: 3; background: linear-gradient(90deg, transparent, rgba(184,240,207,.85) 50%, transparent); pointer-events: none; }
#product .frame-sweep {
  position: absolute; left: 0; right: 0; top: 0; height: 1px; pointer-events: none; z-index: 2; opacity: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(230,249,239,0) 30%, rgba(230,249,239,.95) 50%, rgba(230,249,239,0) 70%, transparent 100%);
  background-size: 50% 100%; background-repeat: no-repeat; background-position: -60% 0;
}
#product .tour-panels { position: relative; padding: var(--pad-y) var(--pad-x); }
#product .tour { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 2.5rem); align-items: center; margin-top: 0; max-width: none; }
@media (min-width: 1024px) {
  #product .tour { grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); gap: clamp(2.5rem, 5vw, 4.5rem); }
  #product .tour > .tour-copy { order: 2; padding-left: 0; }
}
#product .tour-stage { position: relative; min-width: 0; aspect-ratio: 604 / 540; }
#product .tour-visual { position: absolute; top: -8.889%; left: -7.947%; width: 115.894%; max-width: none; height: auto; margin: 0; }
#product .tour-copy { min-width: 0; }
#product .tour-copy h3 {
  font-size: clamp(1.625rem, 2.42vw, 2.25rem); line-height: 1.15; letter-spacing: -.022em; font-weight: 600; color: #fff;
  text-shadow: 0 1px 0 rgba(2,17,13,.35), 0 10px 24px rgba(2,17,13,.45); text-wrap: balance;
}
#product .tour-list { margin-top: clamp(1.125rem, 1.7vw, 1.5rem); display: grid; gap: 0; }
#product .tour-list li {
  display: flex; align-items: flex-start; gap: 13px; padding: clamp(11px, 1vw, 14px) 0;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: clamp(1.0625rem, 1.32vw, 1.1875rem); line-height: 1.5; letter-spacing: -.004em; color: rgba(255,255,255,.84);
  text-wrap: pretty;
}
#product .tour-list li:last-child { padding-bottom: 0; }
#product .tour-list svg { width: 22px; height: 22px; color: var(--g-400); flex: none; margin-top: 3px; }
.tour-panel[hidden] { display: none; }
.fade-in { animation: fade .38s var(--ease) both; }
@keyframes fade { from { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) { .fade-in { animation: none; } }
@media (max-width: 1023px) {
  #product .tour-stage { width: 100%; max-width: 700px; margin-inline: auto; }
  #product .tour-frame { --pad-x: clamp(20px, 4.4vw, 36px); --pad-y: clamp(22px, 4.2vw, 36px); }
}
@media (max-width: 620px) {
  #product .tour-frame { --pad-x: 20px; --pad-y: 22px; }
  #product .tour { gap: 1.375rem; }
  #product .tour-list li { gap: 11px; }
  #product .tour-list svg { width: 20px; height: 20px; margin-top: 3px; }
}
#product.is-armed:not(.in) :is(.product-field > *, .row-light > *) { opacity: 0; }
#product .tour-frame.rv { transition: opacity 1.1s var(--ease-reveal), translate 1.1s var(--ease-reveal); }
@media (prefers-reduced-motion: no-preference) {
  #product.in .product-field .bloom, #product.in .product-field .vignette { animation: bloom-in 1.6s ease-out backwards; }
  #product.in .row-light .horizon { animation: halo-breathe 11s ease-in-out 2.55s infinite alternate, v11-horizon 2.4s var(--ease-reveal) 150ms backwards; }
  #product.in .row-light .rays { animation: v11-rays-in 2.8s var(--ease-reveal) 700ms backwards, v11-rays-sway 22s ease-in-out 3.5s infinite alternate; }
  #product.is-offscreen .row-light .horizon, #product.is-offscreen .row-light .rays { animation-play-state: paused; }
  #product .tour-frame.in .frame-sweep { animation: v11-sweep 2.4s cubic-bezier(.45, 0, .2, 1) 900ms 1; }
  #product .tour-frame.in:not(.is-entered) .tour-panel > * { animation: rise-in .8s var(--ease) backwards; animation-delay: calc(250ms + var(--i, 0) * 120ms); }
}
@media (prefers-reduced-motion: reduce) {
  #product .product-field .spot { display: none; }
  #product.is-armed:not(.in) :is(.product-field > *, .row-light > *) { opacity: 1; }
}
.yes, .no { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; }
.yes { background: var(--g-500); color: var(--g-800); }
.no  { background: var(--surface-3); color: var(--ink-faint); }
.yes svg, .no svg { width: 13px; height: 13px; }
#pricing { padding: 0; }
#pricing::before, #pricing::after {
  content: ''; display: block; position: relative; z-index: 1; inset: auto; width: auto;
  pointer-events: none; background: var(--surface);
}
#pricing::before { height: var(--sect-bot); border-radius: 0 0 var(--page-r) var(--page-r); margin-bottom: calc(-1 * var(--page-r)); }
#pricing::after  { height: var(--sect-top); border-radius: var(--page-r) var(--page-r) 0 0; margin-top: calc(-1 * var(--page-r)); }
#contact { padding-top: 0; }
#waitlist { padding-top: 0; }
@media (max-width: 600px) { #waitlist { padding-bottom: 5rem; } }
main {
  --glow-y: calc(var(--sect-top) + clamp(6rem, 10.7vw, 9.625rem));
  --glow-rx: min(760px, 56vw);
  --glow: rgba(130,226,167,.08) 0%, rgba(130,226,167,.0737) 20%, rgba(130,226,167,.0564) 40%, rgba(130,226,167,.0389) 55%,
          rgba(130,226,167,.0208) 70%, rgba(130,226,167,.0062) 85%, rgba(130,226,167,0) 100%;
}
#problem { background: radial-gradient(var(--glow-rx) var(--glow-y) at 50% calc(var(--glow-y) - var(--sect-bot) + var(--page-r)), var(--glow)), var(--surface); }
#features { background: radial-gradient(var(--glow-rx) var(--glow-y) at 50% var(--glow-y), var(--glow)), var(--surface); }
#security { background: radial-gradient(var(--glow-rx) var(--glow-y) at 50% var(--glow-y), var(--glow)); border-radius: var(--page-r) var(--page-r) 0 0; }
#security::before { background: radial-gradient(var(--glow-rx) var(--glow-y) at 50% var(--glow-y), var(--glow)), var(--surface); }
#pricing::after { background: radial-gradient(var(--glow-rx) var(--glow-y) at 50% var(--glow-y), var(--glow)), var(--surface); }
#contact { background: radial-gradient(var(--glow-rx) var(--glow-y) at 50% calc(var(--glow-y) - var(--sect-top)), var(--glow)); }
#pricing { --head-gap: clamp(1.25rem, 2.1vw, 1.875rem); }
#pricing .sect-head { margin-bottom: var(--head-gap); max-width: none; }
#pricing .sect-head p { max-width: 960px; margin-inline: auto; }
.band {
  padding-top: calc(var(--sect-top) + var(--page-r));
  padding-bottom: calc(var(--sect-bot) + var(--page-r));
}
.bill-toggle {
  display: flex; width: max-content; margin: 0 auto var(--head-gap);
  padding: 4px; border-radius: 999px;
  background: rgba(255,255,255,.08); border: 1px solid var(--d-line);
}
.bill-toggle button {
  font: inherit; font-size: 1rem; font-weight: 600; letter-spacing: -.005em;
  padding: 0 22px; height: 44px; border: 0; border-radius: 999px; cursor: pointer;
  background: transparent; color: rgba(255,255,255,.80);
  transition: background-color .25s var(--ease), color .25s var(--ease),
              transform .18s var(--ease), box-shadow .18s var(--ease);
}
.bill-toggle button[aria-pressed="true"] {
  background: linear-gradient(180deg, var(--g-400), var(--g-500)); color: var(--accent-ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 1px 2px rgba(6,40,30,.18);
}
.bill-toggle button[aria-pressed="true"]:hover {
  background: linear-gradient(180deg, var(--g-300), var(--g-400));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 8px 24px -6px rgba(76,213,127,.55);
  transform: translateY(-1px);
}
.bill-toggle button[aria-pressed="true"]:active { transform: translateY(0); }
.bill-toggle button:not([aria-pressed="true"]):hover { color: var(--g-400); }
#pricing {
  --frame-w: 1320px;
  --ease-reveal: cubic-bezier(.16, 1, .3, 1);
}
#pricing .band {
  position: relative; isolation: isolate; overflow: clip;
  background: linear-gradient(180deg, var(--g-950) 0%, var(--g-900) 46%, #082E23 100%);
}
#pricing .pricing-field { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
#pricing .pricing-field .bloom { position: absolute; border-radius: 50%; aspect-ratio: 1; }
#pricing .pricing-field .bloom-a { width: max(760px, 58vw); left: -14%; top: -24%; background: radial-gradient(circle, rgba(33,107,70,.26), transparent 64%); }
#pricing .pricing-field .bloom-b { width: max(640px, 50vw); right: -12%; top: -14%; background: radial-gradient(circle, rgba(15,61,46,.5), transparent 66%); }
#pricing .pricing-field .vignette { position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% 32%, transparent 34%, rgba(4,26,20,.38) 70%, rgba(4,26,20,.86) 100%); }
#pricing .pricing-field .spot {
  position: absolute; left: 0; top: 0; width: 760px; height: 760px; margin: -380px 0 0 -380px;
  border-radius: 50%; opacity: 0;
  background: radial-gradient(closest-side, rgba(130,226,167,.13), rgba(130,226,167,.05) 50%, transparent 100%);
  transition: opacity 1.2s var(--ease); will-change: transform;
}
#pricing .band.has-spot .spot { opacity: 1; }
@media (hover: none), (pointer: coarse) { #pricing .pricing-field .spot { display: none; } }
#pricing .wrap { position: relative; z-index: 1; }
#pricing .statement .ln { display: block; perspective: 900px; }
#pricing .statement b { font-weight: inherit; color: var(--g-300); }
#pricing .statement .hw { display: inline-block; padding: .08em .05em .18em; margin: -.08em -.05em -.18em; transform-origin: 50% 100%; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  #pricing .statement .ln--grey .hw, #pricing .statement .hw--grey {
    background-image:
      linear-gradient(104deg, transparent 40%, rgba(255,255,255,.26) 50%, transparent 60%),
      linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 18%, #AEBDB5 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent; background-repeat: no-repeat;
  }
  #pricing .statement b .hw {
    background-image:
      linear-gradient(104deg, transparent 40%, rgba(255,255,255,.26) 50%, transparent 60%),
      linear-gradient(90deg, var(--g-200) 0%, var(--g-200) 12%, var(--g-400) 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent; background-repeat: no-repeat;
  }
}
#pricing .statement .ln { filter: drop-shadow(0 -1px 0 rgba(255,255,255,.30)) drop-shadow(0 2px 0 rgba(2,17,13,.55)) drop-shadow(0 18px 28px rgba(2,17,13,.55)); }
@media (max-width: 720px) {
  #pricing .statement .ln { filter: drop-shadow(0 -1px 0 rgba(255,255,255,.28)) drop-shadow(0 1px 0 rgba(2,17,13,.5)) drop-shadow(0 10px 18px rgba(2,17,13,.5)); }
}
#pricing .bill-toggle { margin-bottom: clamp(1.75rem, 2.8vw, 2.5rem); }
#pricing .bill-toggle button:focus-visible { box-shadow: 0 0 0 2px var(--g-900), 0 0 0 4px var(--g-300); border-radius: 999px; }
.plans-seat { position: relative; width: min(var(--frame-w), 100%); margin-inline: auto; }
.plans { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--card-gap); }
.row-light { position: absolute; left: 50%; top: var(--row-top, 58%); width: 0; height: 0; pointer-events: none; }
.row-light .horizon {
  position: absolute; left: 0; top: 0; translate: -50% -50%;
  width: max(1600px, 140vw); height: max(640px, 70vh);
  background:
    radial-gradient(17% 22% at 50% 50%, rgba(184,240,207,.22), transparent 64%),
    radial-gradient(30% 36% at 50% 50%, rgba(76,213,127,.34), transparent 70%),
    radial-gradient(50% 50% at 50% 50%, rgba(55,160,99,.26), transparent 74%);
  transform-origin: 50% 50%;
}
.row-light .rays {
  --r: max(700px, 66svh);
  position: absolute; left: 0; top: 90px;
  width: calc(var(--r) * 2.2); height: var(--r); translate: -50% -100%;
  transform-origin: 50% 100%;
}
.row-light .rays::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: conic-gradient(from 270deg at 50% 100%,
    transparent 0deg, rgba(130,226,167,.0) 18deg,
    rgba(130,226,167,.07) 24deg, transparent 31deg,
    rgba(184,240,207,.05) 44deg, transparent 50deg,
    rgba(130,226,167,.09) 63deg, rgba(130,226,167,.03) 70deg, transparent 75deg,
    rgba(184,240,207,.06) 86deg, transparent 92deg,
    rgba(130,226,167,.08) 104deg, transparent 111deg,
    rgba(184,240,207,.05) 127deg, transparent 133deg,
    rgba(130,226,167,.07) 149deg, transparent 157deg,
    transparent 180deg);
  -webkit-mask-image: radial-gradient(closest-side at 50% 100%, #000 18%, rgba(0,0,0,.55) 52%, transparent 100%);
          mask-image: radial-gradient(closest-side at 50% 100%, #000 18%, rgba(0,0,0,.55) 52%, transparent 100%);
  filter: blur(7px);
}
@media (max-width: 720px) {
  .row-light .rays { --r: max(520px, 62svh); }
  .row-light .rays::before { filter: blur(5px); }
  .row-light .horizon { height: max(520px, 60vh); }
}
#product .row-light, #ai .row-light, #pricing .row-light { opacity: .6; }
.plan-caveat, .ai-caveat {
  text-align: center;
  font-size: .875rem; line-height: 1.625; font-weight: 600; color: var(--g-300);
}
.ai-caveat { margin-top: calc((var(--sect) - 1.625em) / 2); margin-bottom: var(--sect-bot); }
.plan-caveat { margin: 0 auto var(--head-gap); }
.plan {
  --pad-x: clamp(24px, 2.3vw, 34px);
  --pad-y: clamp(24px, 2.2vw, 30px);
  --cw: calc((min(var(--frame-w), 100vw - 2 * var(--gutter)) - 2 * var(--card-gap)) / 3);
  --glow-y: max(-30px, var(--cw) * -0.0676); --glow-b: min(110px, var(--cw) * 0.2477); --glow-s: max(-24px, var(--cw) * -0.0541);
  --long-y: min(70px, var(--cw) * 0.1367);   --long-b: min(120px, var(--cw) * 0.2344); --long-s: max(-40px, var(--cw) * -0.0781);
  position: relative; display: flex; flex-direction: column; min-width: 0;
  padding: 0 var(--pad-x) calc(var(--pad-y) + 12px);
  color: var(--d-fg-soft); text-align: left;
  border-radius: var(--r-lg); border: 1px solid rgba(184,240,207,.2); overflow: hidden; isolation: isolate;
  background: linear-gradient(180deg, #0C3729 0%, #082B20 60%, #07271D 100%);
  box-shadow:
    0 0 0 1px rgba(2,17,13,.65),
    0 var(--glow-y) var(--glow-b) var(--glow-s) rgba(98,218,143,.38),
    0 2px 4px rgba(2,17,13,.35),
    0 18px 40px -12px rgba(2,17,13,.55),
    0 var(--long-y) var(--long-b) var(--long-s) rgba(2,17,13,.65),
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 0 0 1px rgba(255,255,255,.03);
  will-change: transform;
}
.plan::before { content: ''; position: absolute; left: 10%; right: 10%; top: 0; height: 1px; z-index: 3; background: linear-gradient(90deg, transparent, rgba(184,240,207,.85) 50%, transparent); pointer-events: none; }
.plan:hover {
  transform: translateY(-4px); border-color: rgba(184,240,207,.34);
  box-shadow:
    0 0 0 1px rgba(2,17,13,.65),
    0 var(--glow-y) var(--glow-b) var(--glow-s) rgba(98,218,143,.44),
    0 4px 8px rgba(2,17,13,.35),
    0 22px 46px -12px rgba(2,17,13,.58),
    0 calc(var(--long-y) * 1.143) calc(var(--long-b) * 1.083) var(--long-s) rgba(2,17,13,.68),
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 0 0 1px rgba(255,255,255,.03);
}
.plan.featured { border-color: rgba(184,240,207,.36); }
.plan.featured::before { left: 4%; right: 4%; background: linear-gradient(90deg, transparent, rgba(184,240,207,.95) 50%, transparent); }
.plan.featured:hover { border-color: rgba(184,240,207,.5); }
.plan .frame-sweep {
  position: absolute; left: 0; right: 0; top: 0; height: 1px; pointer-events: none; z-index: 2; opacity: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(230,249,239,0) 30%, rgba(230,249,239,.95) 50%, rgba(230,249,239,0) 70%, transparent 100%);
  background-size: 50% 100%; background-repeat: no-repeat; background-position: -60% 0;
}
.plan-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 64px; margin: 0 calc(-1 * var(--pad-x)) var(--pad-y); padding: 0 var(--pad-x);
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,0));
}
.plan-name { font-size: 1.25rem; font-weight: 600; letter-spacing: -.012em; color: #fff; white-space: nowrap; text-shadow: 0 1px 0 rgba(2,17,13,.30); }
.plan-index { display: inline-flex; align-items: center; gap: 12px; font-size: .8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--g-300); white-space: nowrap; }
.plan-chip {
  display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 11px 0 9px; border-radius: 999px;
  font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap;
  background: linear-gradient(180deg, var(--g-400), var(--g-500)); color: var(--accent-ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.4), 0 6px 18px -6px rgba(76,213,127,.6);
}
.plan-chip svg { width: 13px; height: 13px; }
.plan-price { display: flex; align-items: baseline; gap: 4px; }
.price-cur { font-size: 1.375rem; font-weight: 500; color: var(--d-fg-soft); align-self: flex-start; margin-top: 8px; }
.price-val { font-size: 3.25rem; font-weight: 700; color: #fff; letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums; text-shadow: 0 1px 0 rgba(2,17,13,.30), 0 8px 18px rgba(2,17,13,.30); }
.price-per { font-size: 1rem; font-weight: 500; color: var(--d-fg-soft); margin-left: 4px; }
.price-note { font-size: .9375rem; color: var(--d-fg-soft); margin-top: 8px; min-height: 22px; }
.plan-desc { font-size: .9375rem; letter-spacing: -.01em; color: var(--d-fg-soft); margin-top: 16px; line-height: 1.45; text-wrap: pretty; }
@media (max-width: 1360px) { .plan-desc { min-height: 44px; } }
.plan-cta {
  position: relative; margin-top: 24px;
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  width: 100%; height: 52px; padding: 0 22px; border-radius: 999px;
  font-size: 1rem; font-weight: 600; letter-spacing: -.005em; line-height: 1; white-space: nowrap; color: var(--g-200);
  border: 1px solid rgba(255,255,255,.14); cursor: pointer;
  background:
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.025) 55%, rgba(255,255,255,.012)),
    rgba(0,42,29,.30);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), inset 0 -1px 0 rgba(255,255,255,.03), 0 10px 30px -14px rgba(4,26,20,.8);
  transition: color .18s var(--ease), border-color .18s var(--ease), background-color .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease);
}
.plan-cta svg { width: 18px; height: 18px; flex: none; transition: transform .18s var(--ease); }
.plan-cta:hover, .plan:hover .plan-cta {
  color: #fff; border-color: rgba(76,213,127,.55); background-color: rgba(76,213,127,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(255,255,255,.03), 0 10px 24px -10px rgba(76,213,127,.5);
}
.plan-cta:hover svg { transform: translateX(2px); }
.plan-cta:active { transform: translateY(0) scale(.985); }
.plan-cta:focus-visible { outline: none; border-radius: 999px; box-shadow: 0 0 0 3px #072A1F, 0 0 0 5px var(--g-300); }
.plan-cta--primary {
  color: var(--accent-ink); border-color: transparent;
  background: linear-gradient(180deg, var(--g-400), var(--g-500));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), inset 0 1px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(6,40,30,.18),
    0 1px 2px rgba(6,40,30,.24), 0 10px 30px -10px rgba(76,213,127,.6), 0 0 60px -6px rgba(76,213,127,.22);
}
.plan-cta--primary:hover, .plan:hover .plan-cta--primary {
  color: var(--accent-ink); border-color: transparent; transform: translateY(-1px);
  background: linear-gradient(180deg, var(--g-300), var(--g-400));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.2), inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(6,40,30,.18),
    0 1px 2px rgba(6,40,30,.24), 0 16px 44px -12px rgba(76,213,127,.7), 0 0 60px -6px rgba(76,213,127,.26);
}
.plan-cta--primary:active { background: linear-gradient(180deg, var(--g-500), var(--g-600)); transform: translateY(0) scale(.985);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), inset 0 1px 2px rgba(6,40,30,.25), 0 1px 2px rgba(6,40,30,.2), 0 0 40px -6px rgba(76,213,127,.2); }
.plan-cta--primary:focus-visible { box-shadow: 0 0 0 3px #072A1F, 0 0 0 5px var(--g-300), 0 10px 30px -10px rgba(76,213,127,.6); }
.plan-kicker { margin-top: 28px; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--g-300); }
.plan-kicker--toggle {
  display: none; align-items: center; gap: 8px; align-self: stretch; width: 100%; min-height: 44px; margin-top: 16px;
  padding: 0; border: 0; background: none; cursor: pointer; line-height: 1.625; text-align: left; font: inherit;
  font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--g-300); transition: color .18s var(--ease);
}
.plan-kicker--toggle svg { width: 16px; height: 16px; flex: none; transition: transform .3s var(--ease); }
.plan-kicker--toggle:hover { color: var(--g-200); }
.plan-kicker--toggle:focus-visible { outline: none; box-shadow: 0 0 0 2px #072A1F, 0 0 0 4px var(--g-300); border-radius: 6px; }
.plan-feats-wrap { overflow: hidden; }
.plan-feats { display: grid; gap: 0; }
.plan-feats li:first-child { margin-top: 10px; }
.plan-feats li {
  display: flex; align-items: center; gap: 14px; padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,.09); font-size: 1rem; line-height: 1.4; color: #fff;
}
.plan-feats svg { width: 20px; height: 20px; color: var(--g-300); flex: none; }
.plan-feats .plan-feats__support { color: var(--d-fg-soft); }
.plan-meter { position: absolute; right: var(--pad-x); bottom: 22px; display: inline-flex; gap: 3px; }
.plan-meter i { display: block; width: 14px; height: 4px; border-radius: 2px; background: rgba(255,255,255,.16); }
.plan-meter i.on { background: var(--g-400); }
@media (min-width: 1024px) and (max-width: 1340px) {
  .plan-feats li { font-size: var(--fs-body-2); gap: 12px; padding: 11px 0; }
  .plan-feats svg { width: 18px; height: 18px; }
  .plan-name { font-size: 1.125rem; }
}
@media (max-width: 1023px) {
  .plans { grid-template-columns: minmax(0,1fr); }
  .plan { --cw: min(var(--frame-w), 100vw - 2 * var(--gutter)); }
  .plan-desc { min-height: 0; }
  #pricing .band.js-lists .plan-kicker--static { display: none; }
  #pricing .band.js-lists .plan-kicker--toggle { display: inline-flex; }
  #pricing .band.js-lists .plan.is-collapsed .plan-kicker--toggle svg { transform: rotate(0deg); }
  #pricing .band.js-lists .plan:not(.is-collapsed) .plan-kicker--toggle svg { transform: rotate(180deg); }
  #pricing .band.js-lists .plan-feats-wrap { transition: height .32s var(--ease); }
  #pricing .band.js-lists .plan-feats-wrap.is-shut { height: 0; visibility: hidden; }
  .plan.is-collapsed { padding-bottom: var(--pad-y); }
  .plan.is-collapsed .plan-meter { bottom: calc(var(--pad-y) + 20px); }
}
@media (min-width: 700px) and (max-width: 1023px) {
  .plan-feats { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, auto); grid-auto-flow: column; column-gap: calc(var(--card-gap) * 2); }
  .plan-feats li:nth-child(3n+1) { margin-top: 10px; }
}
@media (max-width: 620px) {
  .plan-head { min-height: 58px; flex-wrap: wrap; row-gap: 6px; padding-block: 10px; }
  .plan-cta { height: 50px; }
}
#pricing .band.is-armed:not(.in) :is(.pricing-field > *, .row-light > *) { opacity: 0; }
#pricing .plan.rv {
  transition: opacity 1.1s var(--ease-reveal), translate 1.1s var(--ease-reveal),
              transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
@media (prefers-reduced-motion: no-preference) {
  #pricing .band.in .pricing-field .bloom, #pricing .band.in .pricing-field .vignette { animation: bloom-in 1.6s ease-out backwards; }
  #pricing .band.in .row-light .horizon { animation: halo-breathe 11s ease-in-out 2.55s infinite alternate, v11-horizon 2.4s var(--ease-reveal) 150ms backwards; }
  #pricing .band.in .row-light .rays { animation: v11-rays-in 2.8s var(--ease-reveal) 700ms backwards, v11-rays-sway 22s ease-in-out 3.5s infinite alternate; }
  #pricing .band.is-offscreen .row-light .horizon, #pricing .band.is-offscreen .row-light .rays { animation-play-state: paused; }
  #pricing .plan.in .frame-sweep { animation: v11-sweep 2.4s cubic-bezier(.45, 0, .2, 1) 900ms 1; }
  #pricing .plan.in > :not(.frame-sweep):not(.plan-meter) { animation: rise-in .7s var(--ease) backwards; animation-delay: calc(150ms + var(--i, 0) * 70ms); }
  #pricing .plan.in .plan-meter { animation: bloom-in .7s var(--ease) 700ms backwards; }
}
@media (prefers-reduced-motion: reduce) {
  #pricing .pricing-field .spot { display: none; }
  #pricing .band.js-lists .plan-feats-wrap, #pricing .plan-kicker--toggle svg { transition: none; }
}
.wait { display: flex; gap: 10px; flex-wrap: wrap; max-width: 560px; }
.wait .field { flex: 1 1 250px; position: relative; }
.wait input {
  width: 100%; height: 58px; border-radius: 999px; padding: 0 22px;
  border: 1px solid var(--line-strong); background: #fff; color: var(--ink);
  font-size: 1.0625rem; transition: border-color .18s, box-shadow .18s;
}
.wait input::placeholder { color: var(--ink-faint); }
.wait input:focus { outline: none; border-color: var(--g-500); box-shadow: 0 0 0 4px rgba(76,213,127,.18); }
.hero .wait input, .section--dark .wait input, .cta .wait input {
  background: rgba(4,26,20,.28); border-color: rgba(255,255,255,.26); color: #fff;
}
.hero .wait input, .cta .wait input { background: #093024; }
.hero .wait input::placeholder, .section--dark .wait input::placeholder, .cta .wait input::placeholder { color: rgba(255,255,255,.66); }
.hero .wait input:focus, .section--dark .wait input:focus, .cta .wait input:focus { background: rgba(255,255,255,.12); border-color: var(--g-400); }
.hero .wait input:focus, .cta .wait input:focus { background: linear-gradient(rgba(255,255,255,.12), rgba(255,255,255,.12)), #093024; }
.wait .btn { height: 58px; }
.wait-note { font-size: var(--fs-caption); color: var(--ink-faint); margin-top: 12px; display: flex; align-items: center; gap: 7px; }
.hero .wait-note, .section--dark .wait-note, .cta .wait-note { color: var(--d-fg-soft); }
.wait-note svg { width: 14px; height: 14px; flex: none; }
.wait-msg { font-size: var(--fs-body-2); margin-top: 12px; font-weight: 500; display: none; align-items: center; gap: 8px; }
.wait-msg.show { display: flex; }
.wait-msg.ok { color: var(--g-600); }
.hero .wait-msg.ok, .section--dark .wait-msg.ok, .cta .wait-msg.ok { color: var(--g-300); }
.wait-msg.err { color: var(--warn-ink); }
.hero .wait-msg.err, .section--dark .wait-msg.err, .cta .wait-msg.err { color: #E8A96B; }
.wait-msg svg { width: 17px; height: 17px; flex: none; }
.cta {
  --frame-w: 1320px;
  --ease-reveal: cubic-bezier(.16, 1, .3, 1);
  position: relative; overflow: hidden; isolation: isolate; border-radius: var(--r-xl);
  width: min(var(--frame-w), 100%); margin-inline: auto;
  background:
    linear-gradient(90deg, rgba(184,240,207,0) 6%, rgba(184,240,207,.62) 34%, rgba(184,240,207,.22) 62%, rgba(184,240,207,0) 86%) top / 100% 1px no-repeat border-box,
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,0) 40%) padding-box,
    radial-gradient(120% 110% at 40% 20%, transparent 36%, rgba(4,26,20,.36) 72%, rgba(4,26,20,.82) 100%) padding-box,
    radial-gradient(110% 130% at 82% 6%, #14563D 0%, transparent 56%) padding-box,
    linear-gradient(150deg, #0B3327, #06281E 70%) padding-box,
    linear-gradient(172deg, rgba(255,255,255,.38), rgba(255,255,255,.18) 22%, rgba(255,255,255,.12) 58%, rgba(255,255,255,.17)) border-box,
    radial-gradient(120% 110% at 40% 20%, transparent 36%, rgba(4,26,20,.36) 72%, rgba(4,26,20,.82) 100%) border-box,
    radial-gradient(110% 130% at 82% 6%, #14563D 0%, transparent 56%) border-box,
    linear-gradient(150deg, #0B3327, #06281E 70%) border-box;
  color: var(--d-fg-soft);
  padding: clamp(2.5rem, 5vw, 4rem);
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.85fr);
  gap: 32px; align-items: center;
  border: 1px solid transparent;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10), inset 0 -1px 0 rgba(0,0,0,.22),
    0 1px 2px rgba(6,40,30,.10), 0 10px 20px -8px rgba(6,40,30,.22), 0 32px 56px -24px rgba(6,40,30,.42);
}
.cta-field { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.cta-field .horizon {
  position: absolute; left: 84%; bottom: 0; translate: -50% 50%;
  width: max(1400px, 120%); height: clamp(420px, 42vw, 600px);
  background:
    radial-gradient(17% 22% at 50% 50%, rgba(184,240,207,.22), transparent 64%),
    radial-gradient(30% 36% at 50% 50%, rgba(76,213,127,.34), transparent 70%),
    radial-gradient(50% 50% at 50% 50%, rgba(55,160,99,.26), transparent 74%);
  transform-origin: 50% 50%;
}
.cta-field .rays {
  --r: clamp(380px, 50vw, 680px);
  position: absolute; left: 84%; bottom: -90px;
  width: calc(var(--r) * 2.2); height: var(--r); translate: -50% 0;
  transform-origin: 50% 100%;
}
.cta-field .rays::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: conic-gradient(from 270deg at 50% 100%,
    transparent 0deg, rgba(130,226,167,.0) 18deg,
    rgba(130,226,167,.07) 24deg, transparent 31deg,
    rgba(184,240,207,.05) 44deg, transparent 50deg,
    rgba(130,226,167,.09) 63deg, rgba(130,226,167,.03) 70deg, transparent 75deg,
    rgba(184,240,207,.06) 86deg, transparent 92deg,
    rgba(130,226,167,.08) 104deg, transparent 111deg,
    rgba(184,240,207,.05) 127deg, transparent 133deg,
    rgba(130,226,167,.07) 149deg, transparent 157deg,
    transparent 180deg);
  -webkit-mask-image: radial-gradient(closest-side at 50% 100%, #000 18%, rgba(0,0,0,.55) 52%, transparent 100%);
          mask-image: radial-gradient(closest-side at 50% 100%, #000 18%, rgba(0,0,0,.55) 52%, transparent 100%);
  filter: blur(7px);
}
.cta-field .spot {
  position: absolute; left: 0; top: 0; width: 640px; height: 640px; margin: -320px 0 0 -320px;
  border-radius: 50%; opacity: 0;
  background: radial-gradient(closest-side, rgba(130,226,167,.13), rgba(130,226,167,.05) 50%, transparent 100%);
  transition: opacity 1.2s var(--ease); will-change: transform;
}
.cta.has-spot .spot { opacity: 1; }
@media (hover: none), (pointer: coarse) { .cta-field .spot { display: none; } }
@supports (color: rgb(from red r g b)) {
  @property --beam-angle { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
  .cta::before {
    content: ''; position: absolute; inset: 0; z-index: 3; pointer-events: none;
    border-radius: calc(var(--r-xl) - 1px);
    padding: 1px;
    background: conic-gradient(from var(--beam-angle), transparent, var(--g-300) 10%, transparent 12%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    animation: cta-beam 5s linear infinite;
  }
  .cta.is-offscreen::before { animation-play-state: paused; }
  @keyframes cta-beam { to { --beam-angle: 360deg; } }
}
.cta .logo-z {
  position: absolute; right: -2%; top: 50%; z-index: 1;
  width: clamp(300px, 28vw, 440px);
  translate: 0 -50%;
  color: var(--g-200); opacity: .16; pointer-events: none;
  filter: drop-shadow(0 0 26px rgba(130,226,167,.6));
}
.cta svg { max-width: none; }
.cta__copy, .cta .wait { position: relative; z-index: 2; }
.cta__copy h2 { color: #fff; margin-bottom: 14px; font-size: clamp(2.125rem, 3.7vw, 3.25rem); text-rendering: optimizeLegibility; }
.cta__copy h2 .ln { display: block; perspective: 900px; }
.cta__copy h2 .ln + .ln { margin-top: .02em; }
.cta__copy h2 .hw { display: inline-block; padding: .08em .05em .18em; margin: -.08em -.05em -.18em; transform-origin: 50% 100%; }
.cta__copy h2 b { font-weight: 600; color: var(--g-300); }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .cta__copy h2 .ln--grey .hw {
    background-image:
      linear-gradient(104deg, transparent 40%, rgba(255,255,255,.26) 50%, transparent 60%),
      linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 18%, #AEBDB5 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent; background-repeat: no-repeat;
  }
  .cta__copy h2 b .hw {
    background-image:
      linear-gradient(104deg, transparent 40%, rgba(255,255,255,.26) 50%, transparent 60%),
      linear-gradient(90deg, var(--g-200) 0%, var(--g-200) 12%, var(--g-400) 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent; background-repeat: no-repeat;
  }
}
.cta__copy h2 .ln { filter: drop-shadow(0 -1px 0 rgba(255,255,255,.30)) drop-shadow(0 2px 0 rgba(2,17,13,.55)) drop-shadow(0 12px 20px rgba(2,17,13,.5)); }
.cta__copy h2 b.ln { filter: drop-shadow(0 -1px 0 rgba(230,249,239,.34)) drop-shadow(0 2px 0 rgba(2,17,13,.55)) drop-shadow(0 12px 20px rgba(2,17,13,.5)); }
.cta__copy p { color: rgba(255,255,255,.86); font-size: 1.3125rem; line-height: 1.65; font-weight: 600; text-wrap: balance; text-shadow: 0 1px 0 rgba(2,17,13,.35), 0 10px 24px rgba(2,17,13,.45); }
@media (min-width: 901px) {
  .cta__copy { container-type: inline-size; }
  .cta__copy p { font-size: clamp(.875rem, 1.405vw - .26px, 1.3125rem); font-size: clamp(.875rem, 3.2324cqi - .2586px, 1.3125rem); }
}
@media (min-width: 601px) and (max-width: 900px) {
  .cta__copy h2 { font-size: clamp(2.25rem, 4.5vw, 2.5rem); }
  .cta__copy p { font-size: 1rem; }
  .cta .wait { max-width: 480px; }
}
@media (min-width: 601px) and (max-width: 900px), (min-width: 1100px) {
  .cta .wait.wait-form {
    position: relative; flex-wrap: nowrap; gap: 0; padding: 6px;
    border-radius: 999px; border: 1px solid rgba(255,255,255,.14);
    background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.02) 60%), #082b21;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -1px 0 rgba(2,17,13,.45),
      0 1px 2px rgba(2,17,13,.35), 0 22px 44px -26px rgba(2,17,13,.95);
    transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
  }
  .cta .wait.wait-form:hover { border-color: rgba(255,255,255,.2); }
  .cta .wait.wait-form:focus-within {
    border-color: rgba(130,226,167,.55);
    box-shadow: 0 0 0 4px rgba(76,213,127,.14), inset 0 1px 0 rgba(255,255,255,.09), inset 0 -1px 0 rgba(2,17,13,.45),
      0 22px 44px -26px rgba(2,17,13,.95);
  }
  .cta .wait.wait-form .field { flex: 1 1 auto; min-width: 0; }
  .cta .wait.wait-form .field input, .cta .wait.wait-form .field input:focus {
    height: 52px; padding: 0 10px 0 20px; border: 0; border-radius: 999px; font-size: 1.0625rem;
    background: transparent; box-shadow: none; outline: none;
  }
  .cta .wait.wait-form .btn-cta { width: auto; height: 52px; padding: 0 22px 0 24px; font-size: 1.0625rem; }
  .cta .wait.wait-form > .wait-msg, .cta .wait.wait-form > noscript > .wait-msg {
    position: absolute; top: calc(100% + 12px); left: 0; right: 0; margin: 0;
  }
}
@media (max-width: 600px) {
  .cta .wait.wait-form .field input {
    height: 56px; padding: 0 26px; border-radius: 999px; font-size: 1.0625rem;
    border: 1px solid rgba(255,255,255,.14);
    background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.02) 60%), #082b21;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -1px 0 rgba(2,17,13,.45),
      0 1px 2px rgba(2,17,13,.35), 0 22px 44px -26px rgba(2,17,13,.95);
    transition: border-color .2s var(--ease), box-shadow .2s var(--ease);
  }
  .cta .wait.wait-form .field input:hover { border-color: rgba(255,255,255,.2); }
  .cta .wait.wait-form .field input:focus {
    outline: none; border-color: rgba(130,226,167,.55);
    background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.02) 60%), #082b21;
    box-shadow: 0 0 0 4px rgba(76,213,127,.14), inset 0 1px 0 rgba(255,255,255,.09), inset 0 -1px 0 rgba(2,17,13,.45),
      0 22px 44px -26px rgba(2,17,13,.95);
  }
  .cta .wait.wait-form .field { flex: 1 1 100%; }
  .cta .wait.wait-form .btn-cta { width: 100%; height: 52px; padding: 0 22px 0 24px; font-size: 1.0625rem; }
}
.cta .wait { container-type: inline-size; }
.cta .wait .field { flex-basis: 200px; min-width: 0; }
.cta .wait-msg { text-align: left; }
.cta .wait input, .cta .wait .btn { height: 64px; font-size: 1.125rem; }
.cta .wait input { padding: 0 26px; }
.cta .wait .btn { padding: 0 30px; }
@container (max-width: 440px) {
  .cta .wait .field { flex-basis: 100%; }
  .cta .wait .btn { width: 100%; }
}
.cta .wait .field input {
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), inset 0 -1px 0 rgba(2,17,13,.35), 0 10px 30px -18px rgba(2,17,13,.8);
  transition: border-color .18s, box-shadow .18s, background-color .18s;
}
.cta .wait .field input:focus {
  border-color: var(--g-400); box-shadow: 0 0 0 4px rgba(76,213,127,.18), inset 0 1px 0 rgba(255,255,255,.08);
}
.cta .btn-cta {
  position: relative; overflow: hidden; isolation: isolate; flex: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), inset 0 1px 0 rgba(255,255,255,.5), inset 0 -1px 0 rgba(6,40,30,.18),
    0 1px 2px rgba(6,40,30,.24), 0 10px 30px -10px rgba(76,213,127,.6), 0 0 60px -6px rgba(76,213,127,.26);
  transition: transform .18s var(--ease), background-color .18s var(--ease), box-shadow .18s var(--ease);
}
.cta .btn-cta:hover { box-shadow: inset 0 0 0 1px rgba(255,255,255,.2), inset 0 1px 0 rgba(255,255,255,.55), inset 0 -1px 0 rgba(6,40,30,.18),
    0 1px 2px rgba(6,40,30,.24), 0 16px 44px -12px rgba(76,213,127,.7), 0 0 60px -6px rgba(76,213,127,.26); }
.cta .btn-cta:active, .cta .btn-cta.is-pressed { background: linear-gradient(180deg, var(--g-500), var(--g-600)); transform: translateY(0) scale(.985);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), inset 0 1px 2px rgba(6,40,30,.25), 0 1px 2px rgba(6,40,30,.2), 0 0 40px -6px rgba(76,213,127,.2); }
.cta .btn-cta:focus-visible { box-shadow: 0 0 0 3px var(--g-950), 0 0 0 5px var(--g-300), 0 10px 30px -10px rgba(76,213,127,.6); border-radius: 999px; }
.cta .btn-cta::before {
  content: ''; position: absolute; inset: 0 auto 0 0; width: 46%; z-index: -1; pointer-events: none;
  background: linear-gradient(100deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%);
  transform: translateX(-130%);
}
.cta.rv { transition: opacity .5s var(--ease), translate .5s var(--ease); }
.cta.rv:not(.in) { translate: 0 18px; }
@media (prefers-reduced-motion: no-preference) {
  .cta.rv.in .cta-field .horizon { animation: halo-breathe 11s ease-in-out infinite alternate, v11-horizon 2.4s var(--ease-reveal) 150ms backwards; }
  .cta.rv.in .cta-field .rays { animation: v11-rays-in 2.8s var(--ease-reveal) 600ms backwards, v11-rays-sway 22s ease-in-out 3.4s infinite alternate; }
  .cta.rv.in .logo-z { animation: z-rise 1.4s var(--ease) 300ms backwards; }
  .cta.rv.in h2 .hw { animation: v11-word 1.25s var(--ease-reveal) backwards; animation-delay: calc(260ms + var(--i, 0) * 110ms); }
  .cta.rv.in h2 { animation: h1-sheen 1.7s cubic-bezier(.45, 0, .2, 1) 2.5s 1 forwards; }
  .cta.rv.in .cta__copy p { animation: hero-rise 1.2s var(--ease-reveal) 760ms backwards; }
  .cta.rv.in .wait { animation: hero-rise 1.2s var(--ease-reveal) 900ms backwards; }
  .cta.rv.in .btn-cta::before { animation: v11-sheen 1.3s cubic-bezier(.45, 0, .2, 1) 2.8s 1; }
  .cta .btn-cta:hover::before { animation: v11-sheen 1s cubic-bezier(.45, 0, .2, 1) 1; }
  .cta.is-offscreen .cta-field .horizon, .cta.is-offscreen .cta-field .rays { animation-play-state: paused; }
}
@keyframes z-rise { from { opacity: 0; translate: 0 calc(-50% + 48px); } }
@media (prefers-reduced-motion: reduce) {
  .cta::before { display: none; }
  .cta-field .spot { display: none; }
}
@media (max-width: 900px) {
  .cta { grid-template-columns: minmax(0,1fr); }
  .cta .logo-z { width: clamp(220px, 40vw, 320px); }
}
@media (max-width: 600px) {
  .cta .wait input, .cta .wait .btn { height: 58px; font-size: 1.0625rem; }
  .cta__copy { container-type: inline-size; }
  .cta__copy .cta-lead { display: block; font-size: min(1.0625rem, calc(6.29vw - 7.67px)); font-size: min(1.0625rem, calc(6.29cqi - .38px)); }
  .cta__copy { text-align: center; }
  .cta .wait { justify-content: center; }
  .cta .wait-msg { justify-content: center; }
  .cta__copy h2 { font-size: min(2.125rem, calc(8.781vw - 11.24px)); font-size: min(2.125rem, calc(8.781cqi - .53px)); }
  .cta__copy p { font-size: min(var(--fs-body-2), calc(6.755vw - 8.24px)); font-size: min(var(--fs-body-2), calc(6.755cqi - .41px)); }
  .cta .logo-z { width: 62vw; right: -8%; opacity: .12; }
  .cta .logo-z { width: auto; height: calc(100% + 64px); right: -2%; }
  .cta-field .horizon { height: clamp(300px, 90vw, 400px); }
  .cta-field .rays { --r: max(320px, 80vw); }
  .cta-field .rays::before { filter: blur(5px); }
  .cta__copy h2 .ln + .ln { margin-top: .06em; }
  .cta__copy h2 .ln, .cta__copy h2 b.ln { filter: drop-shadow(0 -1px 0 rgba(255,255,255,.28)) drop-shadow(0 1px 0 rgba(2,17,13,.5)) drop-shadow(0 10px 18px rgba(2,17,13,.5)); }
}
.cta__copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.cta__copy h2 { line-height: 1.1; letter-spacing: -.012em; text-wrap: wrap; }
@media (min-width: 901px) and (max-width: 919px) { .cta__copy h2 .ln { white-space: nowrap; } }
@media (max-width: 600px) {
  .cta__copy { align-items: center; }
  .cta__copy h2 { letter-spacing: -.02em; line-height: 1.08; }
}
main { background: var(--surface); border-radius: 0 0 var(--page-r) var(--page-r); }
main { overflow-x: clip; }
@supports not (overflow: clip) { html { overflow-x: hidden; } }
.foot {
  position: relative; overflow: hidden; isolation: isolate;
  background: var(--d-bg); color: var(--d-fg-faint);
  padding: clamp(3.5rem, 5.5vw, 4.5rem) 0 28px;
}
.foot-field { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.foot-horizon {
  position: absolute; left: 50%; bottom: 0; translate: -50% 50%;
  width: max(1600px, 140vw); height: clamp(340px, 36vw, 540px);
  background:
    radial-gradient(17% 22% at 50% 50%, rgba(184,240,207,.078), transparent 64%),
    radial-gradient(30% 36% at 50% 50%, rgba(76,213,127,.126), transparent 70%),
    radial-gradient(50% 50% at 50% 50%, rgba(55,160,99,.108), transparent 74%);
  transform-origin: 50% 50%;
}
.foot-edge {
  position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, transparent 15%, rgba(184,240,207,.3) 50%, transparent 85%);
  transform-origin: 50% 50%;
}
.foot__grid {
  display: flex; justify-content: space-between; align-items: center; gap: 24px 32px;
  padding-bottom: 32px;
}
.foot__brand { display: block; color: #fff; }
.foot__brand .logo-wordmark { width: 106px; display: block; }
.foot__social { display: flex; flex-wrap: wrap; gap: 14px; }
.foot__social a {
  width: 44px; height: 44px; display: grid; place-items: center;
  color: var(--g-300); border-radius: 50%;
  border: 1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.025) 55%, rgba(255,255,255,.012)),
    rgba(0,42,29,.30);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), inset 0 -1px 0 rgba(255,255,255,.03), 0 10px 30px -14px rgba(4,26,20,.8);
  transition: color .18s var(--ease), border-color .18s var(--ease),
              background-color .18s var(--ease), transform .18s var(--ease), box-shadow .18s var(--ease);
}
.foot__social a:hover {
  color: #fff; border-color: rgba(76,213,127,.55); background-color: rgba(76,213,127,.14);
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(255,255,255,.03), 0 10px 24px -10px rgba(76,213,127,.5);
}
.foot__social a:active { transform: translateY(0); }
.foot__social svg { width: 18px; height: 18px; }
.foot__bar {
  position: relative;
  display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center;
  padding-top: 28px; font-size: var(--fs-body-2); color: var(--d-fg-soft);
}
.foot__bar::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.11) 14%, rgba(184,240,207,.2) 50%, rgba(255,255,255,.11) 86%, transparent);
}
.foot__copy { font-variant-numeric: tabular-nums; }
.foot__legal { display: flex; flex-wrap: wrap; gap: 6px 26px; margin-left: auto; }
.foot__legal a { position: relative; padding-block: 3px; font-weight: 500; color: var(--d-fg-soft); transition: color .16s; }
.foot__legal a::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: rgba(76,213,127,.55); transform: scaleX(0); transform-origin: left;
  transition: transform .22s var(--ease);
}
.foot__legal a:hover { color: var(--g-200); }
.foot__legal a:hover::after { transform: scaleX(1); }
@media (max-width: 940px) {
  .foot__bar { justify-content: center; text-align: center; }
  .foot__legal { order: -1; margin-left: 0; width: 100%; justify-content: center; }
}
@media (max-width: 720px) {
  .foot { padding-top: clamp(2.75rem, 11vw, 3.5rem); }
  .foot__grid { flex-direction: column; align-items: center; gap: 26px; padding-bottom: 26px; }
  .foot__bar { font-size: min(var(--fs-body-2), calc(4.49vw - 3.3px)); }
  .foot__legal { flex-wrap: nowrap; column-gap: clamp(13px, calc(50vw - 190px), 26px); }
  .foot__legal a { white-space: nowrap; }
  .foot__copy { white-space: nowrap; }
  .foot__rights { display: block; }
  .foot-horizon { height: clamp(380px, 110vw, 460px); }
}
@media (prefers-reduced-motion: no-preference) {
  .foot.is-armed:not(.in) :is(.foot-horizon, .foot-edge, .foot__grid, .foot__bar) { opacity: 0; }
  .foot.in .foot-horizon { animation: halo-breathe 11s ease-in-out infinite alternate, v11-horizon 2.4s cubic-bezier(.16, 1, .3, 1) 100ms backwards; }
  .foot.in .foot__grid { animation: rise-in 1.1s cubic-bezier(.16, 1, .3, 1) 160ms backwards; }
  .foot.in .foot__bar  { animation: rise-in 1.1s cubic-bezier(.16, 1, .3, 1) 300ms backwards; }
  .foot.in .foot-edge  { animation: foot-edge-in 1.8s cubic-bezier(.16, 1, .3, 1) 520ms backwards; }
  .foot.in.is-offscreen .foot-horizon { animation-play-state: paused; }
}
@keyframes foot-edge-in { from { opacity: 0; scale: 0 1; } }
.chip-row { display: flex; flex-wrap: wrap; gap: 10px; }
.chip {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px;
  border: 1px solid var(--line); border-radius: 999px; background: #fff;
  font-size: 1rem; font-weight: 500; color: var(--ink);
  box-shadow: var(--shadow-sm);
}
.chip svg { width: 18px; height: 18px; color: var(--g-600); }
.section--dark .chip { background: var(--d-card); border-color: var(--d-line); color: #fff; }
.section--dark .chip svg { color: var(--g-400); }
.quote { font-size: 1.25rem; line-height: 1.6; color: var(--ink); font-weight: 500; letter-spacing: -.01em; }
.note {
  display: flex; gap: 12px; padding: 16px 18px; border-radius: var(--r);
  background: var(--surface-2); border: 1px solid var(--line); font-size: var(--fs-body-2); line-height: 1.6;
}
.note svg { width: 18px; height: 18px; color: var(--g-600); flex: none; margin-top: 2px; }
.section--dark .note { background: var(--d-card); border-color: var(--d-line); }
.mock .note { background: #fff; border-color: var(--line); color: var(--ink-soft); }
.rv { opacity: 0; translate: 0 24px; transition: opacity .75s var(--ease), translate .75s var(--ease); }
.rv.in { opacity: 1; translate: none; }
img.ai-visual.is-loading { opacity: 0; }
.sect-head.rv { transition: opacity .45s var(--ease), translate .45s var(--ease); }
.card.rv, .plan.rv {
  transition: opacity .75s var(--ease), translate .75s var(--ease),
              transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
@media (prefers-reduced-motion: reduce) { .rv { opacity: 1; translate: none; transition: none; } }
.phead { background: var(--g-900); color: var(--d-fg-soft); padding-block: clamp(3rem,6vw,4.75rem); position: relative; overflow: hidden; }
.phead::before {
  content:''; position: absolute; inset: -40% -10% auto -10%; height: 460px;
  background: radial-gradient(44% 60% at 30% 40%, rgba(76,213,127,.17), transparent 70%);
  pointer-events: none;
}
.phead .wrap { position: relative; z-index: 1; }
.phead h1 { color: #fff; font-size: clamp(2rem, 4.6vw, 3rem); }
.phead p { margin-top: 18px; font-size: 1.0625rem; line-height: 1.7; max-width: 58ch; color: var(--d-fg-soft); }
.crumbs { font-size: var(--fs-caption); color: var(--d-fg-faint); margin-bottom: 16px; display: flex; gap: 8px; align-items: center; }
.crumbs a:hover { color: #fff; }
@media print {
  .nav, .announce, .cta, .hero::after, .hero-field, .hero-glimpse, body::after { display: none !important; }
  body { color: #000; }
  .hero, .section--dark, .phead { background: #fff !important; color: #000 !important; }
  .rv { opacity: 1 !important; translate: none !important; }
  .statement .hw, .statement ~ p, .statement ~ .trust-row, .hero h1 .hw { opacity: 1 !important; animation: none !important; }
  .statement .hw, .hero h1 .hw { background-image: none !important; color: #000 !important; }
  .statement .ln, .hero h1 .ln { filter: none !important; }
}
@media (max-width: 600px), (max-height: 500px), (pointer: coarse) {
}
@media (max-width: 600px) {
  .wait .btn, .hero .wait .btn { width: 100%; }
  .wait .field { flex: 1 1 100%; }
}
a, button, [role="tab"], summary, input, label {
  -webkit-tap-highlight-color: rgba(76,213,127,.18);
}
main > section[id] { scroll-margin-top: calc(var(--nav-h) + 16px); }
.nav-links a.is-active { color: #fff; background: rgba(255,255,255,.09); }
.marquee-label {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  font-size: var(--fs-body-2); letter-spacing: .14em; text-transform: uppercase;
  color: var(--g-700); font-weight: 500; margin-bottom: 16px;
}
.marquee-label::before,
.marquee-label::after {
  content: ''; width: 22px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--g-500));
}
.marquee-label::after { background: linear-gradient(270deg, transparent, var(--g-500)); }
.marquee {
  position: relative; overflow: hidden;
  width: 100%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.marquee-track {
  display: flex; width: max-content;
  animation: marquee-slide var(--marquee-duration, 30s) linear infinite;
}
.marquee-set {
  display: flex; align-items: center; gap: 12px;
  padding: var(--strip-foot) 12px var(--strip-foot) 0;
}
.marquee-set .chip { flex: none; white-space: nowrap; gap: 11px; padding: 7px 20px 7px 7px; }
.marquee-set .chip svg {
  width: 36px; height: 36px; padding: 8px; box-sizing: border-box;
  border-radius: 50%; background: var(--g-100); color: var(--g-600); flex: none;
}
@media (max-width: 1100px) {
  .marquee-set { gap: 11px; }
  .marquee-set .chip { gap: 10px; padding: 6px 18px 6px 6px; font-size: .9375rem; }
  .marquee-set .chip svg { width: 32px; height: 32px; padding: 7px; }
}
@media (max-width: 720px) {
  .marquee-set { gap: 10px; }
  .marquee-set .chip { gap: 9px; padding: 5px 15px 5px 5px; font-size: .875rem; }
  .marquee-set .chip svg { width: 28px; height: 28px; padding: 6px; }
}
@keyframes marquee-slide {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.marquee:hover .marquee-track,
.marquee:focus-within .marquee-track { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .marquee { overflow: visible; -webkit-mask-image: none; mask-image: none; }
  .marquee-track {
    animation: none; width: 100%; max-width: var(--max);
    margin-inline: auto; padding-inline: var(--gutter);
  }
  .marquee-set { flex-wrap: wrap; justify-content: center; padding: 0; }
  .marquee-set[aria-hidden="true"] { display: none; }
  :root { --strip-foot: 0px; }
}
