/* Hypersmash Studios — matte mint site theme (monumental redesign, 2026-07-13) */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap');

:root{
  --mint:#dcebe3; --mint2:#cfe3d8; --mint3:#bcd8ca;
  --bg:var(--mint);
  --panel:rgba(255,255,255,.78); --panel2:rgba(255,255,255,.5);
  --line:rgba(15,35,27,.16); --lineFaint:rgba(15,35,27,.08);
  --ink:#0f231b; --ink2:#33493f; --mut:#5f7a6d;
  --pine:#0e3b2e; --em:#0fa47f; --em2:#0b8266; --glare:rgba(255,255,255,.85);
  --cy:var(--em); --cy2:var(--em2); --sky:var(--em); --vi:#0e3b2e;   /* legacy aliases */
  --am:#e8a13d; --amber:#e8a13d; --red:#d64545; --green:#0fa47f;
  --grad:linear-gradient(180deg,#14b48c,var(--em2));
  --gold:var(--em); --gold2:var(--line);
}
*{box-sizing:border-box; margin:0;}
html,body{
  background:
    radial-gradient(1100px 600px at 85% -10%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(900px 700px at -10% 110%, rgba(15,164,127,.10), transparent 60%),
    linear-gradient(165deg, var(--mint) 0%, var(--mint2) 55%, var(--mint3) 100%);
  background-attachment:fixed;
  color:var(--ink); font-family:'Inter',system-ui,sans-serif; line-height:1.6; min-height:100vh;
}
/* matte grain */
body::before{ content:''; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.5;
  background-image:radial-gradient(rgba(15,35,27,.05) 1px, transparent 1px); background-size:26px 26px; }
body::after{ content:none; }
::selection{ background:var(--em); color:#fff; }
.wrap, #gate{position:relative; z-index:2;}
a{color:var(--em2); text-decoration:none;}
a:hover{color:var(--em);}
.wrap{max-width:1060px; margin:0 auto; padding:0 22px;}

nav{display:flex; align-items:center; gap:26px; padding:22px 0; border-bottom:1.5px solid var(--lineFaint);}
nav .logo{font-family:'Space Grotesk'; font-weight:700; font-size:18px; letter-spacing:-.3px; color:var(--ink);}
nav .logo span{color:var(--em2); font-weight:700;}
nav .links{margin-left:auto; display:flex; gap:22px; align-items:center;
  font-family:'Space Grotesk'; font-weight:500; font-size:13.5px; letter-spacing:.4px;}

.btn{display:inline-block; background:var(--grad); color:#fff;
  font-family:'Space Grotesk'; font-weight:700; letter-spacing:.3px; padding:13px 26px; font-size:14px;
  border:none; cursor:pointer; border-radius:999px; position:relative; overflow:hidden;
  transition:transform .15s, box-shadow .15s;
  box-shadow:0 10px 24px rgba(11,130,102,.28), inset 0 1px 0 rgba(255,255,255,.5);}
.btn::before{ content:''; position:absolute; top:2px; left:6%; right:6%; height:42%; border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.05)); pointer-events:none; }
.btn:hover{transform:translateY(-2px); box-shadow:0 16px 32px rgba(11,130,102,.35), inset 0 1px 0 rgba(255,255,255,.5);}
.btn.ghost{background:transparent; color:var(--pine); border:1.5px solid var(--line); box-shadow:none;}
.btn.ghost::before{ display:none; }
.btn.ghost:hover{border-color:var(--em2); color:var(--em2);}
.btn.red{background:linear-gradient(180deg,#e46a6a,var(--red)); color:#fff; box-shadow:0 10px 22px rgba(214,69,69,.25);}
.btn.small{padding:8px 16px; font-size:12.5px;}

.hero{padding:90px 0 70px; text-align:center;}
.hero h1{font-family:'Space Grotesk'; font-size:44px; line-height:1.1; font-weight:700; letter-spacing:-.03em; text-transform:uppercase;}
.hero h1 em{color:var(--em2); font-style:normal;}
.hero p.sub{color:var(--ink2); font-size:19px; max-width:640px; margin:18px auto 34px;}
.badgeRow{display:flex; gap:10px; justify-content:center; margin-bottom:26px; flex-wrap:wrap;}
.badge{background:var(--panel); border:1.5px solid var(--lineFaint); color:var(--ink2); font-size:11px;
  font-family:'JetBrains Mono'; letter-spacing:1.5px; padding:7px 14px; border-radius:999px;}
.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:18px; padding:30px 0 60px;}
.card{background:var(--panel); border:1.5px solid var(--lineFaint); padding:26px; border-radius:22px;
  box-shadow:inset 0 1px 0 var(--glare), 0 18px 40px rgba(15,35,27,.08);}
.card .ico{font-size:30px;}
.card h3{margin:10px 0 6px; font-size:17px; font-family:'Space Grotesk'; font-weight:700;}
.card p{color:var(--ink2); font-size:14.5px;}
.price{max-width:430px; margin:0 auto 80px; text-align:center;
  background:linear-gradient(165deg,var(--panel),var(--panel2));
  border:1.5px solid var(--line); padding:38px 34px; border-radius:26px;
  box-shadow:inset 0 1px 0 var(--glare), 0 30px 60px rgba(15,35,27,.12);}
.price .amount{font-family:'Space Grotesk'; font-size:48px; font-weight:700; color:var(--pine); letter-spacing:-.02em;}
.price .amount small{font-size:16px; color:var(--mut); font-weight:500;}
.price ul{list-style:none; text-align:left; margin:22px 0 28px; color:var(--ink2); font-size:15px; padding:0;}
.price li{padding:7px 0; border-bottom:1.5px dashed var(--lineFaint);}
.price li b{color:var(--ink);}
footer{border-top:1.5px solid var(--lineFaint); padding:34px 0 50px; color:var(--mut); font-size:14px; text-align:center; position:relative; z-index:2;}

.formCard{max-width:430px; margin:70px auto; background:linear-gradient(165deg,var(--panel),var(--panel2));
  border:1.5px solid var(--line); padding:32px 34px; position:relative; border-radius:26px;
  backdrop-filter:blur(6px);
  box-shadow:inset 0 1px 0 var(--glare), 0 30px 60px rgba(15,35,27,.12);}
.formCard::before{content:'● HYPERSMASH CONSOLE'; display:block; font-family:'JetBrains Mono'; font-size:9.5px;
  letter-spacing:3px; color:var(--mut); border-bottom:1.5px solid var(--lineFaint);
  padding-bottom:10px; margin-bottom:16px;}
.formCard h2{margin-bottom:6px; font-family:'Space Grotesk'; font-weight:700; font-size:23px; color:var(--ink);
  letter-spacing:-.02em;}
.formCard .mut{color:var(--mut); font-size:14.5px; margin-bottom:22px;}
.formCard label{display:block; font-family:'JetBrains Mono'; font-size:10px; letter-spacing:2px; font-weight:600;
  color:var(--em2); margin:14px 0 6px; text-transform:uppercase;}
.formCard input{width:100%; padding:12px 16px; border:1.5px solid var(--line); border-radius:12px;
  background:#fff; color:var(--ink); font-size:16px; font-family:'Inter';}
.formCard input:focus{outline:none; border-color:var(--em); box-shadow:0 0 0 4px rgba(15,164,127,.15);}
.formCard input::placeholder{color:#9db4a9;}
.formCard .btn{width:100%; margin-top:22px;}

.tabRow{display:flex; gap:8px; margin-bottom:12px;}
.tabRow button{flex:1; padding:11px; border:1.5px solid var(--line); background:transparent; border-radius:999px;
  color:var(--mut); font-family:'Space Grotesk'; font-size:13px; letter-spacing:.3px; font-weight:700; cursor:pointer;}
.tabRow button.on{background:var(--grad); color:#fff; border-color:transparent;
  box-shadow:0 8px 18px rgba(11,130,102,.25), inset 0 1px 0 rgba(255,255,255,.5);}

.err{background:rgba(214,69,69,.08); border:1.5px solid rgba(214,69,69,.4); color:#a03030;
  padding:10px 14px; font-size:14px; margin-top:16px; display:none; border-radius:12px;}
.note{background:rgba(232,161,61,.12); border:1.5px solid rgba(232,161,61,.5); color:#7a5312;
  padding:10px 14px; font-size:13.5px; margin-top:16px; border-radius:12px;}

.memberBadge{display:inline-block; background:linear-gradient(180deg,#f2b45c,var(--amber)); color:#3c2a08;
  font-family:'JetBrains Mono'; font-weight:600; font-size:10px; letter-spacing:2px; padding:5px 13px; border-radius:999px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);}
.memberBadge.no{background:transparent; border:1.5px solid var(--lineFaint); color:var(--mut); box-shadow:none;}

@media(max-width:640px){
  .hero h1{font-size:32px;} .hero{padding:56px 0 40px;}
  nav .links{gap:14px; font-size:11px;}
  .formCard{margin:40px auto; padding:26px 22px;}
}
