/* style.css — cinematic, grayscale theme */
:root{
  --bg:#050506; --fg:#e9eef2; --muted:#9aa3ad; --glass: rgba(255,255,255,0.03);
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}
header{position:fixed;top:20px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;z-index:40;pointer-events:none}
.brand{display:flex;gap:14px;align-items:center;pointer-events:auto}
.logo{width:56px;height:56px;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.00));display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;color:var(--fg);border:1px solid rgba(255,255,255,0.03)}
nav{pointer-events:auto}
nav a{color:var(--muted);text-decoration:none;margin-left:18px;font-weight:600}
#bg-wrap{position:fixed;inset:0;z-index:1;overflow:hidden}
canvas#three-canvas{width:100%;height:100%;display:block}
.overlay-2d{position:fixed;inset:0;z-index:10;pointer-events:none}
.vignette{position:absolute;inset:0;background:radial-gradient(60% 40% at 50% 30%, rgba(0,0,0,0) 0%, rgba(0,0,0,0.3) 60%);}
main{position:relative;z-index:30;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 28px}
.center-stage{max-width:1200px;width:100%;display:grid;grid-template-columns:1fr 420px;gap:36px;align-items:start}
.eyebrow{font-size:12px;color:var(--muted);letter-spacing:2px;margin-bottom:12px}
.title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:68px;line-height:0.9;margin:0;display:flex;gap:8px}
.title .char{display:inline-block;opacity:0;transform-origin:center;will-change:transform,opacity,filter}
.subtitle{margin-top:18px;color:var(--muted);max-width:680px}
.enter-cta{margin-top:28px;display:flex;gap:12px}
.btn{background:transparent;border:1px solid rgba(255,255,255,0.06);padding:10px 14px;border-radius:8px;color:var(--fg);cursor:pointer;font-weight:700}
.btn.ghost{color:var(--muted)}
.side-panel{position:relative}
.reel-card{background:var(--glass);border:1px solid rgba(255,255,255,0.03);padding:12px;border-radius:12px}
.reel-thumb{width:100%;height:240px;border-radius:8px;overflow:hidden;background:#0b0b0b;display:flex;align-items:center;justify-content:center}
.reel-thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) contrast(1.1)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:54px}
.card{position:relative;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,0.03);cursor:pointer;background:linear-gradient(180deg,rgba(255,255,255,0.01),transparent)}
.card img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%) contrast(1.05);transform:scale(1.08);transition:transform .8s cubic-bezier(.2,.9,.2,1),filter .6s}
.card:hover img{transform:scale(1);filter:grayscale(0%)}
.card .meta{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,0.45);padding:8px 10px;border-radius:6px;font-weight:700;font-size:13px}
.case-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:60}
.case-modal.open{display:flex}
.case-sheet{width:min(1100px,96%);height:min(84vh,820px);border-radius:12px;background:linear-gradient(180deg,#05070a,#0a0a0a);border:1px solid rgba(255,255,255,0.03);overflow:hidden;display:flex}
.case-media{flex:1;background:#000}
.case-info{width:360px;padding:22px;color:var(--muted)}
.close-x{position:absolute;right:18px;top:18px;z-index:80}
footer{position:relative;z-index:30;padding:80px 28px 120px;color:var(--muted);text-align:center}
@media (max-width:980px){.center-stage{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.title{font-size:42px}}
@media (max-width:640px){.grid{grid-template-columns:1fr}.title{font-size:32px}}
.socials {
  position: fixed;
  bottom: 40px;
  right: 40px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 50;
}

.social-link {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.8;
  transition: transform 0.5s ease, opacity 0.8s ease;
}

.social-link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: grayscale(100%) brightness(2);
}

.social-link:hover {
  transform: scale(1.6);
  opacity: 0.9;
  filter: none;
}

.social-link.disabled img {
  filter: grayscale(80%) brightness(2);
  cursor: not-allowed;
}

