/* ===== RESET & ROOT ===== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --black: #030303;
  --deep: #080808;
  --card: #141414;
  --border: rgba(255,255,255,0.08);
  --gold: #c9a84c;
  --gold-light: #e8c97a;
  --white: #ffffff;
  --grey: #6b6b6b;
  --grey-light: #a0a0a0;
  --fd: 'Cormorant Garamond', serif;
  --fu: 'Syne', sans-serif;
  --fb: 'DM Sans', sans-serif;
}

html { scroll-behavior: smooth; }
body { background: var(--black); color: var(--white); font-family: var(--fb); overflow-x: hidden; }
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: #000; }
::-webkit-scrollbar-thumb { background: var(--gold); }

/* ===== CURSOR ===== */
#cur { width:10px;height:10px;background:var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:screen; }
#cur-ring { width:36px;height:36px;border:1px solid rgba(201,168,76,.5);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%); }
@media(pointer:coarse){#cur,#cur-ring{display:none}}

/* ===== NAV ===== */
nav {
  position: fixed; top:0; left:0; right:0; z-index:1000;
  padding: 22px 60px; display:flex; align-items:center; justify-content:space-between;
  transition: background .4s, padding .4s;
}
nav.scrolled {
  background: rgba(3,3,3,.95); backdrop-filter:blur(20px);
  padding: 14px 60px; border-bottom:1px solid var(--border);
}
.nav-logo { font-family:var(--fu);font-weight:800;font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase;color:var(--white);text-decoration:none; }
.nav-logo span { color:var(--gold); }
.nav-links { display:flex;gap:36px;list-style:none; }
.nav-links a {
  font-family:var(--fu);font-size:.72rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--grey-light);text-decoration:none;
  transition:color .3s; position:relative; padding-bottom:4px;
}
.nav-links a::after {
  content:''; position:absolute; bottom:0; left:0; width:0; height:1px;
  background:var(--gold); transition:width .3s;
}
.nav-links a:hover, .nav-links a.active { color:var(--gold); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }
.nav-cta {
  font-family:var(--fu);font-size:.7rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--black);background:var(--gold);
  padding:10px 24px;text-decoration:none;border-radius:2px;transition:background .3s;
}
.nav-cta:hover { background:var(--gold-light); }
.hbg { display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px; }
.hbg span { width:24px;height:1px;background:var(--white);display:block; }

/* ===== PAGE HEADER (inner pages) ===== */
.page-header {
  padding: 180px 60px 100px;
  text-align: center;
  background: radial-gradient(ellipse at 50% 0%, #1a1208 0%, var(--black) 70%);
  border-bottom: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.page-header::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 60%, var(--black));
}
.page-header-inner { position: relative; z-index: 1; }
.ph-label {
  font-family:var(--fu);font-size:.65rem;font-weight:600;letter-spacing:.3em;
  text-transform:uppercase;color:var(--gold);margin-bottom:20px;
  display:flex;align-items:center;justify-content:center;gap:14px;
  animation: fadeUp .7s ease both;
}
.ph-label::before,.ph-label::after { content:'';width:30px;height:1px;background:var(--gold);opacity:.5; }
.ph-title {
  font-family:var(--fd);font-weight:300;font-size:clamp(3.5rem,7vw,8rem);
  line-height:.95;letter-spacing:-.02em;
  animation: fadeUp .9s .1s ease both;
}
.ph-title em { font-style:italic;color:var(--gold); }
.ph-sub {
  font-family:var(--fb);font-size:1.05rem;font-weight:300;color:var(--grey-light);
  max-width:520px;margin:24px auto 0;line-height:1.8;
  animation: fadeUp .8s .2s ease both;
}

/* ===== SHARED UTILITIES ===== */
.sec-label {
  font-family:var(--fu);font-size:.62rem;font-weight:600;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold);margin-bottom:18px;
  display:flex;align-items:center;gap:12px;
}
.sec-label::before { content:'';width:20px;height:1px;background:var(--gold); }
.sec-title { font-family:var(--fd);font-weight:300;font-size:clamp(2.4rem,4.5vw,5rem);line-height:1.05; }
.sec-title em { font-style:italic;color:var(--gold); }

/* SCROLL REVEAL */
.sr { opacity:0;transform:translateY(40px);transition:opacity .85s cubic-bezier(.25,.46,.45,.94),transform .85s cubic-bezier(.25,.46,.45,.94); }
.sr.vis { opacity:1;transform:translateY(0); }

/* BUTTONS */
.btn-gold { font-family:var(--fu);font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--black);background:var(--gold);padding:15px 40px;text-decoration:none;border-radius:2px;transition:background .3s,transform .2s,box-shadow .3s;display:inline-block; }
.btn-gold:hover { background:var(--gold-light);transform:translateY(-2px);box-shadow:0 12px 40px rgba(201,168,76,.25); }
.btn-line { font-family:var(--fu);font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--white);background:transparent;border:1px solid rgba(255,255,255,.25);padding:15px 40px;text-decoration:none;border-radius:2px;display:inline-block;transition:border-color .3s,color .3s,transform .2s; }
.btn-line:hover { border-color:var(--gold);color:var(--gold);transform:translateY(-2px); }

/* FOOTER */
footer { padding:44px 60px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px; }
.ft-logo { font-family:var(--fu);font-weight:800;font-size:.88rem;letter-spacing:.14em;text-transform:uppercase;color:var(--grey); }
.ft-logo span { color:var(--gold); }
.ft-copy { font-family:var(--fb);font-size:.76rem;color:var(--grey);font-weight:300; }
.ft-links { display:flex;gap:24px;list-style:none; }
.ft-links a { font-family:var(--fu);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);text-decoration:none;transition:color .3s; }
.ft-links a:hover { color:var(--gold); }

/* ANIMATIONS */
@keyframes fadeUp { from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)} }
@keyframes vring { 0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.7} }
@keyframes ptrise { 0%{opacity:0;transform:translateY(0)}10%{opacity:.8}90%{opacity:.2}100%{opacity:0;transform:translateY(-100vh)} }
@keyframes mqs { from{transform:translateX(0)}to{transform:translateX(-50%)} }
@keyframes spulse { 0%,100%{opacity:1}50%{opacity:.3} }

/* RESPONSIVE NAV */
@media(max-width:900px){
  nav { padding:18px 28px; }
  nav.scrolled { padding:12px 28px; }
  .nav-links,.nav-cta { display:none; }
  .hbg { display:flex; }
  .page-header { padding:140px 28px 80px; }
  footer { flex-direction:column;text-align:center;padding:28px; }
}
