@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&family=DM+Serif+Display:ital@0;1&display=swap');

:root {
  --bg: #04040a;
  --bg2: #07070f;
  --surface: #0b0b16;
  --surface2: #10101e;
  --surface3: #151526;
  --border: rgba(255,255,255,0.055);
  --border-bright: rgba(255,255,255,0.11);
  --gold: #c9a84c;
  --gold-light: #e8c97a;
  --gold-glow: rgba(201,168,76,0.18);
  --gold-dim: rgba(201,168,76,0.08);
  --text: #ede9e0;
  --text-muted: rgba(237,233,224,0.5);
  --text-subtle: rgba(237,233,224,0.22);
  --accent: #7b6aff;
  --accent2: #4af0c4;
  --red: #ff5e5e;
  --green: #4af0c4;
  --radius: 14px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  background: var(--bg);
  color: var(--text);
  font-family: 'DM Sans', sans-serif;
  font-weight: 300;
  line-height: 1.65;
  overflow-x: hidden;
  cursor: none;
}

/* ─── CURSOR ─── */
.cursor { position:fixed; width:9px; height:9px; background:var(--gold); border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:width .2s,height .2s,background .2s; }
.cursor-ring { position:fixed; width:34px; height:34px; border:1px solid rgba(201,168,76,.4); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:width .3s,height .3s,border-color .3s; }
body:has(a:hover) .cursor, body:has(button:hover) .cursor { width:14px; height:14px; }
body:has(a:hover) .cursor-ring, body:has(button:hover) .cursor-ring { width:50px; height:50px; border-color:var(--gold); }

/* Hide cursor on mobile/touch devices */
@media (hover: none) and (pointer: coarse) {
  .cursor, .cursor-ring { display: none; }
  body { cursor: auto; }
}

