
:root{
  --bg:#0b0f1a;
  --panel:#0f172a;
  --card:#0b1220aa;
  --text:#e5e7eb;
  --muted:#94a3b8;
  --primary:#22d3ee;
  --accent:#a78bfa;
  --ring: 0 0 0 2px rgba(34,211,238,.35), 0 0 0 8px rgba(167,139,250,.1);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Outfit,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif;}

.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}

.site-header{position:relative;overflow:clip;background:radial-gradient(1200px 600px at 20% 10%, rgba(34,211,238,.15), transparent 60%), radial-gradient(1200px 600px at 80% 30%, rgba(167,139,250,.15), transparent 60%);}
.noise{position:fixed;inset:0;pointer-events:none;background-image:url('../img/bg-texture.svg');opacity:.08;mix-blend:soft-light;filter:contrast(140%) brightness(110%);}

.nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;gap:.75rem}
.brand{color:#fff;text-decoration:none;font-weight:900;letter-spacing:.5px;display:flex;align-items:center;gap:.5rem;font-size:1.25rem}
.badge{display:inline-block;background:linear-gradient(45deg,var(--primary),var(--accent));color:#000;padding:.15rem .4rem;border-radius:.5rem;font-weight:900}

.nav-links{list-style:none;display:flex;gap:1rem;margin:0;padding:0}
.nav-links a{color:var(--muted);text-decoration:none;font-weight:600}
.nav-links a:hover{color:#fff}
.nav-cta{background:transparent;border:1px solid #2b3448;color:#d1d5db;padding:.55rem .9rem;border-radius:.6rem;font-weight:700;cursor:pointer}
.nav-cta:hover{box-shadow:var(--ring)}

.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;padding:2.5rem 0 4rem}
.hero-content h1{font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.1;margin:0}
.hero-content h1 span{background:linear-gradient(45deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--muted);font-size:1.1rem}
.hero-actions{display:flex;gap:1rem;margin-top:1.25rem}
.btn{display:inline-block;text-decoration:none;border:none;border-radius:.8rem;padding:.75rem 1rem;font-weight:800;cursor:pointer}
.btn.primary{background:linear-gradient(90deg,var(--primary),var(--accent));color:#001018}
.btn.ghost{background:transparent;border:1px solid #2b3448;color:#d1d5db}
.btn.small{padding:.55rem .8rem;font-size:.95rem}
.btn:hover{box-shadow:var(--ring)}

.hero-art{position:relative;min-height:360px}
.hero-art .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;filter:saturate(140%) blur(1px)}
.poster{position:absolute;right:6%;top:10%;width:min(420px,80%);border-radius:1rem;box-shadow:0 30px 60px rgba(0,0,0,.45);transform:rotate(-2deg)}
.orbe{position:absolute;border-radius:50%;filter:blur(30px);opacity:.5}
.orbe-a{width:220px;height:220px;background:radial-gradient(circle at 30% 30%, var(--primary), transparent);top:5%;left:5%}
.orbe-b{width:260px;height:260px;background:radial-gradient(circle at 70% 70%, var(--accent), transparent);bottom:5%;right:10%}

.section-title{font-size:1.8rem;margin:0 0 1rem}
.sections .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}
.card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);border-radius:1rem;overflow:hidden;backdrop-filter:blur(6px);box-shadow:0 10px 20px rgba(0,0,0,.2);transform-style:preserve-3d;transition:transform .12s ease}
.card-media{height:160px;background:#0b1220;display:flex;align-items:center;justify-content:center}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-media .ph{width:100%;height:100%;background:repeating-linear-gradient(45deg,#0f172a,#0f172a 10px,#0b1220 10px,#0b1220 20px)}
.card-body{padding:1rem}
.card h3{margin:.2rem 0 .6rem}
.card p{color:var(--muted);margin:.2rem 0 .8rem}
.chip{display:inline-block;border:1px dashed #334155;color:#cbd5e1;padding:.35rem .6rem;border-radius:999px;font-size:.85rem}
.card:hover{box-shadow:0 14px 30px rgba(0,0,0,.35)}

.about,.contact{padding:2rem 0}
.about-card,.contact-card{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.2rem}

.site-footer{border-top:1px solid rgba(255,255,255,.08);padding:1.5rem 0;margin-top:2rem;color:#9ca3af}

.story .inner-header{background:radial-gradient(800px 500px at 15% 10%, rgba(34,211,238,.15), transparent 60%), radial-gradient(800px 500px at 85% 30%, rgba(167,139,250,.15), transparent 60%)}
.hero-compact{padding:2rem 0 1rem}.hero-compact h1{margin:0}
.prose{font-family:Spectral,Georgia,serif;line-height:1.75;font-size:1.1rem}
.prose img{max-width:100%;border-radius:1rem;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.poster-wrap{display:flex;justify-content:center}

.fx-blur{opacity:0;filter:blur(6px);transform:translateY(12px);animation:show .9s .1s ease forwards}
.fx-rise{opacity:0;transform:translateY(16px);animation:rise .9s .25s ease forwards}
.fx-float{animation:float 6s ease-in-out infinite}
.reveal{opacity:0;transform:translateY(18px);transition:all .7s ease}
.reveal.visible{opacity:1;transform:none}

@keyframes show{to{opacity:1;filter:none;transform:none}}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes float{50%{transform:translateY(-6px)}}

@media (max-width: 900px){
  .hero{grid-template-columns:1fr;gap:1.5rem}
  .nav-links{display:none}
}
