:root{--bg:#0a0a0c;--bg2:#121216;--line:#24242b;--tx:#ececf1;--mut:#9a9aa6;--ac:#e11d48;--ac2:#ff4d6d;--r:14px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--tx);line-height:1.6;background-image:radial-gradient(#ffffff08 1px,transparent 1px);background-size:22px 22px}
a{color:inherit}
:focus-visible{outline:2px solid var(--ac2);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ac);padding:8px 12px;z-index:99}.skip:focus{left:8px}
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(16px,5vw,56px);background:#0a0a0ccc;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.logo{display:flex;gap:10px;align-items:center;text-decoration:none;font-weight:800;letter-spacing:.02em}.logo b{color:var(--ac)}
.nav ul{display:flex;gap:28px;list-style:none;align-items:center}
.nav a{text-decoration:none;color:var(--mut);font-weight:600}.nav a:hover{color:var(--tx)}
.menu{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer}
.menu span{display:block;height:2px;background:var(--tx);margin:7px 8px;transition:.2s}
.menu[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.btn{display:inline-block;background:var(--ac);color:#fff!important;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:700;transition:.2s;border:1px solid var(--ac)}
.btn:hover{background:var(--ac2);transform:translateY(-2px);box-shadow:0 10px 30px #e11d4840}
.btn.ghost{background:transparent;color:var(--tx)!important;border-color:var(--line)}.btn.ghost:hover{border-color:var(--ac)}
.btn.sm{padding:8px 16px}.btn.big{font-size:clamp(1rem,3vw,1.4rem);padding:16px 30px;margin-top:24px}
.hero{position:relative;min-height:88vh;display:flex;flex-direction:column;justify-content:center;padding:80px clamp(16px,6vw,80px);overflow:hidden;background:radial-gradient(ellipse at 80% 30%,#e11d4826,transparent 55%),linear-gradient(180deg,transparent,var(--bg))}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;color:var(--ac2);font-weight:700;margin-bottom:12px}
h1{font-size:clamp(3rem,11vw,8.5rem);line-height:.9;font-weight:900;letter-spacing:-.04em}
h1 span{color:transparent;-webkit-text-stroke:2px var(--ac)}
.tag{max-width:560px;font-size:clamp(1.05rem,2.2vw,1.3rem);color:var(--mut);margin:24px 0 32px}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.shuriken{position:absolute;right:-120px;top:50%;width:520px;height:520px;translate:0 -50%;opacity:.12;background:conic-gradient(from 0deg,var(--ac) 0 12.5%,transparent 0 25%,var(--ac) 0 37.5%,transparent 0 50%,var(--ac) 0 62.5%,transparent 0 75%,var(--ac) 0 87.5%,transparent 0);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.section{padding:96px clamp(16px,6vw,80px);max-width:1280px;margin:0 auto}
h2{font-size:clamp(2rem,5vw,3.2rem);line-height:1.05;letter-spacing:-.03em;font-weight:850}
.sh{margin-bottom:40px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.25s}
.card:hover{border-color:#e11d4880;transform:translateY(-4px)}
.art{aspect-ratio:16/10}
.a1{background:radial-gradient(circle at 70% 35%,var(--ac) 0 14%,transparent 15%),linear-gradient(transparent 62%,#000 62%),linear-gradient(160deg,#2a0d16,#0a0a0c)}
.a2{background:repeating-radial-gradient(circle at 50% 50%,#e11d48 0 2px,transparent 3px 18px),#101015}
.a3{background:repeating-linear-gradient(115deg,transparent 0 22px,#e11d4899 22px 24px),linear-gradient(#18181d,#0a0a0c)}
.a4{background:conic-gradient(#e11d48 25%,#1b1b21 0 50%,#2a2a31 0 75%,#111 0) 0 0/40px 40px}
.body{padding:22px}
.pill{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mut);border:1px dashed var(--line);padding:3px 10px;border-radius:999px}
h3{font-size:1.35rem;margin:12px 0 6px}
.card p{color:var(--mut);font-size:.95rem}
.about{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:center;border-top:1px solid var(--line)}
.about>p{font-size:1.15rem;color:var(--mut)}
.contact{text-align:center;border-top:1px solid var(--line)}.contact>p:not(.eyebrow){color:var(--mut);margin-top:12px}
.foot{text-align:center;padding:32px;color:var(--mut);border-top:1px solid var(--line);font-size:.9rem}
@media (max-width:760px){
 .menu{display:block}
 .nav nav{position:absolute;top:100%;left:0;right:0;background:var(--bg2);border-bottom:1px solid var(--line);display:none}
 .nav nav.open{display:block}
 .nav ul{flex-direction:column;padding:20px;gap:18px}
 .about{grid-template-columns:1fr;gap:20px}
 .shuriken{width:340px;height:340px;right:-140px}
}
/* --- mascot --- */
.logo img{width:40px;height:40px;border-radius:50%;background:#1c1c24;box-shadow:0 0 0 2px #e11d4866,0 0 12px #e11d4833;object-fit:cover}
.hero{flex-direction:row;align-items:center;justify-content:space-between;gap:clamp(20px,3vw,48px);overflow:hidden}
.hero-copy{flex:1 1 52%;min-width:min(100%,420px);position:relative;z-index:2}
.hero-copy h1{font-size:clamp(2.6rem,7.5vw,6.2rem)}
.mascot{flex:0 0 auto;width:min(380px,36vw);max-width:40%;position:relative;z-index:1;display:flex;justify-content:center;margin:0;align-self:center}
.mascot::before{content:"";position:absolute;inset:4% -8% -2%;background:radial-gradient(circle at 50% 40%,#3a1520 0%,#e11d4833 38%,transparent 72%);z-index:-1;border-radius:50%}
.mascot img{width:100%;max-width:380px;height:auto;filter:drop-shadow(0 0 2px #fffc) drop-shadow(0 14px 30px #000c) drop-shadow(0 0 40px #e11d4870);animation:bob 5s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-12px)}}
.shuriken{right:auto;left:58%;opacity:.06;z-index:0}
@media (max-width:860px){
 .hero{flex-direction:column-reverse;text-align:center;justify-content:flex-start;padding-top:36px;min-height:auto;gap:20px}
 .mascot{width:min(280px,68vw);max-width:none}
 .mascot img{max-width:280px}
 .cta{justify-content:center}.tag{margin-left:auto;margin-right:auto}
 .shuriken{left:50%;top:18%;translate:-50% -50%}
}
/* --- contact form --- */
.cform{max-width:640px;margin:32px auto 0;text-align:left;display:grid;gap:18px}
.cform .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:6px}
.field label{font-weight:700;font-size:.9rem}
.field input,.field textarea{width:100%;font:inherit;color:var(--tx);background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;transition:.2s}
.field textarea{resize:vertical;min-height:140px}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 3px #e11d4840}
[aria-invalid=true]{border-color:var(--ac2)!important}
.cform .btn{justify-self:start;margin-top:0;border:0;cursor:pointer}
.cform .btn:disabled{opacity:.6;cursor:wait;transform:none}
.status{min-height:1.5em;font-weight:600;color:var(--mut)}
.status.ok{color:#4ade80}.status.err{color:var(--ac2)}
@media (max-width:600px){.cform .row{grid-template-columns:1fr}.cform .btn{justify-self:stretch}}
