:root{--bg:#0b0f19;--bg2:#111827;--card:rgba(24,24,27,.78);--line:#2a2f3d;--text:#e4e4e7;--muted:#b4b4bd;--link:#3be0fe;--a1:#3be0fe;--a2:#8b5cf6;--r:14px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.6 Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--link)}a:hover{color:#fff}
:focus-visible{outline:3px solid var(--a1);outline-offset:2px}
img{max-width:100%;height:auto}
code{font:.9em ui-monospace,SFMono-Regular,Menlo,monospace;background:#1f2433;padding:.1em .35em;border-radius:5px}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:#000;padding:.5em 1em;z-index:9}.skip:focus{left:8px;top:8px}
.masthead{background:linear-gradient(180deg,rgba(11,15,25,.73) 0,rgba(11,15,25,.73) 96px,rgba(11,15,25,.45) 200px,rgba(11,15,25,.85) 100%),url(banner.jpg) center/cover no-repeat #1a1033}
.nav{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:16px 24px;flex-wrap:wrap}
.brand img{display:block;width:64px;height:64px}
.nav ul{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.6rem;margin:0;padding:0}
.nav a{color:var(--link);text-decoration:none;font-size:1.1rem}
.nav ul a{display:inline-grid;text-align:center;padding:.55em 1.1em;border-radius:999px;line-height:1.2;border:0}
.nav ul a::after{content:attr(data-label);font-weight:600;visibility:hidden;height:0;overflow:hidden;pointer-events:none}
.nav ul a[aria-current=page]{background:linear-gradient(90deg,var(--a1),#a78bfa);color:#0b0f19;font-weight:600;text-decoration:none}
.nav ul a[aria-current=page]:hover{color:#0b0f19;filter:brightness(1.1)}
.nav ul{gap:.4rem .3rem}
.hero{max-width:1200px;margin:0 auto;padding:56px 24px 72px}
.hero h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.15;margin:.2em 0 .4em;letter-spacing:.01em;background:linear-gradient(180deg,#fff,#c7c7d1);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;color:var(--a1);margin:0;font-weight:600}
.lead{font-size:1.15rem;max-width:46rem;color:#ececf1}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.btn{display:inline-block;padding:.7em 1.25em;border-radius:999px;font-weight:600;text-decoration:none;line-height:1.2}
.btn-grad{background:linear-gradient(90deg,var(--a1),#a78bfa);color:#0b0f19}.btn-grad:hover{color:#0b0f19;filter:brightness(1.1)}
.btn-ghost{border:2px solid var(--a1);color:#fff}
main{display:block}
.wrap{max-width:1200px;margin:0 auto;padding:40px 24px 8px}
h2{font-size:1.7rem;line-height:1.25;margin:.2em 0 .6em}h3{font-size:1.15rem;margin:.1em 0 .4em}
.grid{display:grid;gap:18px;padding:0;margin:0;list-style:none}
.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.card p:last-child{margin-bottom:0}
.hl{border-color:var(--a1);box-shadow:0 0 0 1px rgba(59,224,254,.25)}
.svc{display:grid;gap:18px}.svc h2{font-size:1.35rem}
.tag{display:inline-block;font-size:.75rem;font-weight:600;vertical-align:middle;padding:.15em .6em;border-radius:999px;background:#2b2150;color:#ddd6fe;margin-left:.3em}
.tags{color:var(--muted);font-size:.9rem;margin-top:-.3em}
.pills{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0}.pills li{border:1px solid var(--line);border-radius:999px;padding:.3em .9em;background:#151a27}
.chips{padding-left:1.1em}.chips li{margin:.45em 0}
.rules li{margin:.35em 0}
.steps{counter-reset:s}.steps li{counter-increment:s}.steps h3:before{content:counter(s) ". ";color:var(--a1)}
.proj{margin-bottom:18px}
.note{border-left:4px solid var(--a2);background:#151a27;padding:.8em 1em;border-radius:0 8px 8px 0;color:#e9e5ff}
.warn{border-left:4px solid #f59e0b;padding:.6em 1em;background:#1d1a12;border-radius:0 8px 8px 0}
.big{font-size:1.4rem;font-weight:600;word-break:break-word}
.small-print{font-size:.95rem}
.cta{max-width:1200px;margin:40px auto 0;padding:40px 24px;text-align:center;background:linear-gradient(135deg,rgba(59,224,254,.10),rgba(139,92,246,.18));border-radius:var(--r)}
.foot{margin-top:48px;border-top:1px solid var(--line);background:var(--bg2);color:var(--muted);font-size:.95rem}
.foot .wrap{padding:32px 24px}
.foot-links{list-style:none;display:flex;flex-wrap:wrap;gap:1.2rem;padding:0}
.small{font-size:.85rem}
@media (max-width:600px){body{font-size:16px}.nav{padding:12px 16px}.brand img{width:48px;height:48px}.nav ul{gap:.3rem 1rem}.nav a{font-size:1rem}.hero{padding:32px 16px 48px}.wrap{padding:32px 16px 4px}.cta{margin:32px 12px 0}}
@media (max-width:600px){.nav ul{gap:.25rem .15rem}.nav a{font-size:.95rem}.nav ul a{padding:.5em .75em}}
@media (max-width:360px){.nav ul{gap:.25rem 0}.nav a{font-size:.9rem}.nav ul a{padding:.5em .6em}}
/* --- mobile hamburger nav (<768px); desktop untouched --- */
.nav-toggle{display:none}
@media (max-width:767px){
.nav{position:relative;z-index:60;flex-wrap:nowrap}
html:not(.js) .nav{flex-wrap:wrap}
html:not(.js) .nav ul{flex-direction:column;align-items:stretch;width:100%}
html:not(.js) .nav ul li{width:100%}
.js .nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:48px;height:48px;margin-left:auto;padding:0;background:transparent;border:2px solid var(--a1);border-radius:12px;cursor:pointer}
.js .nav-toggle span{display:block;width:24px;height:3px;border-radius:2px;background:var(--a1);transition:transform .2s,opacity .2s}
.js .nav.open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.js .nav.open .nav-toggle span:nth-child(2){opacity:0}
.js .nav.open .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.js .nav ul{display:none;position:absolute;top:100%;left:0;right:0;z-index:50;flex-direction:column;align-items:stretch;gap:.35rem;padding:12px 16px 16px;background:#0b0f19;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.45)}
.js .nav.open ul{display:flex}
.js .nav ul li{width:100%}
.js .nav ul a{display:block;text-align:left;padding:.75em 1em;font-size:1.05rem}
.js .nav ul a::after{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
