/* HauzSync — marketing site. Vanilla CSS, light + dark, motion-safe. */
:root{
  --teal:#0D9488;--teal-2:#14B8A6;--teal-3:#2DD4BF;--teal-d:#0F766E;--teal-50:#F0FDFA;--teal-100:#CCFBF1;
  --blue:#3B82F6;--emerald:#10B981;--amber:#F59E0B;--red:#EF4444;--violet:#8B5CF6;--pink:#EC4899;
  --bg:#ffffff;--bg-2:#f5f5f7;--bg-3:#fbfbfd;--text:#1d1d1f;--muted:#6e6e73;--faint:#86868b;
  --line:rgba(0,0,0,.08);--card:#ffffff;--card-2:#f5f5f7;--glass:rgba(255,255,255,.72);
  --shadow:0 30px 80px -30px rgba(15,40,40,.35),0 10px 30px -15px rgba(15,40,40,.2);
  --hero-glow:radial-gradient(60% 50% at 50% 0%,rgba(20,184,166,.18),transparent 70%);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);--spring:cubic-bezier(.34,1.56,.64,1);
  --maxw:1120px;
  color-scheme:light;
}
html[data-theme="dark"]{
  --bg:#000000;--bg-2:#0c0d0f;--bg-3:#060708;--text:#f5f5f7;--muted:#a1a1a6;--faint:#86868b;
  --line:rgba(255,255,255,.1);--card:#141518;--card-2:#1c1d21;--glass:rgba(10,10,12,.7);
  --shadow:0 30px 80px -30px rgba(0,0,0,.9),0 10px 30px -15px rgba(0,0,0,.7);
  --hero-glow:radial-gradient(60% 50% at 50% 0%,rgba(20,184,166,.22),transparent 70%);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.47;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background-color .5s var(--ease),color .5s var(--ease)}
img,svg{display:block;max-width:100%}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--teal-2);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:8px;background:var(--teal);color:#fff;padding:10px 16px;border-radius:999px;z-index:100}
.skip:focus{left:12px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.ico{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:var(--glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;transition:border-color .3s,background-color .5s}
.nav.scrolled{border-bottom-color:var(--line)}
.nav .wrap{display:flex;align-items:center;height:56px;gap:28px}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:650;font-size:18px;letter-spacing:-.02em}
.brand:hover{text-decoration:none}
.brand .mark{width:28px;height:28px}
.nav nav{margin-left:auto}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.nav ul a{color:var(--muted);font-size:14px;transition:color .2s}
.nav ul a:hover{color:var(--text);text-decoration:none}
.nav .actions{display:flex;align-items:center;gap:10px}
.theme-btn{appearance:none;border:0;background:transparent;color:var(--muted);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:18px;transition:background .2s,color .2s}
.theme-btn:hover{background:var(--bg-2);color:var(--text)}
.theme-btn .sun{display:none}html[data-theme="dark"] .theme-btn .sun{display:block}html[data-theme="dark"] .theme-btn .moon{display:none}
.pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;font-weight:600;font-size:14px;padding:8px 16px;border:0;cursor:pointer;transition:transform .3s var(--spring),background .2s,box-shadow .3s}
.pill:hover{text-decoration:none;transform:translateY(-1px)}
.pill:active{transform:scale(.97)}
.pill-teal{background:var(--teal);color:#fff;box-shadow:0 6px 20px -8px rgba(13,148,136,.7)}
.pill-teal:hover{background:var(--teal-d)}
.pill-ghost{background:transparent;color:var(--teal);padding-left:4px;padding-right:4px}
.pill-ghost .ico{transition:transform .3s var(--ease)}
.pill-ghost:hover .ico{transform:translateX(3px)}

/* ---------- Type ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--teal);letter-spacing:0}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--teal-2);box-shadow:0 0 0 0 rgba(20,184,166,.6);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(20,184,166,.55)}70%{box-shadow:0 0 0 10px rgba(20,184,166,0)}100%{box-shadow:0 0 0 0 rgba(20,184,166,0)}}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.035em;line-height:1.05}
.display{font-size:clamp(3.1rem,8.6vw,7.4rem);letter-spacing:-.05em;line-height:.98}
.h2{font-size:clamp(2.3rem,5.6vw,4.4rem);letter-spacing:-.045em}
.h3{font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.03em;line-height:1.12}
.lead{font-size:clamp(1.15rem,1.9vw,1.5rem);line-height:1.38;color:var(--muted);letter-spacing:-.018em;font-weight:450}
.grad{background:linear-gradient(100deg,var(--teal-d) 0%,var(--teal) 30%,var(--teal-2) 60%,var(--teal-3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-theme="dark"] .grad{background-image:linear-gradient(100deg,#5EEAD4 0%,#2DD4BF 35%,#14B8A6 70%,#99F6E4 100%)}
.muted{color:var(--muted)}
.center{text-align:center}

/* ---------- Sections ---------- */
section{position:relative}
.sec{padding:clamp(96px,14vw,180px) 0}
.sec-head{max-width:820px;margin:0 auto clamp(48px,7vw,88px);text-align:center}
.sec-head .lead{margin:22px auto 0;max-width:640px}
.alt{background:var(--bg-2)}

/* ---------- Hero ---------- */
.hero{padding:clamp(72px,8vw,96px) 0 0;text-align:center;overflow:hidden;background:var(--hero-glow)}
.hero .display{margin:18px auto 0;max-width:12ch}
.hero .lead{margin:26px auto 0;max-width:620px}
.hero-cta{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:36px;flex-wrap:wrap}
.store-badge{display:inline-flex;align-items:center;gap:12px;background:var(--text);color:var(--bg);border-radius:14px;padding:10px 20px 10px 16px;text-align:left;line-height:1.1;border:1px solid var(--line);transition:transform .35s var(--spring)}
.store-badge:hover{text-decoration:none;transform:translateY(-2px)}
.store-badge .ico{width:26px;height:26px}
.store-badge small{display:block;font-size:11px;opacity:.75;font-weight:500;letter-spacing:.01em}
.store-badge strong{font-size:18px;font-weight:600;letter-spacing:-.02em}
.hero-stage{position:relative;height:clamp(520px,60vw,760px);margin-top:clamp(44px,5vw,64px)}
.hero-stage .hp{position:absolute;left:50%;top:0}
.hero-stage .hp .phone{--pw:inherit}
.hero-stage .p-center{--pw:clamp(270px,26vw,330px);transform:translateX(-50%);z-index:3}
.hero-stage .p-left{--pw:clamp(240px,23vw,300px);transform:translateX(-50%) translateX(calc(var(--pw)*-0.95)) translateY(70px) rotate(-6deg);z-index:2}
.hero-stage .p-right{--pw:clamp(240px,23vw,300px);transform:translateX(-50%) translateX(calc(var(--pw)*0.95)) translateY(70px) rotate(6deg);z-index:2}
.hero-stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(to bottom,transparent,var(--bg));z-index:4;pointer-events:none}
.hero-note{font-size:12px;color:var(--faint);margin:0 0 28px}

