/* ═══════════ Sunlo CPG — SHAFT design system port ═══════════ */
:root{
  --bg:#000; --bg-raised:#0a0a0a; --surface:rgba(255,255,255,.04); --surface-strong:rgba(255,255,255,.07);
  --border:rgba(255,255,255,.1); --fg:#fff; --fg-muted:rgba(255,255,255,.72); --fg-faint:rgba(255,255,255,.55);
  --accent:#ff7900; --accent-hover:#ff6f27; --accent-tint:rgba(255,121,0,.06); --danger:#ff3b3b; --tp:#00b67a;
  --display:"Space Grotesk","Space Grotesk Fallback",Arial,sans-serif; --body:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --r:1rem; --r-lg:1.5rem; --container:72rem;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:1.1;text-wrap:balance}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 20px}
@media(min-width:640px){.container{padding:0 32px}}
.skip{position:absolute;left:-9999px;top:12px;z-index:60;background:var(--accent);color:#000;padding:12px 20px;border-radius:999px;font-weight:700}
.skip:focus{left:12px}
/* ── buttons ── */
.btn{font-family:var(--display);display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 24px;border-radius:999px;font-weight:700;font-size:14px;letter-spacing:.025em;text-transform:uppercase;text-align:center;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
.btn-accent{background:var(--accent);color:#000}.btn-accent:hover{background:var(--accent-hover)}
.btn-outline{border:1px solid var(--border);color:var(--fg);background:transparent}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}
.btn-lg{padding:16px 32px;font-size:16px}
.btn-ghost{color:var(--fg-muted);text-transform:none;font-family:var(--body);font-weight:500}.btn-ghost:hover{color:var(--fg)}
.btn:focus-visible,summary:focus-visible,input:focus-visible,.dcard:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* ── labels ── */
.eyebrow{font-family:var(--display);color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;text-align:center;margin-bottom:16px}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:8px 16px;font-family:var(--display);color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.ping{position:relative;display:inline-flex;width:6px;height:6px;flex:none}
.ping::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);opacity:.75;animation:ping 1s cubic-bezier(0,0,.2,1) infinite}
.ping::after{content:"";position:relative;display:block;width:6px;height:6px;border-radius:50%;background:var(--accent)}
@keyframes ping{75%,100%{transform:scale(2);opacity:0}}
.muted{color:var(--fg-muted)}.faint{color:var(--fg-faint)}.accent{color:var(--accent)}
.center{text-align:center}
/* ── announcement + header ── */
.announce{border-bottom:1px solid var(--border);background:var(--bg)}
.announce .container{display:flex;min-height:40px;align-items:center;justify-content:center;gap:10px;padding-top:8px;padding-bottom:8px}
.announce p{color:var(--fg-muted);font-size:11px;line-height:1.4;text-align:center;text-wrap:balance}
@media(min-width:640px){.announce p{font-size:12px}}
.hdr{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--border);background:rgba(0,0,0,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hdr .container{display:flex;height:64px;align-items:center;justify-content:space-between}
.logo{display:inline-flex;min-height:44px;align-items:center}.logo img{height:28px;width:auto}
/* ── sections ── */
section{padding:80px 0}
@media(min-width:640px){section{padding:112px 0}}
.sec-head{max-width:48rem;margin:0 auto 48px;text-align:center}
.sec-head h2{font-size:clamp(28px,4.2vw,44px)}
.sec-head p{color:var(--fg-muted);font-size:18px;margin-top:16px;text-wrap:balance}
/* ── hero ── */
.hero{position:relative;overflow:hidden;padding:56px 0 64px}
@media(min-width:640px){.hero{padding:80px 0}}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.hero-bg .glow{position:absolute;inset:0;background:radial-gradient(ellipse at top,rgba(255,121,0,.12),transparent 60%)}
.hero-bg .mark{position:absolute;top:0;left:50%;transform:translateX(-50%);font-family:var(--display);font-weight:700;font-size:26vw;line-height:1;letter-spacing:-.025em;white-space:nowrap;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.05);user-select:none}
.hero-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;max-width:56rem;margin:0 auto}
.hero h1{font-size:clamp(32px,5.4vw,60px)}
.hero .sub{color:var(--fg-muted);font-size:18px;max-width:42rem}
.ctas{display:flex;flex-direction:column;gap:12px;justify-content:center}
@media(min-width:640px){.ctas{flex-direction:row}}
.tiny{color:var(--fg-faint);font-size:12px}
.stars{display:inline-flex;gap:2px;vertical-align:middle}.stars svg{width:16px;height:16px;fill:var(--accent)}
.trustline{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 8px;color:var(--fg-muted);font-size:14px}
.scrollto{color:var(--fg-faint);font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;min-height:44px;align-items:center;gap:8px}.scrollto:hover{color:var(--accent)}
/* ── experience strip ── */
.exp{padding:56px 0 0}
.exp p{text-align:center;color:var(--fg-muted);font-size:13px}.exp p b{display:block;color:var(--fg)}
.cats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px auto 0;max-width:60rem}
.cat{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:9px 16px;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted)}
.cat b{color:var(--accent);font-weight:700}
.strip{position:relative;overflow:hidden;margin-top:40px;height:400px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.strip-track{display:flex;gap:14px;width:max-content;animation:strip 70s linear infinite}
.strip-track img{width:220px;height:400px;object-fit:cover;object-position:top;border-radius:12px;border:1px solid var(--border)}
@keyframes strip{to{transform:translateX(-50%)}}
.strip:hover .strip-track{animation-play-state:paused}
/* ── cards / tiles ── */
.card{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:28px}
.card-lg{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-raised);padding:clamp(28px,4vw,48px)}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:768px){.tiles-4{grid-template-columns:repeat(4,1fr)}}
.tile{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:18px 16px;text-align:center}
.tile b{display:block;font-family:var(--display);font-size:clamp(20px,2.2vw,26px);color:var(--accent);letter-spacing:-.02em;line-height:1.1}
.tile span{display:block;margin-top:6px;color:var(--fg-muted);font-size:12px;line-height:1.35}
.tile-label{font-family:var(--display);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:6px;display:block}
/* ── results ── */
.lead{max-width:64rem;margin:0 auto;text-align:center}
.lead h3{font-size:clamp(26px,3.8vw,40px);margin-top:8px}
.lead .desc{color:var(--fg-muted);font-size:17px;max-width:44rem;margin:16px auto 28px;text-wrap:balance}
.lead .tiles{margin-bottom:24px}
.bars{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:22px 24px;display:flex;flex-direction:column;gap:14px;text-align:left}
.bar{display:grid;grid-template-columns:96px 1fr 64px;align-items:center;gap:12px;font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint)}
.bar-track{height:10px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}
.bar-fill{height:100%;border-radius:999px;background:var(--accent);width:var(--w)}
.bar-val{text-align:right;color:var(--fg);font-size:13px;letter-spacing:0}
.bars small{color:var(--fg-faint);font-size:12px;font-family:var(--body);letter-spacing:0;text-transform:none}
.receipts{display:grid;grid-template-columns:1fr;gap:20px;max-width:64rem;margin:0 auto}
@media(min-width:768px){.receipts{grid-template-columns:1fr 1fr}}
.receipt{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-raised);padding:clamp(24px,3vw,36px);text-align:center;display:flex;flex-direction:column;align-items:center}
.receipt .who{font-family:var(--display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:14px}
.receipt h3{font-size:clamp(22px,2.6vw,28px);color:var(--accent);margin-bottom:10px}
.receipt .sub{font-weight:700;color:var(--fg);font-size:15px;margin-bottom:8px}
.receipt p{color:var(--fg-muted);font-size:14px;max-width:36rem}
.receipt .tiles{width:100%;margin-top:22px}
.receipt .src{margin-top:16px;color:var(--fg-faint);font-size:11px}
.disclaimer{color:var(--fg-faint);font-size:12px;text-align:center;max-width:40rem;margin:28px auto 0;text-wrap:balance}
/* ── stats band ── */
.band{padding:0 0 80px}
.band .row{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);display:grid;grid-template-columns:repeat(2,1fr)}
@media(min-width:768px){.band .row{grid-template-columns:repeat(4,1fr)}}
.band .row div{padding:28px 16px;text-align:center;border-right:1px solid var(--border)}
.band .row div:last-child{border-right:0}
@media(max-width:767px){.band .row div:nth-child(2){border-right:0}.band .row div:nth-child(-n+2){border-bottom:1px solid var(--border)}}
.band b{display:block;font-family:var(--display);font-size:clamp(26px,3vw,34px);color:var(--accent);letter-spacing:-.02em}
.band span{display:block;color:var(--fg-muted);font-size:13px;margin-top:6px}
/* ── cycle timeline ── */
.cycle{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;max-width:64rem;margin:0 auto;padding-top:26px}
.cycle::before{content:"";position:absolute;left:0;right:0;top:32px;height:1px;background:linear-gradient(90deg,transparent,var(--accent) 12%,var(--accent) 88%,transparent);opacity:.5}
.node{position:relative;padding-top:24px}
.node::before{content:"";position:absolute;top:0;left:0;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 0 4px rgba(255,121,0,.12)}
.node.hot::before{background:var(--accent);box-shadow:0 0 22px rgba(255,121,0,.7),0 0 0 4px rgba(255,121,0,.18)}
.node .day{display:block;font-family:var(--display);font-size:10px;letter-spacing:.2em;color:var(--accent);margin-bottom:8px}
.node b{display:block;font-family:var(--display);font-size:15px;margin-bottom:6px}
.node small{display:block;color:var(--fg-muted);font-size:12.5px;line-height:1.5}
@media(max-width:960px){.cycle{grid-template-columns:repeat(3,1fr);row-gap:30px}.cycle::before{display:none}}
@media(max-width:560px){.cycle{grid-template-columns:1fr 1fr}}
/* ── traps / third option ── */
.traps{display:grid;grid-template-columns:1fr;gap:18px;max-width:64rem;margin:0 auto}
@media(min-width:768px){.traps{grid-template-columns:1fr 1fr}}
.trap{border:1px solid rgba(255,59,59,.35);border-radius:var(--r);background:var(--surface);padding:28px;box-shadow:0 0 60px -30px rgba(255,59,59,.5)}
.trap h3,.third h3{font-size:16px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.trap p,.third p{color:var(--fg-muted);font-size:14.5px;margin-bottom:16px}
.trap ul,.third ul{list-style:none;display:grid;gap:8px}
.trap li{font-size:13.5px;padding-left:22px;position:relative}.trap li::before{content:"✕";position:absolute;left:0;color:var(--danger);font-weight:700;font-size:12px}
.third{border:1px solid rgba(255,121,0,.45);border-radius:var(--r);background:var(--accent-tint);padding:28px;max-width:64rem;margin:18px auto 0;box-shadow:0 0 80px -30px rgba(255,121,0,.45)}
.third ul{grid-template-columns:repeat(2,1fr)}@media(min-width:640px){.third ul{grid-template-columns:repeat(4,1fr)}}
.third li{font-size:13.5px;padding-left:22px;position:relative}.third li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.third .foot{margin-top:18px;color:var(--fg);font-size:14.5px;margin-bottom:0}
/* ── engine ── */
.engine{display:grid;grid-template-columns:1fr;gap:18px;max-width:64rem;margin:0 auto}
@media(min-width:768px){.engine{grid-template-columns:1fr 1fr}}
.step{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:28px}
.step .n{font-family:var(--display);color:var(--accent);font-size:12px;letter-spacing:.25em;margin-bottom:12px;display:block}
.step h3{font-size:17px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.step p{color:var(--fg-muted);font-size:14.5px;margin-bottom:14px}
.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:12px;color:var(--fg-muted)}
.mantra{text-align:center;color:var(--fg);font-family:var(--display);font-size:clamp(18px,2.4vw,24px);margin:40px auto 24px;max-width:48rem}
/* ── services ── */
.services{display:grid;grid-template-columns:1fr;gap:18px;max-width:64rem;margin:0 auto}
@media(min-width:640px){.services{grid-template-columns:1fr 1fr}}@media(min-width:960px){.services{grid-template-columns:repeat(3,1fr)}}
.svc{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:26px}
.svc .n{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);color:var(--accent);font-family:var(--display);font-weight:700;margin-bottom:14px}
.svc h3{font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.svc p{color:var(--fg-muted);font-size:14px}
.punch{text-align:center;color:var(--fg-muted);font-size:16px;margin-top:36px}
/* ── designs ── */
.dgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:64rem;margin:0 auto}
@media(min-width:640px){.dgrid{grid-template-columns:repeat(3,1fr)}}@media(min-width:960px){.dgrid{grid-template-columns:repeat(4,1fr)}}
.dcard{position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#111;height:420px;margin:0}
.dcard img{width:100%;height:auto;transition:transform 6s linear}
.dcard:hover img,.dcard:focus-within img{transform:translateY(calc(-100% + 420px))}
.dcard figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 12px 12px;background:linear-gradient(0deg,rgba(0,0,0,.95) 40%,transparent);font-family:var(--display);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-muted)}
@media(hover:none){.dcard{overflow-y:auto}.dcard img{transition:none}.dcard:hover img{transform:none}}
/* ── testimonials ── */
.rated{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--fg-muted);font-size:14px;margin-top:-28px;margin-bottom:40px}
.reviews{display:grid;grid-template-columns:1fr;gap:16px;max-width:64rem;margin:0 auto}
@media(min-width:640px){.reviews{grid-template-columns:1fr 1fr}}@media(min-width:960px){.reviews{grid-template-columns:repeat(3,1fr)}}
.review{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);padding:24px;display:flex;flex-direction:column;gap:14px}
.review blockquote{color:var(--fg-muted);font-size:14.5px;line-height:1.6;flex:1}
.review footer{display:flex;align-items:center;gap:12px}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--surface-strong);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-size:12px;font-weight:700;color:var(--fg-muted)}
.review footer b{display:block;font-size:14px}.review footer span{display:block;color:var(--fg-faint);font-size:12px}
.tpfoot{text-align:center;margin-top:28px;font-size:14px;color:var(--fg-muted)}.tpfoot a{color:var(--accent)}.tpfoot .tp{color:var(--tp);font-weight:700}
/* ── qualify / calculator ── */
.qual{max-width:64rem;margin:0 auto}
.qual .intro{color:var(--fg-muted);font-size:17px;text-align:center;max-width:44rem;margin:0 auto 40px}
.calc{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-raised);padding:clamp(24px,3.5vw,40px);display:grid;grid-template-columns:1fr;gap:28px}
@media(min-width:860px){.calc{grid-template-columns:1fr 1.1fr}}
.calc h3{font-size:clamp(22px,2.6vw,28px);margin-bottom:8px}
.calc .lede{color:var(--fg-muted);font-size:14.5px;margin-bottom:22px}
.field{margin-bottom:22px}
.field label{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:10px}
.field output{color:var(--accent);font-size:16px;font-weight:700;letter-spacing:0}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:999px;background:rgba(255,255,255,.12);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);border:3px solid #000;box-shadow:0 0 0 1px var(--accent);cursor:pointer}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);border:3px solid #000;cursor:pointer}
.results{display:grid;gap:10px}
.res{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.res span{color:var(--fg-muted);font-size:13px}.res b{font-family:var(--display);font-size:18px;color:var(--fg);white-space:nowrap}
.res.hot{border-color:rgba(255,121,0,.45);background:var(--accent-tint)}.res.hot b{color:var(--accent);font-size:22px}
.calc .note{color:var(--fg-faint);font-size:12px;margin-top:14px}
.fit{margin:40px auto 0;max-width:44rem}
.fit h3{font-size:18px;margin-bottom:14px;text-align:center}
.fit ul{list-style:none;display:grid;gap:10px}
.fit li{padding-left:26px;position:relative;color:var(--fg-muted);font-size:15px}.fit li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.fit .no{margin-top:18px;text-align:center;color:var(--fg-faint);font-size:14px}
/* ── faq ── */
.faq{max-width:48rem;margin:0 auto}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-family:var(--display);font-weight:700;font-size:17px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-size:22px;flex:none;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--fg-muted);font-size:15px;padding:0 0 20px;max-width:44rem}.faq details p a{color:var(--accent)}
/* ── book ── */
.book{position:relative;overflow:hidden}
.book::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at bottom,rgba(255,121,0,.14),transparent 60%);pointer-events:none}
.book .container{position:relative}
.book h2{font-size:clamp(30px,5vw,56px);text-transform:uppercase;text-align:center;max-width:56rem;margin:0 auto 20px}
.book .lede{text-align:center;color:var(--fg);font-size:20px;font-family:var(--display);margin-bottom:12px}
.book .desc{text-align:center;color:var(--fg-muted);font-size:16px;max-width:40rem;margin:0 auto}
.book .small{text-align:center;color:var(--fg-faint);font-size:13px;margin:14px auto 36px}
/* gate (inline + modal) */
.gate{border:1px solid rgba(255,121,0,.45);border-radius:var(--r-lg);background:var(--bg-raised);padding:clamp(24px,3.5vw,40px);max-width:36rem;margin:0 auto;box-shadow:0 0 80px -20px rgba(255,121,0,.35)}
.gate__eyebrow{font-family:var(--display);color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px}
.gate__q{font-size:clamp(22px,2.6vw,28px);margin-bottom:10px}
.gate__sub{color:var(--fg-muted);font-size:14.5px;margin-bottom:22px}
.gate__btns{display:flex;flex-direction:column;gap:10px}.gate__btns .btn{width:100%}
.form__micro{margin-top:14px;text-align:center;color:var(--fg-faint);font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.gate__tp{margin-top:10px;text-align:center;color:var(--fg-muted);font-size:13px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 8px}
.gate__tp b{white-space:nowrap}
.gate__tp b{color:var(--fg)}
.tpstars{display:inline-flex;gap:2px}.tpstars i{width:14px;height:14px;background:var(--tp);display:inline-block;position:relative}
.tpstars i::after{content:"★";position:absolute;inset:0;color:#fff;font-size:11px;line-height:14px;text-align:center;font-style:normal}
.gate__embed{min-height:640px;border-radius:12px;overflow:hidden;background:var(--bg-raised);margin-top:12px}
.gate__embed iframe,.gate__embed .calendly-inline-widget{min-width:300px;height:640px;width:100%}
.form__alt{margin-top:12px;text-align:center;font-size:13px;color:var(--fg-muted)}.form__alt a{color:var(--accent)}
.gate__cal .gate__eyebrow,.gate__nope .gate__eyebrow{color:var(--tp)}
.gate__ask[hidden],.gate__cal[hidden],.gate__nope[hidden]{display:none!important}
/* modal */
.modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px}
.modal[hidden]{display:none!important}
.modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.8);backdrop-filter:blur(10px);opacity:0;transition:opacity .3s}
.modal__panel{position:relative;width:min(560px,100%);max-height:calc(100vh - 40px);overflow-y:auto;transform:translateY(14px) scale(.98);opacity:0;transition:transform .35s,opacity .3s}
.modal.is-open .modal__backdrop{opacity:1}.modal.is-open .modal__panel{transform:none;opacity:1}
.modal__x{position:absolute;top:12px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--fg-muted);font-size:22px;line-height:1}
.modal__x:hover{color:var(--fg);border-color:var(--accent)}
.modal .gate__embed,.modal .gate__embed iframe,.modal .gate__embed .calendly-inline-widget{min-height:560px;height:560px}
body.modal-open{overflow:hidden}
@media(max-width:600px){.modal{padding:10px;align-items:end}.modal__panel{max-height:calc(100vh - 20px)}}
/* ── sticky bottom CTA ── */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;border-top:1px solid var(--border);background:rgba(0,0,0,.9);backdrop-filter:blur(12px);transform:translateY(100%);transition:transform .3s}
.sticky.is-on{transform:none}
.sticky .container{display:flex;justify-content:flex-end;padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}
@media(max-width:639px){.sticky .container{justify-content:stretch}.sticky .btn{width:100%}}
/* ── footer ── */
footer{border-top:1px solid var(--border);padding:48px 0}
footer .container{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
footer .logo img{height:24px}
footer ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 24px}footer ul a{color:var(--fg-muted);font-size:14px;display:inline-flex;min-height:44px;align-items:center;text-underline-offset:4px}footer ul a:hover{color:var(--accent);text-decoration:underline}
footer p{color:var(--fg-faint);font-size:12px;line-height:1.6;max-width:48rem}
/* ── reveal ── */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.strip-track{animation:none}.ping::before{animation:none}.modal__backdrop,.modal__panel{transition:none}}

