/* Maveryk homepage V3. Replaces home.css + home-theme.css on this page only;
   styles.css (shared base) and story.css (hero video) still load first.

   Tokens (Palette B + original cyan, unchanged from V2):
     Night #19252E page · Deep #131D25 recessed band · Ridge #22323E raised
     Mist #D3DEE4 text and paper · Pantomime #ADAFBA muted · Dolphin #696972
     Signal #36CFFF, the one accent
   Contrast: Mist on Night 11.9:1 · Pantomime on Night 6.9:1 · Night on Signal 8.6:1
     · Ink on paper 11.9:1 · #464C55 on paper 6.2:1
   Type: Manrope (display + UI) · DM Sans (body, and figures with tabular numerals)
   Radii: shells 28 / cores 22 / tiles 22 / buttons full pill / small badges 8
   Z-index: hero layers 1-4 · nav 90 · grain 95 · skip link 200 */

body.v3{
  --night:#19252E; --deep:#131D25; --ridge:#22323E; --ridge-2:#273846;
  --mist:#D3DEE4; --pant:#ADAFBA; --dolphin:#696972;
  --signal:#36CFFF; --signal-2:#6FDBFF;
  --ink:#19252E; --ink-2:#464C55; --paper:#D3DEE4;
  --line:rgba(211,222,228,.12); --line-2:rgba(211,222,228,.22);
  --ui:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --sans:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  /* no monospace on the site: figures use DM Sans with tabular numerals so they line up */
  --mono:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-io:cubic-bezier(.32,.72,0,1);
  --r-shell:28px; --r-core:22px;
  /* names story.css and the shared scripts expect */
  --navy:#19252E; --white:#D3DEE4; --mute:#ADAFBA; --cyan:#36CFFF;
  background:var(--night); color:var(--mist); font-family:var(--sans); font-size:17px; line-height:1.6; font-variant-numeric:tabular-nums;
}
/* film grain: one fixed layer, never on scrolling content */
body.v3::after{content:"";position:fixed;inset:0;z-index:95;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.v3 ::selection{background:var(--signal);color:var(--ink)}
.v3 .wrap{max-width:1180px;padding:0 24px}
.v3 :focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:8px}
.v3 .sheet :focus-visible{outline-color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.v3 .skip-link{position:absolute;left:12px;top:-60px;z-index:200;background:var(--signal);color:var(--ink);padding:10px 16px;border-radius:999px;font:700 15px var(--ui)}
.v3 .skip-link:focus{top:12px}
.v3 .nw{white-space:nowrap}

/* ---------- type ---------- */
.v3 .display{font-family:var(--ui);font-weight:800;letter-spacing:-.035em;line-height:1.05;color:var(--mist);text-wrap:balance}
.v3 .display em{font-style:normal;font-weight:inherit;color:var(--signal);background:none;-webkit-text-fill-color:currentColor}
.v3 .sec-title{font-size:clamp(36px,4.6vw,62px);max-width:15ch}
.v3 .h-eyebrow{font:700 13px/1.2 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--signal);margin:0 0 18px}
.v3 .h-eyebrow::before{content:"";display:inline-block;width:18px;height:3px;border-radius:2px;background:var(--signal);vertical-align:middle;margin:-2px 10px 0 0}
.v3 .sec-lede{margin-top:18px;color:var(--pant);max-width:58ch}

/* ---------- buttons: pill with a nested arrow island ---------- */
.v3 .btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:0 24px;border-radius:999px;border:0;
  font:700 15.5px/1 var(--ui);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;
  transition:transform .5s var(--ease),background-color .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease)}
