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

:root {
  --gold: #C9A84C;
  --gold-light: #E8C97A;
  --gold-dim: #8A6B2E;
  --bg: #080808;
  --bg2: #0F0F0F;
  --bg3: #161616;
  --bg4: #1E1E1E;
  --text: #F0EDE8;
  --text-muted: #7A7570;
  --border: rgba(201,168,76,0.15);
}

html { scroll-behavior: smooth; }
body {
  font-family: 'DM Sans', sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
  cursor: none;
}

/* CURSOR */
.cursor { width:8px;height:8px;background:var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transition:transform 0.1s; }
.cursor-ring { width:36px;height:36px;border:1px solid rgba(201,168,76,0.5);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transition:transform 0.15s,width 0.2s,height 0.2s,border-color 0.2s; }
.cursor-ring.hover { width:60px;height:60px;border-color:var(--gold); }

/* NAV */
nav { position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 4rem;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(8,8,8,0.97),transparent);backdrop-filter:blur(4px); }
.nav-logo { font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--gold);letter-spacing:0.05em;text-decoration:none; }
.nav-links { display:flex;gap:2rem;list-style:none; }
.nav-links a { font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color 0.3s; }
.nav-links a:hover, .nav-links a.active { color:var(--gold); }
.nav-cta { font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.5rem 1.2rem;border:1px solid rgba(201,168,76,0.4);color:var(--gold);text-decoration:none;transition:all 0.3s; }
.nav-cta:hover { background:var(--gold);color:#000; }

/* BREADCRUMB */
.breadcrumb { padding:7rem 5rem 1.5rem;display:flex;align-items:center;gap:0.5rem;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted); }
.breadcrumb a { color:var(--text-muted);text-decoration:none;transition:color 0.3s; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb span { color:var(--gold); }

/* PAGE HERO */
.page-hero { padding:1rem 5rem 5rem;position:relative;overflow:hidden; }
.page-hero-label { font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem; }
.page-hero-label::before { content:'';width:40px;height:1px;background:var(--gold); }
.page-hero h1 { font-family:'Playfair Display',serif;font-size:clamp(2.5rem,5vw,5rem);font-weight:900;line-height:1;margin-bottom:1.5rem; }
.page-hero h1 em { font-style:italic;color:var(--gold); }
.page-hero-desc { font-size:1rem;line-height:1.8;color:rgba(240,237,232,0.7);max-width:600px;margin-bottom:2.5rem; }
.page-hero-line { position:absolute;bottom:0;left:5rem;right:5rem;height:1px;background:var(--border); }

/* SECTION */
section { padding:5rem 5rem; }
.section-label { font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;display:flex;align-items:center;gap:1rem; }
.section-label::after { content:'';flex:1;height:1px;background:var(--border); }
.section-title { font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,3rem);font-weight:700;line-height:1.1;margin-bottom:1.5rem; }
.section-title em { font-style:italic;color:var(--gold); }

/* PROSE */
.prose { max-width:760px; }
.prose p { font-size:0.95rem;line-height:1.9;color:rgba(240,237,232,0.78);margin-bottom:1.4rem; }
.prose h2 { font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;margin:2.5rem 0 1rem;color:var(--text); }
.prose h3 { font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;margin:2rem 0 0.8rem;color:var(--gold-light); }
.prose ul { padding-left:1.2rem;margin-bottom:1.4rem; }
.prose li { font-size:0.93rem;line-height:1.8;color:rgba(240,237,232,0.75);margin-bottom:0.4rem; }
.prose strong { color:var(--text);font-weight:500; }

/* TLDR BOX */
.tldr-box { background:var(--bg3);border:1px solid var(--border);border-left:3px solid var(--gold);padding:1.5rem 2rem;margin:2rem 0; }
.tldr-label { font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:0.8rem; }
.tldr-box ul { padding-left:1.2rem;list-style:none; }
.tldr-box li { font-size:0.88rem;line-height:1.7;color:rgba(240,237,232,0.8);margin-bottom:0.3rem;padding-left:1rem;position:relative; }
.tldr-box li::before { content:'→';position:absolute;left:-0.2rem;color:var(--gold);font-size:0.8rem; }

