/* ─── TOKENS ─────────────────────────────────────────── */
:root {
  --cream:#faf6f1; --blush:#f2ddd5; --rose:#e8b4a8;
  --rosegold:#c9897a; --deep:#7a4a3f; --charcoal:#2c2019;
  --white:#ffffff; --gold:#c8a97e;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,sans-serif;
  --nav-h:72px;
}

/* ─── RESET ──────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--sans); background:var(--cream); color:var(--charcoal); overflow-x:hidden; }
img  { display:block; max-width:100%; }
a    { text-decoration:none; color:inherit; }

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

/* ─── NAV ─────────────────────────────────────────────── */
nav {
  position:sticky; top:0; z-index:900; height:var(--nav-h);
  background:rgba(250,246,241,0.92); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(200,169,126,0.2);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 clamp(1.5rem,5vw,4rem); transition:box-shadow .3s;
}
nav.scrolled { box-shadow:0 4px 40px rgba(122,74,63,0.08); }
.nav-logo img { height:44px; width:auto; display:block; }
.nav-links { display:flex; gap:2.5rem; list-style:none; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }
.nav-links a { color:var(--charcoal); opacity:.7; transition:opacity .2s,color .2s; position:relative; }
.nav-links a::after { content:''; position:absolute; bottom:-3px; left:0; right:100%; height:1px; background:var(--rosegold); transition:right .3s ease; }
.nav-links a:hover { opacity:1; color:var(--deep); }
.nav-links a:hover::after { right:0; }
.nav-cta { background:var(--rosegold); color:var(--white); padding:.55rem 1.5rem; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; border-radius:2px; transition:background .2s,transform .15s; }
.nav-cta:hover { background:var(--deep); transform:translateY(-1px); }
@media(max-width:900px) { .nav-links,.nav-cta { display:none; } }

/* ─── PAGE HERO ───────────────────────────────────────── */
.page-hero {
  padding:clamp(4rem,8vw,7rem) clamp(1.5rem,5vw,4rem) 3rem;
  border-bottom:1px solid rgba(200,169,126,0.2);
}
.page-hero .label { font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--rosegold); margin-bottom:1rem; }
.page-hero h1 { font-family:var(--serif); font-weight:300; font-size:clamp(2.4rem,5vw,4rem); line-height:1.1; color:var(--charcoal); }
.page-hero h1 em { color:var(--rosegold); font-style:italic; }
.page-hero .meta { font-size:.82rem; opacity:.5; margin-top:1rem; }

/* ─── PAGE CONTENT ────────────────────────────────────── */
.page-content { max-width:740px; margin:0 auto; padding:clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,4rem); }
.page-content h2 { font-family:var(--serif); font-weight:400; font-size:1.55rem; color:var(--deep); margin:2.5rem 0 .8rem; }
.page-content h2:first-child { margin-top:0; }
.page-content p  { font-size:.92rem; line-height:1.85; opacity:.8; margin-bottom:1rem; }
.page-content ul { font-size:.92rem; line-height:1.85; opacity:.8; margin:0 0 1rem 1.4rem; }
.page-content ul li { margin-bottom:.3rem; }
.page-content a  { color:var(--rosegold); border-bottom:1px solid transparent; transition:border-color .2s; }
.page-content a:hover { border-color:var(--rosegold); }
.page-content strong { font-weight:500; opacity:1; color:var(--charcoal); }
.divider { border:none; border-top:1px solid rgba(200,169,126,0.25); margin:2rem 0; }

/* ─── FOOTER ──────────────────────────────────────────── */
footer { background:var(--deep); color:rgba(255,255,255,0.7); padding:3rem clamp(1.5rem,5vw,4rem) 1.5rem; }
.footer-bottom { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; font-size:.75rem; letter-spacing:.06em; border-top:1px solid rgba(255,255,255,0.1); padding-top:1.2rem; margin-top:2rem; }
.footer-bottom a { color:rgba(255,255,255,0.6); transition:color .2s; }
.footer-bottom a:hover { color:#fff; }
.footer-logo img { height:36px; width:auto; filter:brightness(0) invert(1); opacity:.7; margin-bottom:1rem; }