.v3 .btn:has(.btn-ico){padding:0 6px 0 24px}
.v3 .btn:active{transform:scale(.98)}
.v3 .btn-ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;transition:transform .5s var(--ease),background-color .3s}
.v3 .btn-ico svg{width:17px;height:17px;fill:currentColor}
.v3 .btn:hover .btn-ico{transform:translate(2px,-2px) scale(1.06)}
.v3 .btn-primary{background:var(--signal);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 14px 34px -18px rgba(54,207,255,.7)}
.v3 .btn-primary:hover{background:var(--signal-2)}
.v3 .btn-primary .btn-ico{background:rgba(25,37,46,.12)}
.v3 .btn-ink{background:var(--ink);color:var(--mist);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.v3 .btn-ink:hover{background:#22323E}
.v3 .btn-ink .btn-ico{background:rgba(54,207,255,.16);color:var(--signal)}
.v3 .btn-ghost{background:transparent;color:var(--mist);box-shadow:inset 0 0 0 1.5px rgba(211,222,228,.32);border:0;backdrop-filter:none}
.v3 .btn-ghost:hover{background:rgba(211,222,228,.08);color:var(--mist);box-shadow:inset 0 0 0 1.5px var(--signal)}
/* on the paper sheet the outline button is ink */
.v3 .sheet .btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(25,37,46,.55)}
.v3 .sheet .btn-ghost:hover{background:var(--ink);color:var(--mist)}
/* a quieter text action, used beside a primary button */
.v3 .link-cta{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:none;cursor:pointer;
  font:700 15.5px var(--ui);color:var(--mist);text-decoration:none;transition:color .25s}
.v3 .link-cta > span{text-decoration:underline;text-decoration-color:rgba(54,207,255,.55);text-decoration-thickness:2px;text-underline-offset:6px;transition:text-decoration-color .25s}
.v3 .link-cta:hover{color:var(--signal)}
.v3 .link-cta:hover > span{text-decoration-color:var(--signal)}
.v3 .link-cta .ico{width:22px;height:22px;fill:var(--signal);flex:none}
.v3 button.link-cta{text-decoration:underline;text-decoration-color:rgba(54,207,255,.55);text-decoration-thickness:2px;text-underline-offset:6px}
.v3 .link-cta .num{font-family:var(--mono);font-weight:500;text-decoration:none;margin-left:4px;color:var(--pant)}

/* ---------- nav: a floating glass island ---------- */
.v3 header.island,.v3 header.island.scrolled{position:fixed;top:14px;left:0;right:0;z-index:90;padding:0;background:none;border:0;backdrop-filter:none;pointer-events:none}
.v3 .island-bar{pointer-events:auto;position:relative;isolation:isolate;margin:0 auto;width:min(1148px,calc(100% - 32px));height:64px;
  display:flex;align-items:center;gap:20px;padding:0 8px 0 22px;border-radius:999px}
/* the blur lives on a pseudo-element so the phone menu (a fixed child) can still cover the screen */
.v3 .island-bar::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:rgba(19,29,37,.58);
  -webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 0 0 1px rgba(211,222,228,.1),0 20px 44px -26px rgba(5,10,14,.9);transition:background-color .4s}
.v3 header.island.scrolled .island-bar::before{background:rgba(19,29,37,.82)}
.v3 .island .logo-img{height:26px}
.v3 .island .nav-menu{flex:1;display:flex;align-items:center;justify-content:space-between;margin:0}
.v3 .island .nav-links{display:flex;gap:2px}
.v3 .island .nav-links a{padding:10px 14px;border-radius:999px;font:600 14.5px var(--ui);color:var(--pant);transition:color .25s,background-color .25s}
.v3 .island .nav-links a::after{display:none}
.v3 .island .nav-links a:hover{color:var(--mist);background:rgba(211,222,228,.07)}
.v3 .nav-book{min-height:48px;font-size:14.5px}
.v3 .nav-book.btn:has(.btn-ico){padding-left:20px}
.v3 .nav-book .btn-ico{width:36px;height:36px}

/* ---------- hero (story.css does the video; this is the copy and load sequence) ---------- */
.v3 .story-copy{top:clamp(112px,17vh,168px)}
.v3 .story .hero-h{font-size:clamp(38px,3.9vw,58px);line-height:1.04;letter-spacing:-.04em;max-width:none}
.v3 .story .hero-h em{display:block}
.v3 .hero-h .ln{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.v3 .hero-h .ln > *{display:block}
.v3 .story .h-lede{font-size:clamp(18px,1.35vw,20px);color:var(--pant);max-width:40ch;margin-top:22px}
.v3 .story .h-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:30px}
.v3 .story .h-ring{margin:0}
/* key benefits: one glass panel instead of four pills */
.v3 .story-chips{display:grid;grid-template-columns:repeat(2,auto);gap:0;width:max-content;max-width:calc(100% - 440px);padding:6px;border-radius:22px;
  background:rgba(19,29,37,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),inset 0 0 0 1px rgba(211,222,228,.1)}