/* ---------- Pillar ribbon ---------- */
.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:22px 0;background:var(--bg)}
.ribbon-track{display:flex;gap:56px;width:max-content;animation:marquee 38s linear infinite}
.ribbon span{display:inline-flex;align-items:center;gap:12px;font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:650;letter-spacing:-.03em;color:var(--muted);white-space:nowrap}
.ribbon span .ico{color:var(--teal);width:26px;height:26px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Story (sticky phone) ---------- */
.story{display:grid;grid-template-columns:1fr minmax(300px,380px);gap:clamp(40px,8vw,120px);align-items:start}
.story-steps{padding:10vh 0}
.step{min-height:78vh;display:flex;flex-direction:column;justify-content:center;opacity:.25;transform:translateY(0);transition:opacity .6s var(--ease)}
.step.active{opacity:1}
.step .tag{display:inline-flex;align-items:center;gap:8px;font-weight:650;font-size:15px;color:var(--teal);margin-bottom:16px}
.step .tag .ico{width:20px;height:20px}
.step h3{font-size:clamp(2rem,4.4vw,3.4rem);letter-spacing:-.045em;line-height:1.04;margin-bottom:20px}
.step p{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--muted);max-width:30em;margin:0 0 16px}
.step ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:10px}
.step li{display:flex;gap:10px;align-items:flex-start;font-size:16px;color:var(--text)}
.step li .ico{color:var(--teal);margin-top:4px}
.story-phone{position:sticky;top:calc(50vh - min(41vh,390px));height:min(82vh,780px);display:flex;align-items:center;justify-content:center}
.story-phone .phone{--pw:min(340px,calc(82vh * .46))}
.step .inline-phone{display:none}