/* GRID 3 */
.grid-3 { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--border); }
.grid-2 { display:grid;grid-template-columns:repeat(2,1fr);gap:1.5px;background:var(--border); }
.grid-card { background:var(--bg);padding:2rem;transition:background 0.3s;position:relative; }
.grid-card:hover { background:var(--bg3); }
.grid-card-num { font-family:'Playfair Display',serif;font-size:0.75rem;color:var(--gold-dim);letter-spacing:0.1em;margin-bottom:1.2rem; }
.grid-card-title { font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;margin-bottom:0.7rem; }
.grid-card-desc { font-size:0.82rem;line-height:1.7;color:var(--text-muted); }

/* FAQ */
.faq-list { margin-top:2rem; }
.faq-item { border-bottom:1px solid var(--border);padding:1.5rem 0; }
.faq-q { font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;margin-bottom:0.7rem;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center; }
.faq-q::after { content:'→';color:var(--gold);font-size:0.9rem;font-family:'DM Sans',sans-serif; }
.faq-a { font-size:0.87rem;line-height:1.8;color:rgba(240,237,232,0.72); }

/* CTA STRIP */
.cta-strip { background:var(--bg3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:4rem 5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem; }
.cta-strip-text h2 { font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;margin-bottom:0.5rem; }
.cta-strip-text h2 em { font-style:italic;color:var(--gold); }
.cta-strip-text p { font-size:0.88rem;color:var(--text-muted); }
.cta-strip-actions { display:flex;gap:1rem;flex-shrink:0; }

/* BUTTONS */
.btn-primary { background:var(--gold);color:#000;padding:0.85rem 2.2rem;font-size:0.78rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;border:none;text-decoration:none;display:inline-block;transition:background 0.3s,transform 0.2s;cursor:pointer; }
.btn-primary:hover { background:var(--gold-light);transform:translateY(-2px); }
.btn-outline { border:1px solid rgba(201,168,76,0.4);color:var(--gold);padding:0.85rem 2.2rem;font-size:0.78rem;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:all 0.3s; }
.btn-outline:hover { border-color:var(--gold);background:rgba(201,168,76,0.05);transform:translateY(-2px); }

/* STATS ROW */
.stats-row { display:flex;gap:0;background:var(--border);margin:3rem 0; }
.stat-box { flex:1;background:var(--bg3);padding:2rem;text-align:center;border-right:1px solid var(--border); }
.stat-box:last-child { border-right:none; }
.stat-num { font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:700;color:var(--gold);line-height:1; }
.stat-label { font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted);margin-top:0.4rem; }

/* FOOTER */
footer { background:var(--bg);border-top:1px solid var(--border);padding:3rem 5rem; }
.footer-top { display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem; }
.footer-brand { }
.footer-logo { font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--gold);margin-bottom:1rem;display:block; }
.footer-tagline { font-size:0.83rem;line-height:1.7;color:var(--text-muted);max-width:280px; }
.footer-col-title { font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:1.2rem;padding-bottom:0.6rem;border-bottom:1px solid var(--border); }
.footer-col-links { list-style:none; }
.footer-col-links li { margin-bottom:0.5rem; }
.footer-col-links a { font-size:0.82rem;color:var(--text-muted);text-decoration:none;transition:color 0.3s; }
.footer-col-links a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid var(--border);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center; }
.footer-copy { font-size:0.72rem;color:var(--text-muted); }
.footer-social { display:flex;gap:1.5rem; }
.footer-social a { font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color 0.3s; }
.footer-social a:hover { color:var(--gold); }

/* FADE UP */
.fade-up { opacity:0;transform:translateY(25px);transition:opacity 0.7s ease,transform 0.7s ease; }
.fade-up.visible { opacity:1;transform:translateY(0); }

/* RESPONSIVE */
@media(max-width:900px){
  nav{padding:1.2rem 1.5rem;}
  .nav-links{display:none;}
  .breadcrumb,.page-hero,section,.cta-strip{padding-left:1.5rem;padding-right:1.5rem;}
  .grid-3,.grid-2{grid-template-columns:1fr;}
  .cta-strip{flex-direction:column;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .footer-bottom{flex-direction:column;gap:1rem;text-align:center;}
  .stats-row{flex-wrap:wrap;}
  .stat-box{flex:1 1 40%;}
}
