/* ============ Tokens ============ */
@font-face{font-family:"Serif Fallback";src:local("Times New Roman"),local("Times");size-adjust:96%;ascent-override:92%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:"Sans Fallback";src:local("Arial"),local("Helvetica");size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}

:root{
  color-scheme:light;
  --bg:#fbfbfa;--bg-alt:#f4f4f1;--surface:#ffffff;--surface-2:#f6f6f3;
  --ink:#0d0f14;--ink-2:#454a57;--ink-3:#626775;--line:#e6e6e1;--line-2:#d6d6d0;
  --accent:#2b4cff;--accent-ink:#ffffff;--accent-soft:#eef1ff;--accent-2:#14b8a6;
  --em:var(--accent);--em-bg:none;--em-style:italic;
  --ok:#0f7a4b;--ok-soft:#e6f5ec;--warn:#b93a0a;--warn-soft:#fff0e8;
  --f-display:"Instrument Serif","Serif Fallback",Georgia,serif;
  --f-body:"Inter","Sans Fallback",system-ui,-apple-system,sans-serif;
  --f-ui:var(--f-body);
  --dw:400;--d-ls:-.025em;--d-tt:none;--d-lh:1;--d-scale:1;
  --kick-tt:none;--kick-ls:.02em;--kick-w:600;
  --r:22px;--r-sm:12px;--r-btn:999px;--bw:1px;
  --sh-sm:0 1px 2px rgba(13,15,20,.05),0 6px 16px -6px rgba(13,15,20,.08);
  --sh-lg:0 1px 1px rgba(13,15,20,.04),0 12px 24px -8px rgba(13,15,20,.10),0 40px 80px -24px rgba(13,15,20,.18);
  --btn-sh:0 8px 24px -10px rgba(43,76,255,.7);
  --btn-tt:none;--btn-ls:0;--btn-w:500;--btn-bd:0 solid transparent;
  --page-bg:none;
  --glow-1:rgba(43,76,255,.10);--glow-2:rgba(20,184,166,.0);
  --glass-bg:rgba(255,255,255,.62);--glass-bd:rgba(255,255,255,.95);--glass-sh:0 1px 1px rgba(13,15,20,.04),0 18px 40px -14px rgba(13,15,20,.22);
  --inv-bg:#0d0f14;--inv-ink:#ffffff;--inv-ink-2:#b9bdc8;--inv-line:rgba(255,255,255,.12);
  --nav-bg:#fbfbfa;
  --ease:cubic-bezier(.2,.8,.2,1);--hover-y:-2px;
  --card-rot:0deg;
  --gap:16px;--section-pad:88px;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#06070b;--bg-alt:#0a0c12;--surface:rgba(255,255,255,.035);--surface-2:rgba(255,255,255,.06);
  --ink:#eef0f6;--ink-2:#b3b8c8;--ink-3:#959bad;--line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.16);
  --accent:#8b7bff;--accent-ink:#0a0b10;--accent-soft:rgba(139,123,255,.14);--accent-2:#5ee1ff;
  --em:transparent;--em-bg:linear-gradient(120deg,#c9c2ff 0%,#8b7bff 35%,#5ee1ff 70%,#6dffc1 100%);--em-style:normal;
  --ok:#6dffc1;--ok-soft:rgba(109,255,193,.1);--warn:#ff9b73;--warn-soft:rgba(255,120,80,.12);
  --f-display:"Geist","Sans Fallback",system-ui,sans-serif;--f-body:"Geist","Sans Fallback",system-ui,sans-serif;
  --dw:600;--d-ls:-.04em;--d-lh:1.02;--d-scale:.9;
  --r:18px;--r-sm:12px;
  --sh-sm:0 1px 0 rgba(255,255,255,.06) inset,0 10px 30px -12px rgba(0,0,0,.8);
  --sh-lg:0 1px 0 rgba(255,255,255,.08) inset,0 60px 120px -30px rgba(0,0,0,.9),0 0 80px -20px rgba(139,123,255,.35);
  --btn-sh:0 0 0 1px rgba(255,255,255,.1) inset,0 10px 30px -8px rgba(139,123,255,.7);
  --page-bg:radial-gradient(900px 600px at 85% -10%,rgba(139,123,255,.16),transparent 60%),radial-gradient(700px 500px at -10% 30%,rgba(94,225,255,.07),transparent 60%);
  --glow-1:rgba(139,123,255,.28);--glow-2:rgba(94,225,255,.14);
  --glass-bg:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));--glass-bd:rgba(255,255,255,.14);--glass-sh:0 1px 0 rgba(255,255,255,.08) inset,0 30px 80px -20px rgba(0,0,0,.8);
  --inv-bg:linear-gradient(140deg,rgba(139,123,255,.22),rgba(94,225,255,.08) 60%,rgba(255,255,255,.03));--inv-ink:#eef0f6;--inv-ink-2:#b3b8c8;--inv-line:rgba(255,255,255,.12);
  --nav-bg:#06070b;
}
/* Every wheel style starts from the light baseline, so tokens from dark mode never leak in. */
html[data-style]{
  color-scheme:light;
  --bg:#fbfbfa;--bg-alt:#f4f4f1;--surface:#fff;--surface-2:#f6f6f3;--ink:#0d0f14;--ink-2:#454a57;--ink-3:#626775;--line:#e6e6e1;--line-2:#d6d6d0;
  --accent:#2b4cff;--accent-ink:#fff;--accent-soft:#eef1ff;--accent-2:#14b8a6;--em:var(--accent);--em-bg:none;--em-style:italic;
  --ok:#0f7a4b;--ok-soft:#e6f5ec;--warn:#b93a0a;--warn-soft:#fff0e8;
  --dw:400;--d-ls:-.02em;--d-tt:none;--d-lh:1.05;--d-scale:1;--kick-tt:none;--kick-ls:.02em;--kick-w:600;
  --r:16px;--r-sm:10px;--r-btn:999px;--bw:1px;
  --sh-sm:0 1px 2px rgba(0,0,0,.05),0 6px 16px -6px rgba(0,0,0,.08);--sh-lg:0 30px 60px -24px rgba(0,0,0,.25);
  --btn-sh:none;--btn-tt:none;--btn-ls:0;--btn-w:600;--btn-bd:0 solid transparent;--page-bg:none;--glow-1:transparent;--glow-2:transparent;
  --glass-bg:rgba(255,255,255,.7);--glass-bd:rgba(255,255,255,.95);--glass-sh:0 18px 40px -14px rgba(0,0,0,.22);
  --inv-bg:#111;--inv-ink:#fff;--inv-ink-2:#c9c9c9;--inv-line:rgba(255,255,255,.14);--nav-bg:var(--bg);
  --ease:cubic-bezier(.2,.8,.2,1);--hover-y:-2px;--card-rot:0deg;--f-ui:var(--f-body);--gap:16px;--section-pad:88px;
}