/* ---------- Bento ---------- */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.tile{position:relative;background:var(--card);border-radius:28px;padding:32px;overflow:hidden;border:1px solid var(--line);min-height:260px;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.alt .tile{background:var(--card)}
.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.tile .ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;background:var(--teal);font-size:22px;margin-bottom:20px}
.tile h3{font-size:clamp(1.3rem,2vw,1.6rem);letter-spacing:-.03em;margin-bottom:10px;line-height:1.15}
.tile p{margin:0;color:var(--muted);font-size:16px}
.tile .flag{position:absolute;top:22px;right:22px;font-size:11px;font-weight:650;letter-spacing:.02em;color:var(--teal);background:color-mix(in srgb,var(--teal) 12%,transparent);padding:4px 10px;border-radius:999px}
.t-3{grid-column:span 3}.t-2{grid-column:span 2}.t-4{grid-column:span 4}.t-6{grid-column:span 6}
.tile .viz{margin-top:auto;padding-top:24px}
/* split viz */
.split-viz{display:flex;gap:8px}
.split-viz .seg{flex:1;border-radius:12px;padding:12px;background:var(--card-2);font-size:13px;color:var(--muted);transition:background .4s}
.split-viz .seg b{display:block;font-size:20px;color:var(--text);letter-spacing:-.02em}
.methods{display:inline-flex;background:var(--card-2);border-radius:12px;padding:4px;gap:2px;margin-bottom:12px}
.methods button{appearance:none;border:0;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--muted);padding:6px 12px;border-radius:9px;cursor:pointer;transition:all .3s var(--ease)}
.methods button[aria-pressed="true"]{background:var(--card);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.12)}
html[data-theme="dark"] .methods button[aria-pressed="true"]{background:#2a2b30}
/* reminder chips */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--c) 14%,transparent);color:var(--c)}
.chip i{width:7px;height:7px;border-radius:50%;background:var(--c)}
/* haptic tile */
.haptic-dot{width:64px;height:64px;border-radius:50%;background:var(--teal);margin:0 auto;position:relative;cursor:pointer;border:0;display:block}
.haptic-dot::before,.haptic-dot::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--teal-2);opacity:0}
.haptic-dot.buzz{animation:buzz .32s var(--ease)}
.haptic-dot.buzz::before{animation:ring 1s var(--ease)}
.haptic-dot.buzz::after{animation:ring 1s .15s var(--ease)}
@keyframes buzz{0%,100%{transform:translateX(0)}20%{transform:translateX(-3px)}40%{transform:translateX(3px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}
@keyframes ring{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(2.1)}}
/* quick actions */
.qa{background:var(--glass);border:1px solid var(--line);border-radius:18px;overflow:hidden;max-width:260px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow)}
.qa div{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;font-size:15px;border-top:1px solid var(--line)}
.qa div:first-child{border-top:0}
.qa .ico{color:var(--text);opacity:.8}
.app-ic{width:56px;height:56px;border-radius:14px;margin-top:12px}
.qa-wrap{display:flex;flex-direction:column;align-items:flex-start}

