:root{
  --bg:#07080b; --bg-soft:#0e1014; --panel:#12151b;
  --text:#f1ede6; --muted:rgba(241,237,230,.72); --muted-2:rgba(241,237,230,.52);
  --line:rgba(255,255,255,.10); --line-soft:rgba(255,255,255,.06);
  --accent:#c9a56a; --max:1320px; --radius:22px; --shadow:0 24px 70px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
body{ margin:0; background:var(--bg); color:var(--text); font-family:'Manrope',sans-serif; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
img{max-width:100%;display:block} a{text-decoration:none;color:inherit} button{font:inherit}
.container{ width:min(var(--max), calc(100% - 48px)); margin:0 auto; }
.eyebrow{ margin:0 0 14px; font-size:11px; letter-spacing:.34em; text-transform:uppercase; color:var(--accent); }

.skip-link{ position:absolute; left:-9999px; top:0; z-index:100; padding:10px 16px; background:var(--accent); color:#0b0d11; font-size:11px; letter-spacing:.22em; text-transform:uppercase; border-radius:0 0 8px 0; }
.skip-link:focus{ left:0; }

.brand{ display:flex; flex-direction:column; gap:3px; position:relative; z-index:40; }
.brand__name{ font-family:'Cormorant Garamond',serif; font-size:32px; line-height:.9; }
.brand__sub{ font-size:10px; letter-spacing:.38em; text-transform:uppercase; color:rgba(241,237,230,.8); }
.nav{ display:flex; align-items:center; gap:26px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(241,237,230,.82); }
.nav a:hover,.nav a.active{color:#fff}

.nav-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; position:relative; z-index:40; }
.nav-toggle span{ display:block; width:24px; height:1.5px; background:var(--text); transition:transform .3s ease, opacity .3s ease; }
.nav-toggle.active span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-toggle.active span:nth-child(2){opacity:0}
.nav-toggle.active span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.nav-overlay{ position:fixed; inset:0; background:rgba(7,8,11,.97); backdrop-filter:blur(14px); z-index:29; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; opacity:0; pointer-events:none; transition:opacity .35s ease; }
.nav-overlay.open{ opacity:1; pointer-events:all; }
.nav-overlay__link{ font-family:'Cormorant Garamond',serif; font-size:clamp(38px,10vw,54px); color:var(--text); letter-spacing:.04em; line-height:1.2; opacity:0; transform:translateY(12px); transition:color .2s, opacity .4s ease, transform .4s ease; }
.nav-overlay.open .nav-overlay__link{ opacity:1; transform:none; }
.nav-overlay.open .nav-overlay__link:nth-child(1){transition-delay:.05s}
.nav-overlay.open .nav-overlay__link:nth-child(2){transition-delay:.10s}
.nav-overlay.open .nav-overlay__link:nth-child(3){transition-delay:.15s}
.nav-overlay.open .nav-overlay__link:nth-child(4){transition-delay:.20s}
.nav-overlay__link:hover{color:var(--accent)}
.nav-overlay__footer{ position:absolute; bottom:38px; font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--muted-2); }

.btn{ display:inline-flex; align-items:center; justify-content:center; padding:14px 22px; border-radius:999px; border:1px solid rgba(255,255,255,.16); transition:.25s ease; font-size:11px; letter-spacing:.20em; text-transform:uppercase; white-space:nowrap; }
.btn-primary{ background:rgba(255,255,255,.95); color:#0b0d11; }
.btn-primary:hover{ background:#fff; transform:translateY(-1px); }

.reveal{ opacity:0; transform:translateY(30px); transition:opacity .8s ease, transform .8s ease; }
.reveal.revealed{ opacity:1; transform:none; }

.site-footer__inner{ display:flex; justify-content:space-between; gap:18px; align-items:center; flex-wrap:wrap; color:var(--muted-2); font-size:11px; letter-spacing:.22em; text-transform:uppercase; }
