/* Livewell Passport — v2
   World: a passport, printed. Silver paper, green ink, the logo's blue reserved for stamps and marks.
   Rhythm: alternating scale. Giant type moments, thin tickers, tall pinned cards, tight lists.
   Shape rule: buttons pill, cards/photos 20px, inputs 10px, stamps circles. */
:root{
  --bg:#F4F5F7; --bg-2:#E8EBEF; --silver:#C8CED5; --silver-2:#9AA4AE; --line:#D4D9DF; --line-2:#E2E6EA;
  --ink:#121518; --ink-2:#4A535C; --ink-3:#6F7984;
  --green:#6E9CC8; --green-deep:#4F82B5; --green-dark:#171B1F; --green-dark-2:#22272C; --green-tint:#E4EDF5;
  --graphite:#171B1F; --graphite-2:#22272C;
  --blue:#3181C0; --blue-tint:#E1EEF8;
  --on-dark:#F1F3F5; --on-dark-2:#A7B0B9; --on-dark-line:rgba(255,255,255,.12);
  --metal:linear-gradient(145deg,#FFFFFF 0%,#EDF0F3 45%,#D9DEE4 100%);
  --metal-dark:linear-gradient(145deg,#2E343A 0%,#22272C 50%,#171B1F 100%);
  --font-display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-body:"Figtree","Helvetica Neue",Arial,sans-serif;
  --r:20px; --r-input:10px; --r-pill:999px;
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-in-out:cubic-bezier(.77,0,.175,1);
  --shadow:0 24px 50px -24px rgba(18,21,24,.35), 0 2px 8px rgba(18,21,24,.06);
  --gutter:max(20px, env(safe-area-inset-left, 0px)); --gutter-r:max(20px, env(safe-area-inset-right, 0px));
  --header:72px; --strip:36px;
  color-scheme:light;
}
*,*::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;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--green-deep);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--green)}
::selection{background:var(--green-tint);color:var(--ink)}
.bg-dark ::selection{background:var(--silver-2);color:#fff}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.05;letter-spacing:-.03em;margin:0 0 .5em;text-wrap:balance;font-variation-settings:"wdth" 100}
h1{font-size:clamp(2.8rem,6.5vw,5.6rem);letter-spacing:-.04em}
h2{font-size:clamp(2rem,4.6vw,3.8rem);letter-spacing:-.035em}
h3{font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:-.02em}
h4{font-size:1.1rem}
em{font-style:italic}
p{margin:0 0 1em}
.lede{font-size:clamp(1.15rem,1.7vw,1.45rem);color:var(--ink-2);max-width:56ch;line-height:1.45;text-wrap:pretty}
.measure{max-width:62ch}
.muted{color:var(--ink-2)}
.wrap{max-width:1320px;margin-inline:auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}
.bg-white{background:#fff}
.bg-silver{background:var(--bg-2)}
.bg-dark{background:var(--green-dark);color:var(--on-dark)}
.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4{color:#fff}
.bg-dark .muted,.bg-dark .lede{color:var(--on-dark-2)}
.bg-dark a{color:#fff}
.label{font-family:var(--font-display);font-variation-settings:"wdth" 76;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--ink-3)}
.bg-dark .label{color:var(--on-dark-2)}
.pad-xl{padding-block:clamp(7rem,16vw,15rem)}
.pad-l{padding-block:clamp(5rem,10vw,9rem)}
.pad-m{padding-block:clamp(3.5rem,7vw,6rem)}
.pad-s{padding-block:clamp(2rem,4vw,3rem)}
/* passport paper texture */
.textured{position:relative;isolation:isolate}
.textured::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.6;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23121518' stroke-opacity='.07' stroke-width='.8'%3E%3Ccircle cx='90' cy='90' r='80'/%3E%3Ccircle cx='90' cy='90' r='62'/%3E%3Ccircle cx='90' cy='90' r='44'/%3E%3Ccircle cx='0' cy='0' r='80'/%3E%3Ccircle cx='180' cy='0' r='80'/%3E%3Ccircle cx='0' cy='180' r='80'/%3E%3Ccircle cx='180' cy='180' r='80'/%3E%3C/g%3E%3C/svg%3E");background-size:180px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:600;font-size:1rem;letter-spacing:-.01em;padding:.9rem 1.5rem;border-radius:var(--r-pill);border:1px solid transparent;text-decoration:none;cursor:pointer;white-space:nowrap;line-height:1.1;
  transition:transform 160ms var(--ease-out),background-color 160ms ease,color 160ms ease,border-color 160ms ease,box-shadow 160ms ease}
.btn:active{transform:scale(.97)}
.btn svg{width:18px;height:18px;flex:none;transition:transform 220ms var(--ease-out)}
.btn:hover svg{transform:translateX(3px)}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 24px -12px rgba(47,127,95,.8)}
.btn-primary:hover{background:var(--green-deep);color:#fff}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--silver)}
.btn-secondary:hover{border-color:var(--ink);color:var(--ink)}
.bg-dark .btn-secondary{color:#fff;border-color:rgba(255,255,255,.35)}
.bg-dark .btn-secondary:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.btn-light,.bg-dark .btn-light{background:var(--bg);color:var(--green-dark)}
.btn-light:hover,.bg-dark .btn-light:hover{background:#fff;color:var(--green-dark)}
.btn-lg{font-size:1.1rem;padding:1.1rem 1.8rem}
.link-arrow{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-display);font-weight:600;text-decoration:none;color:var(--green-deep)}
.link-arrow svg{width:18px;height:18px;transition:transform 220ms var(--ease-out)}
.link-arrow:hover svg{transform:translateX(4px)}
.icon{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- Header + mega menu ---------- */
.skip{position:absolute;left:-999px;top:8px;background:var(--green-dark);color:#fff;padding:.6rem 1rem;border-radius:8px;z-index:100}
.skip:focus{left:12px}
.header{position:sticky;top:0;z-index:60;height:var(--header);display:flex;align-items:center;transition:background-color 300ms ease,box-shadow 300ms ease,color 300ms ease;background:transparent}
.header.on-hero:not(.scrolled):not(.menu-open){color:#fff}
.header.on-hero:not(.scrolled):not(.menu-open) .brand,.header.on-hero:not(.scrolled):not(.menu-open) .nav-links a,.header.on-hero:not(.scrolled):not(.menu-open) .nav-links button{color:#fff}
.header.on-hero:not(.scrolled):not(.menu-open) .brand small{color:rgba(255,255,255,.7)}
.header.on-hero:not(.scrolled):not(.menu-open) .nav-links a:hover,.header.on-hero:not(.scrolled):not(.menu-open) .nav-links button:hover{background:rgba(255,255,255,.12)}
.header.on-hero:not(.scrolled):not(.menu-open) .burger{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}
.header.on-hero:not(.scrolled):not(.menu-open) .burger span{background:#fff}
.header.scrolled,.header.menu-open{background:rgba(244,245,247,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--line-2)}
.header .wrap{width:100%}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;font-size:1.05rem;line-height:1.05}
.brand img{width:44px;height:44px;transition:transform 500ms var(--ease-out)}
.brand:hover img{transform:rotate(-14deg)}
.brand small{display:block;font-weight:500;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-variation-settings:"wdth" 80;margin-top:.15rem}
.nav-links{display:flex;align-items:center;gap:.15rem;list-style:none;margin:0;padding:0}
.nav-links a,.nav-links button{display:inline-flex;align-items:center;gap:.35rem;padding:.6rem .9rem;border-radius:var(--r-pill);text-decoration:none;color:var(--ink);font:inherit;font-family:var(--font-display);font-weight:500;font-size:.95rem;background:none;border:0;cursor:pointer;transition:background-color 160ms ease}
.nav-links a:hover,.nav-links button:hover{background:#fff}
.nav-links a[aria-current="page"]{color:var(--green-deep)}
.nav-links button svg{width:14px;height:14px;transition:transform 240ms var(--ease-out)}
.menu-open .nav-links button[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-right{display:flex;align-items:center;gap:.6rem}
.burger{width:48px;height:48px;border-radius:50%;border:1px solid var(--silver);background:#fff;cursor:pointer;display:grid;place-items:center;position:relative;transition:transform 160ms var(--ease-out),background-color 160ms ease}
.burger:active{transform:scale(.94)}
.burger span{position:absolute;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform 320ms var(--ease-in-out),opacity 200ms ease}
.burger span:nth-child(1){transform:translateY(-5px)}
.burger span:nth-child(2){transform:translateY(5px)}
.menu-open .burger span:nth-child(1){transform:rotate(45deg)}
.menu-open .burger span:nth-child(2){transform:rotate(-45deg)}
@media (min-width:1024px){.burger{display:none}}
@media (max-width:1023px){.nav-links{display:none}.nav-right .btn{display:none}}

.mega{outline:none;position:fixed;inset:var(--mega-top,calc(var(--header) + var(--strip))) 0 0 0;z-index:55;background:var(--green-dark);color:var(--on-dark);overflow:auto;
  clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path 640ms var(--ease-out),visibility 0s linear 640ms}
.mega.open{clip-path:inset(0 0 0 0);visibility:visible;transition-delay:0s}
.mega-inner{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:clamp(1.5rem,4vw,4rem);padding-block:clamp(1.5rem,4vh,3rem) 3rem;min-height:100%;position:relative}
.mega .label{margin:0 0 .9rem}
.mega-list{list-style:none;margin:0;padding:0}
.mega-list li{border-top:1px solid var(--on-dark-line)}
.mega-list li:last-child{border-bottom:1px solid var(--on-dark-line)}
.mega-list a{display:grid;grid-template-columns:52px 1fr 20px;align-items:center;gap:1rem;padding:.75rem 0;text-decoration:none;color:#fff;font-family:var(--font-display);font-weight:600;font-size:clamp(1.15rem,1.6vw,1.45rem);letter-spacing:-.02em;transition:padding-left 240ms var(--ease-out),color 160ms ease}
.mega-list a small{display:block;font-family:var(--font-body);font-weight:400;font-size:.88rem;color:var(--on-dark-2);letter-spacing:0}
.mega-list a .ico{--size:52px;--glyph:30px}
.mega-list a .arr{width:20px;height:20px;opacity:0;transform:translateX(-6px);transition:opacity 200ms ease,transform 240ms var(--ease-out)}
.mega-list a:hover,.mega-list a:focus-visible{padding-left:.6rem;color:#fff}
.mega-list a:hover .arr,.mega-list a:focus-visible .arr{opacity:1;transform:none}
.mega-cta{margin-top:1.5rem}
.mega-preview{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--green-dark-2);align-self:start}
.mega-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 420ms ease,transform 900ms var(--ease-out);transform:scale(1.04)}
.mega-preview img.show{opacity:1;transform:none}
.mega-preview .cap{position:absolute;left:1.25rem;bottom:1.25rem;right:1.25rem;color:#fff;font-family:var(--font-display);font-weight:600;font-size:1.3rem;letter-spacing:-.02em;text-shadow:0 2px 14px rgba(0,0,0,.4)}
.mega-preview .spin{position:absolute;top:1rem;right:1rem;width:92px;height:92px;color:#fff;opacity:.9;animation:spin 24s linear infinite}
.mega-preview .spin text{font-family:var(--font-display);font-variation-settings:"wdth" 76;font-weight:700;letter-spacing:.14em;fill:currentColor}
@keyframes spin{to{transform:rotate(360deg)}}
.mega-side{display:grid;gap:1.6rem;align-content:start}
.mega-loc{border-top:1px solid var(--on-dark-line);padding-top:.9rem}
.mega-loc strong{display:block;font-family:var(--font-display);font-size:1.2rem;letter-spacing:-.02em;color:#fff}
.mega-loc address{font-style:normal;color:var(--on-dark-2);font-size:.95rem;line-height:1.5}
.mega-loc a{display:inline-block;margin-top:.35rem;font-family:var(--font-display);font-weight:600;text-decoration:none;color:#fff}
.mega-links{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.mega-links a{text-decoration:none;color:#fff;font-family:var(--font-display);font-weight:500;font-size:1.05rem}
.mega-links a:hover{color:var(--on-dark-2)}
.mega-social{display:flex;gap:.6rem}
.mega-social a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--on-dark-line);border-radius:50%;color:#fff}
.mega-social a:hover{background:rgba(255,255,255,.08)}
.mega-social .icon{width:18px;height:18px}
/* staggered entrance */
.mega [data-i]{opacity:0;transform:translateY(16px);transition:opacity 420ms ease,transform 560ms var(--ease-out)}
.mega.open [data-i]{opacity:1;transform:none;transition-delay:calc(180ms + var(--i) * 45ms)}
@media (max-width:1023px){
  .mega-inner{grid-template-columns:1fr;gap:2rem;padding-bottom:4rem}
  .mega-preview{display:none}
  .mega-list a{font-size:1.35rem;padding:.9rem 0}
  .mega-side{grid-template-columns:1fr 1fr}
  .mega-side>.mega-links,.mega-side>.mega-social{grid-column:1/-1}
}
@media (max-width:560px){.mega-side{grid-template-columns:1fr}}
html.no-scroll{overflow:hidden}

/* ---------- Hero (cinematic, full viewport) ---------- */
.hero{position:relative;margin-top:calc(-1 * var(--header));min-height:clamp(600px,100svh,980px);display:grid;align-items:center;justify-items:center;text-align:center;color:#fff;overflow:hidden;padding:calc(var(--header) + 2rem) var(--gutter-r) 7rem var(--gutter);isolation:isolate}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2;animation:kenburns 26s ease-in-out infinite alternate;will-change:transform}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.1)}}
@media (prefers-reduced-motion:reduce){.hero>img{animation:none}}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,21,24,.55) 0%,rgba(18,21,24,.15) 40%,rgba(18,21,24,.55) 100%)}
.hero-inner{max-width:900px;display:grid;justify-items:center;gap:1.25rem}
.hero h1{font-size:clamp(2.8rem,7vw,6.6rem);line-height:.96;letter-spacing:-.045em;margin:0;color:#fff;font-weight:500;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.hero h1 em{font-style:italic;font-weight:400;color:#DCE2E8}
.hero .lede{color:rgba(255,255,255,.88);max-width:46ch;margin:0;text-shadow:0 1px 20px rgba(0,0,0,.3)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:.5rem}
.btn-dark,.hero .btn-dark{background:rgba(18,21,24,.85);color:#fff;border-color:rgba(255,255,255,.12);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.btn-dark:hover{background:var(--ink);color:#fff}
.hero .btn-ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hero .btn-ghost:hover{background:rgba(255,255,255,.2);color:#fff}
.hero-caption{display:none}
.passport{position:absolute;right:clamp(1.25rem,4vw,3.5rem);bottom:clamp(1.25rem,4vw,3rem);width:min(70%,360px);background:#fff;border-radius:var(--r);box-shadow:var(--shadow);transform:rotate(-3deg);padding:1rem 1.1rem;color:var(--ink);text-align:left;z-index:2}
.passport-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line-2);padding-bottom:.55rem;margin-bottom:.6rem}
.passport-head strong{font-family:var(--font-display);font-weight:700;font-size:.82rem;letter-spacing:.05em}
.passport-head img{width:32px;height:32px}
.passport dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:0;font-size:.82rem}
.passport dt{font-family:var(--font-display);font-variation-settings:"wdth" 76;font-weight:600;text-transform:uppercase;letter-spacing:.09em;font-size:.6rem;color:var(--ink-3);padding-top:.2rem}
.passport dd{margin:0;line-height:1.3}
.stamps{display:flex;justify-content:space-between;gap:.3rem;margin-top:.7rem;padding-top:.6rem;border-top:1px dashed var(--silver)}
.stamp{display:block;width:80px;height:80px;flex:none;color:var(--blue);mix-blend-mode:multiply;opacity:.92;transform:rotate(var(--tilt,0deg))}
.stamp svg,.mini-stamp svg,.spin svg,.entry-stamp svg{width:100%;height:100%;overflow:visible}
.stamp text,.mini-stamp text,.entry-stamp text{font-family:var(--font-display);font-variation-settings:"wdth" 76;font-weight:700;letter-spacing:.14em;fill:currentColor}
.stamp-in{animation:stamp-in 560ms var(--ease-out) both;animation-delay:var(--delay,0ms)}
@keyframes stamp-in{0%{opacity:0;transform:scale(1.7) rotate(var(--tilt,0deg))}55%{opacity:.92;transform:scale(.94) rotate(var(--tilt,0deg))}100%{opacity:.92;transform:scale(1) rotate(var(--tilt,0deg))}}
@media (prefers-reduced-motion:reduce){.stamp-in{animation:none}}
@media (max-width:1023px){.passport{display:none}}
@media (max-width:760px){.hero{min-height:clamp(560px,92svh,820px);padding-bottom:4rem}}

/* ---------- Value strip ---------- */
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.value{display:grid;justify-items:start;gap:1rem;padding:1.6rem;background:#fff;border:1px solid var(--line-2);border-radius:var(--r);transition:transform 320ms var(--ease-out),box-shadow 320ms var(--ease-out)}
.value:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.value strong{display:block;font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:-.02em;margin-bottom:.2rem}
.value span{color:var(--ink-2);font-size:.95rem}
@media (max-width:980px){.values{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.values{grid-template-columns:1fr}}

/* ---------- Icon tiles (brushed silver, animated) ---------- */
.ico{--size:112px;--glyph:62px;position:relative;display:grid;place-items:center;width:var(--size);height:var(--size);flex:none;border-radius:50%;background:var(--metal);color:var(--ink);
  box-shadow:inset 0 1px 0 #fff,inset 0 -2px 6px rgba(18,21,24,.08),0 14px 30px -16px rgba(18,21,24,.45);
  transition:transform 420ms var(--ease-out),box-shadow 420ms var(--ease-out)}
.ico::before{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--silver);opacity:.6;transition:transform 500ms var(--ease-out),opacity 400ms ease}
.ico svg{width:var(--glyph);height:var(--glyph);transition:transform 480ms var(--ease-out)}
.ico svg g{stroke-width:1.5}
.ico svg [opacity]{stroke:var(--silver-2);opacity:.75;transition:stroke 300ms ease,opacity 300ms ease}
.ico.dark{background:var(--metal-dark);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 14px 30px -16px rgba(0,0,0,.8)}
.ico.dark::before{border-color:rgba(255,255,255,.18)}
.ico.dark svg [opacity]{stroke:#8E99A4}
:where(.value,.facts li,.benefit,.pep-grid>div,.rcard,.mega-list a,.stack-card):hover .ico{transform:translateY(-3px) rotate(-6deg);box-shadow:inset 0 1px 0 #fff,inset 0 -2px 6px rgba(18,21,24,.08),0 22px 36px -16px rgba(18,21,24,.5)}
:where(.value,.facts li,.benefit,.pep-grid>div,.rcard,.mega-list a,.stack-card):hover .ico::before{transform:scale(1.12);opacity:1}
:where(.value,.facts li,.benefit,.pep-grid>div,.rcard,.mega-list a,.stack-card):hover .ico svg{transform:scale(1.1) rotate(6deg)}
:where(.value,.facts li,.benefit,.pep-grid>div,.rcard,.mega-list a,.stack-card):hover .ico svg [opacity]{stroke:var(--green);opacity:.9}
.ico.pop{animation:ico-pop 900ms var(--ease-out) both}
@keyframes ico-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.06);opacity:1}100%{transform:scale(1)}}
.ico.float{animation:ico-float 5s ease-in-out infinite}
@keyframes ico-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.ico.pop,.ico.float{animation:none}}

/* ---------- Ticker ---------- */
.ticker{overflow:hidden;background:var(--graphite);color:var(--on-dark-2);height:var(--strip);display:flex;align-items:center;white-space:nowrap;position:relative;z-index:61}
.ticker-track{display:inline-flex;gap:0;animation:ticker 40s linear infinite;will-change:transform}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker span{display:inline-flex;align-items:center;gap:1.6rem;padding-right:1.6rem;font-family:var(--font-display);font-weight:600;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-variation-settings:"wdth" 80}
.ticker svg{width:10px;height:10px;color:var(--silver-2)}
@keyframes ticker{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}

/* ---------- Manifesto ---------- */
.manifesto{text-align:left}
.manifesto p.big{font-family:var(--font-display);font-weight:600;font-size:clamp(2.2rem,7vw,7rem);line-height:1;letter-spacing:-.045em;margin:0 0 2rem;max-width:16ch;font-variation-settings:"wdth" 108;text-wrap:balance}
.manifesto .w{display:inline-block;color:var(--silver)}
.manifesto .w.on{color:var(--ink)}
.manifesto-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem 4rem;align-items:start;margin-top:3rem}
.manifesto-grid p{color:var(--ink-2);font-size:1.1rem;max-width:48ch}
.manifesto-grid .side{border-top:2px solid var(--ink);padding-top:1rem;font-family:var(--font-display);font-size:1.3rem;font-weight:500;letter-spacing:-.02em;line-height:1.3;color:var(--ink)}
@media (max-width:760px){.manifesto-grid{grid-template-columns:1fr}}
@supports (animation-timeline:view()){
  .manifesto .w{animation:ink linear both;animation-timeline:view();animation-range:entry 40% entry 120%;animation-delay:0s}
  @keyframes ink{to{color:var(--ink)}}
  @media (prefers-reduced-motion:reduce){.manifesto .w{animation:none;color:var(--ink)}}
}
@supports not (animation-timeline:view()){.manifesto .w{color:var(--ink)}}

/* ---------- Sticky stack ---------- */
.stack{display:grid;gap:1rem}
.stack-card{position:sticky;top:calc(var(--header) + 1rem);min-height:min(74vh,640px);border-radius:var(--r);padding:clamp(1.5rem,4vw,3.5rem);display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;box-shadow:var(--shadow);overflow:hidden}
.stack-card:nth-child(1){background:#fff}
.stack-card:nth-child(2){background:var(--metal);top:calc(var(--header) + 2.25rem)}
.stack-card:nth-child(3){background:var(--green-dark);color:var(--on-dark);top:calc(var(--header) + 3.5rem)}
.stack-card:nth-child(3) h3{color:#fff}
.stack-card:nth-child(3) p{color:var(--on-dark-2)}
.stack-card .no{font-family:var(--font-display);font-weight:600;font-size:clamp(4rem,9vw,8rem);line-height:.9;letter-spacing:-.05em;color:var(--silver-2);font-variant-numeric:tabular-nums;margin-bottom:1rem;font-variation-settings:"wdth" 110}
.stack-card:nth-child(3) .no{color:#505963}
.stack-card h3{font-size:clamp(1.8rem,3.4vw,2.8rem);letter-spacing:-.035em}
.stack-card p{font-size:1.1rem;max-width:40ch;color:var(--ink-2);margin:0}
.stack-card .ph{border-radius:calc(var(--r) - 6px);overflow:hidden;aspect-ratio:4/3;max-height:100%}
.stack-card .ph img{width:100%;height:100%;object-fit:cover}
@media (max-width:820px){.stack-card{grid-template-columns:1fr;min-height:0;position:relative;top:auto!important}.stack-card .ph{aspect-ratio:16/9}}

/* ---------- Journey rail ---------- */
.rail-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap}
.rail-nav{display:flex;gap:.5rem}
.rail-nav button{width:48px;height:48px;border-radius:50%;border:1px solid var(--silver);background:#fff;color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:transform 160ms var(--ease-out),border-color 160ms ease}
.rail-nav button:hover{border-color:var(--ink)}
.rail-nav button:active{transform:scale(.94)}
.rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:2.5rem var(--gutter-r) 1rem var(--gutter);margin-inline:calc(-1 * var(--gutter)) calc(-1 * var(--gutter-r));scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rcard{flex:0 0 min(78vw,380px);scroll-snap-align:start;position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;text-decoration:none;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;isolation:isolate}
.rcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 900ms var(--ease-out)}
.rcard::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,31,26,0) 35%,rgba(14,31,26,.82) 100%)}
.rcard:hover img{transform:scale(1.05)}
.rcard h3{color:#fff;font-size:1.6rem;margin:0 0 .35rem}
.rcard p{margin:0 0 1rem;color:rgba(255,255,255,.85);font-size:.95rem;max-width:28ch}
.rcard .more{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-weight:600;font-size:.95rem;color:#fff}
.rcard .more svg{width:18px;height:18px;transition:transform 220ms var(--ease-out)}
.rcard:hover .more svg{transform:translateX(4px)}
.rcard .mini-stamp{position:absolute;top:1rem;right:1rem;width:72px;height:72px;color:#fff;opacity:0;transform:rotate(-20deg) scale(1.3);transition:opacity 260ms ease,transform 360ms var(--ease-out)}
.rcard:hover .mini-stamp,.rcard:focus-visible .mini-stamp{opacity:.95;transform:rotate(-10deg) scale(1)}
.rcard.tint{color:var(--ink);background:var(--metal)}
.rcard.tint h3{color:var(--ink)}
.rcard.tint p{color:var(--ink-2)}
.rcard.tint .more{color:var(--green-deep)}
.rcard.tint::before{display:none}
.rcard.tint .mini-stamp{color:var(--blue)}
.rcard.tint .ico{position:absolute;top:1.5rem;left:1.5rem;--size:96px;--glyph:54px}
.rail-progress{height:2px;background:var(--line);margin-top:.5rem;position:relative;overflow:hidden}
.rail-progress i{position:absolute;left:0;top:0;bottom:0;width:20%;background:var(--ink);transition:transform 200ms var(--ease-out)}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.stat{border-top:1px solid var(--on-dark-line);padding-top:1.25rem}
.stat b{display:block;font-family:var(--font-display);font-weight:600;font-size:clamp(3.4rem,8vw,7.5rem);line-height:.9;letter-spacing:-.05em;color:#fff;font-variant-numeric:tabular-nums;font-variation-settings:"wdth" 104}
.stat b small{font-size:.5em;color:var(--silver-2);letter-spacing:-.02em}
.stat strong{display:block;font-family:var(--font-display);font-weight:600;font-size:1.15rem;margin-top:.8rem;color:#fff}
.stat>span{color:var(--on-dark-2);font-size:.95rem;display:block;max-width:30ch}
@media (max-width:760px){.stats{grid-template-columns:1fr}}

/* ---------- Split / about ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.split .photo{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow)}
.split .photo img{width:100%;height:100%;object-fit:cover}
.split .photo.wide{aspect-ratio:4/3}
@media (max-width:860px){.split{grid-template-columns:1fr}.split .photo{aspect-ratio:4/3}}
.facts{list-style:none;margin:1.75rem 0 0;padding:0;border-top:1px solid var(--line)}
.facts li{display:grid;grid-template-columns:88px 1fr;gap:1.25rem;padding:1.1rem 0;border-bottom:1px solid var(--line);align-items:center}
.facts .ico{--size:88px;--glyph:48px}
.facts strong{display:block;font-family:var(--font-display);font-weight:600;font-size:1.1rem;letter-spacing:-.015em;margin-bottom:.15rem}
.facts span{color:var(--ink-2);font-size:.97rem}
.about-quote{margin-top:2rem;padding:1.5rem;background:var(--metal);border-radius:var(--r);font-family:var(--font-display);font-weight:500;font-size:1.2rem;letter-spacing:-.015em;line-height:1.35}
.about-quote cite{display:block;font-style:normal;font-family:var(--font-body);font-size:.95rem;color:var(--ink-2);margin-top:.5rem}

/* ---------- Peptides (dark) ---------- */
.pep{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.pep .vial{position:relative;border-radius:var(--r);overflow:hidden;background:var(--metal);aspect-ratio:1;display:grid;place-items:center;padding:2rem}
.pep .vial img{object-fit:contain;max-height:100%;filter:drop-shadow(0 30px 40px rgba(14,31,26,.35))}
.pep .vial .entry-stamp{position:absolute;left:1.25rem;bottom:1.25rem;width:96px;height:96px;color:var(--blue);transform:rotate(-8deg)}
.pep-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;margin-top:2.5rem;border-top:1px solid var(--on-dark-line);border-left:1px solid var(--on-dark-line)}
.pep-grid>div{padding:1.4rem 1.25rem;border-right:1px solid var(--on-dark-line);border-bottom:1px solid var(--on-dark-line)}
.pep-grid .ico{--size:80px;--glyph:44px;margin-bottom:1rem}
.pep-grid strong{display:block;font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;color:#fff;margin-bottom:.25rem}
.pep-grid span{color:var(--on-dark-2);font-size:.92rem}
@media (max-width:980px){.pep{grid-template-columns:1fr}.pep-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pep-grid{grid-template-columns:1fr}}

/* ---------- Plans (silver on green) ---------- */
.plans{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:3rem}
.plan{background:linear-gradient(160deg,#F8FAFB 0%,#E6EAEE 55%,#D6DCE3 100%);color:var(--ink);border-radius:var(--r);padding:1.75rem;display:flex;flex-direction:column;gap:1.1rem;box-shadow:var(--shadow);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.6)}
.plan .photo{margin:-1.75rem -1.75rem 0;aspect-ratio:16/7;overflow:hidden}
.plan .photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.plan h3{margin:0;font-size:1.7rem;color:var(--ink)}
.plan .tagline{margin:.2rem 0 0;color:var(--ink-2);font-style:italic}
.plan .price{display:flex;align-items:baseline;gap:.6rem;font-family:var(--font-display);font-variant-numeric:tabular-nums}
.plan .price b{font-size:3rem;font-weight:600;letter-spacing:-.04em;color:var(--green-deep)}
.plan .price span,.plan .price s{color:var(--ink-3)}
.plan ul{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}
.plan ul li{display:grid;grid-template-columns:20px 1fr;gap:.6rem;align-items:start;color:var(--ink-2)}

.plan .btn{align-self:flex-start;margin-top:auto}
@media (max-width:760px){.plans{grid-template-columns:1fr}}

/* ---------- Stories ---------- */
.quote{font-family:var(--font-display);font-size:clamp(1.6rem,3.4vw,2.9rem);font-weight:500;letter-spacing:-.03em;line-height:1.15;max-width:24ch;margin:0 0 .75rem;text-wrap:pretty;font-variation-settings:"wdth" 98}
.quote-by{color:var(--ink-2)}
.stories{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}
.story{display:block;text-decoration:none;color:var(--ink);border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--line-2);transition:transform 320ms var(--ease-out),box-shadow 320ms var(--ease-out)}
.story:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.story .ph{aspect-ratio:1;overflow:hidden;background:var(--blue-tint);position:relative}
.story .ph img{width:100%;height:100%;object-fit:cover;object-position:center top}
.story .play{position:absolute;left:12px;bottom:12px;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--green-deep);display:grid;place-items:center;box-shadow:var(--shadow);transition:transform 220ms var(--ease-out)}
.story:hover .play{transform:scale(1.08)}
.story .play svg{width:18px;height:18px;margin-left:2px}
.story .meta{padding:.9rem 1rem 1rem}
.story strong{display:block;font-family:var(--font-display);font-weight:600}
.story span{color:var(--ink-2);font-size:.9rem}
@media (max-width:900px){.stories{grid-template-columns:repeat(2,1fr)}}

/* ---------- Locations + map ---------- */
.map-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.usmap{position:relative}
.usmap img{width:100%;filter:grayscale(1) brightness(1.08);opacity:.9}
.pin{position:absolute;width:18px;height:18px;transform:translate(-50%,-50%)}
.pin::before,.pin::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--blue)}
.pin::after{animation:pulse 2.2s ease-out infinite}
.pin i{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);z-index:1}
.pin b{position:absolute;left:24px;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-weight:600;font-size:.9rem;white-space:nowrap;background:#fff;padding:.2rem .55rem;border-radius:var(--r-pill);box-shadow:var(--shadow)}
@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(3.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.pin::after{animation:none}}
.locs{display:grid;gap:1rem}
.loc{background:#fff;border:1px solid var(--line-2);border-radius:var(--r);padding:1.6rem;display:grid;gap:.75rem;position:relative}
.loc h3{font-size:clamp(1.7rem,2.6vw,2.3rem);margin:0;letter-spacing:-.035em}
.loc h3 small{display:block;font-size:.8rem;letter-spacing:.1em;color:var(--ink-3);font-weight:600;font-variation-settings:"wdth" 80;text-transform:uppercase;margin-top:.2rem}
.loc address{font-style:normal;color:var(--ink-2);line-height:1.5}
.loc .row{display:flex;flex-wrap:wrap;gap:.6rem 1.25rem}
.loc .row a{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-weight:600;text-decoration:none}
.loc .row .icon{width:18px;height:18px}
.entry-stamp{position:absolute;top:1.1rem;right:1.1rem;width:72px;height:72px;color:var(--blue);opacity:.9;transform:rotate(8deg)}
@media (max-width:860px){.map-wrap{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{margin-top:2rem;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 0;cursor:pointer;list-style:none;font-family:var(--font-display);font-weight:600;font-size:1.12rem;letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .icon{width:22px;height:22px;color:var(--ink);transition:transform 240ms var(--ease-out)}
.faq details[open] summary .icon{transform:rotate(45deg)}
.faq summary:hover{color:var(--green-deep)}
.faq .a{padding:0 0 1.2rem;color:var(--ink-2);max-width:68ch}
.faq .a p:last-child{margin:0}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr}}

/* ---------- Closing ---------- */
.closing h2{font-size:clamp(2.6rem,7vw,6.5rem);max-width:14ch;letter-spacing:-.045em;line-height:.98}
.closing .hero-actions{justify-content:flex-start;margin-top:2rem}
.contact-line{margin-top:1.5rem;color:var(--on-dark-2)}
.contact-line a{color:#fff}

/* ---------- Footer ---------- */
.footer{background:var(--green-dark);color:var(--on-dark-2);border-top:1px solid var(--on-dark-line);padding-block:3rem 2rem;font-size:.93rem}
.footer a{color:var(--on-dark);text-decoration:none}
.footer a:hover{color:#fff;text-decoration:underline}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
.footer h4{color:#fff;font-size:.95rem;margin-bottom:.8rem}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.footer .brand{color:#fff;margin-bottom:.75rem}
.footer .brand small{color:var(--on-dark-2)}
.footer-tag{max-width:34ch}
.footer-bottom{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--on-dark-line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;font-size:.85rem}
.footer-bottom .policy{max-width:70ch}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.footer-grid{grid-template-columns:1fr}}

/* ---------- Inner pages ---------- */
.page-hero{padding-top:clamp(2rem,5vw,4rem)}
.crumbs{display:flex;gap:.5rem;align-items:center;font-size:.9rem;color:var(--ink-3);margin-bottom:1.5rem;flex-wrap:wrap}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--green-deep)}
.crumbs svg{width:14px;height:14px}
.page-hero h1{max-width:14ch}
.page-bleed{margin-top:clamp(2rem,5vw,4rem);border-radius:var(--r);overflow:hidden;height:min(60vh,560px);min-height:280px}
.page-bleed img{width:100%;height:120%;object-fit:cover;object-position:center 35%}
.points{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.points>div{padding-top:1.25rem;border-top:2px solid var(--ink)}
.points h3{margin-bottom:.4rem}
.points p{color:var(--ink-2);margin:0}
@media (max-width:720px){.points{grid-template-columns:1fr}}
.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:2.5rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.benefit{background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.75rem;display:grid;grid-template-columns:104px 1fr;gap:1.25rem;align-items:center}
.benefit .ico{--size:104px;--glyph:58px}
.benefit h3{font-size:1.25rem;margin-bottom:.3rem}
.benefit p{margin:0;color:var(--ink-2);font-size:.97rem}
@media (max-width:720px){.benefits{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}
.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.05rem;border-radius:var(--r-pill);background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:500;font-size:.92rem;transition:border-color 160ms ease,color 160ms ease,transform 160ms var(--ease-out)}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip:active{transform:scale(.97)}

/* ---------- Forms ---------- */
.form{display:grid;gap:1.1rem;background:#fff;border:1px solid var(--line-2);border-radius:var(--r);padding:clamp(1.25rem,3vw,2rem)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:600px){.form-row{grid-template-columns:1fr}}
.field{display:grid;gap:.4rem}
.field label{font-family:var(--font-display);font-weight:600;font-size:.92rem}
.field .hint{font-size:.85rem;color:var(--ink-2);font-weight:400}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--r-input);padding:.8rem .9rem;width:100%;min-width:0;transition:border-color 160ms ease,box-shadow 160ms ease}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-3)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-tint);background:#fff}
.field textarea{min-height:120px;resize:vertical}
.field .error{display:none;color:#A33A2B;font-size:.88rem}
.field.invalid .error{display:block}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#C0392B}
.check{display:grid;grid-template-columns:22px 1fr;gap:.7rem;align-items:start;font-size:.92rem;color:var(--ink-2)}
.check input{width:20px;height:20px;margin:.1rem 0 0;accent-color:var(--green)}
.form-note{font-size:.85rem;color:var(--ink-3);margin:0}
.form-success{display:none;background:var(--metal);border-radius:var(--r);padding:1.5rem}
.form-success h3{margin-bottom:.4rem}
.form-success p:last-child{margin:0}
.form.sent{display:none}
.form.sent + .form-success{display:block}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2.5rem;align-items:start;margin-top:2rem}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.side-card{background:#fff;border:1px solid var(--line-2);border-radius:var(--r);padding:1.5rem;display:grid;gap:.9rem}
.side-card h3{margin:0;font-size:1.25rem}
.side-card address{font-style:normal;color:var(--ink-2);line-height:1.5}
.side-card a{font-family:var(--font-display);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
.side-card .icon{width:18px;height:18px}

/* ---------- Prose ---------- */
.prose{max-width:72ch}
.prose h2{font-size:1.5rem;margin-top:2.2rem;letter-spacing:-.02em}
.prose h3{font-size:1.2rem;margin-top:1.8rem}
.prose p,.prose li{color:var(--ink-2)}
.prose ul{padding-left:1.2rem}
.prose .last-updated{color:var(--ink-3);font-size:.9rem}

/* ---------- Portal ---------- */
.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem}
.portal-card{background:#fff;border:1px solid var(--line-2);border-radius:var(--r);padding:1.75rem;display:grid;gap:.9rem;align-content:start}
.portal-card.soon{background:var(--metal);border-color:transparent}
.portal-card h3{margin:0}
.portal-card p{margin:0;color:var(--ink-2)}
.portal-card .btn{justify-self:start}
.tag{display:inline-block;font-family:var(--font-display);font-variation-settings:"wdth" 80;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:var(--green-deep);background:#fff;border:1px solid var(--line);padding:.3rem .55rem;border-radius:var(--r-pill);justify-self:start}
@media (max-width:720px){.portal-grid{grid-template-columns:1fr}}

/* ---------- Scroll-driven motion (progressive) ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity 700ms var(--ease-out),transform 900ms var(--ease-out)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
@supports (animation-timeline:view()){
  .parallax>img{animation:para linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes para{from{transform:translateY(-10%)}to{transform:translateY(6%)}}
  @media (prefers-reduced-motion:reduce){.parallax>img{animation:none}}
}
.nf{min-height:50vh;display:grid;align-content:center}
.nf h1{font-size:clamp(4rem,14vw,11rem);letter-spacing:-.06em;color:var(--silver);margin:0;line-height:.9}

/* ---------- v3.1: overflow guard, colored icon tiles, technology section ---------- */
html,body{overflow-x:clip;max-width:100%}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
.pin b{left:auto;right:24px}
.pin.right b{left:24px;right:auto}
.ico{--c:var(--blue)}
.ico::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--c) 22%,transparent),transparent 62%);pointer-events:none}
.ico::before{border-color:color-mix(in srgb,var(--c) 45%,var(--silver))}
.ico svg{position:relative;z-index:1;color:var(--ink)}
.ico svg [opacity]{stroke:var(--c);opacity:.9}
.ico.dark svg [opacity]{stroke:var(--c)}
.ico.dark svg{color:#fff}
.ico.dark::after{background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--c) 35%,transparent),transparent 62%)}
:where(.value,.facts li,.benefit,.pep-grid>div,.rcard,.mega-list a,.stack-card):hover .ico svg{color:var(--c)}
:where(.value,.facts li,.benefit,.pep-grid>div,.rcard,.mega-list a,.stack-card):hover .ico svg [opacity]{stroke:var(--c);opacity:.55}
.ico[data-hue="blue"]{--c:#3181C0}
.ico[data-hue="green"]{--c:#6E9CC8}
.ico[data-hue="teal"]{--c:#7E9DB8}
.ico[data-hue="sky"]{--c:#4F9BD9}

.tech{display:grid;grid-template-columns:.9fr 1.1fr .9fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;margin-top:3rem}
.tech-copy p{color:var(--ink-2)}
.tech-list{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.9rem}
.tech-list li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:baseline;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.tech-list b{font-family:var(--font-display);font-weight:600;font-size:clamp(1.6rem,2.6vw,2.2rem);letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}
.tech-list b small{font-size:.5em;color:var(--ink-3);letter-spacing:0;margin-left:.1em}
.tech-list span{color:var(--ink-2);font-size:.97rem}
@media (max-width:1100px){.tech{grid-template-columns:1fr 1fr}.tech-copy{grid-column:1/-1}}
@media (max-width:640px){.tech{grid-template-columns:1fr}}

/* analyzer (drawn, animated) */
.machine{width:100%;max-width:340px;margin-inline:auto;filter:drop-shadow(0 30px 40px rgba(18,21,24,.25))}
.machine svg{width:100%;height:auto;overflow:visible}
.machine .screen-bar{transform-origin:left center;animation:bar-grow 2.6s var(--ease-out) infinite alternate}
.machine .screen-bar:nth-child(2){animation-delay:.3s}
.machine .screen-bar:nth-child(3){animation-delay:.6s}
@keyframes bar-grow{0%{transform:scaleX(.25)}100%{transform:scaleX(1)}}
.machine .scan{animation:scan 3s linear infinite}
@keyframes scan{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(74px);opacity:0}}
.machine .pad{animation:pad-pulse 2s ease-in-out infinite}
.machine .pad:nth-of-type(2n){animation-delay:1s}
@keyframes pad-pulse{0%,100%{fill:#E6EAEE}50%{fill:#9CCBEF}}
.machine .grip{animation:grip-glow 2s ease-in-out infinite}
@keyframes grip-glow{0%,100%{stroke:#C8CED5}50%{stroke:#3181C0}}
.machine .ring{stroke-dasharray:188;stroke-dashoffset:188;animation:ring 3s linear infinite}
@keyframes ring{to{stroke-dashoffset:0}}
.machine .handle{transform-origin:top center;animation:sway 5s ease-in-out infinite}
.machine .handle.r{animation-delay:-2.5s}
@keyframes sway{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}
.machine .dot{animation:blink 1.4s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:.3}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.machine *{animation:none!important}}

/* phone mockup */
.phone-wrap{display:grid;justify-items:center}
.phone{position:relative;width:min(100%,300px);aspect-ratio:300/620;border-radius:52px;padding:11px;background:linear-gradient(160deg,#F4F6F8,#BFC7CF 45%,#8E99A4 100%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.6),0 40px 60px -30px rgba(18,21,24,.6),0 2px 6px rgba(18,21,24,.2)}
.phone::before{content:"";position:absolute;left:-3px;top:120px;width:3px;height:34px;border-radius:2px;background:#9AA4AE}
.phone::after{content:"";position:absolute;right:-3px;top:150px;width:3px;height:60px;border-radius:2px;background:#9AA4AE}
.phone-screen{position:relative;height:100%;border-radius:42px;background:#fff;overflow:hidden;display:grid;grid-template-rows:auto 1fr;font-size:11px;color:var(--ink)}
.island{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:92px;height:26px;border-radius:14px;background:#0b0d0f;z-index:2}
.statusbar{display:flex;justify-content:space-between;padding:14px 22px 0;font-family:var(--font-display);font-weight:600;font-size:12px}
.report{padding:14px 16px 18px;display:grid;gap:10px;align-content:start;overflow:hidden}
.report h5{font-family:var(--font-display);font-size:13px;margin:0;letter-spacing:-.01em}
.report .meta{color:var(--ink-3);font-size:10px}
.report .big{font-family:var(--font-display);font-weight:600;font-size:30px;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.report .big small{font-size:12px;color:var(--ink-3);letter-spacing:0;margin-left:3px}
.report .row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}
.report .row span{color:var(--ink-2)}
.report .row b{font-family:var(--font-display);font-weight:600;font-variant-numeric:tabular-nums}
.report .bar{grid-column:1/-1;height:6px;border-radius:3px;background:var(--bg-2);overflow:hidden}
.report .bar i{display:block;height:100%;width:var(--w);border-radius:3px;background:var(--c,var(--blue));transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease-out)}
.in .report .bar i,.report.in .bar i{transform:scaleX(1)}
.report .bar:nth-of-type(1) i{transition-delay:.2s}
.report .seg{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;background:var(--bg);border-radius:12px;padding:8px 10px}
.report .seg svg{width:46px;height:70px}
.report .seg div{display:grid;gap:4px;font-size:10px;color:var(--ink-2)}
.report .seg b{display:block;font-family:var(--font-display);font-size:11px;color:var(--ink)}
.report .seg .r{text-align:right}
.report .hist{display:grid;gap:4px}
.report .hist svg{width:100%;height:44px}
.report .hist polyline{fill:none;stroke:var(--blue);stroke-width:2;stroke-linejoin:round;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 1.6s var(--ease-out) .4s}
.in .report .hist polyline{stroke-dashoffset:0}
.report .hist circle{fill:#fff;stroke:var(--blue);stroke-width:2}
.report .pill{display:inline-block;background:var(--green);color:#fff;font-family:var(--font-display);font-weight:600;font-size:10px;padding:3px 8px;border-radius:999px;justify-self:start}
.phone-caption{margin-top:1rem;text-align:center;color:var(--ink-3);font-size:.85rem}

/* ---------- v3.2 review notes: route cards with diagonal photo, peptide photo panel ---------- */
.stack-card{--hue:#3181C0;grid-template-columns:1.05fr 1fr;gap:0;padding:0;background:#fff;align-items:stretch}
.stack-card:nth-child(2){background:#fff;--hue:#6E9CC8}
.stack-card:nth-child(3){background:var(--graphite);--hue:#7E9DB8}
.stack-card .body{position:relative;padding:clamp(1.75rem,4vw,3.5rem);display:grid;align-content:center;gap:.25rem;background:linear-gradient(135deg,#fff 0%,#F3F5F7 60%,#E8ECF0 100%)}
.stack-card:nth-child(3) .body{background:linear-gradient(135deg,#22272C 0%,#171B1F 70%)}
.stack-card .body::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--hue),color-mix(in srgb,var(--hue) 40%,#fff))}
.stack-card:nth-child(3) .body::before{background:linear-gradient(180deg,var(--hue),color-mix(in srgb,var(--hue) 30%,#000))}
.stack-card .stop{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-variation-settings:"wdth" 80;font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--hue);margin-bottom:1rem}
.stack-card .stop::before{content:"";width:28px;height:2px;background:var(--hue)}
.stack-card .no{color:var(--hue);text-shadow:0 18px 40px color-mix(in srgb,var(--hue) 35%,transparent);margin-bottom:.5rem;position:relative}
.stack-card .no::after{content:"";position:absolute;left:-.1em;bottom:.05em;width:1.6em;height:.28em;background:color-mix(in srgb,var(--hue) 18%,transparent);border-radius:999px;z-index:-1}
.stack-card:nth-child(3) .no{color:#A9C6E0}
.stack-card .ph{aspect-ratio:auto;max-height:none;border-radius:0;position:relative;min-height:380px;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
.stack-card .ph::before{content:"";position:absolute;left:0;top:0;bottom:0;width:14%;background:linear-gradient(90deg,var(--hue),transparent);opacity:.9;clip-path:polygon(0 0,100% 0,0 100%);z-index:1;mix-blend-mode:multiply}
.stack-card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,21,24,.25),transparent 40%)}
.stack-card .ph img{transition:transform 1.2s var(--ease-out)}
.stack-card:hover .ph img{transform:scale(1.04)}
.stack-card .ph .ico{position:absolute;right:1.5rem;bottom:1.5rem;z-index:2;--size:84px;--glyph:44px}
@media (max-width:820px){.stack-card{grid-template-columns:1fr}.stack-card .ph{min-height:260px;clip-path:polygon(0 0,100% 0,100% 100%,0 86%)}.stack-card .ph::before{display:none}}

.pep{align-items:stretch}
.pep .photo{position:relative;border-radius:var(--r);overflow:hidden;min-height:520px;isolation:isolate}
.pep .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:kenburns 30s ease-in-out infinite alternate}
.pep .photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(200deg,rgba(23,27,31,0) 30%,rgba(23,27,31,.7) 100%)}
.pep .photo .cap{position:absolute;left:1.5rem;right:1.5rem;bottom:1.5rem;color:#fff;font-family:var(--font-display);font-weight:600;font-size:clamp(1.2rem,1.8vw,1.5rem);letter-spacing:-.02em;line-height:1.2;text-shadow:0 2px 20px rgba(0,0,0,.4);max-width:18ch}
.pep .photo .entry-stamp{top:1.25rem;right:1.25rem;left:auto;bottom:auto;width:110px;height:110px;color:#fff;opacity:.95;transform:rotate(-8deg);mix-blend-mode:normal}
@media (prefers-reduced-motion:reduce){.pep .photo img{animation:none}}
@media (max-width:980px){.pep .photo{min-height:360px}}
/* diagonal overlaps the text panel so nothing white shows through the cut */
.stack-card .ph{margin-left:-14%;position:relative;z-index:1}
.stack-card .body{z-index:0}
@media (max-width:820px){.stack-card .ph{margin-left:0}}

/* ---------- v3.3 review notes 3-5 ---------- */
.pep-grid{gap:1rem;border:0;margin-top:2.5rem}
.pep-grid>div{background:#fff;color:var(--ink);border:0;border-radius:18px;padding:1.5rem 1.4rem;box-shadow:0 20px 40px -24px rgba(0,0,0,.6);transition:transform 320ms var(--ease-out),box-shadow 320ms var(--ease-out)}
.pep-grid>div:hover{transform:translateY(-4px);box-shadow:0 30px 50px -24px rgba(0,0,0,.7)}
.pep-grid strong{color:var(--ink)}
.pep-grid span{color:var(--ink-2)}
.header.scrolled,.header.menu-open{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 1px 0 var(--line-2),0 14px 30px -24px rgba(18,21,24,.35)}
.mega-close{position:absolute;top:0;right:var(--gutter-r);width:48px;height:48px;border-radius:50%;border:1px solid var(--on-dark-line);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;display:grid;place-items:center;z-index:2;transition:background-color 160ms ease,transform 160ms var(--ease-out)}
.mega-close:hover{background:rgba(255,255,255,.14)}
.mega-close:active{transform:scale(.94)}
.mega-close svg{width:20px;height:20px}
@media (max-width:1023px){.mega-close{top:.25rem}}
.rcard .ico{position:absolute;top:1.25rem;left:1.25rem;--size:84px;--glyph:46px;z-index:1}
.rcard .ico svg{color:var(--ink)}

/* ---------- v3.4: hero video, Google reviews marquee ---------- */
.hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;background:#0f1316}
.hero>img{z-index:-3;animation:none}
@media (prefers-reduced-motion:reduce){.hero>video{display:none}}
.reviews{overflow:hidden}
.reviews-head{display:grid;grid-template-columns:auto 1fr;gap:1.5rem 2rem;align-items:center;margin-bottom:2.5rem}
.gbadge{display:grid;grid-template-columns:auto auto;gap:.2rem 1rem;align-items:center;background:#fff;border:1px solid var(--line-2);border-radius:24px;padding:1.1rem 1.4rem;box-shadow:var(--shadow)}
.gbadge .g{width:56px;height:56px;grid-row:span 2}
.gbadge .score{font-family:var(--font-display);font-weight:600;font-size:2.4rem;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:.6rem}
.gbadge small{font-size:.8rem;color:var(--ink-3);font-family:var(--font-display);font-weight:600;letter-spacing:.02em}
.stars{display:inline-flex;gap:2px}
.stars svg{width:18px;height:18px;fill:#F4B400}
.gbadge .stars svg{width:22px;height:22px}
.reviews h2{margin:0 0 .25rem}
.reviews .lede{margin:0}
@media (max-width:760px){.reviews-head{grid-template-columns:1fr}}
.marquee{display:flex;gap:1rem;width:max-content;padding-block:.5rem;transform:translate3d(0,0,0)}
.marquee-wrap{margin-inline:calc(-1 * var(--gutter)) calc(-1 * var(--gutter-r));overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
@media (prefers-reduced-motion:reduce){.marquee-wrap{overflow-x:auto;-webkit-mask:none;mask:none}}
.rv{flex:0 0 340px;background:#fff;border:1px solid var(--line-2);border-radius:20px;padding:1.25rem 1.3rem;display:grid;gap:.75rem;position:relative;transform-style:preserve-3d;transition:transform 260ms var(--ease-out),box-shadow 260ms var(--ease-out)}
.rv:hover{box-shadow:var(--shadow);transform:translateY(-4px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.rv .who{display:grid;grid-template-columns:44px 1fr auto;gap:.75rem;align-items:center}
.rv .av{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.9rem;color:#fff;background:var(--c,#3181C0)}
.rv .who b{display:block;font-family:var(--font-display);font-weight:600;font-size:.98rem;letter-spacing:-.01em}
.rv .who span{font-size:.8rem;color:var(--ink-3)}
.rv .who .g{width:22px;height:22px}
.rv p{margin:0;color:var(--ink-2);font-size:.95rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.rv .verified{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--ink-3);font-family:var(--font-display);font-weight:600}
.rv .verified svg{width:14px;height:14px;fill:#6E9CC8}
@media (max-width:560px){.rv{flex-basis:280px}}
.rv .who .av{color:#fff;font-size:.9rem;letter-spacing:.02em}


/* ---------- v3.5: one company, telehealth section, single close control on mobile ---------- */
@media (max-width:1023px){.mega-close{display:none}}
.loc.virtual{background:linear-gradient(145deg,#fff,#EEF2F5)}
.pin.tele::before,.pin.tele::after{background:var(--green)}
.tele-head{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-bottom:2.5rem}
.state-toggle{display:inline-flex;background:var(--bg-2);border-radius:999px;padding:4px;gap:2px}
.state-toggle button{border:0;background:transparent;padding:.6rem 1.2rem;border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--ink-2);cursor:pointer;transition:background-color 200ms ease,color 200ms ease,transform 160ms var(--ease-out)}
.state-toggle button.on{background:var(--ink);color:#fff}
.state-toggle button:active{transform:scale(.97)}
@media (max-width:760px){.tele-head{grid-template-columns:1fr}}
.tele{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center}
@media (max-width:980px){.tele{grid-template-columns:1fr}}
.tele-state{font-family:var(--font-display);font-weight:600;font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:-.025em;line-height:1.25;margin:0 0 1rem;min-height:2.4em}
.tele-state span{display:inline-block;animation:fade-up 500ms var(--ease-out) both}
@keyframes fade-up{from{opacity:0;transform:translateY(8px)}}
.tele-device{display:grid;gap:1rem}
.call{position:relative;border-radius:24px;background:#0F1316;padding:14px;box-shadow:var(--shadow);color:#fff;aspect-ratio:16/10;display:grid;grid-template-rows:auto 1fr;gap:10px;overflow:hidden}
.call-top{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-size:.8rem;color:#C9D1D9}
.call-top .dot{width:8px;height:8px;border-radius:50%;background:#6E9CC8;box-shadow:0 0 0 0 rgba(52,168,83,.6);animation:live 1.8s ease-out infinite}
@keyframes live{to{box-shadow:0 0 0 10px rgba(52,168,83,0)}}
.call-top .lock{margin-left:auto;display:inline-flex;align-items:center;gap:.3rem;background:rgba(255,255,255,.08);padding:.25rem .6rem;border-radius:999px;font-weight:600}
.call-top .lock svg{width:14px;height:14px}
.call-stage{position:relative;border-radius:16px;overflow:hidden;background:#161B20}
.screen{position:absolute;inset:0;opacity:0;transform:scale(.98);transition:opacity 420ms ease,transform 600ms var(--ease-out);pointer-events:none}
.call[data-step="1"] .s1,.call[data-step="2"] .s2,.call[data-step="3"] .s3{opacity:1;transform:none;pointer-events:auto}
/* step 1: booking */
.cal{position:absolute;inset:0;margin:auto;width:min(86%,340px);height:fit-content;background:#fff;color:var(--ink);border-radius:14px;padding:14px;display:grid;gap:10px;font-size:12px}
.cal-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display)}
.cal-head b{font-size:13px}.cal-head span{color:var(--ink-3);font-weight:600;font-size:11px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-grid span{aspect-ratio:1;display:grid;place-items:center;border-radius:8px;background:var(--bg);font-variant-numeric:tabular-nums}
.cal-grid span.off{opacity:.35}
.cal-grid span.pick{background:var(--green);color:#fff;font-weight:700;animation:pick 2.4s ease-in-out infinite}
@keyframes pick{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.slots span{text-align:center;padding:6px 0;border-radius:8px;border:1px solid var(--line);font-family:var(--font-display);font-weight:600}
.slots span.pick{background:var(--ink);color:#fff;border-color:var(--ink)}
.cal-cta{background:var(--green);color:#fff;text-align:center;padding:8px;border-radius:999px;font-family:var(--font-display);font-weight:600}
/* step 2: the call */
.s2 .tile{position:absolute;border-radius:14px;overflow:hidden;background:#222930}
.s2 .tile img{width:100%;height:100%;object-fit:cover}
.s2 .provider{inset:0}
.s2 .provider img{object-fit:contain;padding:18%;background:radial-gradient(circle at 50% 40%,#2A3139,#161B20 70%);animation:breathe 4s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
.s2 .patient{right:12px;bottom:56px;width:32%;aspect-ratio:4/3;border:2px solid rgba(255,255,255,.25);box-shadow:0 10px 30px rgba(0,0,0,.5)}
.s2 .name{position:absolute;left:10px;bottom:8px;background:rgba(0,0,0,.55);padding:3px 8px;border-radius:999px;font-size:11px;font-family:var(--font-display);font-weight:600}
.s2 .name em{font-style:normal;color:#9CCBEF}
.s2 .wave{position:absolute;right:12px;top:12px;display:flex;gap:3px;align-items:flex-end;height:18px}
.s2 .wave i{width:3px;background:#6E9CC8;border-radius:2px;animation:wave 1s ease-in-out infinite}
.s2 .wave i:nth-child(2){animation-delay:.15s}.s2 .wave i:nth-child(3){animation-delay:.3s}.s2 .wave i:nth-child(4){animation-delay:.45s}.s2 .wave i:nth-child(5){animation-delay:.6s}
@keyframes wave{0%,100%{height:4px}50%{height:18px}}
.s2 .controls{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:10px}
.s2 .controls span{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(6px)}
.s2 .controls .end{background:#EA4335}
.s2 .timer{position:absolute;left:12px;top:12px;background:rgba(0,0,0,.55);padding:3px 8px;border-radius:999px;font-size:11px;font-family:var(--font-display);font-variant-numeric:tabular-nums}
/* step 3: follow-up messages */
.msgs{position:absolute;inset:0;padding:16px;display:grid;align-content:end;gap:8px}
.msg{max-width:78%;padding:9px 12px;border-radius:14px;font-size:12.5px;line-height:1.4;animation:fade-up 500ms var(--ease-out) both}
.msg.in{background:#fff;color:var(--ink);border-bottom-left-radius:4px;justify-self:start}
.msg.out{background:var(--green);color:#fff;border-bottom-right-radius:4px;justify-self:end}
.msg:nth-child(2){animation-delay:.25s}.msg:nth-child(3){animation-delay:.5s}.msg:nth-child(4){animation-delay:.75s}
.msg.typing{background:#fff;display:flex;gap:4px;padding:10px 12px;justify-self:start}
.msg.typing i{width:6px;height:6px;border-radius:50%;background:var(--silver-2);animation:typing 1.2s ease-in-out infinite}
.msg.typing i:nth-child(2){animation-delay:.2s}.msg.typing i:nth-child(3){animation-delay:.4s}
@keyframes typing{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.steps button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:16px;padding:.9rem 1rem;cursor:pointer;display:grid;gap:.15rem;position:relative;overflow:hidden;transition:border-color 200ms ease,transform 160ms var(--ease-out)}
.steps button b{font-family:var(--font-display);font-weight:700;color:var(--silver-2);font-size:.8rem}
.steps button span{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em}
.steps button small{color:var(--ink-2);font-size:.82rem}
.steps button.on{border-color:var(--ink)}
.steps button.on b{color:var(--green)}
.steps button::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--green)}
.steps button.on::after{animation:progress var(--step-ms,4500ms) linear forwards}
@keyframes progress{to{width:100%}}
.steps button:active{transform:scale(.98)}
@media (max-width:760px){
  .state-toggle{display:flex;width:100%}
  .state-toggle button{flex:1}
  .steps{grid-template-columns:1fr;gap:.5rem}
  .steps button{grid-template-columns:40px 1fr;grid-template-rows:auto auto;column-gap:.75rem;align-items:center;padding:.75rem .9rem}
  .steps button b{grid-row:1/3;font-size:1.3rem;letter-spacing:-.03em;text-align:center;border-right:1px solid var(--line);padding-right:.5rem}
  .steps button.on b{color:var(--green)}
}
@media (prefers-reduced-motion:reduce){.cal-grid span.pick,.s2 .wave i,.s2 .provider img,.msg,.steps button.on::after,.call-top .dot{animation:none}}
@media (max-width:760px){.call{aspect-ratio:4/5}.cal{width:min(92%,340px)}}


/* ---------- v3.7: silver-blue accent replaces green ---------- */
.btn-primary{background:linear-gradient(135deg,#A9C6E0 0%,#6E9CC8 100%);color:var(--ink);box-shadow:0 10px 24px -12px rgba(110,156,200,.9);border-color:rgba(255,255,255,.5)}
.btn-primary:hover{background:linear-gradient(135deg,#8FB4D6 0%,#4F82B5 100%);color:var(--ink)}
.ico[data-hue="green"]{--c:#7FA9D0}
.ico[data-hue="teal"]{--c:#7E9DB8}
.report .pill,.cal-cta,.msg.out,.cal-grid span.pick{background:linear-gradient(135deg,#A9C6E0,#6E9CC8);color:var(--ink)}
.rv .verified svg{fill:#6E9CC8}
.call-top .dot{background:#A9C6E0;box-shadow:0 0 0 0 rgba(169,198,224,.7)}
@keyframes live{to{box-shadow:0 0 0 10px rgba(169,198,224,0)}}
.s2 .wave i{background:#A9C6E0}
.steps button.on b,.stack-card:nth-child(2) .no{color:#6E9CC8}
.pin.tele::before,.pin.tele::after{background:#7E9DB8}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#6E9CC8;box-shadow:0 0 0 3px #E4EDF5}
.check input{accent-color:#6E9CC8}


/* ---------- v3.8: manifesto with life ---------- */
.manifesto{position:relative;overflow:hidden}
.manifesto::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(60% 50% at 15% 20%,rgba(169,198,224,.45),transparent 70%),radial-gradient(45% 40% at 85% 75%,rgba(110,156,200,.28),transparent 70%)}
.manifesto-wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.manifesto .big{margin-bottom:1.5rem}
.manifesto-grid{margin-top:1.5rem;grid-template-columns:1fr}
.manifesto-grid .side{max-width:40ch}
.m-visual{position:relative;aspect-ratio:5/6;min-height:420px}
.route{position:absolute;inset:0;width:100%;height:100%}
.route-line{stroke:var(--green-deep);stroke-width:2.5;stroke-dasharray:10 10;opacity:.7}
.route-dot{fill:var(--green-deep)}
.route-dot.end{fill:var(--blue)}
.polaroid{position:absolute;margin:0;width:54%;background:#fff;padding:10px 10px 0;border-radius:14px;box-shadow:var(--shadow);transform:rotate(var(--r));transition:transform 500ms var(--ease-out),box-shadow 500ms var(--ease-out)}
.polaroid img{aspect-ratio:4/4.6;object-fit:cover;border-radius:8px;width:100%}
.polaroid figcaption{font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:-.01em;padding:.7rem .2rem .8rem;color:var(--ink)}
.polaroid .pstamp{position:absolute;right:-14px;top:-14px;width:84px;height:84px;color:var(--blue);mix-blend-mode:multiply;opacity:.9;transform:rotate(12deg)}
.polaroid .pstamp svg{width:100%;height:100%;overflow:visible}
.polaroid .pstamp text{font-family:var(--font-display);font-variation-settings:"wdth" 76;font-weight:700;letter-spacing:.14em;fill:currentColor}
.polaroid:hover{transform:rotate(0deg) scale(1.04);z-index:3;box-shadow:0 40px 60px -28px rgba(18,21,24,.5)}
.p1{--r:-7deg;left:0;top:2%;z-index:1}
.p2{--r:5deg;right:0;top:26%;z-index:2}
.p3{--r:-3deg;left:12%;bottom:0;z-index:1}
@supports (animation-timeline:view()){
  .p1{animation:drift1 linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  .p2{animation:drift2 linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  .p3{animation:drift3 linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes drift1{from{transform:rotate(-10deg) translateY(40px)}to{transform:rotate(-5deg) translateY(-40px)}}
  @keyframes drift2{from{transform:rotate(8deg) translateY(90px)}to{transform:rotate(3deg) translateY(-70px)}}
  @keyframes drift3{from{transform:rotate(-5deg) translateY(60px)}to{transform:rotate(-1deg) translateY(-30px)}}
  .polaroid:hover{animation-play-state:paused}
  .route-line{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw linear both;animation-timeline:view();animation-range:entry 20% cover 70%}
  @keyframes draw{to{stroke-dashoffset:0}}
  @media (prefers-reduced-motion:reduce){.p1,.p2,.p3,.route-line{animation:none}.route-line{stroke-dashoffset:0;stroke-dasharray:10 10}}
}
@media (max-width:900px){.manifesto-wrap{grid-template-columns:1fr}.m-visual{aspect-ratio:4/3;min-height:340px;max-width:520px}.polaroid{width:46%}}
.polaroid{width:46%}
.p1{left:2%;top:0}
.p2{right:0;top:22%}
.p3{left:18%;bottom:2%}
.route{z-index:0}
.route-line{stroke:#4F82B5;stroke-width:3;opacity:.85}
.polaroid{z-index:1}
.m-visual{aspect-ratio:5/6.2}

/* ---------- v4: client revision content in our components ---------- */
/* dark sections: Primary Square navy */
:root{--green-dark:#1F2A44;--green-dark-2:#283658;--graphite:#1F2A44;--graphite-2:#283658;--metal-dark:linear-gradient(145deg,#33416A 0%,#283658 50%,#1F2A44 100%)}
.ticker{background:#18213A}
.chip-sm{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-family:var(--font-display);font-weight:600;font-size:.75rem;color:var(--ink-2);white-space:nowrap}
.bg-dark .label,.label{margin-bottom:.75rem}

/* route: fourth stop */
.stack-card:nth-child(4){background:#fff;--hue:#4F9BD9;top:calc(var(--header) + 4.75rem)}
.stack-card:nth-child(3){top:calc(var(--header) + 3.5rem)}

/* labs dashboard */
.labs-wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.labs-card{background:#fff;border:1px solid var(--line-2);border-radius:22px;box-shadow:var(--shadow);padding:1.25rem;display:grid;gap:1rem}
.labs-top{display:flex;justify-content:space-between;align-items:center}
.labs-top b{display:block;font-family:var(--font-display);font-size:1.05rem;letter-spacing:-.01em}
.labs-top span{font-size:.8rem;color:var(--ink-3)}
.labs-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.labs-kpis div{background:var(--bg);border-radius:14px;padding:.7rem .8rem}
.labs-kpis b{display:block;font-family:var(--font-display);font-weight:600;font-size:1.7rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.labs-kpis span{font-size:.75rem;color:var(--ink-3)}
.labs-kpis .warn b{color:#C27C0E}
.labs-rows{display:grid;gap:.15rem}
.lab{display:grid;grid-template-columns:1.2fr .8fr 1.4fr .8fr;gap:.75rem;align-items:center;padding:.5rem .1rem;border-bottom:1px solid var(--line-2);font-size:.85rem}
.lab:last-child{border-bottom:0}
.lab .n{color:var(--ink-2)}
.lab b{font-family:var(--font-display);font-weight:600;font-variant-numeric:tabular-nums}
.lab em{font-style:normal;font-family:var(--font-display);font-weight:600;font-size:.72rem;text-align:right;color:#3E7A5A}
.lab.watch em{color:#B07812}.lab.low em{color:#B4462E}
.lab .bar{position:relative;height:8px;border-radius:4px;background:var(--bg-2)}
.lab .band{position:absolute;top:0;bottom:0;border-radius:4px;background:#CFE0EF}
.lab .mk{position:absolute;top:50%;left:var(--x);width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;border:3px solid var(--blue);box-shadow:0 2px 6px rgba(18,21,24,.25);transition:left 1.3s var(--ease-out)}
.lab.watch .mk{border-color:#D9A13B}.lab.low .mk{border-color:#C9573D}
.labs-card.reveal:not(.in) .mk{left:0}
.lab:nth-child(2) .mk{transition-delay:.08s}.lab:nth-child(3) .mk{transition-delay:.16s}.lab:nth-child(4) .mk{transition-delay:.24s}.lab:nth-child(5) .mk{transition-delay:.32s}.lab:nth-child(6) .mk{transition-delay:.4s}
.labs-trend{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;background:var(--bg);border-radius:14px;padding:.75rem .9rem}
.labs-trend b{display:block;font-family:var(--font-display);font-size:.88rem}
.labs-trend span{font-size:.75rem;color:var(--ink-3)}
.labs-trend svg{width:100%;height:40px;overflow:visible}
.labs-trend polyline{fill:none;stroke:var(--green-deep);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:0;transition:stroke-dashoffset 1.6s var(--ease-out) .3s}
.labs-card.reveal:not(.in) polyline{stroke-dashoffset:400}
.labs-trend circle{fill:#fff;stroke:var(--green-deep);stroke-width:2.5}
.labs-note{border-left:0;background:linear-gradient(135deg,#F3F7FB,#E8EFF6);border-radius:14px;padding:.85rem 1rem;display:grid;gap:.4rem}
.labs-note b{font-family:var(--font-display);font-size:.85rem}
.labs-note p{margin:0;font-size:.9rem;color:var(--ink-2)}
.labs-note .pill{justify-self:start;background:linear-gradient(135deg,#A9C6E0,#6E9CC8);color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:.72rem;padding:.25rem .65rem;border-radius:999px}
@media (max-width:980px){.labs-wrap{grid-template-columns:1fr}}
@media (max-width:560px){.lab{grid-template-columns:1fr auto;row-gap:.35rem}.lab .bar{grid-column:1/-1}.lab em{grid-column:2;grid-row:1}.lab b{grid-column:1}.labs-kpis b{font-size:1.35rem}.labs-trend{grid-template-columns:1fr}}

/* coordinator relay */
.relay{position:relative;display:grid;gap:.6rem;max-width:440px;margin-inline:auto;width:100%}
.relay::before{content:"";position:absolute;left:34px;top:30px;bottom:30px;border-left:2px dashed var(--silver)}
.relay::after{content:"";position:absolute;left:28px;top:30px;width:14px;height:14px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px rgba(49,129,192,.18);animation:relay 4s var(--ease-in-out) infinite}
@keyframes relay{0%{top:30px}45%{top:calc(100% - 44px)}55%{top:calc(100% - 44px)}100%{top:30px}}
.node{position:relative;z-index:1;display:grid;grid-template-columns:68px 1fr;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line-2);border-radius:18px;padding:.75rem;box-shadow:0 14px 30px -22px rgba(18,21,24,.5)}
.node img{width:68px;height:68px;border-radius:50%;object-fit:cover}
.node img.seal{object-fit:contain;background:var(--bg);padding:6px}
.node .ico{--size:68px;--glyph:34px}
.node b{display:block;font-family:var(--font-display);letter-spacing:-.01em}
.node span{font-size:.85rem;color:var(--ink-3)}
.node.mid{margin-left:1.5rem;border-color:#CFE0EF}
.say{position:relative;z-index:1;margin:0 0 0 5.2rem;background:#fff;border-radius:14px 14px 14px 4px;padding:.55rem .8rem;font-size:.88rem;color:var(--ink-2);font-style:italic;width:fit-content;box-shadow:0 8px 20px -14px rgba(18,21,24,.5)}
.say.back{background:linear-gradient(135deg,#E4EDF5,#D3E2F0);border-radius:14px 14px 4px 14px}
.bg-dark .node{background:rgba(255,255,255,.96)}
@media (prefers-reduced-motion:reduce){.relay::after{animation:none}}

/* store */
.store-wrap{align-items:center}
.browser{background:#fff;border:1px solid var(--line-2);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.b-bar{display:flex;align-items:center;gap:6px;padding:.6rem .8rem;background:var(--bg);border-bottom:1px solid var(--line-2)}
.b-bar span{width:10px;height:10px;border-radius:50%;background:var(--silver)}
.b-bar em{font-style:normal;margin-left:.6rem;flex:1;background:#fff;border:1px solid var(--line-2);border-radius:999px;padding:.2rem .7rem;font-size:.75rem;color:var(--ink-3)}
.b-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem .5rem}
.b-head b{display:block;font-family:var(--font-display);font-size:1.05rem}
.b-head span{font-size:.78rem;color:var(--ink-3)}
.b-chips{display:flex;gap:.4rem;padding:0 1.1rem .8rem;flex-wrap:wrap}
.b-chips span{font-size:.75rem;font-family:var(--font-display);font-weight:600;padding:.25rem .65rem;border-radius:999px;border:1px solid var(--line);color:var(--ink-2)}
.b-chips span.on{background:var(--ink);border-color:var(--ink);color:#fff}
.b-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;padding:0 1.1rem 1rem}
.prod{display:grid;gap:.15rem;transition:transform 300ms var(--ease-out)}
.prod:hover{transform:translateY(-3px)}
.pimg{aspect-ratio:1;border-radius:14px;background:radial-gradient(circle at 50% 35%,#fff,color-mix(in srgb,var(--h) 30%,#EEF1F4));display:grid;place-items:center;margin-bottom:.35rem}
.bottle{position:relative;width:34%;height:52%;border-radius:10px 10px 12px 12px;background:linear-gradient(90deg,color-mix(in srgb,var(--h) 70%,#fff),var(--h) 55%,color-mix(in srgb,var(--h) 70%,#1F2A44));box-shadow:0 10px 18px -10px rgba(18,21,24,.6)}
.bottle::before{content:"";position:absolute;left:18%;right:18%;top:-16%;height:16%;border-radius:4px 4px 0 0;background:linear-gradient(90deg,#DDE2E7,#AEB7C0)}
.bottle::after{content:"";position:absolute;left:12%;right:12%;top:34%;height:30%;border-radius:4px;background:rgba(255,255,255,.85)}
.prod small{font-size:.68rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-display);font-weight:600}
.prod b{font-family:var(--font-display);font-size:.88rem;letter-spacing:-.01em}
.prod .lock{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--green-deep);font-family:var(--font-display);font-weight:600}
.prod .lock .icon{width:13px;height:13px}
.b-note{margin:0;padding:.7rem 1.1rem;border-top:1px solid var(--line-2);font-size:.75rem;color:var(--ink-3)}
@media (max-width:520px){.b-grid{grid-template-columns:repeat(2,1fr)}}

/* Primary Square summary card */
.ps-wrap{align-items:center}
.ps-card{background:linear-gradient(160deg,#FFFFFF,#F1F4F8);color:var(--ink);border-radius:22px;padding:1.4rem;box-shadow:0 40px 70px -30px rgba(0,0,0,.6);max-width:420px;margin-inline:auto;transform:rotate(-2deg);animation:ps-float 7s ease-in-out infinite;display:grid;gap:1rem}
@keyframes ps-float{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-8px)}}
.ps-head{display:flex;align-items:center;gap:.6rem;border-bottom:1px solid var(--line-2);padding-bottom:.8rem}
.ps-head b{font-family:var(--font-display);font-size:1.05rem;letter-spacing:-.01em}
.ps-head span{margin-left:auto;font-family:var(--font-display);font-variation-settings:"wdth" 78;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;color:var(--ink-3)}
.ps-mark{width:22px;height:22px;border:3px solid #1F2A44;border-radius:4px;position:relative}
.ps-mark::after{content:"";position:absolute;inset:3px;background:var(--green)}
.ps-card dl{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;margin:0;font-size:.9rem}
.ps-card dt{color:var(--ink-3)}
.ps-card dd{margin:0;text-align:right;font-family:var(--font-display);font-weight:600}
.ps-link{justify-self:start;background:#1F2A44;color:#fff;font-family:var(--font-display);font-weight:600;font-size:.75rem;padding:.35rem .75rem;border-radius:999px}
.ps-card small{color:var(--ink-3);font-size:.75rem}
.bg-dark .facts,.bg-dark .facts li{border-color:var(--on-dark-line)}
.bg-dark .facts strong{color:#fff}
@media (prefers-reduced-motion:reduce){.ps-card{animation:none}}

/* network grid */
.net-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}
.net-grid .loc{align-content:start}
.net-grid .loc h3{font-size:1.45rem}
.loc.soon{background:transparent;border:2px dashed var(--silver)}
.soon-tag{justify-self:start;font-family:var(--font-display);font-weight:600;font-size:.72rem;padding:.25rem .6rem;border-radius:999px;background:var(--ink);color:#fff}
@media (max-width:1100px){.net-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.net-grid{grid-template-columns:1fr}}

/* pricing */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem}
.price-card{background:#fff;border:1px solid var(--line-2);border-radius:22px;padding:1.75rem;display:grid;gap:.6rem;align-content:start;box-shadow:0 20px 40px -30px rgba(18,21,24,.4)}
.price-card h3{margin:.4rem 0 0}
.price-card .amt{font-family:var(--font-display);font-weight:600;font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.035em;margin:0;line-height:1.1}
.price-card .amt small{font-size:.45em;letter-spacing:0;color:var(--ink-3);margin-left:.2rem}
.price-card p{margin:0;color:var(--ink-2)}
.price-card ul{margin:.6rem 0 0;padding:0;list-style:none;display:grid;gap:.45rem}
.price-card li{padding-left:1.4rem;position:relative;color:var(--ink-2)}
.price-card li::before{content:"";position:absolute;left:0;top:.45em;width:.7rem;height:.4rem;border-left:2px solid var(--green-deep);border-bottom:2px solid var(--green-deep);transform:rotate(-45deg)}
.price-card.dark{background:var(--green-dark);border-color:transparent;color:#fff}
.price-card.dark h3,.price-card.dark .amt{color:#fff}
.price-card.dark p,.price-card.dark li,.price-card.dark .amt small{color:var(--on-dark-2)}
.price-card.dark li::before{border-color:#A9C6E0}
@media (max-width:760px){.price-grid{grid-template-columns:1fr}}

/* provider band */
.join-wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.join-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.join-grid>div{background:rgba(255,255,255,.05);border:1px solid var(--on-dark-line);border-radius:18px;padding:1.25rem;display:grid;gap:.4rem;align-content:start}
.join-grid .ico{--size:64px;--glyph:32px;margin-bottom:.4rem}
.join-grid strong{color:#fff;font-family:var(--font-display)}
.join-grid span{color:var(--on-dark-2);font-size:.92rem}
@media (max-width:900px){.join-wrap{grid-template-columns:1fr}}
@media (max-width:520px){.join-grid{grid-template-columns:1fr}}

/* providers page */
.beliefs{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.belief{background:var(--bg);border-radius:20px;padding:1.4rem;display:grid;gap:.5rem;align-content:start}
.belief .ico{--size:72px;--glyph:38px;margin-bottom:.4rem}
.belief h3{font-size:1.2rem;margin:0}
.belief p{margin:0;color:var(--ink-2);font-size:.95rem}
@media (max-width:980px){.beliefs{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.beliefs{grid-template-columns:1fr}}
.rel-wrap{align-items:start}
.rel-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--on-dark-line)}
.rel-list li{display:grid;grid-template-columns:24px 1fr;gap:.9rem;padding:1rem 0;border-bottom:1px solid var(--on-dark-line)}
.rel-list .icon{color:#A9C6E0;margin-top:.15rem}
.rel-list strong{display:block;color:#fff;font-family:var(--font-display);margin-bottom:.2rem}
.rel-list span{color:var(--on-dark-2);font-size:.95rem}
.benefits.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.benefits.three{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.benefits.three{grid-template-columns:1fr}}
.page-hero .label{color:var(--green-deep)}
.bg-dark .muted{color:var(--on-dark-2)}
.bg-dark .facts span{color:var(--on-dark-2)}
.bg-dark .facts .ico svg{color:#fff}

/* ---------- v5: app screens, pricing menu, provider recruiting ---------- */
.ticks{list-style:none;margin:1.25rem 0;padding:0;display:grid;gap:.6rem}
.ticks li{display:grid;grid-template-columns:22px 1fr;gap:.6rem;align-items:start;color:var(--ink-2)}
.ticks .icon{width:20px;height:20px;color:var(--green-deep);margin-top:.15rem}
.bg-dark .ticks li{color:var(--on-dark-2)}.bg-dark .ticks .icon{color:#A9C6E0}
.app-split{align-items:center}

/* phone app screens */
.app-phone{width:min(100%,280px)}
.app-screen{font-size:10.5px;background:#F5F7F9}
.app{position:relative;padding:10px 14px 0;display:grid;gap:8px;align-content:start;overflow:hidden;height:100%}
.app h6{margin:0;font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.app-brand{margin:2px 0 0;font-family:var(--font-display);font-variation-settings:"wdth" 80;font-weight:700;letter-spacing:.14em;font-size:9px;color:var(--green-deep)}
.app-sub{margin:0;color:var(--ink-3);font-size:9.5px}
.app-hello{font-size:17px;margin-top:-4px!important}
.app-title{font-size:15px}.app-title span{color:var(--ink-3)}
.app-card{background:#fff;border-radius:14px;padding:10px 11px;display:grid;gap:3px;box-shadow:0 6px 14px -12px rgba(18,21,24,.5)}
.app-card b{font-family:var(--font-display);font-size:11.5px;color:var(--ink)}
.app-card span{color:var(--ink-3);font-size:10px}
.app-card small{font-family:var(--font-display);font-weight:600;letter-spacing:.1em;font-size:8.5px;color:var(--ink-3)}
.app-card.row{grid-template-columns:auto 1fr;gap:10px;align-items:center}
.app-card.between{grid-template-columns:1fr auto}
.app-card.tint{background:linear-gradient(135deg,#E8F0F8,#DCE8F3)}
.app-card em{font-style:normal;font-family:var(--font-display);font-weight:600;font-size:9.5px;padding:3px 8px;border-radius:999px;background:var(--bg-2);color:var(--ink-2)}
.app-card em.ok{background:#E1EEF8;color:#2F6EA3}
.app-card em.go{background:var(--blue);color:#fff}
.app-ring{width:52px;height:52px}
.app-ring circle{fill:none;stroke:#E3E8EE;stroke-width:6}
.app-ring circle.v{stroke:var(--blue);stroke-linecap:round;stroke-dasharray:0 var(--c);transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dasharray 1.4s var(--ease-out) .3s}
.in .app-ring circle.v,.app-pair:not(.reveal) .app-ring circle.v,.app-single:not(.reveal) .app-ring circle.v{stroke-dasharray:var(--d) var(--c)}
.app-ring text{font:600 13px var(--font-display);fill:var(--ink);text-anchor:middle}
.app-meter{display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:center;padding:3px 0}
.app-meter span{font-size:10px;color:var(--ink-2)}
.app-meter i{display:block;height:5px;border-radius:3px;background:linear-gradient(90deg,var(--blue) var(--w),#E3E8EE var(--w))}
.app-meter.solo{grid-template-columns:1fr;margin-top:4px}
.app-toast{background:#1F2A44;color:#fff;border-radius:14px;padding:9px 11px;display:grid;gap:2px;animation:toast-in 6s var(--ease-out) infinite}
.app-toast b{font-family:var(--font-display);font-size:11px}.app-toast span{color:#B9C6DA;font-size:9.5px}
@keyframes toast-in{0%,8%{opacity:0;transform:translateY(10px)}16%,88%{opacity:1;transform:none}100%{opacity:0}}
.app-lab-h{display:flex;justify-content:space-between;align-items:baseline}
.app-lab-h em{font-style:normal;font-family:var(--font-display);font-weight:600;color:var(--blue);font-size:11px}
.app-trend{width:100%;height:58px;overflow:visible}
.app-trend .band{fill:#E1EEF8}
.app-trend polyline{fill:none;stroke:var(--blue);stroke-width:2.2;stroke-linejoin:round;stroke-dasharray:320;stroke-dashoffset:0;transition:stroke-dashoffset 1.6s var(--ease-out) .4s}
.app-pair.reveal:not(.in) .app-trend polyline{stroke-dashoffset:320}
.app-trend circle{fill:#fff;stroke:var(--blue);stroke-width:2}
.app-axis{display:flex;justify-content:space-between;color:var(--ink-3);font-size:8.5px}
.app-msg{background:var(--blue);color:#fff;border-radius:14px;padding:9px 11px}
.app-msg small{font-family:var(--font-display);font-weight:600;font-size:9px;opacity:.85}
.app-msg p{margin:2px 0 0;font-size:10.5px;line-height:1.4}
.app-score{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}
.app-parts{display:grid;gap:3px}.app-parts div{display:flex;justify-content:space-between;font-size:10px;color:var(--ink-2)}.app-parts b{font-size:10.5px}
.app-tabs{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border-top:1px solid var(--line-2);padding:6px 4px 12px}
.app-tabs span{display:grid;justify-items:center;gap:3px;font-size:7px;color:var(--ink-3);text-align:center;white-space:nowrap}
.app-tabs i{width:14px;height:14px;border-radius:5px;background:#E3E8EE}
.app-tabs .on{color:var(--blue);font-weight:600}.app-tabs .on i{background:var(--blue)}
.app-store-h{display:flex;justify-content:space-between;align-items:center;margin-top:-4px}
.app-store-h span{background:#1F2A44;color:#fff;border-radius:999px;padding:3px 8px;font-family:var(--font-display);font-weight:600;font-size:9.5px}
.app-search{background:#fff;border:1px solid var(--line-2);border-radius:10px;padding:7px 9px;color:var(--ink-3);font-size:10px}
.app-chips{display:flex;gap:4px;flex-wrap:wrap}
.app-chips span{font-size:9px;padding:3px 7px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);background:#fff}
.app-chips span.on{background:var(--blue);border-color:var(--blue);color:#fff}
.app-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.app-prod{background:#fff;border-radius:12px;padding:6px;display:grid;gap:1px}
.app-prod .pimg{position:relative;aspect-ratio:1.15;margin-bottom:3px;border-radius:9px}
.app-prod .pimg small{position:absolute;left:4px;top:4px;background:#fff;border-radius:999px;padding:1px 5px;font-size:7.5px;color:var(--ink-2)}
.app-prod b{font-family:var(--font-display);font-size:9.5px;color:var(--ink)}
.app-prod span{font-size:8.5px;color:var(--ink-3)}
.app-prod em{justify-self:start;margin-top:3px;font-style:normal;font-size:8px;font-weight:600;background:var(--bg-2);border-radius:999px;padding:2px 6px;color:var(--ink-2)}
.app-pair{position:relative;margin:0;display:grid;grid-template-columns:1fr 1fr;align-items:start;max-width:560px;margin-inline:auto;width:100%}
.app-pair .back{transform:rotate(-5deg) translateX(14%) translateY(-2%);opacity:.95;z-index:0}
.app-pair .front{transform:rotate(3deg) translateX(-6%) translateY(6%);z-index:1}
.app-pair .back,.app-pair .front{transition:transform 600ms var(--ease-out)}
.app-pair:hover .back{transform:rotate(-7deg) translateX(8%) translateY(-3%)}
.app-pair:hover .front{transform:rotate(1deg) translateX(0) translateY(4%)}
.app-pair figcaption,.app-single figcaption{grid-column:1/-1;margin-top:3rem;text-align:center;color:var(--ink-3);font-size:.85rem}
.bg-dark .app-single figcaption{color:var(--on-dark-2)}
.app-single{margin:0 auto;display:grid;justify-items:center}
.app-single .app-phone{width:min(100%,300px)}
@media (max-width:860px){.app-pair{max-width:420px}.app-phone{width:100%}}
@media (prefers-reduced-motion:reduce){.app-toast{animation:none}}

/* pricing */
.price-grid.three{grid-template-columns:repeat(3,1fr);align-items:stretch}
.price-card.program{display:flex;flex-direction:column;gap:.7rem}
.price-card.program.hot{border:2px solid #A9C6E0;box-shadow:0 30px 60px -30px rgba(79,130,181,.6)}
.pc-top{display:flex;justify-content:space-between;align-items:start}
.pc-top .ico{--size:72px;--glyph:38px}
.pc-tag{font-family:var(--font-display);font-weight:600;font-size:.72rem;padding:.3rem .65rem;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--ink-2)}
.hot .pc-tag{background:linear-gradient(135deg,#A9C6E0,#6E9CC8);border-color:transparent;color:var(--ink)}
.price-card .amt small.from{font-size:.4em;margin:0 .35rem 0 0;color:var(--ink-3);letter-spacing:0}
.tiers{list-style:none;margin:0;padding:0;border:1px solid var(--line-2);border-radius:14px;overflow:hidden}
.tiers li{display:flex!important;justify-content:space-between;gap:1rem;padding:.65rem .9rem!important;border-bottom:1px solid var(--line-2);font-size:.92rem}
.tiers li::before{display:none}
.tiers li:last-child{border-bottom:0}
.tiers b{font-family:var(--font-display);white-space:nowrap}
.pc-note{font-size:.85rem;color:var(--ink-3)!important;margin-top:auto!important}
.price-card.program .btn{align-self:flex-start}
@media (max-width:1000px){.price-grid.three{grid-template-columns:1fr}}
.menu-list{list-style:none;margin:2rem 0 0;padding:0;background:#fff;border:1px solid var(--line-2);border-radius:22px;overflow:hidden}
.menu-list li{display:grid;grid-template-columns:72px 1fr auto;gap:1.25rem;align-items:center;padding:1.1rem 1.4rem;border-bottom:1px solid var(--line-2);transition:background-color 200ms ease}
.menu-list li:last-child{border-bottom:0}
.menu-list li:hover{background:#F7F9FB}
.menu-list .ico{--size:64px;--glyph:32px}
.menu-list h3{font-size:1.1rem;margin:0 0 .15rem}
.menu-list p{margin:0;color:var(--ink-2);font-size:.95rem}
.menu-price{font-family:var(--font-display);font-weight:600;font-size:1.8rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
@media (max-width:620px){.menu-list li{grid-template-columns:56px 1fr;padding:1rem}.menu-list .ico{--size:52px;--glyph:28px}.menu-price{grid-column:2;font-size:1.4rem}}
.price-minis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.price-mini{display:grid;gap:.3rem;align-content:start;background:#fff;border:1px solid var(--line-2);border-radius:20px;padding:1.3rem;text-decoration:none;color:var(--ink);transition:transform 300ms var(--ease-out),box-shadow 300ms var(--ease-out)}
.price-mini:hover{transform:translateY(-4px);box-shadow:var(--shadow);color:var(--ink)}
.price-mini .ico{--size:64px;--glyph:32px;margin-bottom:.5rem}
.price-mini b{font-family:var(--font-display);font-size:1.05rem}
.price-mini .amt{font-family:var(--font-display);font-weight:600;font-size:1.5rem;letter-spacing:-.03em;color:var(--green-deep)}
.price-mini small{color:var(--ink-3)}
@media (max-width:980px){.price-minis{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.price-minis{grid-template-columns:1fr}}
.chips .chip .icon{width:16px;height:16px;color:var(--green-deep)}

/* providers */
.prov-hero{align-items:center}
.beliefs.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.beliefs.three{grid-template-columns:1fr}}
.pdash{background:#fff;border:1px solid var(--line-2);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.pdash .b-bar small{margin-left:auto;font-size:.72rem;color:var(--ink-3)}
.pd-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:.6rem;padding:.8rem}
.pd-card{background:var(--bg);border-radius:14px;padding:.75rem .85rem;display:grid;gap:.35rem;align-content:start;font-size:.82rem}
.pd-card.wide{grid-column:1/-1}
.pd-card.tint{background:linear-gradient(135deg,#EAF1F8,#DCE8F3)}
.pd-card small{font-family:var(--font-display);font-variation-settings:"wdth" 80;font-weight:600;letter-spacing:.1em;font-size:.62rem;color:var(--ink-3)}
.pd-card p{margin:0;color:var(--ink-2)}
.pd-sched{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.pd-sched li{display:grid;grid-template-columns:2.6rem 1fr auto;gap:.5rem;align-items:center}
.pd-sched b{font-family:var(--font-display);font-variant-numeric:tabular-nums}
.pd-sched span{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-sched em{font-style:normal;font-size:.68rem;font-weight:600;padding:.12rem .45rem;border-radius:999px;background:#fff;color:var(--ink-2)}
.pd-sched em.vid{background:#E1EEF8;color:#2F6EA3}
.pd-big{margin:0;font-family:var(--font-display);font-weight:600;font-size:2rem;letter-spacing:-.04em;line-height:1}
.pd-big em{font-style:normal;font-size:.8rem;color:var(--ink-3);letter-spacing:0;margin-left:.3rem;font-weight:500}
.pd-bars{display:flex;align-items:flex-end;gap:4px;height:46px}
.pd-bars i{flex:1;height:var(--h);border-radius:3px 3px 0 0;background:linear-gradient(180deg,#6E9CC8,#A9C6E0);transform-origin:bottom;transition:transform 900ms var(--ease-out)}
.pdash.reveal:not(.in) .pd-bars i{transform:scaleY(0)}
.pd-mute{font-size:.72rem;color:var(--ink-3)}
.pd-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.pd-tags span{background:#fff;border-radius:999px;padding:.15rem .55rem;font-size:.7rem;font-weight:600;color:var(--ink-2)}
.pd-rev{margin:0;padding-left:1rem;color:var(--ink-2)}
@media (max-width:560px){.pd-grid{grid-template-columns:1fr}}
.states{border:0;padding:0;margin:0}
.states legend{font-family:var(--font-display);font-weight:600;font-size:.92rem;margin-bottom:.5rem;padding:0}
.state-pills{display:flex;flex-wrap:wrap;gap:.45rem}
.state-pill{position:relative;cursor:pointer}
.state-pill input{position:absolute;opacity:0;pointer-events:none}
.state-pill span{display:inline-block;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--line);background:var(--bg);font-family:var(--font-display);font-weight:600;font-size:.88rem;transition:background-color 160ms ease,color 160ms ease,border-color 160ms ease}
.state-pill input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.state-pill input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}

/* coming-soon button, real Primary Square mockup */
.btn-soon{background:var(--bg-2);color:var(--ink-3);border:1px dashed var(--silver-2);box-shadow:none;cursor:not-allowed;pointer-events:none}
.bg-dark .btn-soon{background:rgba(255,255,255,.08);color:var(--on-dark-2);border-color:rgba(255,255,255,.3)}
.ps-mockup{margin:0;display:grid;justify-items:center;gap:1rem}
.ps-mockup img{width:min(100%,420px);height:auto;animation:ps-float 7s ease-in-out infinite}
.ps-mockup figcaption{color:var(--ink-3);font-size:.85rem;text-align:center}
@media (prefers-reduced-motion:reduce){.ps-mockup img{animation:none}}

/* live Primary Square embed: the export renders at its desktop size (1671x790) and is scaled into the column */
.ps-live{margin:0;display:grid;gap:1rem;justify-items:center;width:100%}
.ps-stage{position:relative;width:100%;max-width:620px;aspect-ratio:641/690;overflow:hidden;--k:.8}
.ps-stage iframe{position:absolute;left:0;top:0;width:1671px;height:790px;border:0;background:transparent;transform-origin:0 0;transform:scale(var(--k)) translate(-1030px,-90px);pointer-events:none;opacity:0;transition:opacity .5s ease}
.ps-stage.live iframe{opacity:1}
.ps-poster{position:absolute;left:4%;top:3%;width:52%;height:auto;transition:opacity .4s ease}
.ps-stage.live .ps-poster{opacity:0}
.ps-live figcaption{color:var(--ink-3);font-size:.85rem;text-align:center}

/* Login button: header and footer */
.btn-login{background:transparent;color:var(--ink);border-color:var(--silver);padding:.7rem 1.1rem}
.btn-login:hover{background:#fff;border-color:var(--ink);color:var(--ink)}
.btn-login .icon,.footer-login .icon{width:18px;height:18px}
.header.on-hero:not(.scrolled):not(.menu-open) .btn-login{color:#fff;border-color:rgba(255,255,255,.45)}
.header.on-hero:not(.scrolled):not(.menu-open) .btn-login:hover{background:rgba(255,255,255,.12);color:#fff}
@media (max-width:1023px){.nav-right .btn-login{display:inline-flex;padding:.6rem .9rem}}
@media (max-width:420px){.nav-right .btn-login{padding:.55rem .75rem;font-size:.9rem}}
.footer-login{margin-top:.25rem}
.req{color:#B4462E;margin-left:.15rem}
fieldset.field{border:0;padding:0;margin:0;min-width:0}
fieldset.field legend{font-family:var(--font-display);font-weight:600;font-size:.92rem;margin-bottom:.5rem;padding:0}
fieldset.field legend .hint{font-weight:400}
fieldset.field.invalid .state-pill span{border-color:#C0392B}
.check-field .check span{font-size:.88rem;line-height:1.5}
.form-embed{min-width:0}
/* Closing with a travel photo under a dark overlay */
.closing.has-photo{position:relative;isolation:isolate;overflow:hidden;background:#0E1424}
.closing-bg{position:absolute;top:0;right:0;width:62%;height:100%;object-fit:cover;z-index:-2}
.closing.has-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0E1424 38%,rgba(14,20,36,.6) 60%,rgba(14,20,36,.2) 100%),linear-gradient(0deg,rgba(14,20,36,.5),transparent 40%)}
@media (max-width:860px){.closing-bg{width:100%}.closing.has-photo::before{background:linear-gradient(180deg,rgba(14,20,36,.55),rgba(14,20,36,.85))}}
a.btn.footer-login,a.btn.footer-login:hover{color:#121518}
@media (min-width:1024px){.mega-inner{padding-top:clamp(5rem,11vh,6.5rem)}.mega-close{top:1.5rem}}