/* ---------- Modes ---------- */
.modes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:center}
.seg-ctl{display:inline-flex;background:var(--bg-2);border-radius:999px;padding:5px;position:relative;margin:28px 0 30px;border:1px solid var(--line)}
.alt .seg-ctl{background:var(--card)}
.seg-ctl button{position:relative;z-index:1;appearance:none;border:0;background:transparent;font:inherit;font-weight:600;font-size:15px;color:var(--muted);padding:10px 22px;border-radius:999px;cursor:pointer;display:flex;gap:8px;align-items:center;transition:color .35s}
.seg-ctl button[aria-pressed="true"]{color:#fff}
.seg-ctl .thumb{position:absolute;top:5px;bottom:5px;left:5px;border-radius:999px;background:var(--teal);transition:transform .55s var(--spring),width .55s var(--spring);box-shadow:0 6px 16px -6px rgba(13,148,136,.8)}
.mode-copy{display:grid}
.mode-copy > div{grid-area:1/1;transition:opacity .45s var(--ease),transform .55s var(--ease)}
.mode-copy > div[hidden]{display:block;opacity:0;transform:translateY(12px);pointer-events:none;visibility:hidden}
.mode-copy h3{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:14px}
.mode-copy p{color:var(--muted);margin:0 0 14px;font-size:18px}
.mode-copy ul{padding:0;margin:0;list-style:none;display:grid;gap:10px}
.mode-copy li{display:flex;gap:10px}.mode-copy li .ico{color:var(--teal);margin-top:4px}
.modes .phone{--pw:min(340px,78vw);margin:0 auto}

/* ---------- Sync ---------- */
.sync-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.sync-card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:32px}
.sync-card .ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--teal) 14%,transparent);color:var(--teal);font-size:22px;margin-bottom:18px}
.sync-card h3{font-size:1.35rem;letter-spacing:-.025em;margin-bottom:8px}
.sync-card p{margin:0;color:var(--muted);font-size:16px}
.sync-demo{background:linear-gradient(135deg,#042f2e,#0f766e 55%,#0D9488);border-radius:32px;padding:clamp(28px,5vw,56px);color:#fff;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;overflow:hidden;position:relative}
.sync-demo h3{font-size:clamp(1.8rem,3.4vw,2.8rem);letter-spacing:-.04em}
.sync-demo p{color:rgba(255,255,255,.78);font-size:18px;margin:16px 0 0;max-width:30em}
.queue{display:grid;gap:10px;position:relative}
.q-status{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.12);width:max-content;transition:background .4s}
.q-status .led{width:9px;height:9px;border-radius:50%;background:var(--amber);transition:background .4s}
.q-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:16px;font-size:15px;transition:transform .6s var(--ease),opacity .6s var(--ease),background .4s}
.q-item small{opacity:.7;font-size:12px;white-space:nowrap}
.queue.synced .q-status .led{background:#34D399}
.queue.synced .q-item{background:rgba(52,211,153,.16);border-color:rgba(52,211,153,.35)}
.queue .q-item .ok{display:none}.queue.synced .q-item .ok{display:inline}.queue.synced .q-item .wait{display:none}

/* ---------- Premium ---------- */
.premium{border-radius:36px;padding:clamp(40px,7vw,88px);text-align:center;background:radial-gradient(120% 120% at 50% 0%,color-mix(in srgb,var(--amber) 22%,transparent),transparent 60%),var(--card);border:1px solid var(--line);position:relative;overflow:hidden}
.premium .crown{width:72px;height:72px;margin:0 auto 26px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#F59E0B,#FBBF24);color:#fff;font-size:34px;box-shadow:0 18px 40px -16px rgba(245,158,11,.8)}
.premium .lead{max-width:600px;margin:20px auto 0}
.premium .fine{font-size:13px;color:var(--faint);margin-top:26px}

/* ---------- CTA ---------- */
.cta{text-align:center;padding:clamp(110px,16vw,200px) 0;background:radial-gradient(50% 60% at 50% 100%,rgba(20,184,166,.2),transparent 70%)}
.cta .mark{width:96px;height:96px;margin:0 auto 32px;filter:drop-shadow(0 20px 40px rgba(13,148,136,.45))}
.cta .lead{margin:22px auto 34px;max-width:560px}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-size:clamp(1.1rem,1.8vw,1.35rem);font-weight:600;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ico{transition:transform .45s var(--ease);color:var(--muted);width:22px;height:22px}
.faq details[open] summary .ico{transform:rotate(45deg)}
.faq .ans{overflow:hidden;color:var(--muted);font-size:17px}
.faq .ans p{margin:0 0 24px;max-width:42em}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--line);padding:40px 0 56px;font-size:13px;color:var(--faint);background:var(--bg-2)}
footer .wrap{display:flex;flex-wrap:wrap;gap:18px 36px;align-items:center;justify-content:space-between}
footer nav{display:flex;gap:24px;flex-wrap:wrap}
footer a{color:var(--muted)}
footer .ft-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 24px;width:100%;padding-bottom:22px;border-bottom:1px solid var(--line)}
.social{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.social a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--muted);transition:color .25s var(--ease),background-color .25s var(--ease),transform .35s var(--spring)}
.social .bico{width:18px;height:18px}
.social a:hover{color:var(--text);background:var(--line);transform:translateY(-1px)}
.social a:focus-visible{outline:2px solid var(--teal);outline-offset:2px;color:var(--text)}
.bico{flex:none;display:block}
.follow-list{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.follow-list a{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--bg-2);border:1px solid var(--line);color:var(--text);text-decoration:none;transition:border-color .25s var(--ease),transform .35s var(--spring)}
.follow-list a:hover{border-color:var(--teal);transform:translateY(-1px)}
.follow-list .bico{width:20px;height:20px;color:var(--text)}
.follow-list .fl-name{font-weight:600;font-size:15px}
.legal .follow-list li{margin:0;font-size:15px}
.follow-list .fl-handle{margin-left:auto;color:var(--muted);font-size:14px}
@media (max-width:480px){.social{gap:2px}.social a{width:44px;height:44px}footer .ft-top .social{margin-left:-4px}}
@media (prefers-reduced-motion:reduce){.social a,.follow-list a{transition:none}.social a:hover,.follow-list a:hover{transform:none}}

/* ---------- Reveal motion ---------- */
.rv{opacity:0;transform:translateY(36px);transition:opacity 1s var(--ease),transform 1.1s var(--ease);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}
.rv-scale{opacity:0;transform:scale(.94);transition:opacity 1.1s var(--ease),transform 1.3s var(--ease);transition-delay:var(--d,0s)}
.rv-scale.in{opacity:1;transform:none}
html.no-js .rv,html.no-js .rv-scale{opacity:1;transform:none}