/* ============ Base ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{background:var(--page-bg),var(--bg);background-color:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background-color .4s,color .4s}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
ul,ol{list-style:none}
img,svg{display:block}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px}
.skip:focus{top:12px}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
@media (max-width:640px){.wrap{padding:0 16px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:var(--r-btn);font-family:var(--f-ui);font-weight:var(--btn-w);font-size:15px;text-transform:var(--btn-tt);letter-spacing:var(--btn-ls);border:var(--btn-bd);transition:transform .25s var(--ease),box-shadow .25s,background .25s,color .25s;white-space:nowrap;cursor:pointer}
.btn-dark{background:var(--ink);color:var(--bg)}
.btn-dark:hover{transform:translateY(var(--hover-y))}
.btn-accent{background:var(--accent);color:var(--accent-ink);box-shadow:var(--btn-sh)}
.btn-accent:hover{transform:translateY(var(--hover-y))}
.btn-ghost{color:var(--ink);padding:0 8px;border:0;background:none;box-shadow:none;text-transform:none;letter-spacing:0}
.btn-ghost:hover{color:var(--accent)}
.btn-light{background:var(--inv-ink);color:var(--ink);border:0}
html[data-theme="dark"]:not([data-style]) .btn-light{color:#0a0b10}
.btn-light:hover{transform:translateY(var(--hover-y))}
.btn-sm{min-height:38px;padding:0 16px;font-size:14px}
a.inline{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:var(--nav-bg);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font-weight:650;letter-spacing:-.01em;font-family:var(--f-ui);white-space:nowrap}
:root{--logo-a:#5b3df5;--logo-b:#0e9fbf}
html[data-theme="dark"]{--logo-a:#a093ff;--logo-b:#6dffc1}
html[data-style]{--logo-a:var(--accent);--logo-b:var(--accent-2)}
.logo-mark{width:24px;height:24px;flex:none;display:block;color:var(--ink)}
.ca-av .logo-mark{width:20px;height:20px}
.nav-links{display:flex;gap:30px;font-size:14px;color:var(--ink-2)}
.nav-links a:hover{color:var(--ink)}
.nav-r{display:flex;align-items:center;gap:10px}
.mode{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:transform .3s var(--ease)}
.mode:hover{transform:rotate(18deg)}
.mode .i-moon{display:none}
html[data-theme="dark"] .mode .i-sun{display:none}
html[data-theme="dark"] .mode .i-moon{display:block}
@media (max-width:900px){.nav:not(.hdr-fit) .nav-links{display:none}}
.nav-cta{white-space:nowrap}
@media (max-width:480px){.nav .wrap{gap:6px}.nav-r{gap:6px}.nav .mode{display:none}.logo{font-size:15px}.nav .rs-hd{width:36px;height:36px}.nav .btn-sm{padding:0 11px;font-size:13px}}
@media (max-width:385px){.logo-t{display:none}}

/* ============ Hero ============ */
.hero{position:relative;padding:56px 0 84px;overflow:hidden}
.hero::before{content:"";position:absolute;width:1000px;height:1000px;right:-300px;top:-360px;background:radial-gradient(closest-side,var(--glow-1),transparent);pointer-events:none}
.hero::after{content:"";position:absolute;width:700px;height:700px;left:-300px;bottom:-400px;background:radial-gradient(closest-side,var(--glow-2),transparent);pointer-events:none}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);padding:6px 12px 6px 9px;border-radius:var(--r-btn);box-shadow:var(--sh-sm)}
.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);flex:none}
h1,h2{font-family:var(--f-display);font-weight:var(--dw);letter-spacing:var(--d-ls);text-transform:var(--d-tt);line-height:var(--d-lh);text-wrap:balance}
h1{font-size:calc(clamp(46px,5.6vw,80px) * var(--d-scale));margin:24px 0 22px}
h1 em,h2 em{font-style:var(--em-style);color:var(--em);background:var(--em-bg);-webkit-background-clip:text;background-clip:text}
.lede{font-size:clamp(17px,1.4vw,19px);color:var(--ink-2);max-width:32em}
.cta-row{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:32px}
.restyle-link{margin-top:22px;display:inline-flex;align-items:center;gap:10px;background:none;border:0;cursor:pointer;font-size:14px;color:var(--ink-2);padding:6px 0}
.restyle-link u{text-decoration-color:var(--accent);text-underline-offset:3px;color:var(--ink)}
.restyle-link:hover u{color:var(--accent)}
.rs-dot{width:22px;height:22px;border-radius:50%;background:conic-gradient(#ff3b5c,#ffb020,#ffe600,#2bd98a,#00c2ff,#5b5bff,#c34bff,#ff3b5c);box-shadow:0 0 0 3px var(--surface),0 2px 8px rgba(0,0,0,.2);flex:none;animation:spin 6s linear infinite paused}
.restyle-link:hover .rs-dot{animation-play-state:running}
@keyframes spin{to{transform:rotate(360deg)}}

/* stage + phone shell */
.ph{--s:1;position:relative;flex:none;width:calc(322px * var(--s));height:calc(662px * var(--s))}
.ph-in{position:absolute;left:0;top:0;width:322px;height:662px;transform:scale(var(--s));transform-origin:0 0;border-radius:56px;background:#111;padding:11px;box-shadow:0 1px 1px rgba(0,0,0,.05),0 20px 40px -12px rgba(13,15,20,.28),0 60px 100px -30px rgba(13,15,20,.32),inset 0 0 0 1.5px #3a3a3c,inset 0 0 0 5px #1c1c1e}
html[data-theme="dark"]:not([data-style]) .ph-in,html[data-style="neon"] .ph-in,html[data-style="terminal"] .ph-in{box-shadow:0 0 0 1px rgba(255,255,255,.12),0 40px 100px -20px rgba(0,0,0,.9),0 0 90px -20px var(--glow-1),inset 0 0 0 1.5px #3a3a3c,inset 0 0 0 5px #1c1c1e}
.ph-scr{position:relative;contain:paint;width:300px;height:640px;border-radius:45px;overflow:hidden;background:#fff;isolation:isolate;color:#0d0f14;font-family:"Inter","Sans Fallback",system-ui,sans-serif;line-height:1.4;text-transform:none;letter-spacing:0}
.ph-island{position:absolute;top:11px;left:50%;margin-left:-44px;width:88px;height:26px;border-radius:20px;background:#000;z-index:60}
.ph-status{position:absolute;top:0;left:0;right:0;height:46px;display:flex;justify-content:space-between;align-items:center;padding:4px 30px 0 32px;font-size:13px;font-weight:600;z-index:59;pointer-events:none;color:#0d0f14;transition:color .3s}
.ph-scr.dark-status .ph-status{color:#fff}
.ph-sig{display:flex;align-items:center;gap:2px}
.ph-sig i{width:3px;background:currentColor;border-radius:1px}
.ph-sig i:nth-child(1){height:5px}.ph-sig i:nth-child(2){height:7px}.ph-sig i:nth-child(3){height:9px}
.ph-sig b{width:20px;height:10px;border-radius:3px;border:1.3px solid currentColor;margin-left:5px;position:relative}
.ph-sig b::after{content:"";position:absolute;inset:1.5px 6px 1.5px 1.5px;background:currentColor;border-radius:1px}
.ph-home{position:absolute;bottom:8px;left:50%;margin-left:-55px;width:110px;height:4.5px;border-radius:4px;background:#111;opacity:.85;z-index:60;pointer-events:none}
.ph-scr.dark-status .ph-home{background:#fff}

/* ============ Client-site screens (fixed palette: these are the customers' sites, not ours) ============ */
.abar-lock{color:#3c3c43}
/* before site: a non-responsive 2012 desktop layout, which phones render zoomed out to fit */
.bs{position:absolute;inset:0;isolation:isolate;background:#fff;color:#333}
.bs-ab{position:absolute;top:48px;left:10px;right:10px;height:30px;border-radius:9px;background:#e9e9eb;font:11px/30px -apple-system,system-ui,sans-serif;color:#555;padding:0 10px;white-space:nowrap;overflow:hidden;z-index:5}
.bs-ab b{color:#b42318;font-weight:600;display:inline-flex;align-items:center;gap:3px;vertical-align:top}
.bs-ab b svg{margin-top:9px}
.bs-page{position:absolute;top:82px;left:0;right:0;bottom:0;overflow:hidden;background:#d6d1c4}
.os{position:absolute;left:0;top:0;width:980px;transform-origin:0 0;transform:translate(var(--tx,0px),var(--ty,0px)) scale(var(--z,.3061));transition:transform .8s cubic-bezier(.3,.1,.3,1);font:13px/1.5 Verdana,Geneva,sans-serif;color:#444;text-align:left}
.os-pg{width:980px;background:#fff;box-shadow:0 0 14px rgba(0,0,0,.3)}
.os-hd{height:116px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:linear-gradient(#fff,#eaf0f6);border-top:6px solid #2c5f9e}
.os-logo{display:flex;align-items:center;gap:14px}
.os-logo i{width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 18%,#8fc1e8 19% 60%,#2c5f9e 61%);box-shadow:0 2px 4px rgba(0,0,0,.3)}
.os-logo b{display:block;font:italic 700 36px/1 Georgia,serif;color:#2c5f9e;text-shadow:1px 1px 0 #fff}
.os-logo small{display:block;font:14px Georgia,serif;color:#7a8a99;margin-top:5px;letter-spacing:1px}
.os-call{text-align:right;font:14px Georgia,serif;color:#777}
.os-num{display:block;font:700 28px Georgia,serif;color:#c0392b;padding:0 2px;border-radius:2px;transition:background .2s,box-shadow .2s}
.os-num.sel{background:rgba(0,122,255,.25);box-shadow:-3px 0 0 #007aff,3px 0 0 #007aff}
.os-nav{display:flex;height:42px;background:linear-gradient(#5a8fc7,#2c5f9e 55%,#24508a);border-top:1px solid #8fb6e0;border-bottom:1px solid #1b3d6b}
.os-nav li{padding:0 22px;font:700 13px/42px Arial,sans-serif;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.35);border-right:1px solid #24508a;box-shadow:1px 0 0 #6d9bd0;transition:background .15s}
.os-nav li:first-child{background:rgba(0,0,0,.18)}
.os-nav li.hit{background:#f1c40f;color:#222;text-shadow:none}
.os-photo{position:relative;height:264px;overflow:hidden;border-bottom:4px solid #2c5f9e;transform-origin:top;transition:transform .25s}
.os-photo svg{width:100%;height:100%;filter:saturate(1.35) contrast(1.05) sepia(.15)}
.os-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,40,70,.45),transparent 60%)}
.os-photo span{position:absolute;z-index:1;left:36px;bottom:34px;font:italic 44px Georgia,serif;color:#fff;text-shadow:2px 2px 6px rgba(0,0,0,.6)}
.os-rest{transition:transform .25s}
.bs:not(.is-loaded) .os-photo{transform:scaleY(0)}
.bs:not(.is-loaded) .os-rest{transform:translateY(-268px)}
.os-note{font:700 16px Arial,sans-serif;color:#b0281a;background:#fff7d6;border-bottom:1px solid #e6d9a3;padding:10px 30px}
.os-cols{display:flex;gap:30px;padding:24px 30px 30px}
.os-main{flex:1}
.os-h{font:700 26px Georgia,serif;color:#2c5f9e;margin-bottom:10px}
.os-main p{margin-bottom:12px}
.os-h2{font:700 18px Georgia,serif;color:#2c5f9e;margin:16px 0 6px}
.os-main ul{list-style:square;padding-left:22px}
.os-side{width:280px;flex:none}
.os-box{border:1px solid #c9d6e3;margin-bottom:16px;background:#f7fafc}
.os-box b{display:block;background:linear-gradient(#5a8fc7,#2c5f9e);color:#fff;font:700 14px Arial,sans-serif;padding:6px 10px}
.os-box table{width:100%;font-size:12px;border-collapse:collapse;margin:6px 0}
.os-box td{padding:4px 10px;border-bottom:1px dotted #c9d6e3}
.os-box p{padding:8px 10px;font-size:13px}
.os-ft{background:#2c3e50;color:#aab7c4;font-size:11px;padding:14px 30px}
.bs-load{position:absolute;top:82px;left:0;right:0;bottom:0;background:#fff;z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;font:12px -apple-system,system-ui,sans-serif;color:#888;transition:opacity .2s}
.spin{width:30px;height:30px;border-radius:50%;border:3px solid #e2e2e2;border-top-color:#8a8a8a;animation:spin .9s linear infinite}
.bs-prog{position:absolute;top:0;left:0;right:0;height:3px;background:#eee}
.bs-prog i{position:absolute;inset:0;background:#3478f6;transform-origin:0 0;transform:scaleX(.06);transition:transform 2.6s cubic-bezier(.2,.6,.4,1)}
.bs-toast{position:absolute;left:14px;right:14px;bottom:30px;z-index:12;background:#333;color:#fff;font:12px -apple-system,system-ui,sans-serif;border-radius:12px;padding:11px 12px;display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(12px);transition:opacity .25s,transform .3s}
.bs-toast.show{opacity:1;transform:none}
.bs-toast i{width:14px;height:14px;border-radius:50%;border:2px solid #777;border-top-color:#fff;animation:spin .9s linear infinite;flex:none}
.os-menu{position:absolute;z-index:13;left:var(--mx,40px);top:var(--my,120px);display:flex;background:#2c2c2e;border-radius:9px;color:#fff;font:12.5px -apple-system,system-ui,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.35);opacity:0;transform:translateY(6px) scale(.94);transition:opacity .2s,transform .25s cubic-bezier(.2,1.4,.4,1);pointer-events:none;white-space:nowrap}
.os-menu.show{opacity:1;transform:none}
.os-menu span{padding:8px 11px}
.os-menu span+span{border-left:1px solid rgba(255,255,255,.18)}
.os-menu span.hit{background:rgba(255,255,255,.18)}
.os-menu::after{content:"";position:absolute;left:24px;bottom:-6px;border:6px solid transparent;border-bottom:0;border-top-color:#2c2c2e}

/* after site */
.as{--b:#0e6e6a;--b2:#e3f1ef;--a-ink:#12151c;--a-mut:#656c79;--a-line:#ebebe7;--a-soft:#f5f5f1;position:absolute;inset:0;background:#fff;color:var(--a-ink);font-family:"Inter","Sans Fallback",system-ui,sans-serif;transition:opacity .2s}
.as[data-v="trades"]{--b:#1d2b4f;--b2:#e6eaf5}
.as-ab{position:absolute;top:48px;left:10px;right:10px;height:30px;border-radius:10px;background:#f1f1ef;font-size:11.5px;color:#222;display:flex;align-items:center;justify-content:center;gap:5px;z-index:5}
.as-ab svg{color:#3c3c43}
.as-view{position:absolute;top:82px;left:0;right:0;bottom:0;overflow:hidden}
.as-scroll{padding:0 0 120px;transition:transform 1.25s cubic-bezier(.25,.8,.25,1)}
.as-head{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 14px}
.as-logo{display:flex;align-items:center;gap:9px;min-width:0}
.as-logo>i{width:30px;height:30px;border-radius:9px;background:var(--b);color:#fff;display:grid;place-items:center;flex:none}
.as-logo b{display:block;font-size:13.5px;font-weight:650;letter-spacing:-.015em;line-height:1.15;white-space:nowrap}
.as-logo small{display:block;font-size:10.5px;color:var(--a-mut);line-height:1.2}
.as-hb{display:flex;gap:6px;flex:none}
.as-ib{width:32px;height:32px;border-radius:50%;border:1px solid var(--a-line);display:grid;place-items:center;color:var(--a-ink)}
.as-menu i{width:12px;height:8px;border-top:1.6px solid currentColor;border-bottom:1.6px solid currentColor}
.as-hero{position:relative;margin:2px 12px 0;height:168px;border-radius:18px;overflow:hidden;background:var(--a-soft)}
.as-hero picture{display:block;height:100%}
.as-photo{display:block;width:100%;height:100%;object-fit:cover}
.as-chip{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:600;background:rgba(255,255,255,.95);padding:5px 10px 5px 8px;border-radius:99px;display:flex;align-items:center;gap:6px;color:var(--a-ink);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.as-chip i{width:6px;height:6px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.18)}
.as-intro{padding:14px 16px 0}
.as-intro .ah{display:block;font-size:23px;font-weight:680;line-height:1.08;letter-spacing:-.03em}
.as-ih{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.as-team{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-top:3px}
.as-fc{display:flex;padding-left:8px}
.as-fc img{width:28px;height:28px;margin-left:-8px;border-radius:50%;object-fit:cover;object-position:50% 22%;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.as-team small{font-size:10px;font-weight:600;color:var(--b);white-space:nowrap}
.as-intro p{font-size:12px;line-height:1.45;color:var(--a-mut);margin-top:6px}
.as-cta{display:grid;grid-template-columns:1fr auto auto;gap:5px;margin-top:12px}
.as-btn{height:38px;border-radius:11px;border:1px solid var(--a-line);display:flex;align-items:center;justify-content:center;gap:3px;font-size:10.5px;font-weight:600;padding:0 5px;letter-spacing:-.01em;min-width:0;white-space:nowrap;color:var(--a-ink)}
.as-btn-p{background:var(--b);border-color:var(--b);color:#fff}
.as-btn-wa svg{color:#1faa53}
.as-open{margin:14px 12px 0;padding:9px 12px;border-radius:12px;background:var(--a-soft);display:flex;align-items:center;gap:7px;font-size:11.5px;white-space:nowrap}
.as-od{width:7px;height:7px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.16);flex:none}
.as-open b{font-weight:600}
.as-oh{color:var(--a-mut)}
.as-om{margin-left:auto;display:flex;align-items:center;gap:2px;color:var(--b);font-weight:600}
.as-sec{margin:22px 16px 0}
.as-sec .h4{font-size:13px;font-weight:650;letter-spacing:-.01em;margin-bottom:10px;display:flex;justify-content:space-between;align-items:baseline}
.as-sec .h4 em{font-style:normal;font-size:11.5px;color:var(--b);font-weight:600}
.as-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.as-grid li{border:1px solid var(--a-line);border-radius:14px;padding:11px 11px 10px}
.as-grid .ico{width:32px;height:32px;border-radius:10px;background:var(--b2);color:var(--b);display:grid;place-items:center;margin-bottom:9px}
.as-grid b{display:block;font-size:12.5px;font-weight:620;letter-spacing:-.01em}
.as-grid small{display:block;font-size:10.5px;color:var(--a-mut);margin-top:1px;line-height:1.3}
.as-slots{display:flex;gap:6px}
.as-slots span{flex:1;border:1px solid var(--a-line);border-radius:12px;padding:7px 0 8px;text-align:center;font-size:13px;font-weight:620;font-variant-numeric:tabular-nums}
.as-slots b{display:block;font-size:10px;color:var(--a-mut);font-weight:500;margin-bottom:1px}
.as-slots .on{border-color:var(--b);background:var(--b);color:#fff}
.as-slots .on b{color:rgba(255,255,255,.8)}
.as-visit{display:flex;gap:12px;align-items:center;border:1px solid var(--a-line);border-radius:16px;padding:8px}
.as-map{width:96px;height:76px;border-radius:11px;flex:none;display:block}
.as-map .m-bg{fill:#eef0ea}.as-map .m-park{fill:#d7e7cf}.as-map .m-water{fill:#cfe2ee}
.as-map .m-rd{stroke:#fff;stroke-width:5;fill:none}.as-map .m-rd2{stroke:#fff;stroke-width:2.5;fill:none}
.as-map .m-halo{fill:var(--b);opacity:.14}.as-map .m-pin{fill:var(--b)}
.as-addr{min-width:0;font-size:12px}
.as-addr b{display:block;font-size:13px;font-weight:620}
.as-addr small{display:block;font-size:10.5px;color:var(--a-mut);line-height:1.35;margin-top:1px}
.as-dir{display:inline-flex;align-items:center;gap:4px;margin-top:7px;font-size:11px;font-weight:600;color:var(--b)}
.as-foot{margin:22px 16px 0;font-size:10.5px;color:var(--a-mut)}
.as-bar{position:absolute;left:10px;right:10px;bottom:24px;z-index:8;display:flex;gap:8px}
.as-book{flex:1;height:50px;border-radius:16px;background:var(--b);color:#fff;font-weight:600;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 12px 24px -10px rgba(0,0,0,.45);transition:transform .2s}
.as-wa{width:50px;height:50px;border-radius:16px;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 12px 24px -10px rgba(37,211,102,.8);transition:transform .15s}
.as-book.pulse{animation:pulse 1.1s ease 2}
@keyframes pulse{50%{transform:scale(1.04)}}
.as-wa.press,.as-book.press{transform:scale(.92)}
.as .r{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .7s cubic-bezier(.2,.8,.2,1)}
.as .r.in,.layer-new .as .r{opacity:1;transform:none}
.as.boot{opacity:0}

/* chat */
.chat{position:absolute;inset:0;z-index:20;background:#efeae2;transform:translateY(102%);transition:transform .5s cubic-bezier(.2,.8,.2,1);font-family:"Inter","Sans Fallback",system-ui,sans-serif}
.chat::before{content:"";position:absolute;inset:0;opacity:.5;background:radial-gradient(#d9d2c5 1px,transparent 1.5px) 0 0/16px 16px}
.chat.show{transform:none}
.chat-h{position:absolute;top:0;left:0;right:0;height:104px;background:#f6f6f6;border-bottom:1px solid #e2e2e2;display:flex;align-items:flex-end;gap:9px;padding:0 12px 10px;z-index:2}
.chat-h .bk{width:10px;height:10px;border-left:2px solid #1d9a5b;border-bottom:2px solid #1d9a5b;transform:rotate(45deg);margin:0 4px 13px 4px}
.chat-av{width:36px;height:36px;border-radius:50%;background:var(--b);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:600;flex:none}
.chat-h b{display:block;font-size:14.5px;font-weight:600}
.chat-h small{font-size:11px;color:#667781}
.chat-t{position:absolute;top:104px;left:0;right:0;bottom:78px;padding:12px 10px;display:flex;flex-direction:column;gap:7px;z-index:1}
.chat-d{align-self:center;background:#fff;font-size:10.5px;color:#54656f;padding:3px 9px;border-radius:7px;box-shadow:0 1px .5px rgba(0,0,0,.13)}
.bub{display:block;max-width:80%;font-size:12.5px;line-height:1.38;padding:6px 8px 5px 9px;border-radius:10px;box-shadow:0 1px .5px rgba(0,0,0,.13);opacity:0;transform:translateY(8px) scale(.97);transition:opacity .25s,transform .3s cubic-bezier(.2,.8,.2,1);color:#111b21}
.bub.show{opacity:1;transform:none}
.bub.out{align-self:flex-end;background:#d9fdd3;border-top-right-radius:3px;transform-origin:100% 100%}
.bub.in{background:#fff;border-top-left-radius:3px;transform-origin:0 100%}
.bub .m{float:right;font-size:9.5px;color:#667781;margin:6px 0 -3px 9px;display:inline-flex;align-items:center;gap:2px}
.bub .m svg{color:#53bdeb}
.bub.ok b{color:#15803d}
.slot-in{position:relative;align-self:flex-start;max-width:80%}
.slot-in .bub{max-width:none}
.typing{position:absolute;top:0;left:0;background:#fff;border-radius:10px;border-top-left-radius:3px;padding:10px 12px;display:flex;gap:4px;opacity:0;transition:opacity .2s;box-shadow:0 1px .5px rgba(0,0,0,.13)}
.typing.show{opacity:1}
.typing i{width:6px;height:6px;border-radius:50%;background:#9aa4ab;animation:dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-3px);opacity:1}}
.chat-in{position:absolute;left:0;right:0;bottom:0;height:78px;background:#f6f6f6;display:flex;align-items:flex-start;gap:7px;padding:8px 8px 0;z-index:2}
.chat-f{flex:1;min-height:36px;max-height:52px;background:#fff;border-radius:18px;border:1px solid #e3e3e3;font-size:12px;padding:8px 12px;line-height:1.3;color:#111;overflow:hidden}
.chat-f:empty::before{content:"Message";color:#8696a0}
.chat-send{width:36px;height:36px;border-radius:50%;background:#1daa61;display:grid;place-items:center;color:#fff;flex:none;transition:transform .15s}
.chat-send.press{transform:scale(.88)}
.booked{position:absolute;left:28px;right:28px;top:226px;z-index:30;background:#fff;border-radius:22px;padding:20px 16px 18px;text-align:center;box-shadow:0 30px 60px -12px rgba(0,0,0,.35);opacity:0;transform:scale(.85);transition:opacity .3s,transform .5s cubic-bezier(.2,1.5,.4,1)}
.booked.show{opacity:1;transform:none}
.booked i{width:52px;height:52px;border-radius:50%;background:#e6f6ec;color:#15803d;display:grid;place-items:center;margin:0 auto 10px}
.booked b{display:block;font-size:20px;font-weight:650;letter-spacing:-.01em}
.booked span{font-size:12.5px;color:#4a4f5c}

/* tap indicator */
.tapdot{position:absolute;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;z-index:55;pointer-events:none;opacity:0;--x:150px;--y:500px;--k:1;transform:translate(var(--x),var(--y)) scale(var(--k));transition:transform .62s cubic-bezier(.45,.05,.25,1),opacity .25s}
.tapdot::before{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(40,44,56,.32);border:2.5px solid rgba(255,255,255,.95);box-shadow:0 0 0 1px rgba(0,0,0,.14),0 6px 16px rgba(0,0,0,.3)}
.tapdot::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(255,255,255,.9);opacity:0}
.tapdot.on{opacity:1}
.tapdot.down{--k:.74;transition:transform .12s ease,opacity .25s}
.tapdot.rip::after{animation:rip .5s ease-out}
@keyframes rip{from{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.1)}}

/* ============ Sections ============ */
section{position:relative}
.sec{padding:var(--section-pad) 0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:44px;flex-wrap:wrap}
.kicker{font-size:13px;font-weight:var(--kick-w);color:var(--accent);letter-spacing:var(--kick-ls);text-transform:var(--kick-tt);margin-bottom:14px;font-family:var(--f-ui)}
h2{font-size:calc(clamp(38px,4.6vw,62px) * var(--d-scale));max-width:12em}
.sec-head>p{max-width:27em;color:var(--ink-2)}
@media (max-width:640px){.sec{padding:60px 0}.sec-head{margin-bottom:28px;gap:14px}}

.card,.pcard,.wcard,.plan,.ca,.steps .step{transition:box-shadow .3s,transform .4s var(--ease),background .4s,border-color .4s}

/* problems */
.problems{background:linear-gradient(var(--bg),var(--bg-alt))}
@media (max-width:1100px){.pgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.pgrid{grid-template-columns:1fr}}
.pcard:nth-child(even){transform:rotate(calc(var(--card-rot) * -1))}
.pcard>p{font-size:14.5px;color:var(--ink-2);margin:0 6px}
.pfix span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ok);background:var(--ok-soft);padding:3px 8px;border-radius:99px}
.pv{height:190px;border-radius:calc(var(--r) - 6px);background:var(--surface-2);border:1px solid var(--line);position:relative;overflow:hidden;display:grid;place-items:center}
.pv *{animation-play-state:paused!important}
.play .pv *{animation-play-state:running!important}
/* pv: mobile */
.pv-ph{width:150px;height:230px;margin-top:70px;border-radius:26px;background:#111;padding:6px;position:relative;box-shadow:0 20px 30px -16px rgba(0,0,0,.5)}
.pv-wob{width:230px;animation:wob 4s ease-in-out infinite}
@keyframes wob{0%,100%{transform:translate(0,0)}22%{transform:translate(-62px,-6px)}40%{transform:translate(-20px,-10px)}58%{transform:translate(-74px,-16px)}78%{transform:translate(4px,-8px)}}
.pv-wob p{font-size:8.5px;line-height:1.2;margin:5px 0}
.pv-btns i{font:7px Arial,sans-serif;font-style:normal;border:1px outset #ccc;background:#e5e5e5;padding:1px 3px;margin-right:-5px;position:relative}
.pv-thumb{position:absolute;left:84px;top:110px;width:26px;height:26px;border-radius:50%;background:rgba(40,44,56,.3);border:2px solid #fff;animation:thumb 4s ease-in-out infinite}
@keyframes thumb{0%,100%{transform:translate(0,0)}22%{transform:translate(-30px,-20px)}40%{transform:translate(-8px,-34px)}58%{transform:translate(-36px,-44px)}78%{transform:translate(6px,-20px)}}
.pv-clock{position:absolute;top:12px;left:12px;font-size:11.5px;font-weight:600;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:99px;padding:3px 9px}
.pv-av{width:38px;height:38px;border-radius:50%;background:#6b7280;display:grid;place-items:center;font-weight:600;font-size:13px;flex:none;position:relative;z-index:1}
.pv-st{display:grid;font-size:11.5px}
.pv-st .s1{color:#c7c9cf;animation:s1 6s infinite}
@keyframes s1{0%,48%{opacity:1}52%,100%{opacity:0}}
@keyframes s2{0%,48%{opacity:0}52%,100%{opacity:1}}
.pv-ring.r2{animation-delay:.6s}
@keyframes ring{0%{transform:scale(1);opacity:.8}20%{transform:scale(1.9);opacity:0}21%,100%{opacity:0}}
/* pv: one page on laptop, tablet and phone */
.pv-p1{--p1-bz:#1b1d22;--p1-b:#0e6e6a;--p1-b2:#e3f1ef;--p1-ink:#1d232c;--p1-mut:#d5d9df;--p1-wa:#1faa53}
.p1-stage{position:relative;width:300px;height:156px}
.p1-scr{position:relative;background:var(--p1-bz);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 16px 28px -14px rgba(13,15,20,.45)}
.p1-pg{height:100%;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.p1-pg picture{display:block;flex:none}
.p1-pg img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px}
.p1-nav{display:flex;align-items:center;justify-content:space-between;height:8px;flex:none}
.p1-logo,.p1-menu{display:flex;align-items:center;gap:3px}
.p1-logo i{width:7px;height:7px;border-radius:2px;background:var(--p1-b)}
.p1-logo b{width:26px;height:3px;border-radius:2px;background:var(--p1-ink)}
.p1-menu{gap:4px}
.p1-menu i{width:11px;height:2px;border-radius:1px;background:var(--p1-mut)}
.p1-menu em{width:18px;height:7px;border-radius:4px;background:var(--p1-b)}
.p1-menu u{width:8px;height:6px;background:linear-gradient(var(--p1-ink),var(--p1-ink)) 0 0/100% 1.3px no-repeat,linear-gradient(var(--p1-ink),var(--p1-ink)) 0 50%/100% 1.3px no-repeat,linear-gradient(var(--p1-ink),var(--p1-ink)) 0 100%/100% 1.3px no-repeat}
.p1-txt{display:grid;gap:3px;align-content:center;justify-items:start}
.p1-txt b{width:100%;height:5px;border-radius:2px;background:var(--p1-ink)}
.p1-txt b.s{width:70%}
.p1-txt i{width:92%;height:2.5px;border-radius:2px;background:var(--p1-mut)}
.p1-txt i.s{width:62%}
.p1-btns{display:flex;gap:3px;margin-top:2px}
.p1-cta,.p1-wa{display:block;height:8px;border-radius:4px}
.p1-cta{width:26px;background:var(--p1-b);animation:p1-tap 6s infinite}
.p1-wa{width:20px;box-shadow:inset 0 0 0 1.2px var(--p1-wa)}
.p1-cards{display:grid;gap:4px;flex:none}
.p1-cards i{border-radius:3px;background:var(--p1-b2)}
.p1-lap{position:absolute;left:16px;top:0;width:184px}
.p1-lap .p1-scr{height:116px;padding:5px 5px 6px;border-radius:9px 9px 3px 3px}
.p1-lap .p1-pg{border-radius:2px;padding:5px 7px 6px;gap:6px}
.p1-hero{flex:1;min-height:0;display:grid;grid-template-columns:1fr 80px;gap:8px;align-items:center}
.p1-hero picture{height:54px}
.p1-lap .p1-cards{grid-template-columns:repeat(3,1fr);height:20px}
.p1-lap .p1-cta{animation-delay:.4s}
.p1-base{position:relative;left:-16px;width:216px;height:7px;border-radius:1px 1px 9px 9px;background:linear-gradient(#e4e6ea,#a5a9b1);box-shadow:0 10px 16px -8px rgba(13,15,20,.45)}
.p1-base::before{content:"";position:absolute;left:50%;top:0;width:34px;height:3px;margin-left:-17px;border-radius:0 0 4px 4px;background:#9599a1}
.p1-tab{position:absolute;left:166px;top:28px;width:92px;height:124px}
.p1-tab .p1-scr{height:100%;padding:5px;border-radius:11px}
.p1-tab .p1-pg{border-radius:6px;padding:5px;gap:4px}
.p1-tab picture{height:32px}
.p1-tab .p1-txt b{height:4px}
.p1-tab .p1-cards{grid-template-columns:1fr 1fr;flex:1}
.p1-tab .p1-cta{animation-delay:1.6s}
.p1-ph{position:absolute;left:244px;top:44px;width:54px;height:112px}
.p1-ph .p1-scr{height:100%;padding:3px;border-radius:12px}
.p1-ph .p1-pg{position:relative;border-radius:9px;padding:10px 4px 4px;gap:4px}
.p1-ph .p1-pg::before{content:"";position:absolute;top:3px;left:50%;width:14px;height:3.5px;margin-left:-7px;border-radius:3px;background:var(--p1-bz)}
.p1-ph .p1-logo b{width:16px}
.p1-ph picture{height:24px}
.p1-ph .p1-txt b{height:3.5px}
.p1-bar{margin-top:auto;display:flex;align-items:center;gap:3px;padding-top:4px;border-top:1px solid #eceef1}
.p1-bar .p1-cta{flex:1;height:9px;animation-delay:2.8s}
.p1-bar .p1-wa{width:9px;height:9px;border-radius:50%;background:var(--p1-wa);box-shadow:none}
@keyframes p1-tap{0%,14%,100%{transform:none;box-shadow:0 0 0 0 rgba(14,110,106,0)}5%{transform:scale(.88);box-shadow:0 0 0 3px rgba(14,110,106,.3)}}
html[data-theme="dark"] .p1-scr{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 16px 28px -14px rgba(0,0,0,.85)}
html[data-theme="dark"] .p1-base{background:linear-gradient(#6b6f78,#3a3d44);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 16px -8px rgba(0,0,0,.85)}
html[data-theme="dark"] .p1-base::before{background:#2c2f35}
/* the small-screen .pv>* scale(.8) leaves the layout box full size, so it overflows .pv and gets clipped; shrink the box to match */
@media (max-width:640px){.pillar .pv-p1>.p1-stage{margin:-16px -30px}}
.p1-fn{font-size:.7em;line-height:0;margin-left:1px}
.p1-fn a{color:var(--accent);text-decoration:none;font-weight:600}
.p1-src{margin-top:18px;font-size:12.5px;line-height:1.55;color:var(--ink-3)}
.p1-src a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.p1-src sup{font-size:.8em}
/* pv: reach */
.pv-reach{align-content:center;gap:10px}
.pv-fh{font-size:12px;font-weight:650}
.pv-form i.tall{height:30px}
.pv-wait{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2);justify-self:center;opacity:0;animation:s2 6s infinite}
.pv-hour i{position:absolute;left:50%;top:2px;width:2px;height:6px;margin-left:-1px;background:var(--ink-3);transform-origin:50% 100%;animation:spin 2s linear infinite}

/* before/after */
.ba{background:radial-gradient(1000px 600px at 50% 0,var(--accent-soft),transparent 70%),var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.ba-head{margin-bottom:36px}
.ba-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.tsw{display:inline-flex;gap:4px;background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--r-btn);padding:5px;box-shadow:var(--sh-sm);max-width:100%;overflow-x:auto;scrollbar-width:none}
.tsw button{min-height:42px;padding:0 18px;border-radius:var(--r-btn);border:0;background:transparent;color:var(--ink-2);font-weight:500;font-size:14.5px;cursor:pointer;white-space:nowrap;font-family:var(--f-ui);transition:background .25s,color .25s}
.tsw button:hover{color:var(--ink)}
.tsw button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.ba-play{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:var(--r-btn);border:var(--bw) solid var(--line);background:var(--surface);cursor:pointer;font-size:14px;font-weight:500;color:var(--ink-2)}
.ba-play:hover{color:var(--ink)}
.i-pause{width:10px;height:12px;border-left:3.5px solid currentColor;border-right:3.5px solid currentColor}
.ba-play[aria-pressed="true"] .i-pause{border:0;width:0;height:0;border-left:10px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent}
.ba-panel{margin-top:44px}
.ba-title{font-family:var(--f-display);font-weight:var(--dw);font-size:calc(clamp(26px,2.6vw,34px) * var(--d-scale));letter-spacing:var(--d-ls);text-transform:var(--d-tt);text-align:center;line-height:1.1}
.ba-col{display:flex;flex-direction:column;align-items:center;gap:16px}
.ba-label{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.ba-label i{width:8px;height:8px;border-radius:50%;background:#e5484d;box-shadow:0 0 0 4px rgba(229,72,77,.15)}
.ba-cap{min-height:46px;max-width:300px;text-align:center;font-size:14.5px;font-weight:550;color:var(--ink);display:flex;align-items:center;justify-content:center}
.ba-cap span{animation:capin .35s var(--ease)}
@keyframes capin{from{opacity:0;transform:translateY(6px)}}
.ba-mid-h{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:center;margin-bottom:14px}
.ba-rows{display:grid;gap:10px}
.ba-rows li{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-sm);background:var(--surface);border:var(--bw) solid var(--line);overflow:hidden;font-size:13.5px;box-shadow:var(--sh-sm)}
.ba-rows li span{padding:12px 12px 12px 34px;position:relative;transition:background .35s,color .35s}
.ba-rows li span::before{content:"";position:absolute;left:12px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%}
.ba-rows .b{color:var(--ink-3);border-right:1px solid var(--line)}
.ba-rows .b::before{background:var(--warn-soft);box-shadow:inset 0 0 0 1.5px var(--warn)}
.ba-rows .a{color:var(--ink-3)}
.ba-rows .a::before{background:var(--ok-soft);box-shadow:inset 0 0 0 1.5px var(--ok)}
.ba-rows li.b-on .b{color:var(--warn);background:var(--warn-soft);font-weight:600}
.ba-rows li.a-on .a{color:var(--ok);background:var(--ok-soft);font-weight:600}
.ba-stage.paused *{animation-play-state:paused!important}
@media (max-width:1140px){
  .ph-rec{--s:.92}
}
@media (max-width:719px){
  .ph-rec{--s:.9}
  .tsw button{padding:0 13px;font-size:13.5px}
  .ba-bar{justify-content:center}
}
@media (max-width:360px){.ph-rec{--s:.84}}

/* services */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gap)}
.card{background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--r);padding:30px;position:relative;overflow:hidden;box-shadow:var(--sh-sm)}
.card:hover{transform:translateY(var(--hover-y))}
.card h3{font-size:20px;font-weight:650;letter-spacing:-.015em;margin-bottom:8px;font-family:var(--f-ui)}
.card .h3-lg{font-family:var(--f-display);font-weight:var(--dw);font-size:calc(clamp(28px,2.8vw,38px) * var(--d-scale));letter-spacing:var(--d-ls);text-transform:var(--d-tt);line-height:1.05;margin:14px 0 12px;max-width:14em}
.card p{color:var(--ink-2);font-size:15px;max-width:32em}
.pill{display:inline-block;font-size:11.5px;font-weight:650;padding:3px 10px;border-radius:99px;vertical-align:middle;margin-left:8px;font-family:var(--f-ui);letter-spacing:0;text-transform:none}
.pill-prem{background:var(--ink);color:var(--bg)}
.pill-wa{margin-left:0;background:#dcf8e6;color:#0b6b3a}
.span-6{grid-column:span 6}.span-2{grid-column:span 2}
.card-wa,.card-book{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
@media (max-width:980px){.span-3,.span-2,.span-4{grid-column:span 6}.card-wa,.card-book{grid-template-columns:1fr}}
@media (max-width:640px){.card{padding:22px}}
.feat{margin-top:20px;display:grid;gap:10px;font-size:14.5px;color:var(--ink-2)}
.feat li{display:flex;gap:10px;align-items:flex-start}
.feat li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--accent-soft);-webkit-mask:none;box-shadow:inset 0 0 0 5px var(--accent-soft),inset 0 0 0 9px var(--accent)}

/* glass + 3D rig */
.glass{background:var(--glass-bg);border:1px solid var(--glass-bd);box-shadow:var(--glass-sh);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-radius:var(--r-sm)}
.wa-blob{position:absolute;inset:0;background:radial-gradient(45% 50% at 25% 30%,rgba(37,211,102,.35),transparent 70%),radial-gradient(45% 55% at 85% 75%,var(--glow-1),transparent 70%),radial-gradient(30% 30% at 70% 15%,var(--accent-soft),transparent 70%)}
.wa-viz:hover .wa-rig{transform:rotateX(6deg) rotateY(-6deg) rotateZ(1deg)}
.g-chat-h{display:flex;align-items:center;gap:8px;font-size:12.5px;padding-bottom:6px;border-bottom:1px solid var(--line);margin-bottom:2px;color:var(--ink)}
.g-av{width:26px;height:26px;border-radius:50%;background:#0f6b6b;color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}
.g-b{font-size:12px;line-height:1.35;padding:6px 9px;border-radius:10px;max-width:85%;color:#111b21;box-shadow:0 1px .5px rgba(0,0,0,.12)}
.g-b.out{align-self:flex-end;background:#d9fdd3;border-top-right-radius:3px}
.g-b.in{align-self:flex-start;background:#fff;border-top-left-radius:3px}
.g-ok{font-weight:650;color:#0f6b3a}
.g-btns span{display:flex;align-items:center;justify-content:center;gap:7px;height:36px;border-radius:10px;font-size:12.5px;font-weight:600}
.g-sm{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.g-note b{display:block;font-size:12.5px;color:var(--ink)}
.g-ic{width:30px;height:30px;border-radius:9px;background:#25d366;color:#fff;display:grid;place-items:center;flex:none}
.fl{animation:fl 6s ease-in-out infinite paused}
.fl.d2{animation-delay:-2s}.fl.d3{animation-delay:-4s}
.play .fl{animation-play-state:running}
@keyframes fl{0%,100%{translate:0 0}50%{translate:0 -8px}}
.viz-site .bar{height:26px;border-bottom:1px solid var(--line);display:flex;gap:5px;align-items:center;padding:0 10px}
.viz-site .url{margin-left:10px;font-size:10px;color:var(--ink-3);display:flex;align-items:center;gap:4px}
.viz-site .b1{left:16px;top:44px;width:42%;height:15px;background:var(--ink);opacity:.85}
.viz-site .b3{left:16px;top:94px;width:38%;height:7px}
.viz-site .b5{left:16px;top:126px;width:76px;height:22px;border-radius:var(--r-btn);background:var(--accent)}
.viz-site .score{position:absolute;right:28px;top:52px;padding:6px 10px;font-size:11.5px;font-weight:600;display:flex;gap:6px;align-items:center;color:var(--ink)}
.viz-site .s2{top:auto;bottom:26px;right:auto;left:46%;color:var(--ok)}

/* booking demo */
.demo{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:18px;position:relative;min-height:272px;color:var(--ink)}
.demo-h{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;margin-bottom:12px}
.demo-h small{color:var(--ink-3);font-weight:500;font-size:13px}
.days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px}
.day{text-align:center;border-radius:10px;padding:6px 0;font-size:11px;color:var(--ink-3);background:var(--surface);border:1px solid var(--line)}
.day b{display:block;font-size:14px;color:var(--ink)}
.day.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.day.on b{color:var(--bg)}
.times{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.t{font-size:13px;font-weight:500;text-align:center;padding:9px 0;border-radius:10px;border:1px solid var(--line);background:var(--surface);transition:all .25s}
.t.off{color:var(--ink-3);text-decoration:line-through;background:transparent;opacity:.6}
.t.pick{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);transform:scale(1.04)}
.confirm{margin-top:12px;height:42px;border-radius:12px;background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:14px;display:grid;place-items:center;opacity:.35;transition:opacity .3s,transform .2s}
.confirm.ready{opacity:1}.confirm.press{transform:scale(.97)}
.demo .tap{position:absolute;left:0;top:0;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:rgba(40,44,56,.25);border:2px solid rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.2);pointer-events:none;opacity:0;--x:0px;--y:0px;--k:1;transform:translate(var(--x),var(--y)) scale(var(--k));transition:transform .55s cubic-bezier(.4,.1,.2,1),opacity .3s}
.demo .tap.down{--k:.78;transition:transform .12s,opacity .3s}
.done{position:absolute;inset:0;border-radius:18px;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;opacity:0;pointer-events:none;transition:opacity .4s;font-size:13px;color:var(--ink-2)}
html[data-theme="dark"]:not([data-style]) .done{background:#11131b}
.done.show{opacity:1}
.done b{font-size:17px;color:var(--ink)}
.tick{width:52px;height:52px;border-radius:50%;background:var(--ok-soft);display:grid;place-items:center;color:var(--ok);transform:scale(.6);transition:transform .5s cubic-bezier(.2,1.6,.4,1)}
.done.show .tick{transform:scale(1)}
.care-rows div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line)}
.care-rows em::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.social-row span{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}

/* process */
.process{padding:112px 0;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
html[data-theme="dark"]:not([data-style]) .process{background:var(--bg-alt)}
.steps{display:grid;grid-template-columns:repeat(4,1fr)}
.step{padding:8px 28px 8px 0}
.step+.step{padding-left:28px;border-left:1px solid var(--line)}
.step .n{font-family:var(--f-display);font-size:52px;line-height:1;color:var(--accent);font-style:var(--em-style);font-weight:var(--dw);display:block}
.step h3{font-size:18px;font-weight:650;margin:16px 0 6px;letter-spacing:-.01em;font-family:var(--f-ui)}
.step p{font-size:14.5px;color:var(--ink-2)}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr;row-gap:28px}.step:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:540px){.process{padding:76px 0}.steps{grid-template-columns:1fr}.step,.step+.step{padding:22px 0;border-left:0}.step+.step{border-top:1px solid var(--line)}}

/* faq */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.faq-side{color:var(--ink-2);margin-top:18px;max-width:22em}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-size:17px;font-weight:600;position:relative;font-family:var(--f-ui)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";position:absolute;right:6px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line)}
.faq-list summary::before{content:"+";position:absolute;right:6px;top:50%;width:24px;text-align:center;margin-top:-12px;line-height:24px;z-index:1;color:var(--ink-2);transition:transform .3s var(--ease)}
.faq-list details[open] summary::before{transform:rotate(45deg)}
.faq-list summary:hover{color:var(--accent)}
.faq-list details p{padding:0 44px 22px 0;color:var(--ink-2);max-width:40em}
@media (max-width:900px){.faq-grid{grid-template-columns:1fr;gap:28px}}

/* contact + guided assistant */
.contact{padding:var(--section-pad) 0 120px;background:radial-gradient(900px 500px at 0 100%,var(--accent-soft),transparent 70%),var(--bg-alt);border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.contact h2{font-size:calc(clamp(42px,5.4vw,74px) * var(--d-scale))}
.contact-risk{color:var(--ink-2);margin-top:20px;max-width:30em;font-size:17px}
.contact-risk b{color:var(--ink)}
.contact-btns{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin-top:28px}
.contact-wa{display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:600;color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:4px}
.contact-wa svg{color:#25d366}
.contact-wa:hover{color:var(--ink)}
.btn-wa{background:#1a8d4a;color:#fff;box-shadow:0 10px 24px -12px rgba(26,141,74,.9)}
.btn-wa:hover{transform:translateY(var(--hover-y))}
.contact-small{margin-top:18px;font-size:14px;color:var(--ink-3)}
.contact-small a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.ca{background:var(--surface);border:var(--bw) solid var(--line);border-radius:calc(var(--r) + 4px);box-shadow:var(--sh-lg);overflow:hidden;display:flex;flex-direction:column;min-height:480px}
html[data-theme="dark"]:not([data-style]) .ca{background:#0d0f16}
.ca-h{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.ca-av{width:40px;height:40px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;flex:none;border:1px solid var(--line)}
.ca-h b{display:block;font-size:15px;font-family:var(--f-ui)}
.ca-h small{font-size:12.5px;color:var(--ink-3)}
.ca-log{flex:1;padding:18px;display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto;scroll-behavior:smooth}
.ca-b{max-width:86%;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.45;animation:capin .3s var(--ease)}
.ca-b.in{align-self:flex-start;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-top-left-radius:5px}
.ca-b.out{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-top-right-radius:5px}
.ca-b.sum{white-space:pre-line;font-size:14px}
.ca-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.ca-typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:dot 1s infinite}
.ca-typing i:nth-child(2){animation-delay:.15s}.ca-typing i:nth-child(3){animation-delay:.3s}
.ca-ctl{padding:14px 18px 18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ca-ctl:empty{display:none}
.ca-q{width:100%;font-size:12.5px;font-weight:600;color:var(--ink-3);margin:0 0 2px;font-family:var(--f-ui)}
.ca-opt{min-height:44px;padding:0 16px;border-radius:var(--r-btn);border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);font-size:14.5px;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.ca-opt:hover{border-color:var(--accent);color:var(--accent)}
.ca-opt[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--ink)}
.ca-opt[aria-pressed="true"]::before{content:"✓ "}
.ca-form{display:flex;gap:8px;width:100%}
.ca-form input{flex:1;min-width:0;font:inherit;font-size:15px;color:var(--ink);background:var(--bg);border:1.5px solid var(--line-2);border-radius:var(--r-btn);padding:0 16px;min-height:46px}
.ca-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ca-go{min-height:46px;padding:0 18px;border-radius:var(--r-btn);border:0;background:var(--ink);color:var(--bg);font-weight:600;font-size:14.5px;cursor:pointer}
.ca-go:disabled{opacity:.45;cursor:not-allowed}
.ca-link{font-size:14px;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;background:none;border:0;cursor:pointer;padding:8px 4px}
.ca-nojs{font-size:14px;color:var(--ink-2)}
.ca-nojs a{text-decoration:underline}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:36px}}
@media (max-width:640px){.contact{padding:76px 0}.ca{min-height:440px}.ca-log{padding:14px}.ca-ctl{padding:12px 14px 14px}.contact-btns .btn{width:100%}}

/* footer */
.foot{border-top:1px solid var(--line);padding:40px 0 120px;font-size:14px;color:var(--ink-3)}
.foot-in{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:start}
.foot-in>div p{margin-top:8px}
.foot nav{display:flex;gap:22px;flex-wrap:wrap}
.foot nav a:hover,.foot-c a:hover{color:var(--ink)}
.foot-c{grid-column:1/-1;font-size:13px}
.foot-legal{margin-top:-12px;font-size:12px}
.foot .logo{color:var(--ink)}
@media (max-width:640px){.foot-in{grid-template-columns:1fr}}

/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
.pcard.rv.in:nth-child(even){transform:rotate(calc(var(--card-rot) * -1))}

/* ============ Restyle wheel ============ */
.rs{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none;font-family:"Inter","Sans Fallback",system-ui,sans-serif;text-transform:none;letter-spacing:0}
.rs>*{pointer-events:auto}
.rs-fab{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 20px 0 8px;border-radius:999px;border:0;cursor:pointer;background:#0d0f14;color:#fff;font-size:14.5px;font-weight:600;box-shadow:0 14px 34px -10px rgba(13,15,20,.55),0 0 0 1px rgba(255,255,255,.08) inset;transition:transform .3s cubic-bezier(.34,1.6,.5,1)}
.rs-fab:hover{transform:translateY(-2px) scale(1.03)}
.rs-fab:focus-visible{outline:3px solid #2b4cff;outline-offset:3px}
.rs-dial{width:38px;height:38px;border-radius:50%;background:conic-gradient(#ff3b5c,#ffb020,#ffe600,#2bd98a,#00c2ff,#5b5bff,#c34bff,#ff3b5c);position:relative;animation:spin 8s linear infinite;flex:none}
.rs-dial::after{content:"";position:absolute;inset:9px;border-radius:50%;background:#0d0f14;box-shadow:0 0 0 2px rgba(255,255,255,.2)}
.rs-fab[aria-expanded="true"] .rs-dial{animation-duration:1.4s}
.rs-panel{width:340px;background:rgba(255,255,255,.9);color:#0d0f14;backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid rgba(255,255,255,.9);border-radius:28px;padding:18px 18px 16px;box-shadow:0 30px 80px -20px rgba(13,15,20,.45),0 0 0 1px rgba(13,15,20,.06);transform-origin:100% 100%;animation:pop .45s cubic-bezier(.34,1.5,.5,1)}
@keyframes pop{from{opacity:0;transform:scale(.8) translateY(20px)}}
.rs-head{display:flex;justify-content:space-between;align-items:center}
.rs-head p{font-weight:700;font-size:15px}
.rs-x{width:34px;height:34px;border-radius:50%;border:0;background:#f0f0ec;cursor:pointer;display:grid;place-items:center;color:#0d0f14}
.rs-wheel{position:relative;width:296px;height:296px;margin:8px auto 4px}
.rs-ring{position:absolute;inset:0;border-radius:50%;background:radial-gradient(closest-side,transparent 70%,rgba(13,15,20,.05) 71%,rgba(13,15,20,.05) 99%,transparent 100%);transition:transform .7s cubic-bezier(.3,1.3,.5,1)}
.rs-sw{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;border:0;cursor:pointer;transform:rotate(calc(var(--a) + var(--rot,0deg))) translateY(-122px) rotate(calc((var(--a) + var(--rot,0deg)) * -1));transition:transform .7s cubic-bezier(.3,1.3,.5,1),box-shadow .2s;background:var(--sw);box-shadow:0 0 0 1px rgba(0,0,0,.12),0 6px 14px -6px rgba(0,0,0,.4);display:grid;place-items:center;font:700 13px/1 Georgia,serif;color:var(--swi)}
.rs-sw:hover{box-shadow:0 0 0 3px #fff,0 0 0 5px rgba(13,15,20,.3),0 6px 14px -6px rgba(0,0,0,.4)}
.rs-sw[aria-pressed="true"]{box-shadow:0 0 0 3px #fff,0 0 0 6px #0d0f14,0 10px 20px -8px rgba(0,0,0,.5)}
.rs-sw:focus-visible{outline:3px solid #2b4cff;outline-offset:4px}
.rs-center{position:absolute;inset:78px;border-radius:50%;background:#fff;box-shadow:0 10px 30px -10px rgba(13,15,20,.3),0 0 0 1px rgba(13,15,20,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;padding:10px}
.rs-cl{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#626775}
.rs-center b{font-size:16px;line-height:1.15;min-height:2.3em;display:flex;align-items:center}
.rs-spin{margin-top:2px;border:0;cursor:pointer;background:#2b4cff;color:#fff;font-size:12.5px;font-weight:600;border-radius:99px;padding:7px 13px}
.rs-hint{font-size:12.5px;color:#4a4f5c;text-align:center}
.rs-panel[hidden],.rs-ours[hidden]{display:none}
@media (max-width:640px){
  .rs{right:12px;bottom:12px;left:12px}
  .rs-fab{height:46px;font-size:14px;padding:0 16px 0 6px}
  .rs-fab .rs-l{display:none}
  .rs-dial{width:34px;height:34px}
  .rs-panel{width:100%;max-width:360px}
}
.wipe{position:fixed;inset:0;z-index:90;pointer-events:none;background:conic-gradient(from 0deg,#ff3b5c,#ffb020,#ffe600,#2bd98a,#00c2ff,#5b5bff,#c34bff,#ff3b5c);transform:translateX(-101%);visibility:hidden}
.wipe.go{visibility:visible;animation:wipe .8s cubic-bezier(.7,0,.3,1) forwards}
@keyframes wipe{0%{transform:translateX(-101%)}45%,55%{transform:translateX(0)}100%{transform:translateX(101%)}}
::view-transition-old(root){animation:none}
::view-transition-new(root){animation:vt .5s cubic-bezier(.7,0,.25,1)}
@keyframes vt{from{clip-path:circle(0 at var(--vx,90%) var(--vy,90%))}to{clip-path:circle(150vmax at var(--vx,90%) var(--vy,90%))}}

/* ============ Reduced motion ============ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
  .pv-st .s2,.pv-sent,.pv-wait{opacity:1}
  .pv-st .s1{opacity:0}
  .wipe{display:none}
}

/* ============ Positioning, reviews, WhatsApp, plans ============ */
.reviews{overflow:hidden}
.rev-grid{display:grid;grid-template-columns:1fr auto;gap:72px;align-items:center}
.rev-lede{color:var(--ink-2);margin-top:20px;max-width:32em}
.rev-steps{margin-top:30px;display:grid;gap:12px;max-width:34em}
.rev-steps li{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--r-sm);padding:14px 16px;box-shadow:var(--sh-sm);color:var(--ink-2);font-size:14.5px}
.rev-steps li>span{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.rev-steps b{display:block;color:var(--ink);font-size:15.5px}
.rev-stage{display:flex;flex-direction:column;align-items:center;gap:14px;position:relative}
.rev-stage::before{content:"";position:absolute;inset:-60px -80px;background:radial-gradient(closest-side,var(--glow-1),transparent);z-index:-1;pointer-events:none}
.rev-cap{color:var(--ok)}
@media (max-width:980px){.rev-grid{grid-template-columns:1fr;gap:44px}.rev-stage{order:2}}
@media (max-width:640px){.rev-stage .ph-rec{--s:.9}}
@media (max-width:360px){.rev-stage .ph-rec{--s:.84}}
/* review flow inside phone */
.sysc{align-self:center;background:#fff8d6;color:#5c4b00;font-size:10.5px;padding:4px 9px;border-radius:7px;opacity:0;transition:opacity .3s;text-align:center;max-width:90%}
.sysc.show{opacity:1}
.rsheet{position:absolute;left:0;right:0;bottom:0;height:400px;z-index:25;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -20px 50px -10px rgba(0,0,0,.35);transform:translateY(105%);transition:transform .5s cubic-bezier(.2,.8,.2,1);padding:18px 18px 0;font-family:"Inter",system-ui,sans-serif;color:#202124}
.rsheet.show{transform:none}
.rsheet::before{content:"";position:absolute;top:8px;left:50%;margin-left:-18px;width:36px;height:4px;border-radius:4px;background:#dadce0}
.rs-biz{display:flex;align-items:center;gap:10px;margin-top:6px}
.rs-biz i{width:38px;height:38px;border-radius:50%;background:var(--b,#0f6b6b);color:#fff;display:grid;place-items:center;font-style:normal;font-weight:600;font-size:13px}
.rs-biz b{display:block;font-size:15px}
.rs-biz small{font-size:11.5px;color:#5f6368}
.rstars{display:flex;gap:10px;justify-content:center;margin:22px 0 16px}
.rstars span{width:34px;height:34px;color:#dadce0;transition:color .15s,transform .25s cubic-bezier(.2,1.8,.4,1)}
.rstars span.on{color:#fbbc04;transform:scale(1.15)}
.rtext{min-height:76px;border:1px solid #dadce0;border-radius:10px;padding:10px 12px;font-size:12.5px;color:#202124;line-height:1.4}
.rtext:empty::before{content:"Share details of your own experience";color:#80868b}
.rpost{margin:14px 0 0 auto;width:max-content;background:#1a73e8;color:#fff;font-size:13px;font-weight:600;padding:9px 20px;border-radius:99px;transition:transform .15s}
.rpost.press{transform:scale(.92)}
.gb{position:absolute;inset:0;z-index:28;background:#fff;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .5s cubic-bezier(.2,.8,.2,1);font-family:"Inter",system-ui,sans-serif;color:#202124;padding:0 16px}
.gb.show{opacity:1;transform:none}
.gb-hero{height:178px;margin:0 -16px;background:var(--hb,linear-gradient(#e4efec,#f3ede4));position:relative;overflow:hidden}
.gb-hero svg{position:absolute;inset:0;width:100%;height:100%}
.gb .ah{display:block;font-size:20px;font-weight:500;margin-top:14px}
.gb-sub{font-size:12px;color:#5f6368;margin-top:2px}
.gb-rate{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:14px}
.gb-rate b{font-weight:600}
.gb-rate .st{color:#fbbc04;letter-spacing:1px}
.gb-n{display:inline-grid;color:#1a73e8}
.gb-n span{grid-area:1/1;transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1)}
.gb-n .n2{opacity:0;transform:translateY(10px)}
.gb.ticked .gb-n .n1{opacity:0;transform:translateY(-10px)}
.gb.ticked .gb-n .n2{opacity:1;transform:none}
.gb-btns{display:flex;gap:8px;margin:14px 0 16px}
.gb-btns span{flex:1;border:1px solid #dadce0;border-radius:99px;font-size:11.5px;font-weight:500;color:#1a73e8;text-align:center;padding:7px 0}
.gb-new{border-top:1px solid #e8eaed;padding-top:14px;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .5s cubic-bezier(.2,.8,.2,1)}
.gb.ticked .gb-new{opacity:1;transform:none}
.gb-new .who{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}
.gb-new .who i{width:30px;height:30px;border-radius:50%;background:#7b61ff;color:#fff;display:grid;place-items:center;font-style:normal;font-size:12px}
.gb-new .who small{display:block;font-weight:400;color:#5f6368;font-size:11px}
.gb-new p{font-size:12.5px;margin-top:8px;color:#3c4043}
.gb-new .st{color:#fbbc04;font-size:12px;letter-spacing:1px}
.gb-pill{position:absolute;right:14px;top:142px;background:#e6f4ea;color:#137333;font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:99px;opacity:0;transform:scale(.8);transition:opacity .3s,transform .4s cubic-bezier(.2,1.6,.4,1)}
.gb.ticked .gb-pill{opacity:1;transform:none}
.wgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
@media (max-width:1100px){.wgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.wgrid{grid-template-columns:1fr}}
.wcard h3{font-size:18px;font-weight:650;margin:18px 6px 6px;letter-spacing:-.01em;font-family:var(--f-ui)}
.mc{height:210px;border-radius:calc(var(--r) - 6px);background:#efeae2;position:relative;overflow:hidden;padding:14px 12px;display:flex;flex-direction:column;gap:8px;justify-content:center;font-family:"Inter",system-ui,sans-serif}
.mc::before{content:"";position:absolute;inset:0;opacity:.5;background:radial-gradient(#d9d2c5 1px,transparent 1.5px) 0 0/16px 16px}
.mb{position:relative;max-width:86%;font-size:12.5px;line-height:1.38;padding:7px 10px;border-radius:10px;color:#111b21;box-shadow:0 1px .5px rgba(0,0,0,.13);opacity:0;animation:mb 9s infinite paused;animation-delay:calc(var(--d) * 1.3s)}
.play .mb{animation-play-state:running}
.mb.in{align-self:flex-start;background:#fff;border-top-left-radius:3px}
.mb.out{align-self:flex-end;background:#d9fdd3;border-top-right-radius:3px}
.mb.ok{color:#0f6b3a;font-weight:600}
.mb.sys{align-self:center;background:#fff8d6;color:#5c4b00;font-size:11px;box-shadow:none}
@keyframes mb{0%{opacity:0;transform:translateY(8px) scale(.97)}4%,80%{opacity:1;transform:none}88%,100%{opacity:0;transform:none}}

/* plans */
.plans{background:var(--bg)}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);align-items:stretch}
@media (max-width:980px){.plan-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}}
.plan{background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--r);padding:32px 28px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;position:relative}
.plan h3{font-family:var(--f-display);font-weight:var(--dw);font-size:calc(36px * var(--d-scale));letter-spacing:var(--d-ls);text-transform:var(--d-tt);line-height:1.05}
.plan-d{color:var(--ink-2);margin:8px 0 22px;font-size:15px}
.plan ul{display:grid;align-content:start;gap:11px;font-size:14.5px;color:var(--ink-2);margin-bottom:28px;flex:1}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li svg{flex:none;margin-top:3px;color:var(--accent)}
.plan li:first-child{color:var(--ink);font-weight:600}
.plan-hl{border-color:var(--accent);box-shadow:var(--sh-lg),0 0 0 1px var(--accent)}
@media (min-width:981px){.plan-hl{transform:translateY(-10px)}.plan-hl.rv.in{transform:translateY(-10px)}}
.plan-badge{position:absolute;top:-13px;left:28px;background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:700;padding:5px 12px;border-radius:99px;font-family:var(--f-ui)}
.btn-ghost-line{border:1.5px solid var(--line-2);color:var(--ink);background:transparent}
.btn-ghost-line:hover{border-color:var(--ink);transform:translateY(var(--hover-y))}
.plan-fine{margin-top:10px;text-align:center;font-size:13px;color:var(--ink-3)}
.outright{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border:var(--bw) dashed var(--line-2);border-radius:var(--r);padding:22px 28px;background:var(--surface-2)}
.outright b{display:block;font-size:18px;font-family:var(--f-ui)}
.outright span{color:var(--ink-2);font-size:15px}
@media (prefers-reduced-motion:reduce){.mb{opacity:1}}

/* ============ v2 additions ============ */
html[data-style] .mode{display:none}
.rs-ours{display:block;margin:10px auto 0;border:0;background:#0d0f14;color:#fff;font:600 13px/1 "Inter",system-ui,sans-serif;border-radius:99px;padding:10px 16px;cursor:pointer}
.plan li::before{content:"";flex:none;width:13px;height:13px;margin-top:4px;background:var(--accent);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.4l2.8 2.8L12.5 5' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.mb small,.bub .auto{display:block;font-size:9.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#667781;margin-bottom:2px}
.tapdot.t2{z-index:56}

/* business-side view */
.biz{margin:0}
.biz-head{max-width:44em;margin:0 auto 32px;text-align:center}
.biz-h em{font-style:var(--em-style);color:var(--em);background:var(--em-bg);-webkit-background-clip:text;background-clip:text}
.biz-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.biz-card{background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;gap:12px;min-width:0}
.biz-ch{display:flex;align-items:center;gap:10px}
.biz-ch b{display:block;font-size:15.5px;font-family:var(--f-ui)}
.biz-ch small{font-size:12.5px;color:var(--ink-3)}
.biz-ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--warn-soft);color:var(--warn)}
.biz-ic.wa{background:#25d366;color:#fff}
.biz-dev i{font-style:normal;font-size:11px;font-weight:600;padding:3px 8px;border-radius:99px;background:var(--ok-soft);color:var(--ok)}
.biz-list{display:grid;gap:8px}
.biz-list li{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font-size:13.5px;transition:background .35s,border-color .35s,opacity .35s}
.biz-av{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--line);color:var(--ink-2)}
.biz-t{flex:1;min-width:0}
.biz-t b{display:block;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.biz-t small{display:block;font-size:12px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.biz-st{display:grid;font-size:12px;font-weight:650;text-align:right;white-space:nowrap}
.biz-st span{grid-area:1/1;opacity:0;transform:translateY(4px);transition:opacity .18s,transform .18s}
.biz-list li[data-s="0"] .biz-st span:nth-child(1),.biz-list li[data-s="1"] .biz-st span:nth-child(2),.biz-list li[data-s="2"] .biz-st span:nth-child(3),.biz-list li[data-s="3"] .biz-st span:nth-child(4){opacity:1;transform:none;transition-delay:.18s}
.biz-line li .biz-st span:nth-child(1){color:var(--ink-3)}
.biz-line li .biz-st span:nth-child(2){color:var(--warn)}
.biz-line li .biz-st span:nth-child(3){color:var(--warn)}
.biz-line li.live{border-color:var(--ok);background:var(--ok-soft)}
.biz-line li.live .biz-st span{color:var(--ok)}
.biz-line li[data-s="2"]{background:transparent;border-style:dashed}
.biz-line li[data-s="2"] .biz-t b{color:var(--ink-2);text-decoration:line-through;text-decoration-color:var(--warn)}
.biz-wa li .biz-st span:nth-child(1){color:var(--ink-3)}
.biz-wa li .biz-st span:nth-child(2){color:var(--ink-2)}
.biz-wa li .biz-st span:nth-child(3){color:var(--accent)}
.biz-wa li .biz-st span:nth-child(4){color:var(--ok)}
.biz-wa li[data-s="3"]{border-color:var(--ok)}
.biz-tally{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--ink-2);padding-top:4px}
.biz-tally b{font-size:17px;color:var(--ink);margin-left:4px}
.biz-tally.bad span:last-child b{color:var(--warn)}
.biz-tally.good span:first-child b{color:var(--ok)}
@media (max-width:820px){.biz-grid{grid-template-columns:1fr}}

/* hook for style-specific section dividers */
main>section+section::before{content:none}
main{counter-reset:lvl 1}
main>section{counter-increment:lvl}

@media (prefers-reduced-motion:reduce){
  .btn:hover,.card:hover,.btn:active{transform:none!important}
  .btn:hover{filter:brightness(.92)}
}
@media (pointer:coarse){html[data-style] body{cursor:auto!important}}
.os-why{display:flex;gap:24px;padding:0 30px 30px}
.os-why>div{flex:1;border:1px solid #dde4ec;background:linear-gradient(#fff,#f1f5f9);padding:14px;border-radius:6px;box-shadow:0 2px 4px rgba(0,0,0,.08)}
.os-why img{display:block;width:100%;height:110px;object-fit:cover;margin-bottom:10px;border-radius:4px;box-shadow:inset 0 0 0 4px #fff,0 1px 3px rgba(0,0,0,.25);border:4px solid #fff}
.os-why b{display:block;font:700 16px Georgia,serif;color:#2c5f9e;margin-bottom:4px}
.os-why p{font-size:12px}
.os-ft{display:flex;flex-wrap:wrap;gap:10px 40px;background:#2c3e50;color:#aab7c4;font-size:12px;padding:22px 30px 26px}
.os-ft>div{flex:1;line-height:1.6}
.os-more{display:flex;gap:30px;padding:0 30px 30px}
.os-more>div{flex:1}
.os-more .os-h2{margin-top:0;border-bottom:2px solid #c9d6e3;padding-bottom:6px}
.os-news li{padding:10px 0;border-bottom:1px dotted #c9d6e3;font-size:14px}
.os-news li b{display:block;font:700 12px Arial,sans-serif;color:#c0392b}
.os-quote p{background:#f7fafc;border-left:4px solid #8fb6e0;padding:12px 16px;margin-bottom:12px;font:italic 15px Georgia,serif;color:#555}
.os-quote small{display:block;margin-top:6px;font:700 12px Arial,sans-serif;color:#7a8a99}
.os-team{padding:0 30px 24px}
.os-team .os-h2{margin-top:0;border-bottom:2px solid #c9d6e3;padding-bottom:6px}
.os-team>div{display:flex;gap:20px}
.os-team span{flex:1;text-align:center;font:700 14px Georgia,serif;color:#2c5f9e}
.os-team img{display:block;width:100%;height:200px;object-fit:cover;object-position:50% 25%;margin-bottom:8px;border:1px solid #c9d6e3}
.os-team small{display:block;font:12px Arial,sans-serif;color:#7a8a99}
.os-badges{display:flex;gap:14px;align-items:center;padding:16px 30px 40px;font:700 12px Arial,sans-serif}
.os-badges span{border:1px solid #9aa7b2;background:linear-gradient(#fff,#dfe6ee);padding:8px 12px;border-radius:3px;color:#2c5f9e}
.os-badges .os-ctr{margin-left:auto;background:#111;color:#7CFC00;border-color:#111;font:13px "Courier New",monospace}
.os-ctr b{letter-spacing:2px}
.os-ft b{display:block;color:#fff;font:700 13px Arial,sans-serif;margin-bottom:6px}
.os-ft p{flex-basis:100%;border-top:1px solid #3d5368;padding-top:12px;font-size:11px}

/* ============ v2d: core pillars, channels, AI band ============ */
.lede b{color:var(--ink);font-weight:600}
.ch{width:16px;height:16px;flex:none;display:block}
.ch-wa{color:#1faa53}.ch-ms{color:#0a7cff}.ch-ig{color:#d62976}.ch-sms{color:#5b6472}

.core-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pillar{padding:14px 14px 22px;display:flex;flex-direction:column}
.pillar h3{display:flex;align-items:center;gap:10px;font-size:20px;margin:18px 6px 6px}
.p-n{width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:13px;font-weight:700;display:grid;place-items:center;flex:none;font-family:var(--f-ui)}
.pillar .leak{font-size:14px;color:var(--ink-2);margin:0 6px}
.pillar .feat{margin:14px 6px 0;font-size:14px;gap:8px}
.ai-note{margin:auto 6px 0;padding-top:16px;display:flex;gap:8px;align-items:flex-start;font-size:13px;font-weight:600;color:var(--ink-2)}
.pillar .ai-note{max-width:none;font-size:13px}
.ai-note svg{color:var(--accent);flex:none;margin-top:2px}
@media (max-width:980px){.core-grid{grid-template-columns:minmax(0,1fr)}.pillar .pv{height:168px}}

.pv-inbox,.pv-rev{align-content:center}
.ib{width:248px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:var(--sh-sm);display:grid;gap:6px;color:var(--ink)}
.ib-h{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:0 2px 4px;border-bottom:1px solid var(--line)}
.ib-chs{display:flex;gap:5px}
.ib-chs .ch{width:14px;height:14px}
.ib-r{display:flex;align-items:center;gap:8px;padding:6px 7px;border-radius:9px;background:var(--surface-2);font-size:11.5px;line-height:1.25;opacity:0;animation:mb 9s infinite;animation-delay:calc(var(--d) * 1.1s)}
.ib-r>span{flex:1;min-width:0}
.ib-r b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib-r small{display:block;font-size:10.5px;color:var(--ink-2)}
.ib-r em{font-style:normal;font-size:10.5px;font-weight:700;color:var(--ok);white-space:nowrap}
.pv-rev{background:#efeae2;justify-items:stretch;padding:0 14px}
.pv-rev::before{content:"";position:absolute;inset:0;opacity:.5;background:radial-gradient(#d9d2c5 1px,transparent 1.5px) 0 0/16px 16px}
.pr-chat{position:relative;display:flex;flex-direction:column;gap:7px;font-family:"Inter","Sans Fallback",system-ui,sans-serif}
.pr-link{display:flex!important;gap:8px;align-items:center;border-left:3px solid #1daa61;font-weight:600}
.pr-link i{width:24px;height:24px;border-radius:6px;background:#fff;box-shadow:0 0 0 1px #e3e3e3;display:grid;place-items:center;color:#f5a623;font-style:normal;flex:none}
.pr-link small{display:block;font-weight:400;font-size:10.5px;color:#54656f}

.addons{margin-top:28px}
.addons-h{font-size:14.5px;color:var(--ink-2);margin:0 0 12px}
.addons-h b{color:var(--ink)}
.addon-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.card.addon{display:flex;gap:14px;align-items:flex-start;padding:18px 20px}
.addon h3{font-size:16px;margin-bottom:4px}
.addon p{font-size:13.5px}
.addon small{display:block;margin-top:6px;font-size:12px;font-weight:650;color:var(--ink-3)}
.ad-ic{width:38px;height:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}
@media (max-width:980px){.addon-row{grid-template-columns:minmax(0,1fr)}.card.addon{padding:14px 16px}}

/* before/after: elapsed clocks, "Not secure" callout */
.ba-label{flex-wrap:wrap;justify-content:center}
.ba-clock{margin-left:4px;font-size:12px;font-weight:650;letter-spacing:.02em;text-transform:none;font-variant-numeric:tabular-nums;padding:3px 10px;border-radius:99px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2);font-family:var(--f-ui)}
.ba-clock.bad{color:var(--warn);background:var(--warn-soft);border-color:transparent}
.ba-clock.good{color:var(--ok);background:var(--ok-soft);border-color:transparent}
.bs-prog{top:82px;z-index:7;transition:opacity .3s}
.bs-prog.done{opacity:0}
.ns-ring{position:absolute;z-index:14;top:44px;left:13px;width:86px;height:38px;border-radius:19px;border:2.5px solid #e5484d;opacity:0;transform:scale(1.35);transition:opacity .35s,transform .45s cubic-bezier(.2,1.4,.4,1);pointer-events:none}
.ns-ring::after{content:"";position:absolute;inset:-3px;border-radius:inherit;border:2px solid #e5484d;animation:nsPulse 1.6s ease-out infinite}
@keyframes nsPulse{from{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}
.ns-bub::before{content:"";position:absolute;top:-6px;left:30px;border:6px solid transparent;border-top:0;border-bottom-color:#1d1f24}
.bs.ns .ns-ring{opacity:1;transform:none}
.bs.ns:not(.ns-quiet) .ns-bub{opacity:1;transform:none}

/* channels section */
.chan .biz-grid{margin-bottom:var(--gap)}
.biz-ic.in{background:var(--accent-soft);color:var(--accent)}
.biz-chs{margin-left:auto;display:flex;gap:6px;flex:none}
.biz-av.ch-b{background:var(--surface)}
.biz-av.ch-b .ch{width:15px;height:15px}
.chan-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:var(--gap)}
.chan .card-book{gap:28px}
.chan .card-book .h3-lg{margin-top:0}
.chan .card-book p{font-size:14.5px}
.chan .card-book .feat{font-size:14px}
.chan-feats{display:grid;gap:10px;align-content:start}
.chan-feats li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-sm);background:var(--surface);border:var(--bw) solid var(--line);box-shadow:var(--sh-sm);font-size:13.5px;color:var(--ink-2)}
.chan-feats b{display:block;color:var(--ink);font-size:14.5px;margin-bottom:2px}
.cf-ic{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex:none}
@media (max-width:1100px){.chan-row{grid-template-columns:minmax(0,1fr)}.chan-feats{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.chan-feats{grid-template-columns:minmax(0,1fr)}.chan-feats li{padding:12px 14px}.chan .card-book .demo{min-height:250px}}

/* business panel at phone widths: status drops under the message instead of overflowing */
@media (max-width:719px){
  .biz-card{padding:14px}
  .biz-ch{flex-wrap:wrap}
  .biz-list li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:2px;padding:8px 10px}
  .biz-list li .biz-st{grid-column:2;text-align:left;white-space:normal}
  .biz-t b,.biz-t small{white-space:normal}
}

/* AI band */
.ai-band{padding:0;scroll-margin-top:24px}
.ai-in{display:flex;align-items:center;gap:22px;padding:24px 28px;border-radius:var(--r);background:var(--inv-bg);color:var(--inv-ink);border:1px solid var(--inv-line)}
.ai-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex:none;background:rgba(255,255,255,.1);color:var(--inv-ink)}
.ai-t{flex:1;min-width:0}
.ai-band .kicker{color:var(--inv-ink-2);margin-bottom:4px}
.ai-band h2{font-size:calc(clamp(24px,2.3vw,30px) * var(--d-scale));max-width:none;color:var(--inv-ink)}
.ai-t>p:not(.kicker){color:var(--inv-ink-2);font-size:14.5px;margin-top:6px;max-width:40em}
@media (max-width:820px){.ai-in{flex-direction:column;align-items:flex-start;padding:22px 20px;gap:14px}.ai-in .btn{width:100%;white-space:normal;text-align:center}}

/* plans + process */
.plans .steps{margin:0 0 40px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.plans .step{display:flex;gap:14px;align-items:flex-start}
.plans .step .n{font-size:38px}
.plans .step h3{margin:2px 0 4px;font-size:16px}
.plans .step p{font-size:13.5px}
.plan ul{gap:9px}
@media (max-width:900px){.plans .steps{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.plans .steps{grid-template-columns:minmax(0,1fr);padding:4px 0;margin-bottom:28px}.plans .step,.plans .step+.step{padding:12px 0}.plans .step .n{font-size:30px;width:24px}.plan{padding:24px 22px}.plan h3{font-size:calc(30px * var(--d-scale))}.plan-d{margin-bottom:14px}.plan ul{margin-bottom:20px}}

/* restyle pill: icon only on phones, out of the way of the contact section */
.rs-fab{transition:transform .3s cubic-bezier(.34,1.6,.5,1),opacity .25s,visibility .25s}
.rs.rs-hide .rs-fab{opacity:0;visibility:hidden;transform:scale(.8)}
@media (max-width:719px){
  .rs{left:auto}
  .rs-fab{width:52px;height:52px;padding:0;justify-content:center;gap:0}
  .rs-fab>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .rs-dial{width:40px;height:40px}
  .foot{padding-bottom:84px}
}

/* reviews: on phones the recording already shows the three steps */
@media (max-width:640px){.reviews .rev-steps{display:none}.rev-grid{gap:32px}}
@media (prefers-reduced-motion:reduce){.ib-r{opacity:1}.ns-ring::after{display:none}}
@media (max-width:640px){.rs-panel{width:min(360px,calc(100vw - 24px))}}
.sec-head>div{flex:1 1 540px}
.sec-head>p{flex:0 1 360px}
@media (max-width:719px){.c2,.c3{display:none}}
@media (min-width:1141px){.ph-rec{--s:.9}.rev-stage .ph-rec{--s:.86}}
@media (min-width:720px){.hero{padding-bottom:64px}}
@media (max-width:640px){.chan .card-book .demo{display:none}.chan .card-book{gap:0}}
.plans .steps{row-gap:0}
@media (max-width:640px){
  .pillar .pv{height:132px}
  .pillar .pv>*{transform:scale(.8)}
  .pillar h3{margin-top:14px}
  .pillar .feat{margin-top:10px}
  .ai-note{padding-top:12px}
  .card.addon{padding:12px 14px;gap:12px}
  .addon small{margin-top:3px}
  .addons{margin-top:20px}
}
.founder{display:flex;gap:16px;align-items:stretch;margin-top:26px;padding:18px 20px;border-radius:var(--r);background:var(--surface);border:var(--bw) solid var(--line);box-shadow:var(--sh-sm);max-width:34em}
.fd-pic{display:contents}
.fd-pic source{display:none}
.fd-ph{width:128px;height:auto;min-height:0;align-self:stretch;object-position:50% 30%;border-radius:calc(var(--r) - 6px);flex:none;object-fit:cover;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font:600 26px/1 var(--f-display);border:1px solid var(--line)}
.fd-t{min-width:0}
.founder h3{font-size:17px;font-family:var(--f-ui)}
.fd-t p{color:var(--ink-2);margin-top:4px;font-size:14.5px}
.fd-cta{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-weight:600;font-size:14.5px;color:var(--accent);text-decoration:underline;text-underline-offset:3px;min-height:24px}
@media (max-width:640px){.founder{padding:16px;gap:12px}.fd-ph{width:104px;min-height:140px}}
.ba-panel{margin-top:30px}
.contact h2{font-size:calc(clamp(38px,4.6vw,62px) * var(--d-scale))}
@media (min-width:981px){.pillar .pv{height:172px}}
@media (min-width:720px){.foot{padding-bottom:72px}.hero{padding-top:44px}}
.ba-head{margin-bottom:28px}
@media (max-width:640px){.sec{padding:56px 0}}
.chan .card-book{padding:26px}
.chan-feats li{padding:12px 14px}
.biz-list li{padding-top:7px;padding-bottom:7px}
.faq-list summary{padding-top:18px;padding-bottom:18px}

.rs-hd{display:none}
@media (max-width:719px){
  .rs-hd{display:grid;place-items:center;width:40px;height:40px;padding:0;flex:none;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer}
  .rs-hd .rs-dot{width:22px;height:22px;box-shadow:none;animation-play-state:running}
  .rs-hd[aria-expanded="true"] .rs-dot{animation-duration:1.4s}
  .rs-hd:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
  .rs-fab{display:none}
  .nav-r{gap:8px}
  .mode{width:40px;height:40px}
  .foot{padding-bottom:40px}
}
@media (max-width:374px){.logo-t{display:none}}

.ba-label{flex-wrap:nowrap;white-space:nowrap}
.ba-cap{line-height:1.45;min-height:calc(2.9em + 4px)}
.booked-dim{position:absolute;inset:0;z-index:29;background:rgba(11,20,26,.55);opacity:0;transition:opacity .35s;pointer-events:none}
.booked-dim.show{opacity:1}

#biz .biz-list,#biz .biz-tally{transition:opacity .35s}
#biz.biz-reset .biz-list,#biz.biz-reset .biz-tally{opacity:0}

/* AI band, above contact */
.ai-band{position:relative;padding:0 0 calc(var(--section-pad) * .5)}
html:not([data-style]):not([data-theme="dark"]) .ai-in{background:var(--bg);color:var(--ink);border:1px solid var(--line-2)}
html:not([data-style]):not([data-theme="dark"]) .ai-band .kicker{color:var(--ink-3)}
html:not([data-style]):not([data-theme="dark"]) .ai-band h2{color:var(--ink)}
html:not([data-style]):not([data-theme="dark"]) .ai-t>p:not(.kicker){color:var(--ink-2)}
html:not([data-style]):not([data-theme="dark"]) .ai-ic{background:var(--accent-soft);color:var(--accent)}
html:not([data-style]):not([data-theme="dark"]) .ai-in .btn-light{background:var(--ink);color:var(--bg)}
@media (max-width:640px){.ai-band{padding-bottom:28px}}

/* typography and heads */
@media (min-width:981px){html:not([data-style]) .pillar h3{min-height:2.4em;align-items:flex-start}}
html[data-theme="dark"]:not([data-style]) .feat li::before{background:radial-gradient(circle,var(--accent) 0 2.5px,transparent 3px);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--accent) 70%,transparent)}
html:not([data-style]) .ba-head{flex-direction:column;align-items:center;text-align:center}
html:not([data-style]) .ba-head>div,html:not([data-style]) .ba-head>p{flex:none}
html:not([data-style]) .ba-head h2{margin-inline:auto}
html:not([data-style]) .ba-head>p{max-width:36em}

/* style polish */
html[data-style][data-style="kids"] .hero::after{left:calc(50% - 70px);right:auto;top:auto;bottom:64px;z-index:0}
html[data-style][data-style="kids"] :is(.lede,.sec-head>p,.rev-lede,.faq-side,.contact-risk){background:var(--bg);box-shadow:0 0 0 8px var(--bg);border-radius:4px}
@media (max-width:1359px){html[data-style][data-style="kids"] .hero::after{display:none}}
html[data-style][data-style="retro"] .nav-links{gap:14px}
html[data-style][data-style="retro"] .nav-links a{white-space:nowrap}
html[data-style][data-style="neon"] .plan-hl{box-shadow:inset 0 0 0 1.5px #ff2bd6,inset 0 0 60px -20px rgba(255,43,214,.6)}
/* style tour: fixed palette and fonts so the card reads the same in every style */
.rs.rs-tour .rs-fab{opacity:0;visibility:hidden;transform:scale(.8)}
.tour{position:fixed;right:20px;bottom:20px;z-index:85;width:380px;max-width:calc(100vw - 24px);background:#0d0f14;color:#fff;border-radius:22px;padding:16px 16px 14px;box-shadow:0 24px 60px -16px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.1) inset;font:400 14px/1.4 "Inter","Sans Fallback",system-ui,sans-serif;text-transform:none;letter-spacing:0;text-align:left;animation:pop .4s cubic-bezier(.34,1.5,.5,1)}
.tour[hidden]{display:none}
.tour .tr-now{display:none}
.tour:not(.intro) .tr-intro{display:none}
.tour:not(.intro) .tr-now{display:block}
.tr-k{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9aa0ff}
.tr-h{font:600 22px/1.15 "Inter","Sans Fallback",system-ui,sans-serif;margin-top:6px}
.tr-p{color:#b9bdc8;margin-top:6px;font-size:13.5px}
.tr-top{display:flex;align-items:center;gap:10px}
.tr-n{font-size:12px;font-weight:650;color:#b9bdc8;font-variant-numeric:tabular-nums;flex:none}
.tr-bar{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden}
.tr-bar i{display:block;height:100%;background:linear-gradient(90deg,#ff3b5c,#ffb020,#2bd98a,#00c2ff,#c34bff);transform:scaleX(0);transform-origin:0 50%}
.tr-bar i.run{transform:scaleX(1);transition:transform .9s linear}
.tr-name{font-size:19px;font-weight:650;margin-top:8px}
.tr-line{color:#d4d7e0;font-size:14px;min-height:2.8em}
.tr-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tr-end{margin-top:8px}
.tr-b{min-height:36px;padding:0 13px;border-radius:99px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;font:600 13px/1 "Inter","Sans Fallback",system-ui,sans-serif;cursor:pointer}
.tr-b:hover{background:rgba(255,255,255,.08)}
.tr-b:focus-visible{outline:3px solid #6f86ff;outline-offset:2px}
.tr-go,.tr-keep{background:#fff;color:#0d0f14;border-color:#fff}
.tr-go:hover,.tr-keep:hover{background:#e8e9ee}
.tr-x,.tr-stop{border-color:transparent;color:#b9bdc8}
.tr-ctl .tr-b{flex:1}
@media (max-width:719px){
  .tour{left:8px;right:8px;bottom:8px;width:auto;max-width:none;border-radius:18px;padding:12px 12px 10px}
  .tr-h{font-size:19px}
  .tr-name{font-size:16px;margin-top:6px;display:inline}
  .tr-line{font-size:13px;min-height:0;margin-top:2px}
  .tr-row{margin-top:8px}
  .tr-end{margin-top:6px}
  .tr-b{min-height:34px;padding:0 11px;font-size:12.5px}
}

@media (max-width:719px){
  html[data-style][data-style="y2k"] .hero::before,html[data-style][data-style="memphis"] .hero::before,html[data-style][data-style="brutalist"] .hero::before{width:92px;height:92px;right:-30px;top:2px}
  html[data-style][data-style="kids"] .hero::before{width:84px;height:84px;right:-22px;top:0}
  html[data-style][data-style="pixel"] .hero::before{width:36px;height:36px;right:-12px;top:8px;box-shadow:0 0 0 6px #ff3b6b}
  html[data-style][data-style="y2k"] .hero::after,html[data-style][data-style="memphis"] .hero::after,html[data-style][data-style="brutalist"] .hero::after,html[data-style][data-style="bauhaus"] .hero::after,html[data-style][data-style="riso"] .hero::after{display:none}
}
@media (min-width:720px){
  .rs.rs-compact .rs-fab{width:52px;padding:0;justify-content:center;gap:0}
  .rs.rs-compact .rs-fab>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}

/* ============ v2g: three before archetypes and their afters ============ */
.bs-ab.ab-ok{text-align:center;color:#222}
.bs-ab.ab-ok svg{vertical-align:-1px;margin-right:2px;color:#3c3c43}
.tapdot.quick{transition:transform .16s ease-out,opacity .25s}
.bub .lk{color:#027eb5;text-decoration:underline;overflow-wrap:anywhere}

/* dental: wall of text */
.os-tel{display:block;font:700 28px Georgia,serif;color:#c0392b}
.os-links{padding:5px 30px;background:#eef2f6;border-bottom:1px solid #c9d6e3;font:10px Verdana,sans-serif;color:#5b6876}
.os-links span{color:#2c5f9e;text-decoration:underline;transition:background .15s}
.os-links span.hit{background:#f1c40f;color:#222}
.os-d .os-photo{height:200px}
.bs:not(.is-loaded) .os-d .os-rest{transform:translateY(-204px)}
.os-d .os-main p{text-align:justify}
.os-fees{width:370px;border-collapse:collapse;font-size:12.5px;margin:4px 0 8px;border:1px solid #c9d6e3}
.os-fees th{background:#dfe8f1;color:#2c5f9e;text-align:left;padding:5px 8px;font:700 12px Arial,sans-serif}
.os-fees td{padding:5px 8px;border-bottom:1px dotted #c9d6e3}
.os-fees td+td,.os-fees th+th{text-align:right;white-space:nowrap}
.os-fn{font-size:11px;color:#6b6b6b;font-style:italic}
.os-appt{background:#fffdf0;border-color:#e6d9a3}
.os-appt p+p{padding-top:0}
.os-appt .os-num{display:inline;font-size:19px}

/* trades: cheap one-pager */
.tb{position:absolute;inset:0;overflow:hidden;background:#fffbe8;color:#222;font:14px/1.45 Arial,sans-serif;text-align:left}
.tb-scroll{transition:transform 1s cubic-bezier(.25,.8,.25,1)}
.tb-top{display:flex;justify-content:center;gap:12px;padding:6px;background:#111;font-size:8.5px;color:#ffd400;text-decoration:underline}
.tb-logo{background:#111;color:#ffd400;text-align:center;padding:22px 0 26px;overflow:hidden}
.tb-logo i{display:block;width:86px;margin:0 auto 4px}
.tb-logo svg{display:block;fill:#ffd400;stroke:#ffd400}
.tb-logo b{display:block;font:900 56px/.94 Impact,"Arial Black",sans-serif;letter-spacing:-.01em;white-space:nowrap}
.tb-logo small{display:block;margin-top:12px;font:italic 13px Georgia,serif;color:#fff}
.tb-ban{display:block;margin:14px 10px;filter:blur(.3px) saturate(1.15)}
.tb-ban svg{display:block;width:100%;height:auto}
.tb-h{margin:18px 14px 6px;font:900 19px "Arial Black",Arial,sans-serif;color:#111;text-transform:uppercase;border-bottom:3px solid #ffd400}
.tb-p{margin:0 14px;font-size:13px}
.tb-ul{margin:0 14px 0 32px;list-style:disc;font-size:14px}
.tb-ft{margin-top:22px;padding:14px 14px 30px;background:#e9e9e9;color:#555;font-size:10px;text-align:center}
.im-menu{position:absolute;inset:0;z-index:13;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(30,30,30,.45);opacity:0;transition:opacity .25s;pointer-events:none}
.im-menu.show{opacity:1}
.im-prev{display:block;width:260px;border-radius:12px;overflow:hidden;box-shadow:0 20px 40px -10px rgba(0,0,0,.5);transform:scale(.9);transition:transform .35s cubic-bezier(.2,1.4,.4,1)}
.im-prev svg{display:block;width:100%;height:auto}
.im-menu.show .im-prev{transform:none}
.im-menu ul{width:230px;border-radius:13px;overflow:hidden;background:rgba(242,242,242,.97);font:14px -apple-system,system-ui,sans-serif;color:#111}
.im-menu li{padding:11px 14px}
.im-menu li+li{border-top:1px solid rgba(0,0,0,.1)}

.at-sheet{position:absolute;left:0;right:0;bottom:0;z-index:12;background:#fff;border-radius:22px 22px 0 0;padding:8px 14px 30px;box-shadow:0 -20px 40px -10px rgba(0,0,0,.3);transform:translateY(105%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.at-sheet.show{transform:none}
.at-go.press,.at-send.press{transform:scale(.94)}

/* trades after */
.at-hero{position:relative;overflow:hidden;margin:4px 12px 0;padding:18px 16px 16px;border-radius:20px;background:var(--b);color:#fff}
.at-hero::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(255,201,60,.35),transparent 70%)}
.at-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 8px;border-radius:99px;background:rgba(255,255,255,.12);font-size:10.5px;font-weight:600}
.at-chip i{width:6px;height:6px;border-radius:50%;background:#4ade80}
.at-hero .ah{display:block;margin-top:12px;font-size:28px;font-weight:700;line-height:1.03;letter-spacing:-.03em}
.at-hero p{margin-top:8px;font-size:12px;line-height:1.45;color:rgba(255,255,255,.8)}
.at-go{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;height:48px;margin-top:14px;border-radius:14px;background:#ffc93c;color:#1d2b4f;font-size:15px;font-weight:700;transition:transform .15s}
.at-sub{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:10px;font-size:11.5px;color:rgba(255,255,255,.8)}
.at-how{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.at-how li{display:flex;flex-direction:column;gap:6px;padding:10px 8px;border:1px solid var(--a-line);border-radius:12px;font-size:11.5px;font-weight:600;line-height:1.25}
.at-how i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--b2);color:var(--b);font-size:11px;font-weight:700;font-style:normal}
.at-sh{display:flex;justify-content:space-between;align-items:center;font-size:15px;padding-top:6px}
.at-pg{display:flex;gap:4px}
.at-pg i{width:18px;height:4px;border-radius:2px;background:#e3e3df;transition:background .3s}
.at-pg i:first-child,.at-pg[data-i="1"] i:nth-child(2),.at-pg[data-i="2"] i:nth-child(-n+3),.at-pg[data-i="3"] i{background:var(--b)}
.at-vp{overflow:hidden;margin:14px -14px 0}
.at-panes{display:flex;width:400%;transform:translateX(calc(var(--i,0) * -25%));transition:transform .45s cubic-bezier(.3,.1,.2,1)}
.at-pane{width:25%;padding:0 14px}
.at-q{margin-bottom:12px;font-size:19px;font-weight:680;letter-spacing:-.025em}
.at-chips{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.at-chips span{display:flex;align-items:center;gap:7px;padding:11px 10px;border:1px solid var(--a-line);border-radius:12px;font-size:12.5px;font-weight:600;transition:background .2s,color .2s}
.at-chips svg{color:var(--b)}
.at-chips span.on{background:var(--b);border-color:var(--b);color:#fff}
.at-chips span.on svg{color:#fff}
.at-when{grid-template-columns:1fr}
.at-ph{position:relative;height:166px;display:grid;place-items:center;overflow:hidden;border:1.5px dashed #c9cdd8;border-radius:14px;background:var(--a-soft)}
.at-ph.got{border-style:solid}
.at-cam{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--b)}
.at-ph .fuse{position:absolute;inset:0;width:100%;height:100%;opacity:0;transform:scale(1.06);transition:opacity .35s,transform .5s}
.at-ph.got .fuse{opacity:1;transform:none}
.at-pane small{display:block;margin-top:8px;font-size:11px;color:var(--a-mut)}
.at-sum li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--a-line);font-size:12px;color:var(--a-mut)}
.at-sum b{color:var(--a-ink);font-weight:620}
.at-send,.at-msg{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;margin-top:10px;border-radius:14px;font-size:14px;font-weight:620}
.at-send{background:#1faa53;color:#fff;transition:transform .15s}
.at-msg{margin-top:7px;border:1px solid var(--a-line);color:var(--a-ink)}

/* ---------- reviews: Google before/after ---------- */
#reviews .sec-head>p b{color:var(--ink)}
.rvw-fn{font-size:.7em;line-height:0;margin-left:1px}
.rvw-fn a{color:var(--accent);text-decoration:none;font-weight:600}
.rvw-demo{
  --rvw-bg:#fff;--rvw-ink:#1f1f1f;--rvw-ink2:#5f6368;--rvw-line:#dadce0;--rvw-link:#1a0dab;--rvw-ok:#188038;
  --rvw-star:#fbbc04;--rvw-star-off:#dadce0;--rvw-chip:#f1f3f4;--rvw-btn:#0b57d0;--rvw-btn-ink:#fff;
  --rvw-map:#f1f3f4;--rvw-rd:#fff;--rvw-hi:#fde293;--rvw-park:#c9ecd0;--rvw-water:#aadaff;
  --rvw-h:96px;--rvw-more:44px
}
html[data-theme="dark"]:not([data-style]) .rvw-demo{
  --rvw-bg:#1f1f1f;--rvw-ink:#e3e3e3;--rvw-ink2:#bdc1c6;--rvw-line:#3c4043;--rvw-link:#a8c7fa;--rvw-ok:#81c995;
  --rvw-star-off:#5f6368;--rvw-chip:#303134;--rvw-btn:#a8c7fa;--rvw-btn-ink:#062e6f;
  --rvw-map:#242f3e;--rvw-rd:#38414e;--rvw-hi:#746855;--rvw-park:#263c3f;--rvw-water:#17263c
}
.rvw-bar{display:grid;gap:12px;justify-items:start;margin-bottom:20px}
.rvw-tl{display:grid;grid-template-columns:auto 1fr auto;gap:16px;width:min(100%,560px);margin:0;padding:0 0 12px;list-style:none;position:relative;font:600 13px/1.25 var(--f-ui);color:var(--ink-3)}
.rvw-tl li{transition:color .3s}
.rvw-tl-y{text-align:center}
.rvw-tl::before,.rvw-tl::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;border-radius:2px;background:var(--line)}
.rvw-tl::after{background:var(--accent);transform:scaleX(.04);transform-origin:0 50%;transition:transform .4s var(--ease)}
/* 2.4s = YEAR in site.js, so the bar fills while the count ticks */
.rvw-demo[data-show="year"] .rvw-tl::after{transform:scaleX(.9);transition:transform 2.4s linear}
.rvw-demo[data-show="after"] .rvw-tl::after{transform:none}
.rvw-demo[data-show="before"] .rvw-tl-b,.rvw-demo[data-show="year"] .rvw-tl-y,.rvw-demo[data-show="after"] .rvw-tl-a{color:var(--ink)}
.rvw-cap{display:grid;font-weight:600;color:var(--ink-2);font-size:15px;margin:0}
.rvw-cap>span,.rvw-pv{grid-area:1/1;transition:opacity .3s .3s,visibility 0s .3s}
.rvw-demo:not([data-show="before"]) :is(.rvw-cap>span,.rvw-pv).rvw-b,.rvw-demo:not([data-show="year"]) :is(.rvw-cap>span,.rvw-pv).rvw-y,.rvw-demo:not([data-show="after"]) :is(.rvw-cap>span,.rvw-pv).rvw-a{opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.rvw-demo:not([data-show="after"]) .rvw-li :is(span,i).rvw-a,.rvw-demo[data-show="after"] .rvw-li :is(span,i).rvw-b{display:none}
.rvw-map{position:relative}
.rvw-ptr{position:absolute;left:10px;bottom:7px;max-width:calc(100% - 20px);padding:6px 10px;border-radius:8px;background:var(--accent);color:var(--accent-ink);font:600 12.5px/1.3 var(--f-ui);box-shadow:var(--sh-sm);opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s}
.rvw-ptr::after{content:"";position:absolute;left:24px;top:100%;border:7px solid transparent;border-top-color:var(--accent)}
.rvw-card .rvw-ptr{margin:0}
.rvw-demo[data-show="after"] .rvw-ptr{opacity:1;transform:none;transition-delay:1s}
.rvw-card .rvw-ym{display:inline-block;margin:2px 0 12px;padding:3px 12px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font:600 12.5px/1.4 var(--f-ui);font-variant-numeric:tabular-nums}
.rvw-y .rvw-big{font-variant-numeric:tabular-nums}
.rvw-yh i{display:block;overflow:hidden;background:var(--rvw-chip)}
.rvw-yh b{display:block;height:100%;width:var(--b);border-radius:4px;background:var(--rvw-star);transition:width 0s .4s}
.rvw-demo[data-show="year"] .rvw-yh b{width:var(--a);transition:width 2.4s linear}
.rvw-yv{opacity:0;transition:opacity 0s .4s}
.rvw-demo[data-show="year"] .rvw-yv{opacity:1;transition:opacity .4s var(--d)}

.rvw-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.rvw-card{background:var(--rvw-bg);color:var(--rvw-ink);border:1px solid var(--rvw-line);border-radius:16px;box-shadow:var(--sh-lg);overflow:hidden;font:400 13px/19px Roboto,Arial,system-ui,sans-serif;text-align:left}
.rvw-card p{margin:0}
.rvw-q{display:flex;align-items:center;gap:12px;margin:14px 14px 10px;height:46px;padding:0 16px;border-radius:23px;background:var(--rvw-bg);box-shadow:0 1px 6px rgba(32,33,36,.28);color:var(--rvw-ink2)}
html[data-theme="dark"]:not([data-style]) .rvw-q{background:#303134;box-shadow:none}
.rvw-q span{flex:1;color:var(--rvw-ink);font-size:16px}
.rvw-tabs{display:flex;gap:20px;padding:0 18px;border-bottom:1px solid var(--rvw-line);color:var(--rvw-ink2);font-size:13.5px;white-space:nowrap;overflow:hidden}
.rvw-tabs>*{padding:8px 0 9px}
.rvw-tabs b{font-weight:500;color:var(--rvw-ink);box-shadow:inset 0 -3px var(--rvw-ink)}
.rvw-map svg{display:block;width:100%;height:auto}
.rvw-m-bg{fill:var(--rvw-map)}
.rvw-m-water{fill:var(--rvw-water)}
.rvw-m-park{fill:var(--rvw-park)}
.rvw-m-rd{fill:none;stroke:var(--rvw-rd);stroke-width:5}
.rvw-m-hi{fill:none;stroke:var(--rvw-hi);stroke-width:8}
.rvw-m-me{fill:#1a73e8;stroke:#fff;stroke-width:2.5}
.rvw-pin{transition:opacity .5s}
.rvw-pin path{fill:#ea4335;stroke:#b31412;stroke-width:1}
.rvw-pin circle{fill:#b31412}
.rvw-pin text{font:500 9.5px Roboto,Arial,sans-serif;fill:var(--rvw-ink);stroke:var(--rvw-map);stroke-width:3px;paint-order:stroke}
.rvw-demo:not([data-show="after"]) .rvw-pin-l,.rvw-demo[data-show="after"] .rvw-pin-ab{opacity:0}

.rvw-list{position:relative;height:calc(var(--rvw-h) * 4 + var(--rvw-more))}
.rvw-li{--y:var(--yb);position:absolute;left:0;right:0;top:0;height:var(--rvw-h);padding:10px 16px;border-bottom:1px solid var(--rvw-line);background:var(--rvw-bg);transform:translateY(calc(var(--y) * var(--rvw-h) + clamp(0, var(--y) - 2, 1) * var(--rvw-more)));transition:transform .8s var(--ease),opacity .5s}
.rvw-demo[data-show="after"] .rvw-li{--y:var(--ya)}
.rvw-demo:not([data-show="after"]) .rvw-li[data-b="3"],.rvw-demo[data-show="after"] .rvw-li[data-a="3"]{opacity:.55}
.rvw-li-l{z-index:1;box-shadow:inset 3px 0 var(--accent)}
.rvw-li p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rvw-nm{font-size:15.5px;line-height:21px;font-weight:500;color:var(--rvw-ink)}
.rvw-you{font:600 11px/18px var(--f-ui);font-style:normal;display:inline-block;padding:0 8px;margin-left:6px;border-radius:99px;background:var(--accent-soft);color:var(--accent);vertical-align:2px}
.rvw-rt,.rvw-mt{color:var(--rvw-ink2)}
.rvw-rt{color:var(--rvw-ink)}
.rvw-n{color:var(--rvw-ink2)}
.rvw-open{color:var(--rvw-ok);font-weight:500}
.rvw-more{position:absolute;left:0;right:0;top:calc(var(--rvw-h) * 3);height:var(--rvw-more);display:flex;align-items:center;justify-content:center;gap:6px;color:var(--rvw-link);font-weight:500;border-bottom:1px solid var(--rvw-line)}
.rvw-st{display:inline-block;width:70px;height:13px;vertical-align:-1px;background:linear-gradient(90deg,var(--rvw-star) var(--r),var(--rvw-star-off) 0);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='13' viewBox='0 0 14 13'%3E%3Cpath d='M6.5.6l1.8 3.8 4.1.4-3.1 2.8.9 4.1-3.7-2.1-3.7 2.1.9-4.1L.6 4.8l4.1-.4z'/%3E%3C/svg%3E") 0 0/14px 13px repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='13' viewBox='0 0 14 13'%3E%3Cpath d='M6.5.6l1.8 3.8 4.1.4-3.1 2.8.9 4.1-3.7-2.1-3.7 2.1.9-4.1L.6 4.8l4.1-.4z'/%3E%3C/svg%3E") 0 0/14px 13px repeat-x}

.rvw-prof{display:grid}
.rvw-hero{height:116px;overflow:hidden;background:var(--rvw-chip)}
.rvw-hero img{display:block;width:100%;height:100%;object-fit:cover}
.rvw-hero picture{display:block;height:100%}
.rvw-pb{padding:14px 16px 16px}
.rvw-pn{font-size:22px;line-height:28px;margin-bottom:4px!important}
.rvw-acts{display:flex;gap:8px;margin:12px 0 14px;flex-wrap:wrap}
.rvw-act{display:inline-flex;align-items:center;height:34px;padding:0 15px;border-radius:17px;border:1px solid var(--rvw-line);color:var(--rvw-btn);font-weight:500}
.rvw-act-p{background:var(--rvw-btn);color:var(--rvw-btn-ink);border-color:var(--rvw-btn)}
.rvw-sum{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:12px 0;border-top:1px solid var(--rvw-line)}
.rvw-big{display:grid;justify-items:center;gap:2px}
.rvw-big b{font-size:40px;line-height:44px;font-weight:400}
.rvw-big small{color:var(--rvw-ink2);font-size:12px}
.rvw-hist{display:grid;gap:3px;margin:0;padding:0;list-style:none}
.rvw-hist li{display:grid;grid-template-columns:10px 1fr;gap:8px;align-items:center;font-size:11px;line-height:14px;color:var(--rvw-ink2)}
.rvw-hist i{height:8px;border-radius:4px;background:linear-gradient(90deg,var(--rvw-star) var(--w),var(--rvw-chip) 0)}
.rvw-sort{margin:2px 0 6px!important}
.rvw-sort span{display:inline-block;padding:3px 12px;border:1px solid var(--rvw-line);border-radius:8px;font-weight:500;color:var(--rvw-ink)}
.rvw-rv{padding:10px 0;border-top:1px solid var(--rvw-line)}
.rvw-who{display:flex;gap:10px;align-items:center}
.rvw-who i{width:32px;height:32px;border-radius:50%;background:var(--c);color:#fff;font-style:normal;font-weight:500;font-size:15px;display:grid;place-items:center;flex:none}
.rvw-who b{display:block;font-weight:500;color:var(--rvw-ink)}
.rvw-who small{display:block;color:var(--rvw-ink2);font-size:12px;line-height:16px}
.rvw-rl{display:flex;gap:8px;align-items:center;color:var(--rvw-ink2);font-size:12px;margin:6px 0 2px!important}
.rvw-own{margin-top:8px;padding:8px 10px;background:var(--rvw-chip);border-radius:8px}
.rvw-own .rvw-rl{margin-top:0!important}
.rvw-own b{color:var(--rvw-ink);font-weight:500}
.rvw-flag{margin-top:12px!important;padding:8px 12px;border-radius:8px;font:600 12.5px/18px var(--f-ui)}
.rvw-flag-bad{background:var(--warn-soft);color:var(--warn)}
.rvw-flag-ok{background:var(--ok-soft);color:var(--ok)}
.rvw-src{margin-top:18px;font-size:12.5px;line-height:1.55;color:var(--ink-3);max-width:62em}
.rvw-src a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.rvw-src sup{font-size:.8em}
.rvw-how{margin-top:88px}
.rvw-h3{font-family:var(--f-display);font-weight:var(--dw);font-size:calc(clamp(26px,2.6vw,34px) * var(--d-scale));letter-spacing:var(--d-ls);line-height:1.08;margin:0}
@media (max-width:900px){.rvw-grid{grid-template-columns:minmax(0,1fr);max-width:520px;margin:0 auto}.rvw-bar{justify-items:center;text-align:center;max-width:520px;margin:0 auto 20px}}
@media (max-width:640px){.rvw-how{margin-top:60px}.rvw-cap{font-size:14px}.rvw-tl{gap:10px;font-size:12px}}
@media (prefers-reduced-motion:reduce){.rvw-li,.rvw-pin,.rvw-pv,.rvw-cap>span,.rvw-ptr,.rvw-tl li,.rvw-tl::after{transition:none!important}}

.rvw-wa .chat-t{overflow:hidden;justify-content:flex-end}
.rvw-wa :is(.bub,.typing,.chat-d,.sysc):not(.show){display:none}
.rvw-wa .bub.show{animation:rvw-in .3s cubic-bezier(.2,.8,.2,1)}
.rvw-wa .typing{position:static;align-self:flex-start;opacity:1;flex:none}
.rvw-wa .chat-d,.rvw-wa .sysc{flex:none}
.rvw-wa .bub{flex:none}
.rvw-wa .rvw-ib{width:80%}
@keyframes rvw-in{from{opacity:0;transform:translateY(8px) scale(.97)}}
.rvw-qr{display:block;clear:both;margin:6px -8px -5px -9px;border-top:1px solid #e9edef}
.rvw-qr>span{display:flex;align-items:center;justify-content:center;gap:6px;height:32px;color:#027eb5;font-weight:600;font-size:12.5px;transition:background .15s}
.rvw-qr>span+span{border-top:1px solid #e9edef}
.rvw-qr>span.on{background:#e9edef}
.rvw-skip{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 24px;background:rgba(17,27,33,.93);color:#fff;text-align:center;font-family:"Inter",system-ui,sans-serif;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.rvw-skip.show{opacity:1;visibility:visible;transition:opacity .35s}
.rvw-skip svg{margin-bottom:8px;opacity:.9}
.rvw-skip b{font-size:24px;font-weight:650;letter-spacing:-.01em}
.rvw-skip span{font-size:14px;opacity:.85}
@media (prefers-reduced-motion:reduce){.rvw-wa .bub.show{animation:none}.rvw-skip{transition:none}}

/* ============ v2h: realism pass ============ */
.ph-sig i:nth-child(4){height:11px}
.ph-sig s{width:15px;height:11px;margin-left:4px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 11'%3E%3Cpath d='M7.5 2.3c2.2 0 4.2.8 5.7 2.2l1.2-1.3A10 10 0 007.5.5 10 10 0 00.6 3.2l1.2 1.3a8.2 8.2 0 015.7-2.2zm0 3.3c1.3 0 2.5.5 3.4 1.3l1.2-1.3a6.7 6.7 0 00-9.2 0l1.2 1.3c.9-.8 2.1-1.3 3.4-1.3zm0 3.3c.4 0 .8.1 1.1.4L7.5 10.6 6.4 9.3c.3-.3.7-.4 1.1-.4z'/%3E%3C/svg%3E") center/contain no-repeat}
.ph-sig b{margin-left:4px}
.rvw-pv.rvw-b .rvw-hero img{object-position:50% 15%}
/* no meta viewport + a 1024px banner: iOS shrinks the page to the widest content, not 980 (300/1024) */
.osx{--z:.293}
.osx-nav{height:auto;flex-wrap:wrap;background:linear-gradient(#5a8fc7,#2c5f9e 55%,#24508a) 0 0/100% 42px no-repeat,#9fb6cf}
/* deliberately low-res (256×100) and stretched; a CSS background keeps it out of the <img> resolution audits */
.os-photo.osx-ban{width:1024px;height:400px;background:#8a8f8c url(../img/olddental/banner-2012.jpg) 0 0/100% 100%}
.bs:not(.is-loaded) .osx .os-rest{transform:translateY(-404px)}
.osx-side{position:relative;margin-top:-58px}
/* iOS paints nothing for a Flash <object>; only the template's frame survives */
.osx-plug{height:320px;border:1px solid #c9d6e3;margin:8px 0 4px;background:#fff}
.osx-cap{font-size:11px;color:#5b6876;margin-bottom:14px}
/* Safari's failed <img>: thin grey frame and the alt text, no broken-image icon */
.osx-alt{display:block;height:170px;margin:8px 10px 0;border:1px solid #bdbdbd;padding:2px 4px;color:#222}

/* before/after stage: one phone at a time, then a static recap. Both layers share one grid cell so the section keeps its height across phases */
.ba-stage{display:grid;margin-top:22px}
.bas-live,.bas-recap{grid-area:1/1;align-self:center;transition:opacity .26s}
.bas-live{display:flex;flex-direction:column;align-items:center;gap:14px}
.ba-stage[data-p="recap"] .bas-live,.ba-stage:not([data-p="recap"]) .bas-recap{visibility:hidden}
.bas-fade :is(.bas-live,.bas-recap){opacity:0}
.bas-cap{display:flex;justify-content:center;align-items:center;min-height:46px;max-width:100%;margin:0}
.bas-cap span{display:inline-flex;align-items:center;gap:9px;padding:10px 18px;border-radius:99px;font:600 15px/1.35 var(--f-ui);text-align:left;transition:opacity .2s,transform .2s}
.bas-cap span::before{content:"";flex:none;width:12px;height:12px;border-radius:50%}
.bas-bad span{background:var(--warn-soft);color:var(--warn)}
.bas-bad span::before{box-shadow:inset 0 0 0 1.5px var(--warn)}
.bas-ok span{background:var(--ok-soft);color:var(--ok)}
.bas-ok span::before{background:var(--ok)}
.bas-out span{opacity:0;transform:translateY(-4px)}
.bas-sa{position:absolute;left:11px;top:11px}
.ba-stage[data-p="after"] .bas-sb,.ba-stage:not([data-p="after"]) .bas-sa{visibility:hidden}
.ba-stage[data-p="after"] .bas-live .ba-label i,.bas-end-a .ba-label i{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.15)}
.bas-wipe{position:absolute;left:11px;top:11px;z-index:40;width:300px;height:640px;border-radius:45px;display:grid;place-items:center;background:linear-gradient(165deg,#123826,#0d0f14 70%);color:#fff;font:650 24px/1.2 "Inter","Sans Fallback",system-ui,sans-serif;visibility:hidden;clip-path:inset(0 100% 0 0)}
.bas-wipe span{display:flex;flex-direction:column;align-items:center;gap:14px}
.bas-wipe span::before{content:"";width:44px;height:4px;border-radius:2px;background:#22c55e}
.bas-w1 .bas-wipe{visibility:visible;clip-path:inset(0);transition:clip-path .42s cubic-bezier(.6,0,.3,1)}
.bas-w2 .bas-wipe{clip-path:inset(0 0 0 100%)}
.bas-prog{display:flex;justify-content:center;align-items:center;gap:6px;margin:14px auto 0;padding:0;list-style:none}
.bas-prog li{display:flex;align-items:center;gap:6px}
.bas-prog li+li::before{content:"→";color:var(--ink-3);font-size:13px}
.bas-prog button{min-height:32px;padding:0 13px;border-radius:99px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:600 12.5px/1 var(--f-ui);cursor:pointer}
.bas-prog button:hover{color:var(--ink)}
.bas-prog button[aria-current]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.bas-recap{display:flex;align-items:center;justify-content:center;gap:48px}
.bas-ends{display:flex;gap:28px;flex:none}
.bas-end{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0}
.bas-end .ph-rec{--s:.6}
.bas-end .ba-clock{margin:0}
.bas-recap .ba-mid{flex:0 1 500px;min-width:0}
.bas-recap .ba-rows .a{color:var(--ok);font-weight:600}
@media (max-width:1140px){
  .bas-recap{flex-direction:column;gap:28px}
  .bas-recap .ba-mid{flex:none;width:100%;max-width:640px}
}
@media (max-width:719px){
  .bas-cap{min-height:62px}
  .bas-cap span{font-size:14px;padding:9px 15px}
  .bas-ends{gap:14px}
  .bas-end .ph-rec{--s:.46}
}
@media (max-width:360px){.bas-end .ph-rec{--s:.42}}
@media (prefers-reduced-motion:reduce){.bas-live,.bas-recap,.bas-cap span{transition:none}}
@media (max-width:1140px){.bas-live,.bas-recap{align-self:start}}

/* ============ V3: one message per screen ============ */
.v3-head{text-align:center;max-width:860px;margin:0 auto 44px;display:flex;flex-direction:column;align-items:center}
.v3-head h2{max-width:14em;margin:0 auto}
.chap{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;font:var(--kick-w) 13px/1 var(--f-ui);letter-spacing:var(--kick-ls);text-transform:var(--kick-tt);color:var(--ink-2)}
.chap b{display:grid;place-items:center;min-width:34px;height:26px;padding:0 8px;border-radius:99px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-variant-numeric:tabular-nums}
.v3-sub{margin-top:16px;font-size:clamp(17px,1.5vw,19px);color:var(--ink-2);display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}
.src{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;border:1px solid var(--line-2);font:600 11.5px/1.3 var(--f-ui);color:var(--ink-3);text-decoration:none;white-space:nowrap}
.src::after{content:"↗";font-size:10px}
.src:hover{color:var(--accent);border-color:currentColor}
.sec.v3+.sec.v3{padding-top:calc(var(--section-pad) * .55)}

/* hero points */

/* 01 every device */
.dev-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;align-items:center}
.dev-vis .pv{height:clamp(240px,30vw,380px);border-radius:var(--r);background:radial-gradient(70% 80% at 50% 40%,var(--accent-soft),transparent 70%),var(--surface-2)}
.dev-vis .p1-stage{transform:scale(1.75);transform-origin:50% 55%}
.dev-vis .p1-lap,.dev-vis .p1-tab,.dev-vis .p1-ph{animation:dev-pop 6s var(--ease) infinite}
.dev-vis .p1-tab{animation-delay:2s}
.dev-vis .p1-ph{animation-delay:4s}
@keyframes dev-pop{0%,30%,100%{transform:none}10%,20%{transform:translateY(-6px) scale(1.04)}}
.dev-side{display:grid;gap:28px}
.stat{display:grid;gap:6px;justify-items:start}
.stat b{font:var(--dw) calc(clamp(72px,9vw,128px) * var(--d-scale))/.9 var(--f-display);letter-spacing:var(--d-ls);color:var(--accent)}
html[data-theme="dark"]:not([data-style]) .stat b{background:var(--em-bg);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{font-size:clamp(18px,1.6vw,21px);font-weight:600;color:var(--ink);max-width:16em;line-height:1.35}
.guar{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:var(--r);background:var(--ok-soft);color:var(--ink);font-size:16.5px;line-height:1.45}
.guar b{font-weight:700}
.g-ic{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--surface);color:var(--ok)}
@media (max-width:980px){.dev-row{grid-template-columns:minmax(0,1fr);gap:32px}.dev-vis .pv{height:clamp(220px,52vw,360px)}.stat{justify-items:center;text-align:center}.stat span{max-width:20em}}
@media (max-width:980px){.dev-vis .p1-stage{transform:scale(1.4)}}
@media (max-width:640px){.dev-vis .p1-stage{transform:scale(1.05)}.dev-vis .pv{height:230px}}
@media (max-width:360px){.dev-vis .p1-stage{transform:scale(.92)}}

/* 02 contact */
.chan-logos{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}
.chan-logos li{display:inline-flex;align-items:center;gap:7px;padding:8px 14px 8px 10px;border-radius:99px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-sm);font:600 14px/1 var(--f-ui);color:var(--ink)}
.chan-logos svg{flex:none}
.cl-wa svg{color:#1faa53}.cl-ms svg{color:#0a7cff}.cl-ig svg{color:#d6246e}.cl-sms svg{color:#2f9e44}.cl-call svg{color:var(--accent)}
html[data-style] .chan-logos svg{color:currentColor}
.v3-book{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--gap);margin-top:var(--gap);align-items:stretch}
.v3-book .card-book{display:grid;gap:18px;align-content:start}
.v3-book .card-book h3 em{font-style:var(--em-style);color:var(--em)}
.chips{list-style:none;display:grid;gap:10px;align-content:center}
.chips li{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);font-weight:600;color:var(--ink)}
.chips svg{flex:none;color:var(--accent)}
@media (max-width:900px){.v3-book{grid-template-columns:minmax(0,1fr)}.chips{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.chips{grid-template-columns:minmax(0,1fr)}.chips li{padding:12px 14px}}

/* 03 reviews: mechanism as a 4-icon flow */
.flow{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:10px 0;margin-top:36px}
.flow li{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink);white-space:nowrap}
.flow li+li::before{content:"";width:34px;height:2px;margin:0 14px;background:linear-gradient(90deg,var(--line-2) 50%,transparent 0) 0 0/8px 2px repeat-x}
.fl-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font:700 16px/1 var(--f-ui);flex:none}
@media (max-width:719px){.flow{flex-direction:column;align-items:flex-start;width:max-content;max-width:100%;margin-left:auto;margin-right:auto;gap:0}.flow li+li::before{display:none}.flow li{padding:7px 0;white-space:normal}.flow li+li{position:relative}.flow li+li .fl-ic::before{content:"";position:absolute;left:19px;top:-8px;width:2px;height:14px;background:var(--line-2)}}

/* 04 add-ons */
.addon-mini{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:var(--gap);margin-top:36px}
.addon-mini li{display:flex;align-items:center;gap:14px;padding:14px 20px 14px 14px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-sm)}
.addon-mini b{display:block;font-size:16px}
.addon-mini small{display:block;font-size:14px;color:var(--ink-2)}
@media (max-width:640px){.addon-mini li{width:100%}}

/* plans */
.plans .flow{margin:0 0 40px}
.flow-num .fl-ic{border-radius:50%;background:var(--accent);color:var(--accent-ink)}
.plans.v3 .plan-d{margin-bottom:16px}

/* faq, ai, contact */
.faq.v3 .faq-grid{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr)}
@media (max-width:900px){.faq.v3 .faq-grid{grid-template-columns:minmax(0,1fr)}}
.contact-risk{font-weight:600}

@media (prefers-reduced-motion:reduce){.dev-vis .p1-lap,.dev-vis .p1-tab,.dev-vis .p1-ph{animation:none}}
.extras-sec .v3-head h2{font-size:calc(clamp(32px,3.7vw,52px) * var(--d-scale));max-width:17em}
.plans.v3 .plan:first-child li:first-child{color:inherit;font-weight:inherit}
.contact .fd-t h3{font-size:20px}
.contact .fd-t p{font-size:16px}
@media (max-width:640px){.chan .v3-book .card-book .demo{display:block}.chan .v3-book .card-book{gap:16px}}
.ba.v3{background:var(--bg);border:0}
.faq.v3 .faq-grid{grid-template-columns:minmax(0,1fr);max-width:780px;gap:28px}
.faq.v3 h2{text-align:center}

/* round 2: notes, AI band examples, chat chips, booking pop-up */
.v3-note{margin-top:12px;font-size:14px;color:var(--ink-3)}
.v3-ai{padding-top:0}
.ai-ex{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:var(--gap)}
.ai-ex li{display:grid;gap:4px;padding:16px 18px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.ai-ex b{font:700 13px/1.2 var(--f-ui);color:var(--accent);letter-spacing:.02em}
.ai-ex span{font-size:16px;font-weight:600;color:var(--ink);line-height:1.35}
@media (max-width:820px){.ai-ex{grid-template-columns:minmax(0,1fr)}}
.ca-chips{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;max-width:92%;margin-top:-2px}
.ca-chips .ca-opt{min-height:44px}
a.ca-opt{display:inline-flex;align-items:center;text-decoration:none}
.bk{margin:auto;padding:0;border:0;border-radius:calc(var(--r) + 4px);background:var(--surface);color:var(--ink);box-shadow:var(--sh-lg);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}
html[data-theme="dark"]:not([data-style]) .bk{background:#0d0f16;border:1px solid var(--line-2)}
.bk::backdrop{background:rgba(8,10,16,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.bk-in{padding:24px}
.bk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.bk-head h2{font-size:calc(30px * var(--d-scale));max-width:none}
.bk-x{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface);cursor:pointer;color:var(--ink)}
.bk-sub{margin:8px 0 18px;color:var(--ink-2)}
.bk-cal{display:none;min-height:480px}
.bk.bk-live .bk-cal{display:block}
.bk.bk-live .bk-soon{display:none}
.bk:not(.bk-live) .bk-sub{display:none}
.bk-soon{display:grid;justify-items:center;text-align:center;gap:14px;padding:22px 16px;border-radius:var(--r);background:var(--surface-2);border:1px dashed var(--line-2)}
.bk-ic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--accent-soft);color:var(--accent)}
.bk-soon p{max-width:22em;color:var(--ink-2)}
.bk-soon b{color:var(--ink)}
.bk-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
@media (max-width:540px){.bk-acts .btn{width:100%}.bk-in{padding:20px 18px}}

/* header: site.js (fitHeader) adds hdr-fit and picks the first of hdr-cta-sm / hdr-nonav / hdr-nologo
   that fits, because style fonts, text-transform and letter-spacing change widths far more than any breakpoint can predict */
.nav .logo,.nav-r,.nav-links{flex:none}
.nav-links{gap:clamp(16px,1.7vw,30px);white-space:nowrap}
.nav-links a{white-space:nowrap}
.nav-cta{flex-shrink:0}
.hdr-cta-s{display:none}
.nav.hdr-cta-sm .hdr-cta-l{display:none}
.nav.hdr-cta-sm .hdr-cta-s{display:inline}
.nav.hdr-nonav .nav-links{display:none}
.nav.hdr-nologo .logo-t{display:none}
.hdr-back{display:none;align-items:center;gap:7px;height:38px;padding:0 14px 0 12px;border-radius:999px;border:0;cursor:pointer;background:#fff;color:#0d0f14;font:600 13px/1 "Inter","Sans Fallback",system-ui,sans-serif;white-space:nowrap;box-shadow:0 10px 26px -12px rgba(13,15,20,.5),0 0 0 1px rgba(13,15,20,.14);transition:transform .3s cubic-bezier(.34,1.6,.5,1),opacity .25s,visibility .25s}
html[data-style] .hdr-back:not([hidden]){display:inline-flex}
.hdr-back:hover{transform:translateY(-1px)}
.hdr-back:focus-visible{outline:3px solid #2b4cff;outline-offset:3px}
.rs.rs-tour .hdr-back,.rs.rs-hide .hdr-back,.rs:has(.rs-panel:not([hidden])) .hdr-back{opacity:0;visibility:hidden}
/* wide uppercase style fonts make the plan CTA wider than a card; let it wrap inside the card instead of widening the grid past the viewport */
.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.plan-grid{grid-template-columns:minmax(0,1fr)}}
.plan .btn{white-space:normal;text-wrap:balance;text-align:center;line-height:1.25;padding-block:8px}
.ca-opt{text-wrap:balance;line-height:1.3;padding-block:6px}
@media (max-width:480px){.ca-opt{font-size:13.5px;padding-inline:13px}}
/* the nowrap message preview would otherwise size the track and push wide style fonts past the card */
.biz-list{grid-template-columns:minmax(0,1fr)}
.restyle-link{text-wrap:balance}
/* bottom-right is reserved for the Daniel avatar assistant, so the restyle controls live bottom-left */
.rs{right:auto;left:calc(20px + env(safe-area-inset-left,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));align-items:flex-start}
.rs-panel{transform-origin:0 100%}
.tour{right:auto;left:calc(20px + env(safe-area-inset-left,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px))}
@media (max-width:719px){
  .rs{left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px))}
  .tour{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px))}
}

/* ============ Hero: one chat runs the whole loop ============ */
.hx{padding:40px 0 64px}
.hx::before{right:auto;left:50%;margin-left:-500px;top:-120px}
.hx-top{text-align:center;max-width:1000px;margin:0 auto;position:relative;z-index:1}
.hx-desc{font-size:14.5px;color:var(--ink-2);max-width:46em;margin:0 auto}
.hx-desc b{color:var(--ink);font-weight:600}
.hx h1{font-size:calc(clamp(44px,5.6vw,80px) * var(--d-scale));margin:14px 0 16px}
.hx-sub{font-size:clamp(17px,1.5vw,21px);color:var(--ink-2);max-width:40em;margin:0 auto;text-wrap:balance}
.hx-sub b{color:var(--ink);font-weight:600}
.hx-row{display:grid;grid-template-columns:minmax(0,1fr) 330px minmax(0,1fr);gap:44px;align-items:center;margin-top:36px;position:relative;z-index:1}
.hx-left{display:flex;flex-direction:column;gap:22px}
.hx-obj{order:-1;display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--r-sm);padding:14px 16px;box-shadow:var(--sh-sm);font-size:15px;color:var(--ink-2);line-height:1.45}
.hx-obj b{color:var(--ink)}
.hx-x{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--ok-soft);color:var(--ok);margin-top:1px}
.hx-cta{margin-top:0;flex-direction:column;align-items:flex-start;gap:12px}
.hx-risk{font-size:14px;color:var(--ink-3);line-height:1.45;max-width:30em}
.hx-risk b{color:var(--ink)}
.hx-mid{display:flex;justify-content:center}
.hx-phone{width:330px;height:560px;border-radius:52px;background:#0d0f14;padding:11px;box-shadow:var(--sh-lg);flex:none}
.hx-scr{height:100%;border-radius:42px;overflow:hidden;background:#efe7dd;display:flex;flex-direction:column;font-family:"Inter","Sans Fallback",system-ui,sans-serif;color:#111b21;text-transform:none;letter-spacing:0;line-height:1.35}
.hx-hd{background:#075e54;color:#fff;padding:34px 14px 10px;display:flex;align-items:center;gap:10px;flex:none}
.hx-hd i{width:32px;height:32px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#14735f;font-style:normal;font-weight:700;font-size:12.5px;flex:none}
.hx-hd b{display:block;font-size:14.5px;font-weight:600}
.hx-hd small{display:block;font-size:11.5px;opacity:.82}
.hx-thread{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:10px 12px 16px;overflow:hidden}
.hx-m{position:relative;max-width:78%;font-size:12.5px;border-radius:11px;padding:7px 10px;box-shadow:0 1px .5px rgba(11,20,26,.13);transition:opacity .35s,transform .35s var(--ease)}
.hx-m small{display:block;text-align:right;font-size:10px;color:#667781;margin-top:1px}
.hx-out{align-self:flex-end;background:#d9fdd3;border-top-right-radius:3px}
.hx-in{align-self:flex-start;background:#fff;border-top-left-radius:3px}
.hx-day{align-self:center;background:rgba(255,255,255,.92);color:#54656f;font-size:11px;font-weight:500;padding:3px 9px;border-radius:7px}
.hx-ok{border-left:4px solid #0f7a4b}
.hx-ok b{color:#0f7a4b}
.hx-btn{display:block;margin-top:7px;padding-top:6px;border-top:1px solid #e9edef;text-align:center;color:#027eb5;font-weight:600}
.hx-st{color:#f5a623;letter-spacing:1px}
.hx-n{position:absolute;top:50%;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:600 12px/24px var(--f-ui);font-style:normal;text-align:center;box-shadow:0 0 0 3px #fff;transition:transform .3s var(--ease)}
.hx-out .hx-n{left:-34px}
.hx-in .hx-n{right:-34px}
.hx-day .hx-n{right:-34px}
.hx-m.hx-hi .hx-n{transform:scale(1.18)}
.hx-ms .hx-scr{background:#fff;color:#050505}
.hx-hd-ms{background:#fff;color:#050505;border-bottom:1px solid #e4e6eb}
.hx-hd-ms i{background:#0866ff;color:#fff}
.hx-hd-ms div{flex:1}
.hx-hd-ms small{color:#65676b;opacity:1}
.hx-ms-ic{color:#0866ff;display:grid}
.hx-ms .hx-m{box-shadow:none;border-radius:18px}
.hx-ms .hx-out{background:#0866ff;color:#fff;border-bottom-right-radius:5px}
.hx-ms .hx-in{background:#f0f0f0;border-bottom-left-radius:5px}
.hx-ms .hx-day{background:none;color:#65676b;font-size:10.5px}
.hx-ms .hx-ok{border-left-color:#0f7a4b}
.hx-ms .hx-btn{border-top-color:#dcdcdc;color:#0866ff}
.hx-steps{display:flex;flex-direction:column;gap:16px;position:relative}
.hx-steps::before{content:"";position:absolute;left:13px;top:14px;bottom:48px;width:2px;background:linear-gradient(var(--accent),var(--ok))}
.hx-steps li{display:flex;gap:12px;align-items:flex-start;position:relative}
.hx-steps li b{flex:none;width:28px;height:28px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);color:var(--accent);font-size:13px;display:grid;place-items:center;font-family:var(--f-ui);transition:background .3s,color .3s,transform .3s var(--ease)}
.hx-steps li>span{font-weight:600;font-size:16.5px;line-height:1.25;padding-top:3px;font-family:var(--f-ui)}
.hx-steps li small{display:block;font-weight:400;font-size:14px;color:var(--ink-3);margin-top:2px}
.hx-steps li.on b{background:var(--accent);color:var(--accent-ink);transform:scale(1.1)}
.hx-steps .hx-back{color:var(--accent);font-size:14.5px;font-weight:600;padding-left:40px;align-items:center;gap:6px;font-family:var(--f-ui)}
.hx-back svg{flex:none}
.hx-run .hx-m.hx-wait{opacity:0;transform:translateY(8px)}
@media (min-width:720px) and (max-width:1080px){
  .hx-row{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"l m" "r m";gap:28px 36px}
  .hx-left{grid-area:l}.hx-mid{grid-area:m}.hx-right{grid-area:r}
  .hx-phone{width:300px;height:520px}
}
@media (max-width:719px){
  .hx{padding:22px 0 40px}
  .hx-top{text-align:left}
  .hx-desc{font-size:13.5px;margin:0}
  .hx h1{font-size:calc(40px * var(--d-scale));margin:10px 0 12px}
  .hx-sub{font-size:16.5px;margin:0;text-wrap:pretty}
  .hx-row{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:18px}
  .hx-right{order:1}.hx-left{order:2}.hx-mid{order:3}
  .hx-obj{order:2;font-size:14px}
  .hx-cta{align-items:stretch}
  .hx-cta .btn{width:100%;justify-content:center}
  .hx-steps{flex-direction:row;flex-wrap:wrap;gap:6px}
  .hx-steps::before,.hx-steps .hx-back,.hx-steps li small{display:none}
  .hx-steps li{gap:6px;align-items:center;border:var(--bw) solid var(--line);border-radius:999px;padding:4px 10px 4px 4px;background:var(--surface)}
  .hx-steps li b{width:20px;height:20px;font-size:11px;border-width:1.5px}
  .hx-steps li>span{font-size:12.5px;padding:0}
  .hx-phone{width:300px;height:540px;border-radius:46px;padding:10px}
  .hx-scr{border-radius:37px}
}
@media (max-width:340px){.hx-phone{width:100%}}

/* "Show me a…" trade switch: one choice re-skins every per-trade demo */
.tsw{align-items:center}
.tsw-l{padding:0 8px 0 12px;font-size:14.5px;color:var(--ink-3);white-space:nowrap;font-family:var(--f-ui)}
.tsw button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
html[data-trade="dental"] [data-trade-only]:not([data-trade-only="dental"]),
html[data-trade="trades"] [data-trade-only]:not([data-trade-only="trades"]){display:none!important}
@media (max-width:719px){
  .tsw{flex-wrap:wrap;justify-content:center;border-radius:22px}
  .tsw-l{width:100%;text-align:center;padding:4px 0 2px}
}
@media (max-width:719px){.hx-thread{gap:5px;padding:8px 10px 14px}.hx-m{font-size:12px;padding:6px 9px}}
.ba-bar:not(:has(.tsw)){justify-content:center}
.hx-tsw{display:inline-flex;margin-top:20px}
@media (max-width:719px){
  .hx-tsw{display:flex;margin-top:14px}
  .hx-obj{order:-1}
  .nav .rs-hd{display:none}
}
/* the hero headline is the LCP text; Times at the shared 96% wraps it onto an extra line until Instrument Serif arrives */
@font-face{font-family:"Hx Fallback";src:local("Times New Roman"),local("Times");size-adjust:84%;ascent-override:105%;descent-override:27%;line-gap-override:0%}
html:not([data-style]):not([data-theme="dark"]) .hx h1{font-family:"Instrument Serif","Hx Fallback",Georgia,serif}
/* one fixed row of options on phones, so the hero can't change height when the web font swaps in */
@media (max-width:719px){
  .tsw{display:grid;grid-template-columns:repeat(3,auto);justify-content:center;column-gap:2px}
  .tsw-l{grid-column:1/-1}
  .tsw button{padding:0 12px;font-size:13.5px;white-space:nowrap}
}
@media (max-width:359px){.tsw button{padding:0 8px;font-size:12.5px}}
@media (max-width:719px){.hx-sub b{display:block}}

/* ============ Hold to shuffle the styles ============ */
.hs-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hs-pill{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 8px;border-radius:var(--r-btn);border:var(--bw) solid var(--line-2);background:var(--surface);color:var(--ink);font:600 14.5px/1.2 var(--f-ui);cursor:pointer;box-shadow:var(--sh-sm);touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform .2s var(--ease),box-shadow .2s}
.hs-pill:hover{transform:translateY(-1px)}
.hs-pill:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.hs-dots{position:relative;width:30px;height:30px;flex:none;border-radius:50%;background:conic-gradient(#ff3b5c,#ffb020,#ffe600,#2bd98a,#00c2ff,#5b5bff,#c34bff,#ff3b5c)}
.hs-dots::after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--surface)}
.hs-on .hs-pill{transform:scale(.97)}
.hs-on .hs-dots{animation:spin 1.2s linear infinite}
.hs-kbd{font:500 13.5px/1.2 var(--f-ui);color:var(--ink-3);opacity:0;transition:opacity .25s}
.hs-kbd kbd{display:inline-block;margin-left:4px;padding:3px 9px;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:6px;background:var(--surface);color:var(--ink);font:600 12px/1.2 var(--f-ui)}
@media (hover:hover) and (pointer:fine){.hx:hover .hs-kbd,.hx:focus-within .hs-kbd{opacity:1}}
.hx:has(input:focus,textarea:focus,select:focus) .hs-kbd{opacity:0}
@media (max-width:719px){.hs-row{justify-content:center}.hs-kbd{display:none}}
.hs-hud{position:fixed;top:calc(var(--hdr-h,64px) + 12px);left:50%;z-index:82;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;width:max-content;max-width:calc(100vw - 24px);padding:10px 14px 9px;border-radius:18px;background:rgba(255,255,255,.94);color:#0d0f14;box-shadow:0 18px 44px -14px rgba(13,15,20,.45),0 0 0 1px rgba(13,15,20,.08);font:400 13px/1.3 "Inter","Sans Fallback",system-ui,sans-serif;text-transform:none;letter-spacing:0;pointer-events:none}
.hs-hud[hidden]{display:none}
.hs-hud-t{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.hs-hud-t b{font-size:14.5px;font-weight:600}
.hs-hud-t span{color:#5f6368;font-variant-numeric:tabular-nums}
.hs-sws{display:flex;gap:5px}
.hs-sws i{width:14px;height:14px;border-radius:50%;flex:none;box-shadow:0 0 0 1px rgba(13,15,20,.15)}
.hs-sws i.on{box-shadow:0 0 0 2px #fff,0 0 0 4px #2b4cff}
.hs-hud-s{color:#4a4f5c;font-size:12.5px}
@media (max-width:420px){.hs-sws{gap:4px}.hs-sws i{width:12px;height:12px}}
html.hs-xf::view-transition-old(root){animation:hs-out .3s linear both}
html.hs-xf::view-transition-new(root){animation:hs-in .3s linear both}
@keyframes hs-out{to{opacity:0}}
@keyframes hs-in{from{opacity:0}}

/* ============ Daniel avatar ============ */
.av{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:79;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none;font-family:"Inter","Sans Fallback",system-ui,sans-serif;text-transform:none;letter-spacing:0}
.av[hidden]{display:none}
.av>*{pointer-events:auto}
.av-btn{position:relative;display:block;width:60px;height:60px;border-radius:50%;padding:2px;background:#fff;box-shadow:0 12px 30px -10px rgba(13,15,20,.5),0 0 0 1px rgba(13,15,20,.08);transition:transform .3s cubic-bezier(.34,1.6,.5,1),opacity .25s,visibility .25s;animation:av-pop .45s cubic-bezier(.34,1.5,.5,1)}
.av-btn:hover{transform:translateY(-2px) scale(1.04)}
.av-btn:focus-visible{outline:3px solid #2b4cff;outline-offset:3px}
.av-btn picture,.av-btn img{display:block;width:56px;height:56px;border-radius:50%;object-fit:cover;background:#d9d4cc}
.av-dot{position:absolute;right:1px;bottom:3px;width:14px;height:14px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2.5px #fff}
.av-bub{position:relative;max-width:min(270px,calc(100vw - 40px));padding:11px 34px 10px 14px;border-radius:14px;border-bottom-right-radius:4px;background:#0d0f14;color:#fff;box-shadow:0 16px 40px -14px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.1) inset;transition:opacity .25s,transform .3s cubic-bezier(.34,1.4,.5,1),visibility .25s}
.av-bub[hidden]{display:none}
.av-l{font-size:15px;font-weight:600;line-height:1.3}
.av-s{margin-top:3px;font-size:12px;line-height:1.3;color:rgba(255,255,255,.72)}
.av-x{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;border:0;background:transparent;color:rgba(255,255,255,.7);display:grid;place-items:center;cursor:pointer}
.av-x:hover{color:#fff;background:rgba(255,255,255,.12)}
.av-x:focus-visible{outline:2px solid #fff;outline-offset:1px}
.av-x::before{content:"";position:absolute;inset:-10px}
.av-bub.av-in{animation:av-in .35s cubic-bezier(.34,1.4,.5,1)}
.av.av-bhide .av-bub,.av.av-hide .av-bub{opacity:0;visibility:hidden;transform:translateY(6px)}
.av.av-hide .av-btn{opacity:0;visibility:hidden;transform:scale(.8)}
@keyframes av-pop{from{transform:scale(.6);opacity:0}}
@keyframes av-in{from{transform:translateY(8px) scale(.96);opacity:0}}
html[data-theme="dark"] .av-btn,html[data-theme="dark"] .av-dot{box-shadow:0 12px 30px -10px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.18)}
html[data-theme="dark"] .av-dot{box-shadow:0 0 0 2.5px #fff}
html[data-theme="dark"] .av-bub{box-shadow:0 16px 40px -14px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.22) inset}
@media (max-width:719px){
  .av{right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:8px}
  .av-btn{width:52px;height:52px}
  .av-btn picture,.av-btn img{width:48px;height:48px}
  .av-dot{width:12px;height:12px}
  .av-bub{max-width:min(220px,calc(100vw - 24px));padding:9px 30px 8px 12px}
  .av-l{font-size:14px}
  .av-s{display:none}
}
@media (prefers-reduced-motion:reduce){.av-btn,.av-bub{animation:none!important;transition:none!important}}
.legal{max-width:760px;padding-top:40px;padding-bottom:64px}
.legal h1{font-size:calc(clamp(40px,5vw,60px) * var(--d-scale));margin:16px 0 8px}
.legal h2{font-size:calc(26px * var(--d-scale));max-width:none;margin:36px 0 10px}
.legal p,.legal li{color:var(--ink-2);margin-top:10px}
.legal ul{list-style:disc;padding-left:1.3em}
.legal a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.legal b{color:var(--ink)}
.legal-date{font-size:14px;color:var(--ink-3)}