.v3 .story-chips li{background:none;border:0;backdrop-filter:none;border-radius:16px;padding:10px 16px 10px 12px;font:700 15px var(--ui);color:var(--mist);gap:10px}
.v3 .story-chips .ico{width:20px;height:20px;fill:var(--signal);stroke:none;flex:none}
@media (prefers-reduced-motion: no-preference){
  .v3 .hero-h .ln > *{animation:v3Line 1.1s var(--ease) both}
  .v3 .hero-h .ln + .ln > *{animation-delay:.12s}
  .v3 .story-copy .h-eyebrow{animation:v3Up .9s var(--ease) both}
  .v3 .story-copy .h-lede{animation:v3Up .9s .3s var(--ease) both}
  .v3 .story-copy .h-actions{animation:v3Up .9s .42s var(--ease) both}
  .v3 .story-chips{animation:v3Up .9s .56s var(--ease) both}
}
@keyframes v3Line{from{transform:translateY(108%)}to{transform:none}}
@keyframes v3Up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- sections + background layers ---------- */
.v3 .sec{position:relative;isolation:isolate;padding:clamp(96px,11vw,152px) 0;overflow:hidden;overflow:clip}
.v3 .sec > .wrap,.v3 .sec > .sheet{position:relative;z-index:2}
.v3 .sec.fix{background:var(--deep)}
.fx-canvas,.fx-spot{position:absolute;inset:0;z-index:1;pointer-events:none}
.fx-canvas{opacity:.8}
.fx-canvas.is-soft{opacity:.45}
.fx-spot{opacity:0;transition:opacity .5s var(--ease);background:radial-gradient(480px circle at var(--mx,70%) var(--my,30%),rgba(54,207,255,.1),transparent 70%)}
.fx-spot.is-on{opacity:1}
.v3 .aurora{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:0}
.v3 .au-problem{width:560px;height:560px;top:-120px;left:-240px;opacity:.22;background:radial-gradient(circle,#36CFFF,transparent 70%)}
.v3 .au-fix{width:640px;height:640px;top:-200px;right:-260px;opacity:.2;background:radial-gradient(circle,#1BA8E0,transparent 70%)}
.v3 .au-book{width:660px;height:660px;bottom:-260px;left:-220px;opacity:.2;background:radial-gradient(circle,#36CFFF,transparent 70%)}
@media (prefers-reduced-motion: no-preference){
  .v3 .aurora{animation:v3Drift 22s ease-in-out infinite}
  .v3 .au-fix{animation-duration:26s;animation-direction:reverse}
}
@keyframes v3Drift{0%,100%{transform:translate(0,0)}50%{transform:translate(52px,-36px)}}

/* scroll reveals: a heavy fade-up (blur only where there is a pointer to spare it) */
.v3.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease)}
.v3 .reveal.in{opacity:1;transform:none}
@media (hover:hover) and (pointer:fine){ .v3.js .reveal{filter:blur(6px)} .v3 .reveal.in{filter:none} }
.v3 .reveal.d1{transition-delay:.08s} .v3 .reveal.d2{transition-delay:.16s} .v3 .reveal.d3{transition-delay:.24s}
.v3 [data-tilt],.v3 .plan-card{transition:transform .25s var(--ease),box-shadow .3s var(--ease);transform-style:preserve-3d}

/* ---------- double-bezel container ---------- */
.v3 .bezel{padding:6px;border-radius:var(--r-shell);background:rgba(211,222,228,.045);box-shadow:inset 0 0 0 1px rgba(211,222,228,.09)}
.v3 .bezel-core{position:relative;border-radius:var(--r-core);overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}

/* spotlight border: the edge lights up under the cursor (v3.js sets --sx/--sy) */
.v3 .spot{position:relative}
.v3 .spot::before{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .4s var(--ease);
  background:radial-gradient(280px circle at var(--sx,50%) var(--sy,0%),rgba(54,207,255,.9),rgba(54,207,255,0) 62%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.v3 .spot.is-lit::before{opacity:1}

/* ---------- 2. problem ---------- */
.v3 .problem .sec-title{margin-bottom:clamp(40px,5vw,64px)}
.v3 .ptiles{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px;align-items:start}
.v3 .ptile{margin:0}
.v3 .ptile:nth-child(2){margin-top:80px}
.v3 .ptile:nth-child(3){margin-top:32px}
.v3 .ptile-img{position:relative;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:var(--deep);box-shadow:0 34px 60px -42px rgba(5,10,14,.95)}
.v3 .ptile-img img{width:100%;height:100%;object-fit:cover}
.v3 .ptile figcaption{margin-top:14px;font:700 19px var(--ui);letter-spacing:-.01em;color:var(--mist)}
.v3 .tile-ping{position:absolute;left:var(--x);top:var(--y);width:64px;height:64px;margin:-32px 0 0 -32px;pointer-events:none}

/* calculator */
.v3 .calc{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,5vw,72px);align-items:center;margin-top:clamp(80px,9vw,128px)}
.v3 .calc-title{font:800 clamp(26px,2.4vw,32px)/1.15 var(--ui);letter-spacing:-.025em;color:var(--mist);margin-bottom:24px}
.v3 .field-r{padding:18px 0 14px;border-top:1px solid var(--line)}
.v3 .field-r .lab{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.v3 .field-r label{font-size:16px;color:var(--pant)}
.v3 .field-r output{font:500 20px var(--mono);color:var(--mist);font-variant-numeric:tabular-nums}
.v3 input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer}
.v3 input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--signal) var(--fill,0%),rgba(211,222,228,.16) var(--fill,0%))}
.v3 input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:rgba(211,222,228,.16)}
.v3 input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--signal)}
.v3 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--mist);border:4px solid var(--signal);margin-top:-9px;transition:transform .25s var(--ease)}
.v3 input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--mist);border:4px solid var(--signal)}
.v3 input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}
.v3 .calc-result{background:var(--signal);color:var(--ink);padding:clamp(28px,3.4vw,44px)}
.v3 .res-label{font:700 14.5px var(--ui);color:var(--ink)}
.v3 .res-big{font:800 clamp(54px,6.6vw,92px)/1 var(--ui);letter-spacing:-.05em;margin:14px 0 12px;font-variant-numeric:tabular-nums;color:var(--ink)}
.v3 .res-formula{font:500 14.5px var(--mono);color:var(--ink)}
.v3 .res-note{font-size:14px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(25,37,46,.24);color:var(--ink);max-width:46ch}
.v3 .calc-result .btn{margin-top:26px}