/* odd receipt count: centre the last card */
.receipt:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 10px);width:100%;margin:0 auto}
@media(max-width:767px){.receipt:last-child:nth-child(odd){max-width:none}}
.step .out{color:var(--accent);font-family:var(--display);font-size:13px;font-weight:600;margin:-2px 0 10px}
.outcomes .tile{text-align:left}.outcomes .tile b{font-size:clamp(18px,1.9vw,22px)}

/* guarantee */
.promise{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:15px;color:var(--fg);border:1px solid rgba(255,121,0,.45);background:var(--accent-tint);border-radius:999px;padding:10px 18px}
@media(max-width:600px){.promise{font-size:13px;text-align:left}}
.guarantee{display:grid;grid-template-columns:1fr;gap:16px;max-width:64rem;margin:0 auto}
@media(min-width:860px){.guarantee{grid-template-columns:repeat(3,1fr)}}
.g-col{border:1px solid rgba(255,121,0,.35);border-radius:var(--r);background:var(--accent-tint);padding:24px}
.g-col p{color:var(--fg-muted);font-size:14.5px}.g-col p b{color:var(--fg)}

/* reviews: no avatar pictures */
.review footer{gap:0}
.review footer div{padding-top:2px}
/* ── mobile: tighter hero→strip, hide the experience line, swipe sliders for emails + reviews ── */
.swipe-hint{display:none}
@media(max-width:640px){
  .hero{padding-bottom:16px}
  .hero-in{gap:18px}
  .scrollto{min-height:32px}
  .exp{padding-top:8px}
  .exp p{display:none}
  .cats{margin-top:8px;gap:8px}
  .cat{padding:7px 12px;font-size:10px}
  .strip{margin-top:20px;height:340px}
  .strip-track{animation-duration:38s}
  .strip-track img{width:190px;height:340px}
  .swipe-hint{display:block;text-align:center;color:var(--fg-faint);font-family:var(--display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-top:14px}
  .dgrid,.reviews{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 20px 6px;margin:0 -20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .dgrid::-webkit-scrollbar,.reviews::-webkit-scrollbar{display:none}
  .dcard{flex:0 0 76%;scroll-snap-align:center;height:420px}
  .review{flex:0 0 84%;scroll-snap-align:center}
}

/* brand carousel (replaces the category chips) */
.logos{position:relative;overflow:hidden;margin:26px auto 0;max-width:72rem;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logos-track{display:flex;align-items:center;gap:56px;width:max-content;animation:strip 48s linear infinite;padding:6px 0}
.logos:hover .logos-track{animation-play-state:paused}
.lg{display:inline-flex;align-items:center;flex:none}
.lg img{height:26px;width:auto;opacity:.6;filter:grayscale(1)}
.lg-txt{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);white-space:nowrap}
@media(max-width:640px){.logos{margin-top:14px}.logos-track{gap:36px;animation-duration:30s}.lg img{height:22px}.lg-txt{font-size:13px}}
@media(prefers-reduced-motion:reduce){.logos-track{animation:none}}

/* Klaviyo-style summary cards (re-typeset dashboards) */
.kstrip{display:grid;grid-template-columns:1fr;gap:12px;margin:0 0 18px;text-align:left}
@media(min-width:860px){.kstrip{grid-template-columns:repeat(3,1fr)}}
.kcard{background:#fff;color:#1f2328;border-radius:10px;padding:14px 16px 12px;font-family:Inter,-apple-system,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.35);text-align:left;position:relative}
.kcard--hot{outline:2px solid var(--accent);outline-offset:2px}
.kcard__top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid #e6e8eb;padding-bottom:8px;margin-bottom:10px}
.kcard__top b{font-size:12px;font-weight:700}.kcard__top span{font-size:10.5px;color:#6b7280;white-space:nowrap}
.kcard__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kcard__grid b{display:block;font-family:"SFMono-Regular",Menlo,Consolas,monospace;font-size:clamp(15px,1.3vw,18px);letter-spacing:-.01em;color:#111}
.kcard__grid span{display:block;font-size:10.5px;color:#4b5563;margin-top:3px;line-height:1.3}
.kcard__grid em{display:inline-block;font-style:normal;font-size:10px;color:#6b7280;margin-top:5px;border:1px solid #e6e8eb;border-radius:999px;padding:2px 7px}
.kcard__grid em.up{color:#0f7b4d;background:#e8f7ef;border-color:#cdeedd}.kcard__grid em.dn{color:#b42318;background:#fdecec;border-color:#f7cfcf}
.kcard__tag{position:absolute;top:-10px;left:12px;background:var(--accent);color:#000;font-family:var(--display);font-weight:700;font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:3px 10px}
.kcap{color:var(--fg-faint);font-size:12px;text-align:center;margin:0 auto 18px;max-width:44rem}
.kcard--sm{width:100%;margin-top:14px}
.kcard--sm .kcard__grid b{font-size:16px}

.exp{padding-top:32px}
@media(max-width:640px){.exp{padding-top:8px}}
.logos{margin-top:0}

/* founder video reviews (click-to-load Wistia) */
.videos{display:grid;grid-template-columns:1fr;gap:16px;max-width:64rem;margin:0 auto 28px}
@media(min-width:760px){.videos{grid-template-columns:repeat(3,1fr)}}
.vcard{margin:0}
.vcard__play{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--border);background:#0a0a0a;padding:0;cursor:pointer}
.vcard__play img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85;transition:transform .5s,opacity .3s}
.vcard__play:hover img{transform:scale(1.03);opacity:1}
.vcard__btn{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:var(--accent);box-shadow:0 0 40px rgba(255,121,0,.55)}
.vcard__btn::after{content:"";position:absolute;left:23px;top:18px;border-left:18px solid #000;border-top:11px solid transparent;border-bottom:11px solid transparent}
.vcard__dur{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.75);color:#fff;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.06em;border-radius:999px;padding:3px 9px}
.vcard iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vcard.is-playing .vcard__play{cursor:default}
.vcard figcaption{margin-top:10px;text-align:center}
.vcard figcaption b{display:block;font-family:var(--display);font-size:14px}
.vcard figcaption span{display:block;color:var(--fg-faint);font-size:12px;margin-top:2px}
@media(max-width:640px){
  .videos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 20px 6px;margin:0 -20px 4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .videos::-webkit-scrollbar{display:none}
  .vcard{flex:0 0 84%;scroll-snap-align:center}
}

/* taller hero email strip: ~75% of each email visible (footers trimmed) */
.strip{height:700px;margin-top:34px}
.strip-track{gap:10px}
.strip-track img{width:135px;height:700px;border-radius:8px;-webkit-mask-image:linear-gradient(180deg,#000 86%,transparent);mask-image:linear-gradient(180deg,#000 86%,transparent)}
@media(max-width:640px){.strip{height:560px;margin-top:14px}.strip-track{gap:8px}.strip-track img{width:108px;height:560px}}
/* receipts with real dashboard screenshots */
.receipt--shot{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(24px,3vw,44px);align-items:center;text-align:left}
.receipt--shot .shotcopy{display:flex;flex-direction:column;align-items:flex-start}
.receipt--shot .who{margin-bottom:10px}
.receipt--shot h3{text-align:left}
.receipt--shot .sub{margin-bottom:10px}
.receipt--shot .tiles{margin-top:20px}
.receipt--shot .tile{text-align:left}
.shots{display:flex;flex-direction:column;gap:14px;width:100%}
.shot{margin:0}
.shot img{width:100%;height:auto;display:block;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#fff}
.shot--wide img{background:transparent;border-color:rgba(255,255,255,.08)}
.shot figcaption{margin-top:7px;font-family:var(--display);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint)}
@media(max-width:860px){.receipt--shot{grid-template-columns:1fr;text-align:left}}
