:root {
  --pine: #092227;
  --pine-2: #0d2d34;
  --pine-3: #12383f;
  --parchment: #F7F4EB;
  --parchment-2: #efe9d8;
  --gold: #D4AF37;
  --gold-2: #C5A059;
  --gold-light: #e8cd8f;
  --laterite: #8C6551;
  --ink: #1c1a15;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family:'EB Garamond','Lora',serif; color:var(--ink); background:var(--parchment); line-height:1.7; }
h1,h2,h3,h4 { font-family:'Playfair Display',serif; font-weight:600; }
.script { font-family:'Cormorant Garamond',serif; font-style:italic; }
.label { font-family:'Montserrat',sans-serif; letter-spacing:0.18em; text-transform:uppercase; font-size:0.72rem; font-weight:500; }

/* NAV */
header { position:fixed; top:0; left:0; right:0; z-index:200; background:rgba(9,34,39,0.95); backdrop-filter:blur(10px); border-bottom:1px solid rgba(212,175,55,0.2); }
.nav-inner { max-width:1320px; margin:0 auto; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; }
.nav-logo { height:46px; width:auto; display:block; }
.nav-links { display:flex; gap:32px; }
.nav-links a { color:var(--parchment); text-decoration:none; font-family:'Montserrat',sans-serif; font-size:0.72rem; letter-spacing:0.15em; text-transform:uppercase; transition:color .25s; }
.nav-links a:hover, .nav-links a.current { color:var(--gold-light); }
.nav-toggle { display:none; background:none; border:none; color:var(--gold); font-size:1.6rem; cursor:pointer; }

.btn { display:inline-block; padding:14px 36px; font-family:'Montserrat',sans-serif; font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; text-decoration:none; border:1px solid var(--gold); border-radius:2px; transition:all .3s; cursor:pointer; }
.btn-gold { background:linear-gradient(135deg,var(--gold),var(--gold-2)); color:var(--pine); border-color:var(--gold-light); font-weight:600; }
.btn-gold:hover { box-shadow:0 12px 30px rgba(212,175,55,0.35); transform:translateY(-2px); }
.btn-outline { background:transparent; color:var(--gold-light); }
.btn-outline:hover { background:rgba(212,175,55,0.1); }

/* PAGE HERO */
.page-hero { background:radial-gradient(ellipse at 50% 15%, var(--pine-3), var(--pine) 65%); color:var(--parchment); text-align:center; padding:150px 24px 80px; }
.page-hero .label { color:var(--gold-light); margin-bottom:16px; }
.page-hero h1 { font-size:2.9rem; letter-spacing:0.03em; margin-bottom:16px; color:var(--parchment); }
.page-hero p.lead { max-width:680px; margin:0 auto; font-size:1.2rem; color:#d8d2c2; line-height:1.85; }

/* PROSE */
.prose { max-width:820px; margin:0 auto; padding:70px 24px 40px; }
.prose h2 { color:var(--pine); font-size:1.75rem; margin:46px 0 14px; }
.prose h2:first-child { margin-top:0; }
.prose h3 { color:var(--pine); font-size:1.2rem; margin:28px 0 8px; }
.prose p { color:#463f30; margin-bottom:16px; font-size:1.08rem; }
.prose ul { margin:0 0 18px 22px; color:#463f30; font-size:1.05rem; }
.prose li { margin-bottom:8px; }
.prose a { color:var(--laterite); }
.prose strong { color:var(--pine); }
.meta { font-family:'Montserrat',sans-serif; font-size:0.74rem; letter-spacing:0.08em; color:#8a8060; margin-bottom:28px; text-transform:uppercase; }

.cards3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1100px; margin:10px auto 0; padding:0 24px; }
.card { background:white; border:1px solid rgba(140,101,81,0.22); border-radius:4px; padding:26px 24px; }
.card .label { color:var(--laterite); margin-bottom:10px; }
.card h3 { color:var(--pine); font-size:1.15rem; margin-bottom:8px; }
.card p { color:#5c5540; font-size:0.98rem; margin:0; }

.royal { max-width:1100px; margin:24px auto 0; padding:0 24px; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.royal .card { background:var(--pine); border-color:rgba(212,175,55,0.3); }
.royal .card .label { color:var(--gold-light); }
.royal .card h3 { color:var(--parchment); }
.royal .card p { color:#d8d2c2; }
.royal .card .src { display:block; margin-top:12px; font-size:0.78rem; color:#8fa0a0; font-family:'Montserrat',sans-serif; letter-spacing:0.03em; }

.note-box { max-width:820px; margin:30px auto 0; padding:18px 22px; border-left:3px solid var(--gold-2); background:var(--parchment-2); color:#5c5540; font-size:0.95rem; border-radius:0 4px 4px 0; }

.cta-band { background:linear-gradient(180deg,var(--pine-2),var(--pine)); color:var(--parchment); text-align:center; padding:80px 24px; margin-top:60px; }
.cta-band h2 { color:var(--parchment); font-size:2rem; margin-bottom:14px; }
.cta-band p { max-width:560px; margin:0 auto 28px; color:#d8d2c2; }
.cta-band .btn + .btn { margin-left:12px; }

/* FOOTER */
footer { background:var(--pine); color:#9aa8a8; padding:50px 24px 30px; text-align:center; }
footer img { height:52px; margin-bottom:20px; opacity:0.9; }
footer p { margin-bottom:8px; font-size:0.92rem; }
footer strong { color:var(--gold-light); }
footer a { color:inherit; text-decoration:none; }
.footer-fine { font-size:0.78rem; color:#5f6f70; margin-top:16px; }
.footer-links { margin:18px 0 6px; display:flex; justify-content:center; flex-wrap:wrap; gap:8px 26px; }
.footer-links a { font-family:'Montserrat',sans-serif; font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); }
.footer-links a:hover { color:var(--parchment); }

@media (max-width:900px) {
  .nav-links { display:none; }
  .nav-toggle { display:block; }
  .nav-links.open { display:flex; flex-direction:column; gap:18px; position:absolute; top:100%; left:0; right:0; background:rgba(9,34,39,0.98); padding:22px 24px 26px; border-bottom:1px solid rgba(212,175,55,0.2); }
  .page-hero h1 { font-size:2.1rem; }
  .cards3, .royal { grid-template-columns:1fr; }
  .cta-band .btn + .btn { margin-left:0; margin-top:12px; }
}