/* receptionist cost vs Maveryk, to scale */
/* the same paper as the pricing sheet: ink text, cyan marker, bars that read on light */
.v3 .cost-cmp{margin-top:clamp(72px,8vw,112px);padding:clamp(28px,4vw,52px);border-radius:clamp(28px,3.6vw,40px);
  background:var(--paper);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 40px 80px -56px rgba(5,10,14,.9)}
.v3 .cmp-line{font:700 clamp(22px,2.3vw,32px)/1.32 var(--ui);letter-spacing:-.02em;color:var(--ink);max-width:36ch;text-wrap:balance}
.v3 .cmp-line em{font-style:normal;color:var(--ink);background:linear-gradient(transparent 62%,rgba(54,207,255,.9) 62%,rgba(54,207,255,.9) 90%,transparent 90%);
  -webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .05em}
.v3 .cmp-bars{margin-top:36px;display:grid;gap:16px}
.v3 .cmp-row{display:grid;grid-template-columns:170px 1fr 160px;align-items:center;gap:20px}
.v3 .cmp-k{font:600 15px var(--ui);color:var(--ink-2)}
.v3 .cmp-track{position:relative;height:14px}
.v3 .cmp-bar{position:absolute;left:0;top:0;bottom:0;border-radius:999px;transform-origin:left center;transform:scaleX(0);transition:transform 1.5s var(--ease)}
/* solid to $4,000, lighter to $6,000: the bar is the whole range */
.v3 .cmp-bar.them{width:100%;background:linear-gradient(90deg,#696972 66.7%,rgba(105,105,114,.38) 66.7%)}
.v3 .cmp-bar.us{width:8.28%;min-width:12px;background:var(--ink);box-shadow:inset 0 0 0 3px var(--signal);transition-delay:.45s}
.v3 .cost-cmp.in .cmp-bar,.v3:not(.js) .cmp-bar{transform:none}
.v3 .cmp-v{font:500 15px var(--mono);color:var(--ink);text-align:right;white-space:nowrap}
.v3 .cmp-inc{margin-top:12px;font-size:14px;color:var(--ink-2);text-align:right}

/* ---------- 3. fix: bento led by the real call ---------- */
.v3 .fix .sec-title{margin-bottom:clamp(36px,4.5vw,56px)}
.v3 .bento{display:grid;grid-template-columns:1.6fr 1fr;grid-auto-rows:minmax(0,auto);gap:16px}
.v3 .cell-call{grid-row:1 / span 3}
.v3 .cell-call .bezel-core{height:100%;display:flex;flex-direction:column;padding:clamp(22px,2.6vw,34px);
  background:radial-gradient(90% 60% at 0% 0%,rgba(54,207,255,.09),transparent 60%),linear-gradient(180deg,#203040,#1A2731)}
.v3 .call-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap}
.v3 .call-head h3{font:800 22px var(--ui);letter-spacing:-.015em;color:var(--mist)}
.v3 .demo-kind{font-size:14px;color:var(--pant);display:flex;align-items:center;gap:0}
.v3 .kind-real{display:inline-block;flex:none;white-space:nowrap;background:var(--signal);color:var(--ink);font:700 12px/1 var(--ui);padding:5px 8px;border-radius:8px;margin-right:10px}
.v3 .caption{margin:clamp(24px,3vw,40px) 0 clamp(20px,2.4vw,30px);min-height:8.6em}
.v3 .cap-who{display:flex;align-items:center;gap:10px;font:700 14px var(--ui);color:var(--signal)}
.v3 .caption.is-caller .cap-who{color:var(--mist)}
/* three bars that move only while that speaker is talking */
.v3 .cap-who::before{content:"";width:16px;height:14px;flex:none;background:
  linear-gradient(currentColor,currentColor) 0 100%/3px 40% no-repeat,
  linear-gradient(currentColor,currentColor) 6px 100%/3px 100% no-repeat,
  linear-gradient(currentColor,currentColor) 12px 100%/3px 60% no-repeat}
.v3 .cap-text{margin-top:10px;font:600 clamp(20px,1.9vw,27px)/1.38 var(--ui);letter-spacing:-.012em;color:var(--mist);text-wrap:pretty;max-width:30ch}
.v3 .caption.is-swap .cap-text,.v3 .caption.is-swap .cap-who{animation:v3Up .5s var(--ease) both}
.v3 .player{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"wave wave" "play time";align-items:center;gap:18px 18px}
.v3 .player .wave{grid-area:wave}
.v3 .player .play{grid-area:play}
.v3 .player .time{grid-area:time;justify-self:end}
.v3 .player .play{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 22px 0 16px;border-radius:999px;border:0;cursor:pointer;
  background:var(--signal);color:var(--ink);font:700 15px var(--ui);white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.45);transition:background-color .25s,transform .5s var(--ease)}
.v3 .player .play:hover{background:var(--signal-2)}
.v3 .player .play:active{transform:scale(.97)}
.v3 .player .play svg{width:20px;height:20px;fill:currentColor}
.v3 .wave{position:relative;height:56px;border-radius:8px}
.v3 .wave-bars{position:absolute;inset:0;display:flex;align-items:center;gap:2px;pointer-events:none}
.v3 .wave{height:64px}
.v3 .wave-bars span{flex:1;min-width:1px;height:max(3px,calc(var(--v) * 100%));border-radius:2px;background:rgba(173,175,186,.28)}
.v3 .wave-bars span.a{background:rgba(54,207,255,.34)}
.v3 .wave-bars span.c{background:rgba(211,222,228,.3)}
.v3 .wave-played{clip-path:inset(0 calc(100% - var(--p,0%)) 0 0)}
.v3 .wave-played span{background:var(--pant)}
.v3 .wave-played span.a{background:var(--signal)}
.v3 .wave-played span.c{background:var(--mist)}
/* bleeped stretches (phone number, address): one flat, quiet run in Dolphin */
.v3 .wave-bars span.b{background:rgba(105,105,114,.55);border-radius:1px}
.v3 .wave-played span.b{background:#8A8A94}
.v3 .wave-key .k-bleep::before{background:#8A8A94}
.v3 .wave input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.v3 .wave:has(input:focus-visible){outline:2px solid var(--signal);outline-offset:6px}
.v3 .player .time{font:500 14px var(--mono);color:var(--pant);font-variant-numeric:tabular-nums;white-space:nowrap}
.v3 .wave-key{display:flex;gap:20px;margin-top:14px;font-size:13.5px;color:var(--pant)}
.v3 .wave-key span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:-1px}
.v3 .wave-key .k-agent::before{background:var(--signal)}
.v3 .wave-key .k-caller::before{background:var(--mist)}
.v3 .player-status{font-size:14px;color:var(--pant);margin-top:6px}
.v3 .player-status:empty{display:none}
.v3 .player-status.is-error{color:#FFB3BD}
.v3 .tx{margin-top:22px;border-top:1px solid var(--line);padding-top:6px}
.v3 .tx summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;font:700 15px var(--ui);color:var(--signal)}
.v3 .tx summary::-webkit-details-marker{display:none}
.v3 .tx summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .3s var(--ease)}
.v3 .tx[open] summary::after{transform:rotate(-135deg);margin-top:3px}
.v3 .transcript{list-style:none;margin:8px 0 0;padding:0 6px 0 0;max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
.v3 .transcript li{padding:8px 12px;border-radius:12px;font-size:15px;line-height:1.55;color:var(--pant);transition:background-color .25s,color .25s}
.v3 .transcript li .who{font-weight:600;color:var(--mist);margin-right:4px}
.v3 .transcript li.agent .who{color:var(--signal)}
.v3 .transcript li.is-now{background:rgba(211,222,228,.07);color:var(--mist)}
.v3 .proof-alt{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:auto;padding-top:18px}
.v3 .tx + .proof-alt{margin-top:8px}

.v3 .cell{position:relative;border-radius:var(--r-shell);padding:22px 26px;display:grid;grid-template-columns:76px 1fr;column-gap:20px;align-content:center;
  background:var(--ridge);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),inset 0 0 0 1px var(--line)}
.v3 .cell img{grid-row:span 2;width:76px;height:76px;border-radius:18px;align-self:center}
.v3 .cell h3{font:800 20px/1.2 var(--ui);letter-spacing:-.015em;color:var(--mist);align-self:end}
.v3 .cell p{margin-top:6px;font-size:15.5px;line-height:1.5;color:var(--pant);align-self:start}
.v3 .cap-a{background:radial-gradient(120% 140% at 100% 0%,rgba(54,207,255,.16),transparent 55%),var(--ridge)}
.v3 .cap-b{background:var(--ridge-2)}
.v3 .cap-c{background:linear-gradient(160deg,#1E2D38,#17232C)}

/* how it starts: three real steps, the line draws through them on arrival */
.v3 .how-steps::before{content:none}
.v3 .how-steps{margin-top:clamp(56px,7vw,88px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px 48px}
.v3 .how-steps ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);position:relative;margin:0;padding:0}
.v3 .how-steps ol::before,.v3 .how-steps ol::after{content:"";position:absolute;left:22px;width:66.67%;top:21px;height:2px;border-radius:2px}
.v3 .how-steps ol::before{background:rgba(211,222,228,.14)}
.v3 .how-steps ol::after{background:var(--signal);transform-origin:left;transform:scaleX(0);transition:transform 1.6s .25s var(--ease)}
.v3 .how-steps.in ol::after,.v3:not(.js) .how-steps ol::after{transform:none}
.v3 .how-steps li{position:relative;display:flex;flex-direction:column;gap:14px;font:700 17px/1.3 var(--ui);color:var(--mist);padding-right:16px}
.v3 .how-steps .n{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:500 15px var(--mono);color:var(--signal);
  background:var(--deep);box-shadow:inset 0 0 0 1.5px var(--signal);transition:background-color .4s,color .4s}
.v3 .how-steps.in li .n{background:var(--signal);color:var(--ink)}
.v3 .how-steps.in li:nth-child(1) .n{transition-delay:.3s}
.v3 .how-steps.in li:nth-child(2) .n{transition-delay:1.05s}
.v3 .how-steps.in li:nth-child(3) .n{transition-delay:1.8s}
.v3 .how-steps > p{color:var(--pant);font-size:15.5px;max-width:24ch}

/* ---------- 4. pricing: the paper sheet ---------- */
.v3 .sec.pricing{padding:clamp(16px,2vw,28px) 0;background:var(--night)}
.v3 .sheet{margin:0 clamp(8px,1.6vw,24px);border-radius:clamp(28px,3.6vw,48px);background:var(--paper);color:var(--ink);
  padding:clamp(80px,9vw,128px) 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 50px 90px -60px rgba(5,10,14,.9);transform-origin:50% 0}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .v3 .sheet{animation:v3Sheet linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  }
}
@keyframes v3Sheet{from{transform:translateY(70px) scale(.955)}to{transform:none}}
.v3 .sheet .display{color:var(--ink)}
.v3 .sheet .display em{color:var(--ink);background:linear-gradient(transparent 62%,rgba(54,207,255,.9) 62%,rgba(54,207,255,.9) 90%,transparent 90%);
  -webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .05em}
.v3 .sheet .sec-lede{color:var(--ink-2)}
.v3 .sheet-head{max-width:820px}
.v3 .plan-grid{margin-top:clamp(44px,5vw,64px);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(7,auto);column-gap:20px}
.v3 .plan-card{grid-row:span 7;display:grid;grid-template-rows:subgrid;row-gap:0;position:relative;padding:30px 28px 28px;border-radius:26px;
  background:rgba(237,242,245,.5);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(25,37,46,.13),0 0 0 6px rgba(25,37,46,.035)}
@supports not (grid-template-rows: subgrid){ .v3 .plan-card{display:flex;flex-direction:column} .v3 .plan-cta{margin-top:auto} }
.v3 .plan-card:hover{box-shadow:inset 0 0 0 1px rgba(25,37,46,.22),0 0 0 6px rgba(25,37,46,.05),0 30px 50px -36px rgba(25,37,46,.55)}
.v3 .plan-card.is-featured{background:var(--night);color:var(--mist);box-shadow:inset 0 0 0 1.5px var(--signal),0 0 0 6px rgba(54,207,255,.16),0 44px 70px -40px rgba(25,37,46,.8)}
.v3 .plan-badge{position:absolute;top:-13px;left:28px;background:var(--signal);color:var(--ink);font:700 12.5px/1 var(--ui);padding:7px 10px;border-radius:8px}
.v3 .plan-card h3{font:800 23px var(--ui);letter-spacing:-.02em;margin:0}
.v3 .plan-suits{font-size:15px;line-height:1.5;color:var(--ink-2);margin-top:6px}
.v3 .plan-price{margin-top:22px;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.v3 .plan-price .amt{font:800 50px/1 var(--ui);letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.v3 .plan-price .per{font-size:15px;color:var(--ink-2)}
.v3 .plan-inc{margin-top:8px;font:500 13.5px var(--mono);color:var(--ink-2)}
.v3 .plan-meta{margin-top:14px;padding-bottom:20px;font-size:14.5px;line-height:1.5;border-bottom:1px solid rgba(25,37,46,.14)}
.v3 .plan-list{list-style:none;margin:20px 0 26px;padding:0;display:grid;gap:11px;align-content:start}
.v3 .plan-list li{display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:15px;line-height:1.5;color:#2F363E}
.v3 .plan-list svg{width:18px;height:18px;margin-top:3px;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.v3 .plan-cta{align-self:end;width:100%;min-height:54px}
.v3 .is-featured .plan-suits,.v3 .is-featured .plan-price .per,.v3 .is-featured .plan-inc{color:var(--pant)}
.v3 .is-featured .plan-meta{border-bottom-color:var(--line)}
.v3 .is-featured .plan-list li{color:var(--mist)}
.v3 .is-featured .plan-list svg{stroke:var(--signal)}

.v3 .sheet-notes{margin-top:48px;display:grid;grid-template-columns:1.35fr 1fr;gap:20px 40px;align-items:start}
.v3 .g-card{max-width:none;margin:0;border:0;display:grid;grid-template-columns:44px 1fr;gap:18px;padding:26px 28px;border-radius:24px;background:var(--night);color:var(--mist)}
.v3 .g-card .g-ico{width:44px;height:44px;fill:var(--signal)}
.v3 .g-card p{font-size:15.5px}
.v3 .g-card strong{color:var(--signal)}
.v3 .sheet .g-card .fine{margin-top:10px;font-size:13.5px;color:var(--pant)}
.v3 .terms p{font-size:15px;color:#2F363E;padding:16px 0}
.v3 .terms p + p{border-top:1px solid rgba(25,37,46,.14)}
.v3 .sheet a:not(.btn),.v3 .text-link{color:var(--ink);text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:3px;text-underline-offset:4px}
.v3 .price-faq{margin-top:36px}
.v3 .qa{border-top:1px solid rgba(25,37,46,.14);border-bottom:1px solid rgba(25,37,46,.14)}
.v3 .qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:18px 0;font:700 18px/1.4 var(--ui)}
.v3 .qa summary::-webkit-details-marker{display:none}
.v3 .qa summary::after{content:"";flex:none;width:10px;height:10px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translate(-3px,-3px);transition:transform .3s var(--ease)}
.v3 .qa[open] summary::after{transform:rotate(-135deg) translate(-3px,-3px)}
.v3 .qa-a{padding:0 0 20px;color:#2F363E;max-width:66ch}
.v3 .sheet .fine{font-size:13.5px;color:var(--ink-2);margin-top:10px}
.v3 .plan-help{margin-top:40px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;padding:14px 14px 14px 30px;border-radius:999px;background:rgba(25,37,46,.06)}
.v3 .plan-help p{font:700 18px var(--ui);letter-spacing:-.01em}

/* ---------- 5. book ---------- */
.v3 .book-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,5vw,72px);align-items:start}
.v3 .book-copy .sec-title{max-width:11ch}
.v3 .book-lede{margin-top:22px;font-size:18px;color:var(--pant)}
.v3 .book-points{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px}
.v3 .book-points li{display:grid;grid-template-columns:26px 1fr;gap:12px;color:var(--mist)}
.v3 .book-points li::before{content:"";width:22px;height:22px;border-radius:50%;margin-top:2px;background:#36CFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2319252E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat}
.v3 .book-alt{margin-top:24px;font-size:15px;color:var(--pant)}
.v3 .book-alt a{color:var(--signal);text-decoration:underline;text-underline-offset:4px}
.v3 .book-art{margin-top:28px;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:76% 50%;
  -webkit-mask-image:radial-gradient(closest-side at 58% 52%,#000 62%,transparent 100%);mask-image:radial-gradient(closest-side at 58% 52%,#000 62%,transparent 100%)}
.v3 .cal-core{background:#1E2C36;min-height:720px}
.v3 .cal-embed{height:720px;min-width:280px}
.v3 .cal-skel{position:absolute;inset:0;padding:40px 36px;display:flex;flex-direction:column;gap:12px;pointer-events:none}
.v3 .cal-skel[hidden],.v3 .cal-fallback[hidden]{display:none}
.v3 .sk{display:block;border-radius:8px;background:linear-gradient(90deg,#26374399 0%,#31455399 40%,#26374399 80%);background-size:220% 100%}
.v3 .sk-title{width:46%;height:22px}
.v3 .sk-sub{width:30%;height:14px;margin-bottom:22px}
.v3 .sk-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px 10px}
.v3 .sk-grid .sk{aspect-ratio:1;border-radius:50%}
@media (prefers-reduced-motion: no-preference){ .v3 .sk{animation:v3Shimmer 1.5s linear infinite} }
@keyframes v3Shimmer{from{background-position:120% 0}to{background-position:-100% 0}}
.v3 .cal-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:36px;background:#1E2C36;color:var(--mist)}
.v3 .cal-fallback a:not(.btn){color:var(--signal);text-decoration:underline}
.v3 .cal-fallback .fine{font-size:14px;color:var(--pant)}

/* ---------- footer ---------- */
.v3 .foot{background:var(--deep);border-top:1px solid var(--line);padding:72px 0 34px;position:relative;z-index:2}
.v3 .foot-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:28px 48px}
.v3 .foot .logo-img{height:26px}
.v3 .foot-brand p{margin-top:14px;color:var(--pant);font-size:15px;max-width:36ch}
.v3 .foot-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 26px;max-width:600px}
.v3 .foot-links a{font:600 15px var(--ui);color:var(--mist);transition:color .25s}
.v3 .foot-links a:hover{color:var(--signal)}
.v3 .foot-base{font-family:var(--sans);letter-spacing:0;margin-top:52px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:13.5px;color:var(--pant)}
.v3 .foot-legal{display:flex;gap:20px}
.v3 .foot-legal a{color:var(--pant);text-decoration:underline;text-underline-offset:3px}
.v3 .foot-legal a:hover{color:var(--mist)}

/* ---------- tablets ---------- */
@media (max-width:980px){
  .v3 .island-bar{height:58px;padding:0 7px 0 18px}
  .v3 .island .nav-toggle{display:flex;margin-left:auto;width:44px;height:44px;border:0;border-radius:50%;background:rgba(211,222,228,.08);gap:6px}
  .v3 .island .nav-toggle span{width:18px;height:1.75px;background:var(--mist);transition:transform .45s var(--ease)}
  .v3 header.island.menu-open .nav-toggle span:nth-child(1){transform:translateY(3.9px) rotate(45deg)}
  .v3 header.island.menu-open .nav-toggle span:nth-child(2){opacity:1;transform:translateY(-3.9px) rotate(-45deg)}
  /* full-screen menu: a glass sheet, links rise in one after another */
  .v3 .island .nav-menu{position:fixed;inset:0;z-index:-1;margin:0;max-height:none;overflow:auto;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:32px;
    padding:110px 28px 40px;border:0;background:rgba(19,29,37,.95);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);
    opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility 0s linear .45s}
  .v3 header.island.menu-open .nav-menu{opacity:1;visibility:visible;transition:opacity .45s var(--ease),visibility 0s}
  .v3 .island .nav-links{flex-direction:column;gap:4px}
  .v3 .island .nav-links a{padding:10px 0;border:0;border-radius:0;font:800 clamp(30px,8vw,40px)/1.15 var(--ui);letter-spacing:-.03em;color:var(--mist);background:none;
    opacity:0;transform:translateY(28px);transition:opacity .5s var(--ease),transform .7s var(--ease)}
  .v3 header.island.menu-open .nav-links a{opacity:1;transform:none}
  .v3 header.island.menu-open .nav-links a:nth-child(1){transition-delay:.08s}
  .v3 header.island.menu-open .nav-links a:nth-child(2){transition-delay:.14s}
  .v3 header.island.menu-open .nav-links a:nth-child(3){transition-delay:.2s}
  .v3 header.island.menu-open .nav-links a:nth-child(4){transition-delay:.26s}
  .v3 .island .nav-book{width:100%;min-height:58px;font-size:16px;opacity:0;transform:translateY(20px);transition:opacity .5s .3s var(--ease),transform .7s .3s var(--ease)}
  .v3 header.island.menu-open .nav-book{opacity:1;transform:none}
  html.nav-open{overflow:hidden}

  .v3 .story-chips{max-width:none}
  .v3 .bento{grid-template-columns:1fr}
  .v3 .cell-call{grid-row:auto}
  .v3 .calc{grid-template-columns:1fr}
  .v3 .book-grid{grid-template-columns:1fr}
  .v3 .book-copy .sec-title{max-width:14ch}
  .v3 .book-art{display:none}
  .v3 .sheet-notes{grid-template-columns:1fr}
  .v3 .how-steps{grid-template-columns:1fr}
}
/* ---------- phones ---------- */
@media (max-width:760px){
  .v3 .wrap{padding:0 16px}
  .v3 .ptiles{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;margin:0 -16px;padding:0 16px 6px;scrollbar-width:none}
  .v3 .ptiles::-webkit-scrollbar{display:none}
  .v3 .ptile{flex:0 0 74%;scroll-snap-align:start;margin-top:0!important}
  .v3 .ptile figcaption{font-size:17px}
  .v3 .cmp-row{grid-template-columns:1fr auto;grid-template-areas:"k v" "t t";gap:8px 12px}
  .v3 .cmp-k{grid-area:k} .v3 .cmp-v{grid-area:v} .v3 .cmp-track{grid-area:t}
  .v3 .player{row-gap:16px}
  .v3 .caption{min-height:9.6em}
  .v3 .cell{padding:20px;grid-template-columns:60px 1fr;column-gap:16px}
  .v3 .cell img{width:60px;height:60px;border-radius:14px}
  .v3 .how-steps ol{grid-template-columns:1fr;gap:22px}
  .v3 .how-steps ol::before,.v3 .how-steps ol::after{left:21px;top:22px;width:2px;height:calc(100% - 44px)}
  .v3 .how-steps ol::after{transform:scaleY(0);transform-origin:top}
  .v3 .how-steps.in ol::after{transform:none}
  .v3 .how-steps li{flex-direction:row;align-items:center;gap:16px}
  .v3 .plan-grid{grid-template-columns:1fr;grid-template-rows:none;row-gap:28px}
  .v3 .plan-card{grid-row:auto;display:flex;flex-direction:column}
  .v3 .plan-help{border-radius:24px;padding:22px}
  .v3 .plan-help .btn{width:100%}
  .v3 .cal-core{min-height:1060px}
  .v3 .cal-embed{height:1060px}
  .v3 .foot-links{justify-content:flex-start}
}
@media (max-width:640px){
  .v3 .story-copy{top:88px}
  .v3 .story .hero-h{font-size:clamp(33px,9.4vw,42px)}
  .v3 .story .h-actions{gap:8px 20px;margin-top:20px}
  .v3 .story .h-actions .btn{flex:1 1 100%}
  .v3 .story-chips{grid-template-columns:1fr 1fr;width:auto;padding:4px;border-radius:18px}
  .v3 .story-chips li{font-size:13px;padding:7px 9px;gap:7px}
  .v3 .story-chips .ico{width:16px;height:16px}
}

/* ---------- reduced motion: everything lands in its final state ---------- */
@media (prefers-reduced-motion: reduce){
  .v3.js .reveal{opacity:1;transform:none;filter:none;transition:none}
  .v3 .cmp-bar,.v3 .how-steps ol::after{transform:none;transition:none}
  .v3 .how-steps li .n{transition:none}
  .v3 .caption.is-swap .cap-text,.v3 .caption.is-swap .cap-who{animation:none}
  .v3 .island .nav-links a,.v3 .island .nav-book,.v3 .island .nav-menu{transition:none}
  .v3 .btn,.v3 .btn-ico,.v3 [data-tilt],.v3 .plan-card{transition:none}
}

/* the speaker bars move only while the call is playing */
@media (prefers-reduced-motion: no-preference){
  .v3 .caption.is-live .cap-who::before{animation:v3Talk .8s ease-in-out infinite}
}
@keyframes v3Talk{0%,100%{background-size:3px 40%,3px 100%,3px 60%}33%{background-size:3px 90%,3px 50%,3px 100%}66%{background-size:3px 60%,3px 80%,3px 35%}}
