/* KeshSetu landing v3 — centered editorial hero, dark product stage, peach accents. */
:root{--bg:#fbfaf9;--card:#fff;--ink:#141211;--muted:#6b6663;--line:#ece8e5;--peach:#f7b8a0;--peach2:#f4a487;--peach-d:#d0714d;--peach-s:#fde5da;--peach-xs:#fef4ef;--dark:#1d1b1a;--wa:#25d366;
  --ui:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--disp:'Inter',system-ui,sans-serif;--it:'Instrument Serif',Georgia,serif;
  --sh:0 1px 2px rgba(40,30,25,.04),0 14px 36px -16px rgba(40,30,25,.18);--r:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg{display:block}
button,input,select{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid rgba(208,113,77,.45);outline-offset:3px}
.skip{position:fixed;top:-60px;left:16px;z-index:100;background:#fff;padding:10px 16px;border-radius:9px}.skip:focus{top:12px}
.wrap{max-width:1320px;margin:0 auto;padding:0 32px}
h1,h2,h3{text-wrap:balance;margin:0;font-family:var(--disp);letter-spacing:-.02em}
.muted{color:var(--muted)}
.cap{font-size:12px;color:var(--muted);text-align:center;margin:14px 0 0}

/* nav */
.nav{height:84px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}
.logo img{height:46px;width:auto}
.nav nav{display:flex;gap:48px;font-size:15px;margin:0 auto;color:#2c2826}
.nav nav a:hover{color:var(--peach-d)}
.nav-right{display:flex;gap:14px;align-items:center}
.menu-btn{display:none;border:0;background:transparent;margin-left:auto;padding:8px}
.menu-btn svg{width:24px;height:24px}

/* buttons */
.btn{height:50px;border-radius:10px;padding:0 26px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;border:1px solid transparent;transition:transform .2s,background .2s,box-shadow .2s;white-space:nowrap;font-size:16px}
.btn:active{transform:translateY(1px)}
.btn svg{width:17px;height:17px}
.btn-dark{background:var(--ink);color:#fff;box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.btn-dark:hover{background:#2c2826;transform:translateY(-2px)}
.btn-peach{background:var(--peach);color:#1c120d}
.btn-peach:hover{background:var(--peach2);transform:translateY(-2px)}
.btn-line{border-color:#bdb6b2;background:#fff;color:var(--ink)}
.btn-line:hover{border-color:var(--ink)}
.btn-sm{height:44px;padding:0 18px;font-size:15px}
.btn[disabled]{opacity:.55;pointer-events:none}

/* hero */
.hero{text-align:center;padding:40px 0 0;position:relative}
.hero::before{content:"";position:absolute;inset:0 0 auto;height:560px;background:radial-gradient(50% 60% at 50% 70%,rgba(247,184,160,.28),transparent 70%);z-index:-1}
.eyebrow{font-size:11.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin:0}
.hero h1{font-weight:700;font-size:clamp(46px,6.6vw,96px);line-height:.98;letter-spacing:-.025em;margin:18px auto 0}
.hero h1 em{font-family:var(--it);font-weight:400;letter-spacing:-.02em;font-size:1.06em}
.hero .sub{font-size:clamp(17px,1.5vw,21px);color:#4a4542;margin:16px 0 0}
.hero .actions{display:flex;gap:16px;justify-content:center;margin-top:28px;flex-wrap:wrap}
.tagline{font-style:italic;color:var(--muted);margin:16px 0 0;font-size:15px}

/* stage */
.stage{position:relative;margin-top:22px;border-radius:26px;background:radial-gradient(60% 90% at 15% 100%,rgba(244,164,135,.4),transparent 60%),radial-gradient(40% 70% at 85% 40%,rgba(244,164,135,.3),transparent 70%),linear-gradient(160deg,#2a2725,#141211 70%);padding:44px 48px 40px 64px;display:grid;grid-template-columns:1fr 250px;gap:34px;align-items:center}
.stage .lbl{position:absolute;left:22px;bottom:12px;color:#d8d0cc;font-size:12.5px}
.tablet{background:#3b3735;padding:12px;border-radius:22px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.app{background:#fff;border-radius:14px;display:grid;grid-template-columns:180px 1fr;overflow:hidden;min-height:480px}
.app aside{background:#f8f6f5;padding:18px 10px;display:flex;flex-direction:column;gap:2px;font-size:13.5px;color:#3b3735}
.app aside .logo img{height:36px;margin:0 8px 20px}
.app aside span{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px}
.app aside span svg{width:18px;height:18px}
.app aside span.on{background:var(--peach-s);font-weight:600}
.app-main{padding:22px 24px}
.app-top{display:flex;align-items:center;gap:14px}
.app-top h3{font-size:22px;letter-spacing:-.015em;margin-right:auto}
.search{width:110px;height:32px;border-radius:8px;background:#f3f1ef}
.app-top svg{width:20px;height:20px}
.avi{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none}
.avi.lg{width:46px;height:46px}
.avi.xl{width:110px;height:110px}
.toolbar{display:flex;align-items:center;gap:8px;margin:14px 0 6px;font-size:13px}
.box{border:1px solid var(--line);border-radius:7px;height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:6px}
.box svg{width:14px;height:14px}
.seg{margin-left:auto;display:flex;gap:6px}
.seg span{border:1px solid var(--line);border-radius:7px;height:32px;padding:0 18px;display:inline-flex;align-items:center}
.seg span.on{background:var(--peach-s);border-color:transparent;font-weight:600}
.cal{display:grid;grid-template-columns:44px repeat(3,1fr);font-size:12px}
.cal .hd{display:flex;flex-direction:column;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);border-left:1px solid var(--line);font-weight:600}
.cal .hd small{font-weight:400;color:var(--muted);font-size:11px}
.cal .hd img{margin-bottom:4px}
.cal .times{display:flex;flex-direction:column;justify-content:space-between;color:var(--muted);font-size:11.5px;padding:10px 0}
.col{border-left:1px solid var(--line);padding:6px;display:flex;flex-direction:column;gap:6px}
.ev{border-radius:6px;padding:7px 9px;line-height:1.3;font-weight:600;height:var(--h,36px)}
.ev small{display:block;font-weight:400;color:#5f5955;font-size:11px}
.ev.p{background:#fcd9c9}.ev.b{background:#d7e6fb}.ev.g{background:#dbf0d6}.ev.v{background:#e5ddfa}.ev.k{background:#f8d9f6}
.ev.e{background:#f3f1ef;font-weight:400}

.phone{background:#111;border-radius:40px;padding:9px;box-shadow:0 30px 60px -20px rgba(0,0,0,.7),inset 0 0 0 2px #444}
.screen{background:#fff;border-radius:32px;padding:12px 12px 14px;font-size:11.5px;position:relative}
.notch{width:76px;height:20px;background:#111;border-radius:12px;margin:0 auto 8px}
.ph-h{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.ph-h b{display:block;font-size:12px}.ph-h small{color:var(--muted);font-size:10px}
.step{display:flex;align-items:center;gap:8px;font-weight:600;margin:10px 0 7px}
.step i{font-style:normal;width:17px;height:17px;border-radius:50%;background:var(--peach-s);display:grid;place-items:center;font-size:10px}
.svcs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.svcs span{border:1px solid var(--line);border-radius:8px;padding:7px 2px;text-align:center;font-size:10px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px}
.svcs span svg{width:16px;height:16px;color:var(--ink)}
.svcs span.on{background:var(--peach-s);border-color:#f3c3b0;color:var(--ink);font-weight:600}
.styl{display:flex;justify-content:space-around;text-align:center;font-size:10.5px}
.styl .on img{box-shadow:0 0 0 3px var(--peach-s)}
.styl img{margin:0 auto 3px}
.datebox{border:1px solid var(--line);border-radius:8px;padding:7px 10px;display:flex;justify-content:space-between}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px}
.slots span{border:1px solid var(--line);border-radius:7px;padding:6px 0;text-align:center;font-size:10.5px}
.slots span.on{background:var(--peach-s);border-color:var(--peach);font-weight:700}
.ph-cta{margin-top:10px;background:var(--peach);text-align:center;border-radius:10px;padding:10px;font-weight:700;font-size:12px}
.toast{position:absolute;right:56px;top:-34px;background:#fff;border-radius:14px;box-shadow:var(--sh);padding:14px 18px;display:flex;gap:12px;align-items:center;transform:rotate(-3deg);width:280px;z-index:2}
.toast .wa{width:38px;height:38px;border-radius:10px;background:var(--wa);display:grid;place-items:center;color:#fff;flex:none}
.toast .wa svg{width:22px;height:22px}
.toast b{display:block;font-size:14px}.toast small{color:var(--muted);font-size:12px}
.toast em{position:absolute;right:14px;bottom:8px;font-style:normal;font-size:10px;color:var(--muted)}

.types{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 0;padding:18px 0;border-bottom:1px solid var(--line);margin-top:22px;font-size:15px;color:#3b3735}
.types span:not(:last-child)::after{content:"·";margin:0 22px;color:#aaa}

/* section heads */
.sec{padding:80px 0 0}
.h2{font-size:clamp(32px,3.6vw,52px);font-weight:700;line-height:1.05}
.center{text-align:center}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.pillar{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--sh)}
.pillar header{display:flex;gap:16px;align-items:flex-start;margin-bottom:18px}
.num{width:46px;height:46px;border-radius:50%;background:var(--peach);display:grid;place-items:center;font-weight:700;font-size:18px;flex:none}
.pillar h3{font-size:22px;letter-spacing:-.015em}
.pillar header p{margin:2px 0 0;color:var(--muted);font-size:14.5px}
.inner{border:1px solid var(--line);border-radius:14px;padding:14px;font-size:13.5px}
.inner .cal .col{gap:5px}
.crm{display:flex;align-items:center;gap:22px;margin-bottom:14px}
.crm b{font-size:20px;font-family:var(--disp);letter-spacing:-.02em}
.vip{background:var(--peach-s);color:#b45c3b;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:6px;margin-left:10px}
.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);color:var(--muted);margin-bottom:8px;font-size:14px}
.tabs span{padding:8px 4px}.tabs span.on{color:var(--ink);font-weight:600;border-bottom:2px solid var(--peach2)}
.kv{display:grid;grid-template-columns:44% 1fr;padding:8px 0;border-bottom:1px solid #f3f0ee}
.kv:last-child{border:0}.kv span{color:var(--muted)}
.btabs{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;margin-bottom:10px;color:var(--muted)}
.btabs span{padding:8px;border-radius:8px}.btabs span.on{background:var(--peach-s);color:var(--ink);font-weight:600}
.lines{border:1px solid var(--line);border-radius:10px;padding:0 14px}
.lines div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f3f0ee;font-size:15px}
.lines div:last-child{border:0;color:var(--muted)}
.lines .pct{width:28px;height:28px;border-radius:7px;background:var(--peach-s);color:var(--peach-d);display:inline-grid;place-items:center;font-weight:700;margin-right:12px}
.total{display:flex;justify-content:space-between;font-weight:700;font-size:20px;padding:12px 4px}
.pay{background:var(--peach);border-radius:10px;padding:12px;text-align:center;font-weight:700;font-size:16px}

/* brand */
.brand-sec{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.photos{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-right:150px}
.photos>img{width:100%;aspect-ratio:315/545;object-fit:cover;border-radius:14px}
.photos .phone{position:absolute;right:0;top:4%;width:250px}
.ph-img{width:100%;height:110px;object-fit:cover;border-radius:10px;margin-bottom:8px}
.brand-sec .sub{font-size:20px;color:#4a4542;margin:14px 0 0;max-width:460px}
.flow3{display:flex;align-items:center;gap:14px;margin:34px 0;flex-wrap:wrap}
.flow3 div{display:flex;align-items:center;gap:12px;font-size:16px;line-height:1.3}
.flow3 div small{display:block;color:var(--muted);font-size:15px}
.flow3 b{width:50px;height:50px;border-radius:50%;background:var(--peach-s);display:grid;place-items:center;font-size:19px}
.flow3>svg{width:22px;height:22px;color:#777}

/* connection */
.conn{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.conn h2{font-size:clamp(26px,2.3vw,34px);margin-right:auto}
.conn ol{list-style:none;display:flex;align-items:center;gap:0;margin:0;padding:0;flex-wrap:wrap}
.conn li{display:flex;align-items:center;gap:14px}
.conn li:not(:last-child)::after{content:"";width:70px;height:10px;margin:0 14px;background:radial-gradient(circle,var(--peach2) 4px,transparent 5px) center/10px 10px no-repeat,linear-gradient(90deg,transparent 0,transparent 0) ,repeating-linear-gradient(90deg,#f0b39b 0 5px,transparent 5px 9px) center/100% 1.5px no-repeat}
.conn .ci{width:68px;height:68px;border-radius:50%;background:var(--peach-s);display:grid;place-items:center;color:var(--peach-d)}
.conn .ci svg{width:30px;height:30px}
.conn b{display:block;font-size:17px}.conn small{color:var(--muted);font-size:15px}

/* AI */
.ai{margin-top:36px;border-radius:26px;background:radial-gradient(30% 60% at 0 0,rgba(244,164,135,.4),transparent 70%),radial-gradient(30% 50% at 50% 100%,rgba(244,164,135,.3),transparent 70%),#1d1b1a;color:#fff;padding:44px 44px 30px;display:grid;grid-template-columns:1fr 128px 1.05fr 250px;gap:22px;align-items:center;position:relative}
.ai h2{font-size:clamp(32px,3vw,46px);color:#fff}
.ai>div>p{color:#e3dcd8;font-size:18px;margin:12px 0 0}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.chips span{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:12px 18px;font-size:15px}
.chips svg{width:22px;height:22px;color:var(--peach2)}
.orb{width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe3d6 0,#e59a7c 25%,#5a3a2e 60%,#1d1b1a 80%);box-shadow:0 0 60px rgba(244,164,135,.5);animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-10px)}}
.chat{background:#fff;color:var(--ink);border-radius:16px;padding:18px;font-size:14px}
.msg{display:flex;align-items:flex-end;gap:10px;margin-bottom:6px}
.msg.me{justify-content:flex-end}
.bub{padding:9px 14px;border-radius:12px;max-width:80%}
.me .bub{background:#e4eefc}
.bot .bub{border:1px solid var(--line)}
.botav{width:44px;height:44px;border-radius:50%;background:#1d1b1a;display:grid;place-items:center;flex:none}
.botav img{width:32px}
.t{font-size:11px;color:var(--muted)}
.picks{display:flex;gap:8px;margin:6px 0 14px 54px}
.picks span{border:1px solid var(--line);border-radius:8px;padding:8px 20px}
.type{border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:10px;color:var(--muted)}
.type svg{width:18px;height:18px}.type svg:last-child{margin-left:auto;color:#555}
.ctl{border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:12px;font-size:14.5px}
.ctl p{display:flex;align-items:center;gap:14px;margin:0;padding:13px 10px;border-bottom:1px solid rgba(255,255,255,.12)}
.ctl p:first-child{border:1px solid rgba(255,255,255,.25);border-radius:10px}
.ctl p:last-child{border:0}
.ctl svg{width:22px;height:22px}
.ai .lbl{position:absolute;right:40px;bottom:10px;font-size:12px;color:#bbb}

/* FAQ + form */
.end{display:grid;grid-template-columns:1fr 1px 1fr;gap:56px;align-items:start}
.end .rule{background:var(--line);height:100%}
.end h2{font-size:clamp(28px,2.6vw,40px)}
.end .lead{color:#4a4542;font-size:18px;margin:8px 0 22px}
details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:18px}
summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:17px}
summary::-webkit-details-marker{display:none}
summary svg{width:20px;height:20px;transition:transform .2s;transform:rotate(90deg)}
details[open] summary svg{transform:rotate(-90deg)}
details p{margin:0;padding:0 24px 20px;color:var(--muted);font-size:16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.field{display:flex;flex-direction:column;gap:8px;font-size:15px;color:#2c2826}
.field i{color:#d33;font-style:normal}
.field input,.field select{height:52px;border:1px solid #e3dfdc;border-radius:10px;padding:0 14px;background:#fff;font-size:15px;color:var(--ink)}
.field input:focus,.field select:focus{outline:0;border-color:var(--peach2);box-shadow:0 0 0 3px var(--peach-s)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.consent{display:flex;gap:12px;align-items:center;font-size:15px;color:#4a4542;margin:20px 0}
.consent input{width:20px;height:20px;accent-color:var(--peach-d)}
.err{display:none;color:#a33b22;background:#fdeee8;border-radius:10px;padding:10px 12px;font-size:14px;margin-bottom:12px}.err.show{display:block}
.ok-box{text-align:center;padding:30px 10px;border:1px solid var(--line);border-radius:16px;background:#fff}
.ok-box .okc{width:56px;height:56px;border-radius:50%;background:#e3f4ea;color:#24704a;display:grid;place-items:center;margin:0 auto 12px}
.ok-box .okc svg{width:26px;height:26px}

/* footer */
.footer{margin-top:72px;border-top:1px solid var(--line);padding:28px 0 36px}
.footer .wrap{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.footer .logo img{height:50px}
.footer nav{margin:0 auto;font-size:16px;color:#3b3735}
.footer nav a:not(:last-child)::after{content:"·";margin:0 20px;color:#aaa}
.footer small{color:var(--muted);font-size:14px}
.footer small a{text-decoration:underline}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.orb{animation:none}html{scroll-behavior:auto}}

/* responsive */
@media (max-width:1180px){
  .ai{grid-template-columns:1fr 1fr}.orb{display:none}
  .conn h2{width:100%}
}
@media (max-width:1024px){
  .stage{grid-template-columns:1fr;padding:40px 24px}
  .stage .phone{width:270px;margin:0 auto}
  .toast{right:24px}
  .pillars{grid-template-columns:1fr 1fr}
  .brand-sec,.end{grid-template-columns:1fr}.end .rule{display:none}
}
@media (max-width:860px){
  .nav nav,.nav-right{display:none}
  .menu-btn{display:block}
  .nav{position:relative}
  .nav nav.open{display:flex;position:absolute;top:80px;left:0;right:0;flex-direction:column;gap:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:var(--sh);z-index:20}
  .nav nav.open a{padding:12px 14px}
  .app{grid-template-columns:1fr}.app aside{display:none}
  .ai{grid-template-columns:1fr;padding:32px 22px 40px}
  .conn li:not(:last-child)::after{display:none}
  .conn ol{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .hero::before{inset:0}
  .tablet{display:none}
  .stage{padding:70px 16px 40px}
  .toast{position:relative;right:auto;top:auto;margin:0 auto -30px;transform:none;width:auto}
  .pillars,.grid2{grid-template-columns:1fr}
  .photos{grid-template-columns:1fr;padding:0}
  .photos>img:nth-child(2),.photos .phone{display:none}
  .photos>img{aspect-ratio:4/3}
  .flow3{gap:10px}.flow3>svg{display:none}
  .types span:not(:last-child)::after{margin:0 10px}
  .footer .wrap,.footer nav{flex-direction:column;align-items:flex-start;margin:0}
  .footer nav a::after{display:none}
  .sec{padding-top:56px}
}

/* loader (VCom pattern, KeshSetu colours) */
.ks-loader{position:fixed;inset:0;z-index:200;background:var(--bg);display:grid;place-content:center;justify-items:center;gap:22px;transition:opacity .45s ease,visibility .45s ease}
.ks-loader.done{opacity:0;visibility:hidden;pointer-events:none}
.ks-loader-mark{width:112px;height:112px;position:relative;display:grid;place-items:center}
.ks-loader-mark span{position:absolute;inset:-8px;border:2px solid rgba(208,113,77,.14);border-top-color:var(--peach2);border-right-color:var(--ink);border-radius:50%;animation:ks-orbit 1.05s linear infinite}
.ks-loader-mark img{width:86px;height:auto;animation:ks-breathe 1.05s ease-in-out infinite}
.ks-loader-line{width:112px;height:4px;border-radius:999px;background:#efe7e2;overflow:hidden}
.ks-loader-line i{display:block;width:45%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ink),var(--peach2));animation:ks-slide 1.05s ease-in-out infinite}
.ks-loader p{margin:0;font:400 13px var(--ui);letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
@keyframes ks-orbit{to{transform:rotate(360deg)}}
@keyframes ks-breathe{0%,100%{transform:scale(.92)}50%{transform:scale(1.04)}}
@keyframes ks-slide{0%{transform:translateX(-110%)}50%{transform:translateX(65%)}100%{transform:translateX(240%)}}

/* floating dock */
.dock{position:fixed;right:18px;bottom:20px;z-index:60;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.dock>a,.dock>button{width:54px;height:54px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;box-shadow:0 12px 26px -8px rgba(20,18,17,.45);position:relative;transition:transform .2s,opacity .25s}
.dock>a:hover,.dock>button:hover{transform:translateY(-3px)}
.dock svg{width:22px;height:22px}
.dock .d-wa{background:var(--wa)}
.dock .d-join{background:var(--peach);color:#1c120d}
.dock .d-top{background:#fff;color:var(--ink);border:1px solid var(--line)}
.dock .d-top.hide{opacity:0;pointer-events:none;transform:translateY(10px)}
.dock .tip{position:absolute;right:64px;top:50%;transform:translateY(-50%);background:var(--ink);color:#fff;font-size:12.5px;font-weight:600;padding:6px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.dock>*:hover .tip,.dock>*:focus-visible .tip{opacity:1}
.d-chat::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--peach2);animation:ks-ping 2.4s ease-out infinite}
@keyframes ks-ping{0%{opacity:.8;transform:scale(.9)}100%{opacity:0;transform:scale(1.35)}}

/* assistant panel */
.ksbot{position:fixed;right:84px;bottom:20px;z-index:61;width:360px;max-height:min(560px,calc(100vh - 40px));background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 70px -20px rgba(20,18,17,.4);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;transition:opacity .22s,transform .22s}
.ksbot[hidden]{display:flex;opacity:0;transform:scale(.94) translateY(10px);pointer-events:none;visibility:hidden}
.bot-h{background:radial-gradient(80% 140% at 0 0,rgba(244,164,135,.45),transparent 60%),var(--ink);color:#fff;padding:16px 18px;display:flex;align-items:center;gap:12px}
.bot-h .o{width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe3d6,#e59a7c 35%,#5a3a2e 75%);flex:none}
.bot-h b{display:block;font-size:15px}.bot-h small{color:#d8cfca;font-size:12px;display:flex;align-items:center;gap:6px}
.bot-h small::before{content:"";width:7px;height:7px;border-radius:50%;background:#4ade80}
.bot-h button{margin-left:auto;background:transparent;border:0;color:#fff;padding:6px}
.bot-h button svg{width:20px;height:20px}
.bot-b{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--bg);font-size:14px}
.bot-b .m{max-width:85%;padding:9px 13px;border-radius:14px;line-height:1.45;animation:ks-in .25s ease}
.bot-b .m.a{background:#fff;border:1px solid var(--line);border-top-left-radius:4px}
.bot-b .m.u{background:var(--peach-s);align-self:flex-end;border-top-right-radius:4px}
.bot-b .m a{color:var(--peach-d);font-weight:600;text-decoration:underline}
.bot-b .typing{display:flex;gap:4px;padding:12px 14px}
.bot-b .typing i{width:6px;height:6px;border-radius:50%;background:#bbb;animation:ks-dot 1s infinite}
.bot-b .typing i:nth-child(2){animation-delay:.15s}.bot-b .typing i:nth-child(3){animation-delay:.3s}
@keyframes ks-dot{50%{transform:translateY(-4px);background:var(--peach2)}}
@keyframes ks-in{from{opacity:0;transform:translateY(6px)}}
.bot-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 0;background:#fff}
.bot-chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:12.5px}
.bot-chips button:hover{border-color:var(--peach2);background:var(--peach-xs)}
.bot-f{display:flex;gap:8px;padding:12px 14px 14px;background:#fff}
.bot-f input{flex:1;height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font-size:14px}
.bot-f input:focus{outline:0;border-color:var(--peach2)}
.bot-f button{width:42px;height:42px;border:0;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center}
.bot-f button svg{width:18px;height:18px}
@media (max-width:640px){.ksbot{right:12px;left:12px;bottom:12px;width:auto}.dock{right:12px;bottom:14px}.dock>a,.dock>button{width:48px;height:48px}.dock .tip{display:none}}
@media (prefers-reduced-motion:reduce){.ks-loader-mark span,.ks-loader-mark img,.ks-loader-line i,.d-chat::after{animation:none}}

/* interactive demo */
.app aside button{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px;border:0;background:transparent;font-size:13.5px;color:#3b3735;text-align:left;transition:background .15s}
.app aside button svg{width:18px;height:18px}
.app aside button:hover{background:#efebe8}
.app aside button.on{background:var(--peach-s);font-weight:600}
.seg button{border:1px solid var(--line);background:#fff;border-radius:7px;height:32px;padding:0 18px;font-size:13px}
.seg button.on{background:var(--peach-s);border-color:transparent;font-weight:600}
.view{animation:ks-in .3s ease}
.view>*{animation:ks-in .3s ease}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.kpi{border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.kpi small{color:var(--muted);font-size:11.5px}
.kpi b{display:block;font:700 22px/1.2 var(--disp);margin-top:4px;transition:color .3s}
.kpi b.bump{color:var(--peach-d)}
.kpi em{font-style:normal;font-size:11px;color:#24704a}
.dgrid{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}
.panel{border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:12.5px}
.panel h4{margin:0 0 8px;font-size:13px}
.feed{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow:hidden}
.feed div{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #f3f0ee;animation:ks-in .4s ease}
.feed div span{flex:1}.feed small{color:var(--muted)}
.bars{display:flex;align-items:flex-end;gap:8px;height:150px;padding-top:10px}
.bars i{flex:1;background:linear-gradient(var(--peach2),var(--peach-s));border-radius:6px 6px 2px 2px;height:var(--v);transition:height .6s ease;position:relative}
.bars i::after{content:attr(data-d);position:absolute;bottom:-18px;left:0;right:0;text-align:center;font-style:normal;font-size:10px;color:var(--muted)}
.tbl{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:12px}
.tbl th{text-align:left;color:var(--muted);font-weight:500;padding:8px;border-bottom:1px solid var(--line)}
.tbl td{padding:8px;border-bottom:1px solid #f3f0ee}
.tbl tr{animation:ks-in .3s ease}
.tbl tr:hover td{background:var(--peach-xs)}
.tag{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600;background:#f3f0ee}
.tag.ok{background:#dbf0d6;color:#24704a}.tag.warn{background:#fde5da;color:#b45c3b}.tag.vip{background:var(--peach-s);color:#b45c3b}
.meter{height:6px;border-radius:9px;background:#f3f0ee;overflow:hidden}.meter i{display:block;height:100%;background:var(--peach2);width:var(--v)}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px}
.week div{border:1px solid var(--line);border-radius:10px;padding:8px;font-size:11.5px;min-height:150px}
.week b{display:block;margin-bottom:6px}
.week span{display:block;border-radius:5px;padding:3px 5px;margin-bottom:4px;font-size:10.5px}
.toggle{width:34px;height:20px;border-radius:99px;background:#ddd;position:relative;border:0;transition:background .2s;flex:none}
.toggle::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s}
.toggle.on{background:var(--peach2)}.toggle.on::after{left:17px}
.srow{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #f3f0ee;font-size:13px}
.ev.new{animation:ks-pop .6s ease;box-shadow:0 0 0 2px var(--peach2)}
@keyframes ks-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.05)}100%{transform:none}}
.svcs span,.styl>div,.slots span{cursor:pointer;transition:background .15s,border-color .15s}
.styl>div img{transition:box-shadow .15s}
.ph-cta{cursor:pointer;transition:transform .15s}.ph-cta:active{transform:scale(.97)}
.ph-cta.ok{background:#dbf0d6;color:#24704a}
.live{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:#24704a;font-weight:600}
.live::before{content:"";width:7px;height:7px;border-radius:50%;background:#22c55e;animation:ks-ping 1.6s infinite}
.toast.flash{animation:ks-toast .6s ease}
@keyframes ks-toast{0%{transform:rotate(-3deg) scale(.9);opacity:.4}100%{transform:rotate(-3deg)}}
@media (max-width:1024px){.kpis{grid-template-columns:1fr 1fr}.dgrid{grid-template-columns:1fr}.week{grid-template-columns:repeat(4,1fr)}}
[hidden]{display:none!important}
.stage{text-align:left}
.ksbot[hidden]{display:flex!important}

/* page-wide interactions */
.inner,.pillar{position:relative}
.is-loading{pointer-events:none}
.is-loading>*{opacity:.25;transition:opacity .2s}
.is-loading::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.85) 50%,transparent 70%) 0 0/200% 100%;animation:ks-shim .9s linear infinite}
@keyframes ks-shim{from{background-position:150% 0}to{background-position:-50% 0}}
.is-in>*{animation:ks-in .35s ease}
.pillar .box,.tabs span,.btabs span,.lines .li,.pay,.inner .ev,.conn li,.picks span,#ai-ctl p,.note-add{cursor:pointer;user-select:none}
.pillar .box:hover,.btabs span:hover,.tabs span:hover{background:var(--peach-xs)}
.inner .ev.e:hover{background:var(--peach-xs);outline:1px dashed var(--peach2)}
.inner .ev.sel{box-shadow:0 0 0 2px var(--ink)}
.mini-toast{position:absolute;left:50%;bottom:14px;transform:translate(-50%,10px);background:var(--ink);color:#fff;font-size:12.5px;padding:8px 14px;border-radius:9px;white-space:nowrap;opacity:0;pointer-events:none;z-index:3}
.mini-toast.show{animation:ks-mt 2.4s ease}
@keyframes ks-mt{10%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
.lines .li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f3f0ee;font-size:15px;transition:opacity .2s}
.lines .li:last-child{border:0;color:var(--muted)}
.lines .li.off{opacity:.4;text-decoration:line-through}
.lines .li.disc.on{color:#24704a}
.chk{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;border:1.5px solid #d9d2cd;margin-right:10px;font-style:normal;font-size:11px;background:#fff;color:var(--peach-d);vertical-align:-3px}
.pay{transition:background .2s}.pay:hover{background:var(--peach2)}
.pay.busy{background:#f3f0ee}.pay.done{background:#dbf0d6;color:#24704a;font-size:14px}
.spin{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;margin-right:8px;vertical-align:-2px;animation:ks-orbit .7s linear infinite}
.note-i{display:flex;flex-direction:column;padding:9px 0;border-bottom:1px solid #f3f0ee;animation:ks-in .3s ease}
.note-i span{color:var(--muted);font-size:13px}
.note-add{margin-top:10px;color:var(--peach-d);font-weight:600}
.ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px;color:var(--muted)}
.ph-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}
.conn li{border-radius:14px;padding:6px 8px;transition:background .2s}
.conn li:hover,.conn li.on{background:#fff;box-shadow:var(--sh)}
.conn li.on .ci{background:var(--peach);color:#1c120d}
.conn-pv{display:flex;gap:12px;align-items:flex-start;max-width:640px;margin:18px 0 0 auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:14px;box-shadow:var(--sh)}
.conn-pv.in{animation:ks-in .35s ease}
.conn-pv b{display:block;margin-bottom:2px}
.conn-pv .wa{width:32px;height:32px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;flex:none}
.conn-pv .wa svg{width:17px;height:17px}
.picks span{transition:background .15s}.picks span:hover,.picks span.on{background:var(--peach-s);border-color:var(--peach2)}
.ai-log{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.ai-log .msg{animation:ks-in .3s ease;margin:0}
.ai-log .sys{text-align:center;font-size:12px;color:var(--muted);background:#f6f3f1;border-radius:8px;padding:6px;animation:ks-in .3s ease}
.bub.typing{display:flex;gap:4px;padding:12px}
.bub.typing i{width:6px;height:6px;border-radius:50%;background:#bbb;animation:ks-dot 1s infinite}
.bub.typing i:nth-child(2){animation-delay:.15s}.bub.typing i:nth-child(3){animation-delay:.3s}
.type input{flex:1;border:0;outline:0;font-size:14px;background:transparent;min-width:0}
.type button{border:0;background:transparent;padding:0;color:#555}
.type button svg{width:18px;height:18px}
#ai-ctl p{transition:background .15s}#ai-ctl p:hover,#ai-ctl p.on{background:rgba(255,255,255,.1)}

/* pricing */
.price-sub{color:#4a4542;font-size:18px;margin:12px auto 0;max-width:560px}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,420px));justify-content:center;gap:24px;margin-top:40px}
.plan{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--sh);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.plan:hover{transform:translateY(-4px);box-shadow:0 24px 50px -24px rgba(40,30,25,.35)}
.plan.pro{background:radial-gradient(70% 60% at 100% 0,rgba(247,184,160,.35),transparent 70%),#1d1b1a;color:#fff;border-color:#1d1b1a}
.plan h3{font-size:22px}
.plan-for{color:var(--muted);margin:6px 0 0;font-size:15px}
.plan.pro .plan-for{color:#d8cfca}
.amt{margin:22px 0 4px;display:flex;align-items:baseline;gap:6px}
.amt b{font:700 56px/1 var(--disp);letter-spacing:-.03em}
.amt span{color:var(--muted);font-size:16px}.plan.pro .amt span{color:#d8cfca}
.plan ul{list-style:none;padding:0;margin:20px 0 28px;display:grid;gap:12px;font-size:15px;flex:1}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li svg{width:20px;height:20px;padding:3px;border-radius:50%;background:var(--peach-s);color:var(--peach-d);flex:none}
.plan.pro li svg{background:var(--peach);color:#1c120d}
.plan .btn{width:100%}
.plan.pro .btn-dark{background:var(--peach);color:#1c120d}
.plan.pro .btn-dark:hover{background:var(--peach2)}
.badge{position:absolute;top:-13px;right:24px;background:var(--peach);color:#1c120d;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px}
@media (max-width:860px){.plans{grid-template-columns:1fr}}
.pay-note{font-size:13px;color:var(--muted);text-align:center;margin:10px 0 0}
.creds{display:grid;gap:8px;text-align:left;background:var(--peach-xs);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-top:14px}
.creds div{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.creds span{color:var(--muted)}.creds b{font-family:ui-monospace,Consolas,monospace;word-break:break-all;text-align:right}

/* v3.1 polish: one section rhythm, consistent headers */
.sec{padding-top:128px}
.shead{text-align:center;max-width:720px;margin:0 auto 48px}
.shead .h2{margin-top:14px}
.ssub{color:#4a4542;font-size:18px;line-height:1.55;margin:14px auto 0;max-width:600px}
.eyebrow{font-size:12px;letter-spacing:.24em;color:var(--peach-d);font-weight:600}
.hero .eyebrow{color:var(--muted)}
.brand-sec .eyebrow,.ai .eyebrow,.end .eyebrow{margin-bottom:12px}
.ai .eyebrow{color:#efb79f}
.brand-sec{grid-template-columns:1.1fr .9fr}
.brand-sec .h2{font-size:clamp(32px,3.2vw,46px)}
.ai{grid-template-columns:1.15fr 110px 1fr 240px}
.ai h2{font-size:clamp(30px,2.8vw,42px)}
.pillars{margin-top:0}
.pillar .cal{font-size:11px}
.pillar .ev{padding:5px 7px;font-size:11.5px}
.pillar .ev small{white-space:nowrap;font-size:10px;overflow:hidden;text-overflow:ellipsis}
.pillar .cal .hd small{font-size:10px}
.conn{justify-content:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px 24px;box-shadow:var(--sh)}
.conn h2{display:none}
.conn ol{justify-content:center}
.conn-pv{margin:16px auto 0}
.plans{margin-top:0}
.end{padding-top:8px}
.end h2{font-size:clamp(26px,2.4vw,36px)}
.types{margin-top:28px}
@media (max-width:640px){.sec{padding-top:80px}.shead{margin-bottom:32px}.conn{padding:16px}}
.shead{max-width:920px}
.ai{grid-template-columns:1.35fr 90px 1fr 230px}
.ai>div>p.eyebrow{font-size:12px;color:#efb79f;margin:0 0 12px}
.ai .chat p.t{font-size:11px;color:var(--muted);margin:0 56px 8px 0}
.ai h2{line-height:1.08}
.ctl p{font-size:14px;white-space:nowrap}

/* v3.2 compact pass */
.sec{padding-top:88px}
.shead{margin-bottom:32px}
.h2,.shead .h2{font-size:clamp(28px,2.7vw,40px);line-height:1.1}
.ssub{font-size:16.5px;margin-top:10px}
.hero{padding-top:28px}
.hero h1{font-size:clamp(42px,5.4vw,78px)}
.hero .sub{font-size:clamp(16px,1.3vw,19px);margin-top:12px}
.hero .actions{margin-top:22px}
.tagline{margin-top:12px}
.stage{padding:34px 40px 32px 52px;margin-top:16px}
.types{padding:14px 0;margin-top:18px;font-size:14px}
.pillar{padding:18px}
.pillar header{margin-bottom:14px}
.pillar h3{font-size:19px}
.flow3{margin:24px 0}
.ai{margin-top:28px;padding:36px 36px 28px}
.plan{padding:26px}
.amt{margin:16px 0 2px}.amt b{font-size:46px}
.plan ul{margin:16px 0 22px;gap:9px;font-size:14.5px}
/* FAQ + form */
.end{gap:40px;padding-top:0}
@media (min-width:1025px){.end{grid-template-columns:.9fr 1.1fr}}
.end .rule{display:none}
.end h2{font-size:clamp(24px,2.2vw,32px)}
.end .lead{font-size:16px;margin:6px 0 18px}
details{margin-top:10px;border-radius:12px}
summary{padding:15px 18px;font-size:15.5px;font-weight:500}
details p{padding:0 18px 15px;font-size:14.5px}
details[open]{border-color:#f3c3b0;background:var(--peach-xs)}
#join{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--sh)}
.grid2{gap:12px 14px}
.field{gap:6px;font-size:13.5px;font-weight:500}
.field input,.field select{height:46px;font-size:14.5px;background:#fcfbfa}
.field input:focus,.field select:focus{background:#fff}
.consent{margin:14px 0;font-size:13.5px}
#su-btn{height:52px!important}
.pay-note{margin-top:8px;font-size:12px}
.footer{margin-top:56px;padding:22px 0 28px}
@media (max-width:640px){.sec{padding-top:64px}#join{padding:18px}.stage{padding:60px 14px 32px}.end{gap:32px}}

/* 2026-10-28: coming-soon badges, referral strip, footer SEO links */
.soon{display:inline-block;font:600 10.5px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;background:var(--peach-s);color:#7a3a20;border-radius:999px;padding:5px 9px;vertical-align:middle;white-space:nowrap}
.soon-dk{background:rgba(247,184,160,.18);color:var(--peach);margin-left:8px}
.chips em.soon{margin-left:2px;font-style:normal}
.refer{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:start;border:1px solid var(--line);border-radius:26px;padding:40px 44px;box-shadow:var(--sh);background:radial-gradient(40% 70% at 0 100%,rgba(247,184,160,.25),transparent 70%),#fff}
.refer h2{font-size:clamp(28px,2.8vw,42px);margin:10px 0 14px}
.refer h2 em{font-family:var(--it);font-weight:400}
.refer p{color:#4a4542;margin:0 0 12px}
.refer .small{font-size:13.5px}
.refer .consent{margin:16px 0}
.f-seo{flex-basis:100%;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:13.5px;color:var(--muted);padding:6px 0 4px}
.f-seo div{display:flex;flex-wrap:wrap;gap:6px 14px}
.f-seo b{flex-basis:100%;color:var(--ink);font-size:13px;letter-spacing:.04em}
.f-seo a:hover{color:var(--peach-d)}
@media (max-width:1024px){.refer{grid-template-columns:1fr;gap:20px}}
@media (max-width:640px){.refer{padding:28px 18px}.f-seo{grid-template-columns:1fr}}

/* ---- 2026-10-28 motion pass (transform/opacity only; reduced-motion safe) ---- */
.hero h1 em{background:linear-gradient(100deg,#d0714d 10%,#f4a487 50%,#e07a92 90%);-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .08em .06em 0}
.hero>.eyebrow,.shead>.eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid #efcdbf;background:rgba(254,244,239,.75);border-radius:999px;padding:8px 14px 8px 12px;letter-spacing:.22em;color:#8a4a30;font-weight:600}
.hero>.eyebrow::before,.shead>.eyebrow::before{content:"";width:14px;height:14px;flex:none;background:var(--peach-d);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.2 6.1L20 10l-5.8 1.9L12 18l-2.2-6.1L4 10l5.8-1.9z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l2.2 6.1L20 10l-5.8 1.9L12 18l-2.2-6.1L4 10l5.8-1.9z'/%3E%3C/svg%3E") center/contain no-repeat}
.stats{display:flex;justify-content:center;gap:12px 48px;flex-wrap:wrap;margin:26px auto 0;padding:0}
.stats div{text-align:left;min-width:120px}
.stats dt{font:700 28px/1.1 var(--disp);letter-spacing:-.02em;background:linear-gradient(100deg,#141211,#d0714d);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.stats dd{margin:4px 0 0;color:var(--muted);font-size:13.5px}
/* tilt + glow cards */
.tilt{transition:transform .25s ease,box-shadow .25s;position:relative}.pillars .tilt:hover,.flow3 .tilt:hover{transform:translateY(-3px)}
.tilt::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;padding:1px;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(240,150,120,.55),rgba(247,184,160,.15) 40%,transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.tilt:hover::after{opacity:1}
.flow3 div.tilt{border-radius:999px;padding:4px 14px 4px 4px}
/* buttons: glow + shine */
.btn-peach,.btn-dark{position:relative;overflow:hidden;isolation:isolate}
.btn-peach::after,.btn-dark::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease}
.btn-peach:hover::after,.btn-dark:hover::after{transform:translateX(120%)}
.btn-peach{box-shadow:0 8px 22px -14px rgba(240,140,110,.6)}
.btn-peach:hover{box-shadow:0 12px 26px -12px rgba(240,140,110,.7)}
.btn-dark:hover{box-shadow:0 12px 26px -14px rgba(208,113,77,.55)}
/* staggered reveal */
.reveal .pillars>*,.reveal .plans>*,.reveal .conn li,.reveal .flow3>div,.reveal .end details,.reveal .refer>*{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.reveal.in .pillars>*,.reveal.in .plans>*,.reveal.in .conn li,.reveal.in .flow3>div,.reveal.in .end details,.reveal.in .refer>*{opacity:1;transform:none}
.reveal.in :is(.pillars,.plans,.conn ol,.flow3,.refer)>:nth-child(2),.reveal.in .end details:nth-of-type(2){transition-delay:.09s}
.reveal.in :is(.pillars,.plans,.conn ol,.flow3,.refer)>:nth-child(3),.reveal.in .end details:nth-of-type(3){transition-delay:.18s}
.reveal.in :is(.pillars,.plans,.conn ol,.flow3,.refer)>:nth-child(4),.reveal.in .end details:nth-of-type(4){transition-delay:.27s}
.reveal.in :is(.pillars,.plans,.conn ol,.flow3,.refer)>:nth-child(5),.reveal.in .end details:nth-of-type(5){transition-delay:.36s}
.reveal.in .tilt{transition:transform .25s ease,box-shadow .25s,opacity .6s ease}
.stats+.stage{margin-top:64px}
@media (max-width:1024px){.stats{gap:16px 32px}}
@media (max-width:640px){.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:340px}.stats dt{font-size:24px}.hero>.eyebrow{letter-spacing:.14em;font-size:10.5px}}
@media (prefers-reduced-motion:reduce){
  .reveal .pillars>*,.reveal .plans>*,.reveal .conn li,.reveal .flow3>div,.reveal .end details,.reveal .refer>*{opacity:1;transform:none;transition:none}
  .btn-peach::after,.btn-dark::after{display:none}
}
