:root{
  --bg:#000; --c1:#111113; --c2:#1a1a1d; --c3:#242428; --line:#2c2c30;
  --txt:#fff; --d1:#c9c9ce; --d2:#a0a0a7; --d3:#84848b; --acc:#fff;
}
*{margin:0;box-sizing:border-box}
body{font-family:-apple-system,system-ui,sans-serif;background:var(--bg);color:var(--txt);
  -webkit-font-smoothing:antialiased;line-height:1.5}
.wrap{max-width:960px;margin:0 auto;padding:0 20px 80px}
header{padding:28px 0;display:flex;align-items:center;justify-content:space-between}
header a{color:var(--txt);text-decoration:none;font-weight:700;font-size:17px;letter-spacing:-.01em}
header nav a{color:var(--d2);font-weight:500;font-size:14px;margin-left:18px}
header nav a:hover{color:var(--txt)}
.hero{padding:56px 0 40px;text-align:center}
.hero h1{font-size:clamp(30px,6vw,52px);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.hero p{color:var(--d2);font-size:17px;max-width:52ch;margin:16px auto 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin-top:40px}
.card{display:block;background:var(--c1);border:1px solid var(--line);border-radius:18px;
  padding:22px;color:var(--txt);text-decoration:none;transition:border-color .15s,transform .15s}
.card:hover{border-color:#4a4a52;transform:translateY(-2px)}
.thumb{height:140px;border-radius:12px;background:radial-gradient(ellipse at 50% 120%,#1f1f24,var(--c2) 70%);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  font-size:44px;margin-bottom:16px;overflow:hidden}
.goopie{width:120px;height:120px;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.card:hover .goopie{transform:scale(1.12)}
.card h2{font-size:17px;font-weight:700;letter-spacing:-.01em}
.card .tag{display:inline-block;font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;
  color:var(--d3);border:1px solid var(--line);border-radius:999px;padding:3px 9px;margin:8px 0 6px}
.card p{color:var(--d2);font-size:13.5px}
/* product pages */
.phead{padding:48px 0 8px}
.phead .tag{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--d3)}
.phead h1{font-size:clamp(28px,5vw,42px);font-weight:800;letter-spacing:-.03em;margin-top:6px}
.phead p{color:var(--d2);font-size:16.5px;max-width:60ch;margin-top:10px}
.btns{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 8px}
.btn{background:var(--acc);color:#000;border-radius:12px;padding:12px 20px;font-weight:600;
  font-size:14px;text-decoration:none}
.btn.alt{background:var(--c2);color:var(--txt);border:1px solid var(--line)}
section{margin-top:44px}
section h3{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--d3);margin-bottom:14px}
.feat{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.feat div{background:var(--c1);border:1px solid var(--line);border-radius:14px;padding:16px;
  font-size:14px;color:var(--d1)}
.feat div b{display:block;color:var(--txt);margin-bottom:4px}
ol.how{padding-left:20px;color:var(--d1);font-size:15px}
ol.how li{margin-bottom:10px}
details{background:var(--c1);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:10px}
details summary{cursor:pointer;font-weight:600;font-size:14.5px}
details p{color:var(--d2);font-size:14px;margin-top:10px}
.media{background:var(--c1);border:1px dashed var(--line);border-radius:14px;padding:36px;
  text-align:center;color:var(--d3);font-size:14px}
footer{margin-top:70px;padding-top:24px;border-top:1px solid var(--line);color:var(--d3);
  font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer a{color:var(--d2);text-decoration:none}
/* product page hero: text + mascot side by side */
.pgrid{display:flex;align-items:center;gap:24px;justify-content:space-between;flex-wrap:wrap}
.pmascot img{width:170px;height:170px}
@media(max-width:640px){.pmascot{margin:0 auto}}
/* hero pop */
.hero h1{background:linear-gradient(180deg,#fff 60%,#a8a8b3);-webkit-background-clip:text;
  background-clip:text;-webkit-text-fill-color:transparent}
.hero{position:relative}
.hero::before{content:"";position:absolute;inset:-40px -80px auto;height:300px;pointer-events:none;
  background:radial-gradient(ellipse 60% 55% at 50% 0%,rgba(247,147,26,.14),transparent 65%),
             radial-gradient(ellipse 45% 45% at 62% 8%,rgba(191,90,242,.12),transparent 60%)}
.brand{display:flex;align-items:center;gap:10px}
.brand img{width:30px;height:30px;border-radius:8px}
.tag.hot{color:#ff9f0a;border-color:#6b4a10;background:rgba(59,42,10,.5)}