/* =================== iPhone mockup =================== */
.phone{--pw:320px;width:var(--pw);aspect-ratio:9/19.5;border-radius:calc(var(--pw)*.165);padding:calc(var(--pw)*.034);background:linear-gradient(145deg,#3a3b3f,#1b1c1f 40%,#2b2c30 70%,#111);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.12),inset 0 0 0 calc(var(--pw)*.012) #0a0a0b,var(--shadow);position:relative;flex:none;container-type:inline-size}
.phone::before{content:"";position:absolute;right:calc(var(--pw)*-.009);top:30%;width:calc(var(--pw)*.012);height:12%;border-radius:2px;background:#26272b}
.screen{position:relative;width:100%;height:100%;border-radius:calc(var(--pw)*.133);overflow:hidden;container-type:inline-size;background:var(--a-bg);isolation:isolate;
  --a-bg:#F8FAFC;--a-card:#ffffff;--a-text:#0F172A;--a-muted:#64748B;--a-faint:#94A3B8;--a-line:#E2E8F0;--a-chip:#ffffff;--a-seg:#F1F5F9;--a-segon:#ffffff;--a-bar:rgba(255,255,255,.92)}
html[data-theme="dark"] .screen{--a-bg:#020617;--a-card:#0F172A;--a-text:#ffffff;--a-muted:#94A3B8;--a-faint:#64748B;--a-line:#1E293B;--a-chip:#0F172A;--a-seg:#1E293B;--a-segon:#334155;--a-bar:rgba(15,23,42,.92)}
.screen{text-align:left;--u:calc(100cqw / 390);font-size:calc(15 * var(--u));color:var(--a-text);line-height:1.3;letter-spacing:-.01em;font-family:var(--font)}
.island{position:absolute;top:calc(11 * var(--u));left:50%;transform:translateX(-50%);width:calc(122 * var(--u));height:calc(36 * var(--u));background:#000;border-radius:999px;z-index:20}
.sbar{position:absolute;top:0;left:0;right:0;height:calc(54 * var(--u));display:flex;justify-content:space-between;align-items:center;padding:calc(6 * var(--u)) calc(34 * var(--u)) 0;font-weight:600;font-size:calc(16 * var(--u));z-index:19;color:var(--a-text)}
.sbar .r{display:flex;gap:calc(6 * var(--u));align-items:center}
.sbar .bat{width:calc(25 * var(--u));height:calc(12 * var(--u));border:calc(1.3 * var(--u)) solid currentColor;border-radius:calc(4 * var(--u));opacity:.9;position:relative;padding:calc(1.5*var(--u))}
.sbar .bat::after{content:"";display:block;height:100%;width:80%;background:currentColor;border-radius:calc(1.5*var(--u))}
.sbar .sig{display:flex;gap:calc(2*var(--u));align-items:flex-end;height:calc(11*var(--u))}
.sbar .sig i{display:block;width:calc(3*var(--u));background:currentColor;border-radius:1px}
.sbar .sig i:nth-child(1){height:35%}.sbar .sig i:nth-child(2){height:55%}.sbar .sig i:nth-child(3){height:78%}.sbar .sig i:nth-child(4){height:100%}
.scr{position:absolute;inset:0;padding-top:calc(58 * var(--u));overflow:hidden;background:var(--a-bg);transition:transform .7s var(--ease),opacity .55s var(--ease)}
.app-pad{padding:0 calc(16 * var(--u))}
.hdr{margin:calc(8*var(--u)) calc(16*var(--u)) 0;border-radius:calc(24*var(--u));padding:calc(20*var(--u));background:linear-gradient(180deg,#0D9488,#14B8A6);color:#fff}
.hdr.h-teal-em{background:linear-gradient(180deg,#0D9488,#10B981)}
.hdr .k{font-size:calc(14*var(--u));font-weight:500;color:#CCFBF1}
.hdr .v{font-size:calc(24*var(--u));font-weight:700;margin-top:calc(2*var(--u));letter-spacing:-.02em}
.hdr .big{font-size:calc(36*var(--u));font-weight:700;letter-spacing:-.03em;margin-top:calc(8*var(--u))}
.hdr .s{font-size:calc(12*var(--u));color:#F0FDFA;margin-top:calc(6*var(--u))}
.row{display:flex;align-items:center;justify-content:space-between}
.hbtns{display:flex;gap:calc(10*var(--u))}
.hbtn{width:calc(40*var(--u));height:calc(40*var(--u));border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:calc(19*var(--u))}
.hbtn .ico{stroke:#fff}
.pbar{height:calc(8*var(--u));border-radius:999px;background:rgba(255,255,255,.3);margin-top:calc(16*var(--u));overflow:hidden}
.pbar i{display:block;height:100%;border-radius:999px;background:#fff;width:var(--p,40%);transition:width 1.4s var(--ease)}
.pbar.t{background:var(--a-seg);margin-top:calc(12*var(--u))}.pbar.t i{background:#0D9488}
.chiprow{display:flex;gap:calc(8*var(--u));padding:calc(16*var(--u));overflow:hidden}
.fchip{flex:none;min-height:calc(36*var(--u));display:flex;align-items:center;padding:0 calc(16*var(--u));border-radius:999px;border:1px solid var(--a-line);background:var(--a-chip);font-size:calc(14*var(--u));font-weight:500;color:var(--a-muted)}
.fchip.on{background:#0D9488;border-color:#0D9488;color:#fff}
.cards{display:grid;gap:calc(12*var(--u));padding:0 calc(16*var(--u))}
.card{background:var(--a-card);border-radius:calc(20*var(--u));padding:calc(16*var(--u));box-shadow:0 1px 2px rgba(15,23,42,.05),0 1px 1px rgba(15,23,42,.03)}
html[data-theme="dark"] .card{box-shadow:none}
.card .t{font-size:calc(16*var(--u));font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card .t.done{color:var(--a-faint);text-decoration:line-through}
.card .sub{font-size:calc(12*var(--u));color:var(--a-muted);margin-top:calc(6*var(--u))}
.badges{display:flex;align-items:center;gap:calc(8*var(--u));margin-top:calc(6*var(--u))}
.badges>*{flex:none}
.bdg{display:inline-block;white-space:nowrap;font-size:calc(11*var(--u));font-weight:600;padding:calc(2*var(--u)) calc(8*var(--u));border-radius:999px;background:color-mix(in srgb,var(--c,#0D9488) 14%,transparent);color:var(--c,#0D9488);text-transform:capitalize}
.av{width:calc(var(--s,36)*var(--u));height:calc(var(--s,36)*var(--u));border-radius:50%;background:var(--c,#0D9488);color:#fff;display:grid;place-items:center;font-weight:700;font-size:calc(var(--s,36)*.38*var(--u));flex:none;border:calc(2*var(--u)) solid var(--a-card)}
.secth{display:flex;justify-content:space-between;align-items:center;margin:calc(22*var(--u)) 0 calc(12*var(--u));font-size:calc(18*var(--u));font-weight:700}
.secth a{font-size:calc(14*var(--u));font-weight:500;color:#0D9488}
.amt{font-size:calc(16*var(--u));font-weight:700}
.pos{color:#10B981}.neg{color:#EF4444}
.fab{position:absolute;right:calc(20*var(--u));bottom:calc(104*var(--u));width:calc(56*var(--u));height:calc(56*var(--u));border-radius:50%;background:#0D9488;display:grid;place-items:center;box-shadow:0 8px 20px -6px rgba(13,148,136,.7);z-index:5;font-size:calc(26*var(--u))}
.fab .ico{stroke:#fff}
.tabbar{position:absolute;left:0;right:0;bottom:0;height:calc(86*var(--u));background:var(--a-bar);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--a-line);display:flex;padding-top:calc(8*var(--u));z-index:10}
.tabbar div{flex:1;display:flex;flex-direction:column;align-items:center;gap:calc(4*var(--u));font-size:calc(11*var(--u));font-weight:600;color:#94A3B8;transition:color .45s var(--ease)}
.tabbar .ico{font-size:calc(24*var(--u));transition:transform .45s var(--spring)}
.tabbar div.on{color:#0D9488}
.tabbar div.on .ico{transform:scale(1.08)}
.homebar{position:absolute;bottom:calc(8*var(--u));left:50%;transform:translateX(-50%);width:calc(134*var(--u));height:calc(5*var(--u));border-radius:999px;background:var(--a-text);opacity:.85;z-index:12}
.segc{display:flex;border-radius:calc(16*var(--u));background:var(--a-seg);padding:calc(4*var(--u));margin-bottom:calc(16*var(--u))}
.segc div{flex:1;text-align:center;padding:calc(8*var(--u)) 0;border-radius:calc(12*var(--u));font-size:calc(14*var(--u));font-weight:500;color:var(--a-muted)}
.segc div.on{background:var(--a-segon);color:var(--a-text);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.circ{width:calc(40*var(--u));height:calc(40*var(--u));border-radius:50%;display:grid;place-items:center;font-size:calc(18*var(--u));flex:none}
.navh{display:flex;align-items:center;gap:calc(12*var(--u));padding:calc(8*var(--u)) calc(16*var(--u)) calc(12*var(--u));font-size:calc(20*var(--u));font-weight:700}
.navh .back{color:#0D9488;font-size:calc(24*var(--u))}
.cal{background:var(--a-card);border-radius:calc(20*var(--u));padding:calc(14*var(--u));margin:0 calc(16*var(--u))}
.cal .mh{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:calc(16*var(--u));margin-bottom:calc(10*var(--u))}
.cal .mh span.n{width:calc(32*var(--u));height:calc(32*var(--u));border-radius:50%;background:var(--a-seg);display:grid;place-items:center;color:var(--a-muted);font-weight:700}
.cal .g{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;row-gap:calc(4*var(--u))}
.cal .wd{font-size:calc(12*var(--u));font-weight:600;color:var(--a-faint);padding-bottom:calc(4*var(--u))}
.cal .d{font-size:calc(14*var(--u));height:calc(38*var(--u));display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:calc(12*var(--u));position:relative;font-weight:500}
.cal .d.sel{background:#0D9488;color:#fff;font-weight:700}
.cal .d.today{color:#0D9488;font-weight:700}
.cal .d .dots{display:flex;gap:calc(2*var(--u));position:absolute;bottom:calc(4*var(--u))}
.cal .d .dots i{width:calc(4*var(--u));height:calc(4*var(--u));border-radius:50%;background:var(--c)}
.cal .d.sel .dots i{background:#fff}
.cal .d.mute{color:var(--a-faint);opacity:.5}
.rem{display:flex;gap:calc(12*var(--u));align-items:center}
.rem .bar{width:calc(4*var(--u));align-self:stretch;border-radius:4px;background:var(--c)}
.bubbles{display:flex;flex-direction:column;gap:calc(10*var(--u));padding:calc(4*var(--u)) calc(16*var(--u))}
.msg{max-width:76%;display:flex;gap:calc(8*var(--u));align-items:flex-end}
.msg .b{padding:calc(10*var(--u)) calc(14*var(--u));border-radius:calc(20*var(--u));background:var(--a-card);font-size:calc(15*var(--u));box-shadow:0 1px 2px rgba(15,23,42,.06)}
.msg .who{font-size:calc(11*var(--u));color:var(--a-muted);margin:0 0 calc(3*var(--u)) calc(6*var(--u))}
.msg.me{align-self:flex-end}.msg.me .b{background:#0D9488;color:#fff;border-bottom-right-radius:calc(6*var(--u))}
.msg:not(.me) .b{border-bottom-left-radius:calc(6*var(--u))}
.msg .tm{font-size:calc(10*var(--u));color:var(--a-faint);margin-top:calc(3*var(--u));text-align:right}
.composer{position:absolute;left:0;right:0;bottom:0;padding:calc(10*var(--u)) calc(16*var(--u)) calc(30*var(--u));background:var(--a-bar);border-top:1px solid var(--a-line);display:flex;gap:calc(10*var(--u));align-items:center;z-index:10}
.composer .in{flex:1;height:calc(40*var(--u));border-radius:999px;background:var(--a-seg);display:flex;align-items:center;padding:0 calc(16*var(--u));color:var(--a-faint)}
.composer .send{width:calc(40*var(--u));height:calc(40*var(--u));border-radius:50%;background:#0D9488;display:grid;place-items:center}
.composer .send .ico{stroke:#fff;font-size:calc(18*var(--u))}
.modecards{display:flex;gap:calc(12*var(--u))}
.mcard{flex:1;display:flex;flex-direction:column;align-items:center;padding:calc(20*var(--u));border-radius:calc(24*var(--u));border:calc(2*var(--u)) solid var(--a-line);background:var(--a-card);transition:all .5s var(--ease)}
.mcard .ico{font-size:calc(32*var(--u));color:#94A3B8;transition:color .5s}
.mcard b{margin-top:calc(8*var(--u));font-size:calc(16*var(--u));color:var(--a-muted);transition:color .5s}
.mcard small{font-size:calc(12*var(--u));color:var(--a-faint);margin-top:calc(2*var(--u))}
.mcard.on{border-color:#0D9488;background:#F0FDFA}
html[data-theme="dark"] .mcard.on{background:rgba(19,78,74,.3)}
.mcard.on .ico{color:#0D9488}.mcard.on b{color:#0F766E}
html[data-theme="dark"] .mcard.on b{color:#5EEAD4}
.jcode{margin-top:calc(16*var(--u));display:flex;align-items:center;gap:calc(8*var(--u));background:rgba(255,255,255,.15);border-radius:calc(16*var(--u));padding:calc(12*var(--u))}
.jcode .k{font-size:calc(11*var(--u));text-transform:uppercase;letter-spacing:.06em}
.jcode .code{font-size:calc(18*var(--u));font-weight:700;letter-spacing:calc(4*var(--u))}
.collapse{display:grid;grid-template-rows:1fr;transition:grid-template-rows .6s var(--ease),opacity .5s var(--ease),margin .6s var(--ease)}
.collapse>div{overflow:hidden}
.collapse.shut{grid-template-rows:0fr;opacity:0}
.btnrow{display:flex;gap:calc(12*var(--u));margin-top:calc(20*var(--u))}
.abtn{flex:1;height:calc(48*var(--u));border-radius:calc(16*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(8*var(--u));font-weight:600;font-size:calc(15*var(--u));background:#0D9488;color:#fff}
.abtn2{background:#F0FDFA;color:#0D9488}
html[data-theme="dark"] .abtn2{background:rgba(19,78,74,.35);color:#5EEAD4}
.h1t{font-size:calc(24*var(--u));font-weight:700;letter-spacing:-.02em}
.p-sub{font-size:calc(14*var(--u));color:var(--a-muted);margin:calc(2*var(--u)) 0 calc(16*var(--u))}
.basket{display:flex;align-items:center;justify-content:space-between}
.ckl{display:flex;align-items:center;gap:calc(12*var(--u));padding:calc(12*var(--u)) 0;border-top:1px solid var(--a-line);font-size:calc(15*var(--u))}
.ckl:first-child{border-top:0}
.ck{width:calc(22*var(--u));height:calc(22*var(--u));border-radius:50%;border:calc(2*var(--u)) solid var(--a-line);display:grid;place-items:center;flex:none;transition:all .4s var(--spring)}
.ck.on{background:#0D9488;border-color:#0D9488}
.ck .ico{stroke:#fff;font-size:calc(13*var(--u));stroke-width:3;opacity:0;transform:scale(.4);transition:all .4s var(--spring)}
.ck.on .ico{opacity:1;transform:none}
.ckl.on span{color:var(--a-faint);text-decoration:line-through}

/* story phone screen stack */
.stack .scr{transform:translateX(100%);opacity:1;visibility:hidden}
.stack .scr.cur{transform:none;visibility:visible;z-index:2}
.stack .scr.prev{transform:translateX(-28%);visibility:visible;opacity:.0;z-index:1}
.stack .scr.anim{transition:transform .7s var(--ease),opacity .7s var(--ease),visibility 0s .7s}
.stack .scr.cur.anim{transition:transform .7s var(--ease),opacity .7s var(--ease),visibility 0s}
.stack .scr.fade{transform:scale(.96);opacity:0}

/* ---------- Legal pages ---------- */
.legal{max-width:760px;margin:0 auto;padding:clamp(56px,8vw,96px) 24px 120px}
.legal h1{font-size:clamp(2.4rem,5vw,3.6rem);letter-spacing:-.045em;margin-bottom:12px}
.legal h2{font-size:1.5rem;letter-spacing:-.025em;margin:48px 0 12px;line-height:1.2}
.legal h3{font-size:1.15rem;letter-spacing:-.015em;margin:28px 0 8px}
.legal p,.legal li{color:var(--muted);font-size:17px}
.legal li{margin:6px 0}
.legal strong{color:var(--text)}
.legal table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px}
.legal th,.legal td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.legal th{color:var(--text);font-weight:600}
.legal td{color:var(--muted)}
.draft{display:flex;gap:12px;align-items:flex-start;background:color-mix(in srgb,var(--amber) 14%,transparent);border:1px solid color-mix(in srgb,var(--amber) 40%,transparent);color:var(--text);border-radius:16px;padding:14px 18px;font-size:15px;margin:20px 0 8px}
.ph{background:color-mix(in srgb,var(--amber) 22%,transparent);color:var(--text);padding:1px 6px;border-radius:6px;font-weight:600;font-size:.92em}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.support-grid .sync-card h3{font-size:1.15rem}
.mailbox{display:flex;align-items:center;gap:18px;background:var(--bg-2);border:1px solid var(--line);border-radius:24px;padding:24px;margin:28px 0}
.mailbox .ic{width:52px;height:52px;border-radius:16px;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:24px;flex:none}
.mailbox a{font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:650;letter-spacing:-.02em}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .story{grid-template-columns:1fr}
  .story-phone{display:none}
  .step{min-height:auto;opacity:1;padding:56px 0;border-top:1px solid var(--line)}
  .step:first-child{border-top:0}
  .step .inline-phone{display:flex;justify-content:center;margin-top:36px}
  .step .inline-phone .phone{--pw:min(300px,74vw)}
  .story-steps{padding:0}
  .modes{grid-template-columns:1fr}
  .sync-demo{grid-template-columns:1fr}
  .t-2{grid-column:span 3}.t-4{grid-column:span 6}
}
@media (max-width:820px){
  .nav ul{display:none}
  .nav .actions{margin-left:auto}
  .hero-stage .p-left,.hero-stage .p-right{display:none}
  .hero-stage{height:clamp(480px,140vw,640px)}
  .hero-stage .p-center{--pw:min(300px,74vw)}
  .sync-grid{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr}
  .t-2,.t-3,.t-4,.t-6{grid-column:auto}
  .support-grid{grid-template-columns:1fr}
}
@media (max-width:480px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  .tile{padding:26px;border-radius:24px}
  .seg-ctl button{padding:10px 16px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv,.rv-scale{opacity:1;transform:none}
  .ribbon-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}
  [data-parallax]{transform:none!important}
}
.stack.notabs .tabbar{transform:translateY(105%)}
.stack .tabbar{transition:transform .6s var(--ease)}
.stack.notabs .homebar{background:var(--a-text)}
.stack .fab{transition:opacity .4s}
.premium .perks{list-style:none;padding:0;margin:28px auto 8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px 28px;max-width:640px;text-align:left}
.premium .perks li{display:flex;gap:10px;align-items:flex-start;line-height:1.35;font-size:17px}
.premium .perks .ico{color:var(--teal,#0D9488);width:18px;height:18px;flex:none;margin-top:2px}
