/* studior.cc v2.0 — Shared Styles */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&family=Space+Mono:wght@400;700&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --black: #0a0a0a;
  --white: #f5f2ec;
  --red: #e8391d;
  --gold: #f0b429;
  --teal: #1ac9a8;
  --grey: #141414;
  --grey2: #1f1f1f;
  --muted: rgba(245,242,236,0.45);
  --font-display: 'Bebas Neue', sans-serif;
  --font-body: 'DM Sans', sans-serif;
  --font-mono: 'Space Mono', monospace;
}

html { scroll-behavior: smooth; }
body { background: var(--black); color: var(--white); font-family: var(--font-body); overflow-x: hidden; cursor: none; }

/* ── CURSOR ── */
.cursor { position: fixed; width: 10px; height: 10px; background: var(--red); border-radius: 50%; pointer-events: none; z-index: 9999; transform: translate(-50%,-50%); mix-blend-mode: difference; transition: width .2s, height .2s; }
.cursor-ring { position: fixed; width: 36px; height: 36px; border: 1px solid rgba(245,242,236,0.3); border-radius: 50%; pointer-events: none; z-index: 9998; transform: translate(-50%,-50%); }

/* ── NAV ── */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; padding: 24px 48px; display: flex; justify-content: space-between; align-items: center; }
nav::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(10,10,10,0.92) 0%, transparent 100%); pointer-events: none; }
.nav-logo { font-family: var(--font-mono); font-size: 13px; letter-spacing: .15em; color: var(--white); text-decoration: none; position: relative; z-index: 1; }
.nav-logo span { color: var(--red); }
.nav-links { display: flex; gap: 40px; list-style: none; position: relative; z-index: 1; }
.nav-links a { font-family: var(--font-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--white); text-decoration: none; opacity: .55; transition: opacity .2s, color .2s; position: relative; }
.nav-links a::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: var(--gold); transition: width .3s; }
.nav-links a:hover, .nav-links a.active { opacity: 1; color: var(--gold); }
.nav-links a:hover::after, .nav-links a.active::after { width: 100%; }

/* ── FOOTER ── */
footer { background: var(--black); border-top: 1px solid rgba(245,242,236,0.06); padding: 48px 80px; display: flex; justify-content: space-between; align-items: center; }
.footer-logo { font-family: var(--font-mono); font-size: 13px; letter-spacing: .15em; color: rgba(245,242,236,0.35); }
.footer-logo span { color: var(--red); }
footer p { font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em; color: rgba(245,242,236,0.2); }
.footer-version { font-family: var(--font-mono); font-size: 11px; color: rgba(245,242,236,0.2); letter-spacing: .15em; background: rgba(245,242,236,0.05); padding: 6px 12px; border-radius: 2px; }

/* ── ANIMATIONS ── */
@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ── BUTTONS ── */
.btn { display: inline-flex; align-items: center; gap: 12px; padding: 16px 32px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; text-decoration: none; border: 1px solid currentColor; transition: all .25s; position: relative; overflow: hidden; isolation: isolate; }
.btn::before { content: ''; position: absolute; inset: 0; background: currentColor; transform: translateX(-101%); transition: transform .25s; z-index: -1; }
.btn:hover::before { transform: translateX(0); }
.btn:hover { color: var(--black); }
.btn svg { width: 14px; height: 14px; transition: transform .25s; }
.btn:hover svg { transform: translateX(4px); }
.btn-red { color: var(--red); }
.btn-teal { color: var(--teal); }
.btn-gold { color: var(--gold); }
.btn-red::before { background: var(--red); }
.btn-teal::before { background: var(--teal); }
.btn-gold::before { background: var(--gold); }

/* ── PAGE HERO (inner pages) ── */
.page-hero { padding: 160px 80px 80px; border-bottom: 1px solid rgba(245,242,236,0.06); position: relative; overflow: hidden; }
.page-hero-bg { position: absolute; right: -20px; top: 50%; transform: translateY(-50%); font-family: var(--font-display); font-size: clamp(140px,18vw,260px); color: transparent; -webkit-text-stroke: 1px rgba(245,242,236,0.04); line-height: 1; user-select: none; pointer-events: none; white-space: nowrap; }
.page-label { font-family: var(--font-mono); font-size: 11px; letter-spacing: .3em; text-transform: uppercase; color: var(--red); display: flex; align-items: center; gap: 12px; margin-bottom: 20px; animation: fadeUp .6s .1s both; }
.page-label::before { content: ''; width: 32px; height: 1px; background: var(--red); display: block; }
.page-hero h1 { font-family: var(--font-display); font-size: clamp(56px,7vw,96px); line-height: .95; color: var(--white); margin-bottom: 24px; animation: fadeUp .7s .25s both; }
.page-hero h1 em { color: var(--red); font-style: normal; }
.page-hero p { font-size: 15px; line-height: 1.7; color: var(--muted); font-weight: 300; max-width: 540px; animation: fadeUp .7s .4s both; }

/* ── SCROLL REVEAL ── */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .6s, transform .6s; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  nav { padding: 20px 24px; }
  .nav-links { gap: 20px; }
  .page-hero { padding: 120px 24px 60px; }
  footer { flex-direction: column; gap: 16px; padding: 32px 24px; text-align: center; }
}