/* ─── GRAIN ─── */
body::after { content:''; position:fixed; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E"); pointer-events:none; z-index:9990; opacity:.35; }

/* ─── NAV ─── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem 5%;
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(24px) saturate(180%);
  background:rgba(4,4,10,.75);
  transition:padding .3s;
}
nav.scrolled { padding:.85rem 5%; }

.nav-logo { display:flex; align-items:center; gap:.6rem; text-decoration:none; }
.logo-icon { width:30px; height:30px; border-radius:8px; background:linear-gradient(135deg,var(--gold),var(--gold-light)); display:flex; align-items:center; justify-content:center; font-family:'Syne',sans-serif; font-weight:800; font-size:.95rem; color:#04040a; flex-shrink:0; }
.logo-wordmark { font-family:'Syne',sans-serif; font-weight:700; font-size:1.05rem; color:var(--text); letter-spacing:-.02em; }
.footer-logo-text { font-family:'Syne',sans-serif; font-weight:800; font-size:1.1rem; color:var(--gold-light); letter-spacing:-.02em; display:block; margin-bottom:1rem; }

.nav-links { display:flex; align-items:center; gap:2.5rem; list-style:none; }
.nav-links a { color:var(--text-muted); text-decoration:none; font-size:.83rem; font-weight:400; letter-spacing:.02em; transition:color .2s; }
.nav-links a:hover, .nav-links a.active { color:var(--text); }

.nav-actions { display:flex; align-items:center; gap:.85rem; }

.btn-ghost { background:none; border:1px solid var(--border-bright); color:var(--text-muted); padding:.48rem 1.2rem; border-radius:7px; font-family:'DM Sans',sans-serif; font-size:.8rem; cursor:none; transition:all .22s; text-decoration:none; display:inline-block; }
.btn-ghost:hover { border-color:rgba(201,168,76,.5); color:var(--gold-light); }

.btn-gold { background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%); border:none; color:#04040a; padding:.52rem 1.35rem; border-radius:7px; font-family:'DM Sans',sans-serif; font-weight:500; font-size:.8rem; cursor:none; transition:all .25s; text-decoration:none; display:inline-block; letter-spacing:.01em; }
.btn-gold:hover { transform:translateY(-1px); box-shadow:0 8px 28px rgba(201,168,76,.32); }

/* ─── BUTTONS ─── */
.btn-primary { background:linear-gradient(135deg,var(--gold),var(--gold-light)); color:#04040a; font-family:'DM Sans',sans-serif; font-weight:500; font-size:.95rem; padding:.88rem 2.2rem; border:none; border-radius:9px; cursor:none; transition:all .3s; text-decoration:none; display:inline-flex; align-items:center; gap:.5rem; letter-spacing:.01em; }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 16px 44px rgba(201,168,76,.38); }

.btn-secondary { background:none; border:1px solid var(--border-bright); color:var(--text-muted); font-family:'DM Sans',sans-serif; font-weight:400; font-size:.95rem; padding:.88rem 2.2rem; border-radius:9px; cursor:none; transition:all .3s; text-decoration:none; display:inline-flex; align-items:center; gap:.5rem; }
.btn-secondary:hover { border-color:var(--text-muted); color:var(--text); }

/* ─── SECTION COMMONS ─── */
.section-tag { display:inline-flex; align-items:center; gap:.4rem; font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:1.1rem; }
.section-tag::before { content:''; display:block; width:18px; height:1px; background:var(--gold); }

.section-h2 { font-family:'DM Serif Display',serif; font-size:clamp(2rem,3.8vw,3.4rem); line-height:1.08; letter-spacing:-.02em; color:var(--text); margin-bottom:1.1rem; }
.section-h2 em { font-style:italic; color:var(--gold-light); }

.section-sub { font-size:.97rem; color:var(--text-muted); line-height:1.72; font-weight:300; }

/* ─── TICKER ─── */
.ticker { overflow:hidden; white-space:nowrap; border-bottom:1px solid rgba(201,168,76,.1); background:rgba(201,168,76,.04); padding:.65rem 0; }
.ticker-inner { display:inline-flex; gap:3.5rem; animation:ticker 35s linear infinite; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.ticker-item { display:inline-flex; align-items:center; gap:.65rem; font-size:.72rem; color:var(--gold); letter-spacing:.06em; }
.ticker-sep { opacity:.3; }

/* ─── REVEAL ─── */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .75s ease,transform .75s ease; }
.reveal.visible { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }

/* ─── FOOTER ─── */
footer { border-top:1px solid var(--border); background:var(--bg2); }
.footer-main { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem; padding:4rem 5% 3rem; max-width:1280px; margin:0 auto; }
.footer-brand p { font-size:.82rem; color:var(--text-subtle); line-height:1.7; max-width:240px; margin-top:.75rem; }
.footer-col h4 { font-family:'Syne',sans-serif; font-size:.78rem; font-weight:600; color:var(--text-muted); letter-spacing:.1em; text-transform:uppercase; margin-bottom:1.1rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.6rem; }
.footer-col ul a { font-size:.82rem; color:var(--text-subtle); text-decoration:none; transition:color .2s; }
.footer-col ul a:hover { color:var(--text-muted); }
.footer-bottom { border-top:1px solid var(--border); padding:1.5rem 5%; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; max-width:1280px; margin:0 auto; }
.footer-copy { font-size:.75rem; color:var(--text-subtle); }
.footer-badges { display:flex; gap:1rem; }
.badge-item { display:flex; align-items:center; gap:.4rem; font-size:.7rem; color:var(--text-subtle); border:1px solid var(--border); border-radius:6px; padding:.3rem .7rem; }

/* ─── PAGE INNER ─── */
.page-hero { padding:9rem 5% 5rem; max-width:1280px; margin:0 auto; }
.page-hero h1 { font-family:'DM Serif Display',serif; font-size:clamp(2.5rem,5vw,4.5rem); line-height:1.05; letter-spacing:-.02em; color:var(--text); margin-bottom:1.25rem; }
.page-hero h1 em { font-style:italic; color:var(--gold-light); }
.page-hero p { font-size:1.05rem; color:var(--text-muted); max-width:560px; line-height:1.7; }

.page-content { max-width:860px; margin:0 auto; padding:0 5% 7rem; }
.page-content h2 { font-family:'Syne',sans-serif; font-size:1.15rem; font-weight:700; color:var(--text); margin:2.5rem 0 .9rem; letter-spacing:-.01em; padding-bottom:.6rem; border-bottom:1px solid var(--border); }
.page-content p { font-size:.92rem; color:var(--text-muted); margin-bottom:1rem; line-height:1.75; }
.page-content ul { margin:.5rem 0 1rem 1.2rem; }
.page-content ul li { font-size:.92rem; color:var(--text-muted); margin-bottom:.5rem; line-height:1.7; }
.page-content strong { color:var(--text); font-weight:500; }
.page-content a { color:var(--gold-light); text-decoration:none; border-bottom:1px solid rgba(201,168,76,.3); transition:border-color .2s; }
.page-content a:hover { border-color:var(--gold-light); }
.meta-chip { display:inline-flex; align-items:center; gap:.5rem; background:var(--gold-dim); border:1px solid rgba(201,168,76,.2); border-radius:100px; font-size:.72rem; color:var(--gold); padding:.3rem .9rem; margin-bottom:2rem; letter-spacing:.05em; }

/* ─── RESPONSIVE ─── */
@media (max-width:900px) {
  .footer-main { grid-template-columns:1fr 1fr; gap:2.5rem; }
  .nav-links { display:none; }
}
@media (max-width:600px) {
  .footer-main { grid-template-columns:1fr; }
}
