@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@600;700&family=Karla:wght@400;700&display=swap');
/* STAY GRIPPY: shared styles for every page. Edit colors/fonts in :root only. */
:root{--black:#000;--surface:#141414;--white:#fff;--blue:#7EC8F2;--yellow:#FFD23F;--muted:#b9b9b9;
--display:"Fredoka","Arial Rounded MT Bold","Trebuchet MS",sans-serif;
--body:"Karla",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--nav-h:64px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--black);color:var(--white);font:400 1.0625rem/1.6 var(--body)}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.08;margin:0 0 .5em}
h1{font-size:clamp(2.4rem,8vw,4.8rem)}h2{font-size:clamp(1.8rem,5vw,2.8rem)}h3{font-size:1.3rem}
p{margin:0 0 1em;max-width:62ch}a{color:var(--blue)}img,svg{max-width:100%}
.wrap{width:min(1100px,92%);margin-inline:auto}.narrow{max-width:760px}
section{padding:clamp(3rem,8vw,5.5rem) 0}
.small{font-size:.95rem;color:var(--muted)}
/* Buttons: yellow = buy, blue = secondary */
.btn{display:inline-block;font:700 1.1rem/1 var(--display);padding:1rem 1.7rem;border-radius:999px;background:var(--yellow);color:var(--black);text-decoration:none;border:0;cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 rgba(255,210,63,.35)}
.btn-blue{background:var(--blue)}.btn-blue:hover{box-shadow:0 6px 0 rgba(126,200,242,.35)}
.btn-full{width:100%;text-align:center}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
/* Header, nav, sticky buy bar */
.announce{background:var(--blue);color:var(--black);text-align:center;font-weight:700;padding:.5rem 1rem;font-size:.95rem}
.nav{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.9);backdrop-filter:blur(10px);border-bottom:1px solid #222}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h)}
.logo{font:700 1.35rem/1 var(--display);color:var(--white);text-decoration:none}.logo span{color:var(--blue)}
.menu{display:flex;gap:1.5rem;align-items:center}
.menu a{color:var(--white);text-decoration:none;font-weight:700}.menu a:hover,.menu a.on{color:var(--blue)}
.menu a.btn{padding:.6rem 1.2rem;font-size:1rem;color:var(--black)}
.burger{display:none;background:none;border:0;color:var(--white);font-size:1.8rem;cursor:pointer}
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom,0));background:rgba(0,0,0,.94);border-top:1px solid #222;transform:translateY(110%);transition:transform .3s;display:none}
.buybar.show{transform:none}
/* Page heads and bands */
.pagehead{padding:clamp(3rem,8vw,5rem) 0 2.5rem;border-bottom:6px solid var(--blue)}
.pagehead p{font-size:1.25rem;max-width:44ch}
.hero{padding:clamp(3.5rem,10vw,7rem) 0 clamp(4rem,10vw,7rem)}
.hero .lead{font-size:clamp(1.15rem,3vw,1.45rem);max-width:34ch}.blue{color:var(--blue)}
.hero-in{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}.hero-in:nth-child(2){animation-delay:.12s}.hero-in:nth-child(3){animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.drip{display:block;width:100%;height:clamp(40px,7vw,90px);margin-bottom:-1px;background:var(--blue);transform-origin:top;animation:dripdown 1.2s .3s cubic-bezier(.3,.9,.3,1) both}
@keyframes dripdown{from{transform:scaleY(.2)}to{transform:scaleY(1)}}
.on-blue{background:var(--blue);color:var(--black)}.on-blue h2,.on-blue h3{color:var(--black)}
.alt{background:var(--surface)}
/* Layout helpers */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.benefit{border-top:4px solid var(--black);padding-top:1rem}
.card{background:var(--surface);border-radius:22px;padding:1.5rem}.alt .card{background:var(--black)}
.avatar{width:56px;height:56px;border-radius:50%;background:#333;border:2px dashed #666;margin-bottom:1rem}
.card blockquote{margin:0 0 1rem}.card cite{font-style:normal;color:var(--blue);font-weight:700}
/* Photo placeholder: swap for <img src="..." alt="..."> */
.ph{aspect-ratio:4/3;border-radius:24px;background:var(--surface);border:2px dashed #555;display:grid;place-items:center;text-align:center;padding:1.2rem;color:var(--muted)}
.ph.sq{aspect-ratio:1}
.price{font:700 2rem/1 var(--display);margin:.25rem 0 1rem}
.checks{list-style:none;padding:0;margin:0 0 1.5rem}
.checks li{padding:.35rem 0 .35rem 1.8rem;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:.75rem;width:.9rem;height:.5rem;border-left:3px solid var(--blue);border-bottom:3px solid var(--blue);transform:rotate(-45deg)}
.steps{counter-reset:s;list-style:none;padding:0;margin:1rem 0}
.steps li{counter-increment:s;padding:.6rem 0 .6rem 3rem;position:relative}
.steps li::before{content:counter(s);position:absolute;left:0;top:.5rem;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--blue);color:var(--black);font:700 1.1rem/2.1rem var(--display);text-align:center}
.tablebox{overflow-x:auto;margin-top:1.5rem}
table{border-collapse:collapse;width:100%;min-width:520px}
th,td{text-align:left;padding:1rem;border-bottom:1px solid #2a2a2a}
th{font-family:var(--display);font-size:1.1rem}th.us,td.us{background:var(--surface)}th.us{color:var(--blue)}
.note{border-left:5px solid var(--blue);background:var(--surface);padding:1rem 1.2rem;border-radius:0 14px 14px 0;margin:1.5rem 0;max-width:62ch}
/* FAQ (native details) */
details{border-bottom:1px solid #2a2a2a;padding:1rem 0}
summary{cursor:pointer;font:700 1.15rem/1.3 var(--display);list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}summary::after{content:"+";color:var(--blue);font-size:1.6rem;line-height:1}
details[open] summary::after{content:"\2212"}details[open] p{animation:fade .35s both;margin-top:.75rem}
@keyframes fade{from{opacity:0}to{opacity:1}}
/* Forms */
form{display:grid;gap:1rem}label{font-weight:700;display:grid;gap:.4rem}
input,textarea,select{font:inherit;padding:.9rem 1rem;border-radius:14px;border:2px solid #333;background:var(--black);color:var(--white);width:100%}
input:focus,textarea:focus,select:focus{border-color:var(--blue);outline:none}textarea{min-height:130px;resize:vertical}
.status{min-height:1.5em;color:var(--blue);font-weight:700}
.final{text-align:center}.final p{margin-inline:auto}
footer{padding:2.5rem 0 5rem;border-top:1px solid #222;color:var(--muted);font-size:.95rem}
footer .row{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between}footer a{color:var(--muted)}
/* Scroll reveal (only when JS is on, so content is never hidden without it) */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.js .reveal.in{opacity:1;transform:none}
/* Phones */
@media(max-width:820px){
.burger{display:block}
.menu{position:absolute;top:var(--nav-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#000;border-bottom:1px solid #222;display:none;padding:.5rem 4%}
.menu.open{display:flex}.menu a{padding:1rem 0;border-bottom:1px solid #1d1d1d}.menu a.btn{margin:1rem 0;text-align:center}
.grid3,.grid2{grid-template-columns:1fr}.grid2{gap:1.5rem}.buybar{display:block}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}
