/* PALETTE (dark, warm): page #121110, surfaces #1A1816 / #201D1A, text #F5F1EA, body gray #B8B0A5, amber #F59E0B > #D97706 (the portal's own amber; hover #FBBF24). Amber is used sparingly: primary CTA, chips, accents. */
/* surface tokens are shared by the page and by every .dk surface */
:root{
  --bg:#121110;--surf:#1A1816;--surf2:#201D1A;
  --accent:#F59E0B;--amber2:#D97706;--amber3:#FBBF24;
  --t:245,241,234;
  --line:rgba(245,241,234,.16);--line2:rgba(245,241,234,.09);--edge:rgba(245,158,11,.55);
  --ink:#F5F1EA;--mute:#B8B0A5;--dim:#A39B90;
  --field:#26221E;
  --sans:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue','Segoe UI',Roboto,Arial,sans-serif;
  --max:1180px;
}
/* warm dark surfaces: ticker, cards, price band, form, footer, bottom bar */
.dk{background-color:var(--surf);color:var(--ink)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:70px}
body{background:var(--bg);color:var(--ink);font:400 17px/1.5 var(--sans);font-variant-numeric:tabular-nums;overflow-x:clip;-webkit-font-smoothing:antialiased;padding-bottom:76px}
/* faint warm hairline grid, fixed behind everything (the amber glow sits behind the hero dashboard) */
body:before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:var(--bg)}
body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(245,241,234,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(245,241,234,.028) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.55) 55%,rgba(0,0,0,.2));mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.55) 55%,rgba(0,0,0,.2))}
.sweep{position:fixed;left:0;right:0;top:0;height:2px;z-index:60;pointer-events:none;background:linear-gradient(90deg,transparent,#D97706 30%,#F59E0B 70%,transparent);box-shadow:0 0 24px 4px rgba(245,158,11,.25);animation:sweep 1.5s cubic-bezier(.5,0,.2,1) .15s both}
@keyframes sweep{0%{transform:translateY(0);opacity:1}90%{opacity:.9}100%{transform:translateY(100vh);opacity:0}}
a{color:var(--accent)}
button{font-family:inherit;color:inherit}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}
.mono{font-variant-numeric:tabular-nums;letter-spacing:0}
.kicker{font:600 1rem/1.2 var(--sans);letter-spacing:-.01em;color:var(--accent);display:block;margin-bottom:14px}
h1,h2,h3{font-family:var(--sans);letter-spacing:-.035em;line-height:1.05}
h2{font-size:clamp(2.4rem,7vw,4.5rem);font-weight:700;letter-spacing:-.042em;line-height:1.02;margin-bottom:18px}
h3{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.15}
.lead{color:var(--dim);font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:400;letter-spacing:-.012em;line-height:1.3;max-width:40ch}
section{padding:96px 0;position:relative}
.ico{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* ===== nav ===== */
header{position:sticky;top:0;z-index:40;background:rgba(18,17,16,.97);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:700 1.2rem/1 var(--sans);letter-spacing:-.03em}
.logo svg{width:26px;height:26px;stroke:var(--accent);fill:none;stroke-width:1.6;stroke-linecap:square}
.nav-links{display:none;gap:4px}
.nav-links a{font:500 .9rem/1 var(--sans);letter-spacing:-.005em;color:var(--mute);text-decoration:none;padding:10px 14px;border:1px solid transparent}
.nav-links a:hover,.nav-links a.active{color:var(--ink);border-color:var(--line)}
/* buttons: primary = the portal's amber gradient with dark text; secondary = off-white outline */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;border:0;font:600 1rem/1 var(--sans);letter-spacing:-.01em;text-decoration:none;color:var(--ink);padding:16px 26px;background:var(--surf2);transition:box-shadow .15s,transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn .ico{width:18px;height:18px;stroke-width:2}
.btn-ghost{color:var(--ink);background:transparent;border:1px solid var(--ink);padding:15px 24px}
.btn-ghost:hover{background:var(--ink);color:#121110}
.btn-light{background:var(--ink);color:#121110}
.btn-light:hover{background:#FFFFFF}
.btn-cta{font:700 1.2rem/1 var(--sans);letter-spacing:-.02em;text-transform:none;background:linear-gradient(135deg,#F59E0B,#D97706);color:#1A1005;padding:16px 28px;box-shadow:0 8px 22px rgba(245,158,11,.30),inset 1px 1px 0 rgba(255,255,255,.35)}
.btn-cta:hover{background:linear-gradient(135deg,#FBBF24,#F59E0B);box-shadow:0 10px 30px rgba(245,158,11,.50),inset 1px 1px 0 rgba(255,255,255,.45)}
.btn-sm{padding:11px 18px;font-size:1.2rem}
.btn-xl{padding:24px 44px;font-size:1.5rem;width:100%}
/* ===== ticker ===== */
.ticker{border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap}
.ticker-in{display:inline-flex;animation:tick 60s linear infinite;will-change:transform}
.tk{display:inline-flex;align-items:center;gap:10px;padding:10px 26px;font:500 .72rem/1 var(--sans);letter-spacing:.06em;color:var(--mute);border-right:1px solid var(--line2)}
.tk b{font-weight:700;letter-spacing:.12em;font-size:.66rem;padding:3px 6px;border:1px solid currentColor}
.tk .r{color:#1A1005;background:#F59E0B;border-color:#F59E0B}.tk .g{color:var(--amber3)}.tk .k{color:var(--dim)}
.tk em{font-style:normal;color:var(--ink)}
@keyframes tick{to{transform:translateX(-50%)}}
/* ===== hero ===== */
.hero{padding:40px 0 56px;overflow-x:clip}
.hero h1{font-size:clamp(2.7rem,12vw,7.6rem);font-weight:700;line-height:.94;letter-spacing:-.045em;margin-bottom:30px;max-width:12ch;text-wrap:balance}
.hero h1 span{display:inline}
.hero h1 .t2{display:block;position:relative;white-space:nowrap}
.tally{display:inline-block;height:.72em;width:auto;aspect-ratio:120/70;margin-left:.12em;vertical-align:-.02em;stroke:var(--accent);stroke-width:7;fill:none;stroke-linecap:square}
.hero-sub{display:grid;gap:26px;margin-bottom:48px}
.cta-row{display:flex;flex-direction:column;gap:12px;margin-bottom:22px}
.exp{border-left:2px solid var(--accent);padding:2px 0 2px 14px;font:400 .95rem/1.5 var(--sans);color:var(--mute);max-width:46ch}
.exp b{color:var(--ink);font-weight:600}
.tag{font:700 .62rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border:1px dashed var(--accent);color:var(--amber3);white-space:nowrap}
/* ===== catches (bento) ===== */
.sec-head{margin-bottom:52px;max-width:760px}
.bento{display:grid;gap:14px}
.cell{position:relative;background:linear-gradient(180deg,var(--surf2),var(--surf));border:1px solid var(--line);padding:24px;box-shadow:0 14px 34px rgba(0,0,0,.35)}
.cell:before{content:"";position:absolute;left:-1px;top:-1px;width:14px;height:14px;border-top:2px solid var(--accent);border-left:2px solid var(--accent)}
.cell:after{content:"";position:absolute;left:14px;right:0;top:-1px;height:1px;background:linear-gradient(90deg,var(--edge),transparent 60%)}
.cell .no{font:600 .72rem/1 var(--sans);letter-spacing:.08em;color:var(--dim);display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.cell .no .ico{color:var(--ink);width:26px;height:26px}
.cell h3{font-size:1.5rem;margin-bottom:10px}
.cell p{color:var(--mute);font-size:.95rem;max-width:52ch}
.viz{margin-top:20px;border-top:1px dashed var(--line);padding-top:14px;display:grid;gap:8px;font:500 .74rem/1.2 var(--sans);color:var(--mute)}
.viz-h{display:flex;justify-content:space-between;font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.bar{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center}
.bar i{display:block;height:8px;background:rgba(var(--t),.14);position:relative}
.bar i b{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#D97706,#F59E0B)}
.bar i b.x{background:repeating-linear-gradient(45deg,#F5F1EA 0 3px,transparent 3px 7px);left:auto;right:0}
.vl{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line2)}
.vl:last-child{border:0}
.vl span:last-child{color:var(--ink)}
.vl .mi{text-decoration:underline dotted;text-underline-offset:3px}
.spark{display:block;width:100%;height:46px}
/* ===== brands ===== */
.brands-wrap{display:grid;gap:34px}
.bg-group h3{font:600 .7rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;display:flex;gap:12px;align-items:center}
.bg-group h3:after{content:"";flex:1;height:1px;background:var(--line)}
.names{display:flex;flex-wrap:wrap;gap:8px}
.names li{list-style:none;font:500 .9rem/1 var(--sans);color:var(--ink);padding:10px 13px;border:1px solid var(--line);background:var(--surf)}
.names li:hover{background:var(--ink);color:#121110}
.fineprint{font:400 .8rem/1.6 var(--sans);color:var(--dim);max-width:78ch;margin-top:28px;border-left:1px solid var(--line);padding-left:14px}
/* ===== how ===== */
.steps{display:grid;gap:14px}
.step{position:relative;padding:26px 24px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surf2),var(--surf));box-shadow:0 14px 34px rgba(0,0,0,.35)}
.step .big{font:700 4.2rem/1 var(--sans);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(245,158,11,.8);margin-bottom:14px}
.step h3{font-size:1.4rem;margin-bottom:8px;display:flex;gap:10px;align-items:center}
.step h3 .ico{color:var(--accent)}
.step p{color:var(--mute);font-size:.95rem}
/* ===== look inside: the portal demo ===== */
.inside-grid{display:grid;gap:34px;grid-template-columns:minmax(0,1fr)}
.inside-aside h2{margin-bottom:16px}





.app-wrap{position:relative;width:100%;max-width:420px;margin:0 auto}
.demo-tag{position:absolute;right:12px;top:-14px;z-index:5;background:#F59E0B;color:#1A1005;border:1px solid #F59E0B;border-radius:999px}
/* ===== pricing band ===== */
.price-band{position:relative;display:grid;gap:28px;padding:40px 24px;border:1px solid rgba(245,158,11,.38);background:linear-gradient(135deg,#201D1A,#1A1816 70%);box-shadow:0 30px 60px rgba(0,0,0,.45),0 0 70px rgba(245,158,11,.10);overflow:hidden}
.price-band:before{content:"";position:absolute;left:-1px;top:-1px;width:20px;height:20px;border-top:3px solid #F59E0B;border-left:3px solid #F59E0B}
.price-band:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(245,241,234,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(245,241,234,.05) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000);mask-image:linear-gradient(90deg,transparent 30%,#000)}
.pb-text,.pb-cta{position:relative;z-index:1}
.pb-from{font:500 1.15rem/1 var(--sans);letter-spacing:-.01em;color:var(--mute);margin-bottom:10px}
.pb-price{font:700 clamp(4.6rem,22vw,9rem)/.9 var(--sans);letter-spacing:-.06em;color:var(--ink);display:flex;align-items:flex-start}
.pb-price sup{font-size:.32em;margin:.28em 6px 0 0;letter-spacing:0}
.pb-price small{font:500 clamp(1rem,3.4vw,1.6rem)/1 var(--sans);letter-spacing:0;align-self:flex-end;margin:0 0 .7em 10px;color:var(--mute)}
/* ===== form ===== */
.demo-grid{display:grid;gap:30px}
.checks{list-style:none;display:grid;gap:12px;margin-top:24px;font:400 1.05rem/1.4 var(--sans);color:var(--mute)}
.checks li{display:flex;gap:10px;align-items:flex-start}.checks .ico{color:var(--accent);width:18px;height:18px}
.formbox{position:relative;border:1px solid var(--line);padding:24px;background:linear-gradient(180deg,var(--surf2),var(--surf));box-shadow:0 20px 50px rgba(0,0,0,.4)}
.formbox:before{content:"";position:absolute;left:-1px;top:-1px;width:16px;height:16px;border-top:2px solid #F59E0B;border-left:2px solid #F59E0B}
form{display:grid;gap:16px}
label{display:grid;gap:8px;font:500 .95rem/1 var(--sans);letter-spacing:-.005em;color:var(--mute)}
input{font:500 1rem/1.2 var(--sans);color:var(--ink);background:var(--field);border:1px solid rgba(245,241,234,.30);border-radius:0;padding:14px;width:100%}
input::placeholder{color:#968E83}
input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(245,158,11,.35)}
.thanks{padding:12px 0}
.thanks h3{font-size:1.8rem;margin-bottom:10px}
.thanks p{color:var(--mute)}
[hidden]{display:none!important}
/* ===== faq ===== */
.faq-grid{display:grid;gap:30px}
.faq{display:grid;gap:10px;counter-reset:q}
details{counter-increment:q}
.faq details{border:1px solid var(--line);background:linear-gradient(180deg,var(--surf2),var(--surf));color:var(--ink)}
.faq details[open]{border-color:rgba(245,158,11,.6)}
.faq summary{cursor:pointer;list-style:none;padding:20px 54px 20px 20px;font:600 1.1rem/1.3 var(--sans);letter-spacing:-.015em;position:relative;display:flex;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:before{content:"Q" counter(q,decimal-leading-zero);font:600 .68rem/1.9 var(--sans);color:var(--accent);letter-spacing:.1em;flex:none}
.faq summary:after{content:"+";position:absolute;right:18px;top:14px;font:400 1.5rem/1 var(--sans);color:var(--accent)}
.faq details[open] summary:after{content:"\2212"}
.faq details p{color:var(--mute);padding:0 20px 22px 64px;font-size:1rem}
/* ===== footer ===== */
footer{padding:38px 0 30px;border-top:1px solid var(--line)}
footer .wrap{display:grid;gap:16px}
footer p{font:400 .8rem/1.7 var(--sans);color:var(--mute);max-width:110ch}
footer p.legal{color:var(--ink)}
/* ===== landing mobile bottom bar (section nav) ===== */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:var(--surf);border-top:1px solid var(--line)}
.tb{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;min-height:48px;justify-content:center;color:var(--mute);text-decoration:none;font:600 .62rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase}
.tb .ico{width:21px;height:21px}
.tb.active{color:var(--ink)}
.tb.active:before{content:"";position:absolute;top:-7px;width:34px;height:2px;background:#F59E0B}
/* ===== breakpoints ===== */
@media(min-width:640px){
  .cta-row{flex-direction:row}
}
@media(min-width:900px){
  body{padding-bottom:0}
  .tabbar{display:none}
  .nav-links{display:flex}
  .bento{grid-template-columns:repeat(12,1fr)}
  .c7{grid-column:span 7}.c5{grid-column:span 5}.c4{grid-column:span 4}
  .brands-wrap{grid-template-columns:1fr 1fr;gap:40px 56px}
  .brands-wrap .wide{grid-column:1/-1}
  .steps{grid-template-columns:repeat(3,1fr);align-items:start}
  .step:nth-child(2){margin-top:44px}.step:nth-child(3){margin-top:88px}
  .inside-grid{grid-template-columns:minmax(0,5fr) minmax(0,5fr);gap:64px;align-items:center}
  .app-wrap{margin:0 0 0 auto}
  .price-band{grid-template-columns:1fr auto;align-items:center;padding:56px;gap:48px}
  .btn-xl{width:auto}
  .demo-grid{grid-template-columns:5fr 6fr;gap:64px;align-items:start}
  .faq-grid{grid-template-columns:4fr 8fr;gap:64px;align-items:start}
  .faq-grid .sec-head{position:sticky;top:90px;margin:0}
  section{padding:128px 0}
  .formbox{padding:34px}
  .hero-sub{grid-template-columns:minmax(0,5fr) minmax(0,5fr);gap:56px;align-items:end;margin-bottom:44px}
  .hero h1{max-width:none}
  .hero .term{margin-right:calc((100% - 100vw)/2 - 60px)}
  .hero .term .pt-stage{padding-right:calc(1.25rem + 60px)}
  .hero .term .term-note{padding-right:calc(1.2rem + 60px)}
}
@media(min-width:1100px){
  .hero{padding:64px 0 88px}
  .hero h1{font-size:clamp(5.2rem,8.6vw,8.6rem)}
}
@media(prefers-reduced-motion:reduce){
  .sweep,.scan{display:none}
  .ticker-in{animation:none}
  html{scroll-behavior:auto}
}

/* hide the landing bottom bar while the portal demo is on screen, so only the demo's own bar shows */
.in-app .tabbar{display:none}


/* ===== hero polish ===== */
.hero{position:relative}
.hero h1{color:#F5F1EA;font-weight:800;letter-spacing:-.058em;line-height:.9;margin-bottom:44px}
.hero h1 .t2{letter-spacing:-.06em}
.hero .lead{font-size:1.2rem;line-height:1.55;max-width:52ch;color:var(--mute);margin:0 0 4px}
.hero-sub{gap:32px;margin-bottom:64px}
.hero .cta-row{gap:14px;margin-bottom:26px}
.hero .btn{min-height:58px;border-radius:2px;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease}
.hero .btn-cta{padding:0 30px;box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 6px 16px rgba(245,158,11,.30),0 14px 34px rgba(245,158,11,.20)}
.hero .btn-cta:hover{transform:translateY(-2px);background:linear-gradient(135deg,#FBBF24,#F59E0B);box-shadow:0 1px 0 rgba(255,255,255,.45) inset,0 12px 24px rgba(245,158,11,.45),0 22px 48px rgba(245,158,11,.32)}
.hero .btn-cta:active{transform:translateY(0);box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 4px 10px rgba(245,158,11,.4)}
.hero .btn-ghost{border:2px solid #F5F1EA;color:#F5F1EA;background:transparent;padding:0 28px;font-weight:700}
.hero .btn-ghost:hover{background:#F5F1EA;color:#121110;transform:translateY(-1px);box-shadow:0 10px 24px rgba(245,241,234,.16)}
.hero .btn-ghost:active{transform:translateY(0)}
.btn:focus-visible{outline:3px solid #F5F1EA;outline-offset:4px}
.btn-cta:focus-visible{outline:3px solid #F5F1EA;outline-offset:4px;box-shadow:0 0 0 2px #121110,0 6px 16px rgba(245,158,11,.30)}
.hero .btn-ghost:focus-visible:not(:hover){background:rgba(245,241,234,.10)}
.trust{list-style:none;display:flex;flex-direction:column;gap:12px;padding:0;margin:0}
.trust li{display:flex;align-items:center;gap:10px;font:600 .92rem/1.3 var(--sans);color:#E3DDD3;letter-spacing:-.005em}
.trust .ico{flex:0 0 auto;width:18px;height:18px;stroke-width:1.9;color:var(--accent)}
@media(min-width:640px){
  .hero .cta-row{flex-direction:row;align-items:center}
  .trust{flex-direction:row;flex-wrap:wrap;gap:12px 0}
  .trust li{padding:0 18px;border-left:1px solid rgba(245,241,234,.22)}
  .trust li:first-child{padding-left:0;border-left:0}
}
@media(min-width:900px){
  .hero .lead{font-size:1.3rem}
  .hero-sub{margin-bottom:72px}
}
@media(min-width:900px) and (max-width:1239px){
  .trust{flex-direction:column;gap:12px}
  .trust li,.trust li:first-child{padding:0;border-left:0}
}
@media(prefers-reduced-motion:reduce){.hero .btn{transition:none}.hero .btn-cta:hover,.hero .btn-ghost:hover{transform:none}}
@media(min-width:1100px){
  .hero-sub{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px}
}
@media(min-width:1240px){
  .trust{flex-direction:row;flex-wrap:nowrap}
  .trust li,.trust li:first-child{border-left:1px solid rgba(245,241,234,.22);padding:0 15px;font-size:.88rem;white-space:nowrap}
  .trust li:first-child{border-left:0;padding-left:0}
}
.lead+.exp{margin-top:18px}

/* ===== depth pass: aurora, light pool, section glows, grain, hairlines, floating chips ===== */
/* Everything here is CSS only. Animations touch transform/opacity only; reduced-motion makes it static. */
main{isolation:isolate}
.hero{isolation:isolate}
.hero .wrap{position:relative}
.hero-fx{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hero-fx .au{position:absolute;border-radius:50%;opacity:.8;will-change:transform,opacity}
.hero-fx .a1{left:-14%;top:-30%;width:72%;height:95%;background:radial-gradient(closest-side,rgba(245,158,11,.30),rgba(245,158,11,.10) 55%,transparent);animation:au1 32s ease-in-out infinite alternate}
.hero-fx .a2{right:-18%;top:-8%;width:62%;height:80%;background:radial-gradient(closest-side,rgba(194,98,32,.32),rgba(194,98,32,.10) 55%,transparent);animation:au2 38s ease-in-out infinite alternate}
.hero-fx .a3{left:22%;top:34%;width:60%;height:60%;background:radial-gradient(closest-side,rgba(251,191,36,.12),transparent);animation:au3 26s ease-in-out infinite alternate}
@keyframes au1{0%{transform:translate3d(0,0,0) scale(1);opacity:.7}100%{transform:translate3d(14%,10%,0) scale(1.18);opacity:.95}}
@keyframes au2{0%{transform:translate3d(0,0,0) scale(1.1);opacity:.9}100%{transform:translate3d(-16%,12%,0) scale(.92);opacity:.6}}
@keyframes au3{0%{transform:translate3d(-8%,0,0) scale(.95);opacity:.4}100%{transform:translate3d(10%,-6%,0) scale(1.1);opacity:.9}}
.hero-fx .dots{position:absolute;inset:0;background-image:radial-gradient(rgba(245,241,234,.20) 1px,transparent 1.3px);background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse 70% 62% at 50% 38%,#000 0,rgba(0,0,0,.45) 50%,transparent 82%);mask-image:radial-gradient(ellipse 70% 62% at 50% 38%,#000 0,rgba(0,0,0,.45) 50%,transparent 82%);opacity:.5}
/* gold light pool behind the dashboard (the frame's backdrop blur lifts it into the glass) */
.hero .wrap::before{content:"";position:absolute;left:-8%;right:-8%;bottom:-6%;height:66%;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 52% 50% at 50% 52%,rgba(245,158,11,.42),rgba(217,119,6,.18) 48%,transparent 74%)}

/* per-section warm glows, alternating sides */
main>section:not(.hero)::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
#catches::before{background:radial-gradient(60% 55% at 6% 22%,rgba(217,119,6,.11),transparent 70%)}
#brands::before{background:radial-gradient(60% 55% at 96% 30%,rgba(245,158,11,.09),transparent 70%)}
#how::before{background:radial-gradient(62% 55% at 4% 55%,rgba(194,98,32,.11),transparent 70%)}
#inside::before{background:radial-gradient(62% 60% at 94% 50%,rgba(245,158,11,.11),transparent 70%)}
#pricing::before{background:radial-gradient(60% 70% at 8% 50%,rgba(217,119,6,.10),transparent 70%)}
#demo::before{background:radial-gradient(60% 60% at 95% 35%,rgba(245,158,11,.10),transparent 70%)}
#faq::before{background:radial-gradient(60% 55% at 5% 25%,rgba(194,98,32,.10),transparent 70%)}
/* thin amber hairlines between sections */
main>section+section::after,footer::before{content:"";position:absolute;top:0;left:50%;width:min(1180px,calc(100% - 40px));height:1px;transform:translateX(-50%);pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(245,158,11,.55),transparent)}
footer{position:relative;border-top:0}
footer::before{background:linear-gradient(90deg,transparent,rgba(245,158,11,.45),transparent)}

/* fine page grain: tiny inline SVG tile, fixed, no pointer events */
html::after{content:"";position:fixed;inset:0;z-index:45;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .95 0 0 0 0 .88 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px}

/* floating glass chips (decorative, aria-hidden, fake data) */
.fchips{display:none}
@media(min-width:1366px){
  .fchips{display:block;position:absolute;left:0;right:0;top:0;height:100%;pointer-events:none;z-index:1;max-width:1260px;margin:0 auto}
  .fc{position:absolute;display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border-radius:999px;font:600 .86rem/1 var(--sans);color:#F5F1EA;white-space:nowrap;
    background:rgba(32,29,26,.62);border:1px solid rgba(245,158,11,.38);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
    box-shadow:0 10px 26px rgba(0,0,0,.45),0 0 22px rgba(245,158,11,.14),inset 0 1px 0 rgba(255,255,255,.10);animation:fcf 8s ease-in-out infinite alternate}
  .fc i{width:7px;height:7px;border-radius:50%;background:#F59E0B;box-shadow:0 0 8px rgba(245,158,11,.8)}
  .fc b{color:#FBBF24;font-weight:800}
  .fc1{right:17%;top:118px}
  .fc2{right:4%;top:190px;animation-duration:9.5s;animation-delay:-3s}
  .fc3{right:23%;top:268px;animation-duration:7.5s;animation-delay:-5s}
  .fc4{right:2%;top:340px;animation-duration:10s;animation-delay:-1s}
}
@keyframes fcf{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(0,-12px,0)}}

@media(prefers-reduced-motion:reduce){
  .hero-fx .au,.fc{animation:none;will-change:auto}
}
.hero-fx{-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent);mask-image:linear-gradient(180deg,#000 80%,transparent)}
.hero .wrap::before{-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-err{margin-top:12px;font-size:.95rem;color:#FCA5A5}
