:root {
  --linen:        #F0EBE3;
  --warm-white:   #FAF7F4;
  --cream:        #F7F3EE;
  --sand:         #E8C4AE;
  --sand-light:   #F0D4C2;
  --taupe:        #6B6057;
  --taupe-light:  #8C7E73;
  --olive:        #5C6B47;
  --olive-light:  #7A8C5E;
  --olive-pale:   #C8D4B8;
  --forest:       #3D5240;
  --sage:         #7A9E80;
  --copper:       #B07848;
  --copper-light: #C8904E;
  --gold:         #B8975C;
  --gold-light:   #D4B87A;
  --mist:         #E4DDD6;
  --charcoal:     #2A2420;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; background:var(--linen); color:var(--charcoal); overflow-x:hidden; }

/* ACCENT BAR */
.accent-bar { height:3px; background:linear-gradient(90deg, var(--sand) 0%, var(--olive) 50%, var(--copper) 100%); }

/* NAV */
nav {
  position:fixed; top:3px; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.3rem 5rem;
  background:rgba(240,235,227,0.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(176,120,72,0.15);
}
.nav-logo { font-family:'Cormorant Garamond',serif; font-size:1rem; font-weight:400; letter-spacing:0.18em; text-transform:uppercase; color:var(--taupe); text-decoration:none; }
.nav-links { display:flex; align-items:center; gap:2.2rem; list-style:none; }
.nav-links a { font-size:0.68rem; letter-spacing:0.13em; text-transform:uppercase; color:var(--taupe); text-decoration:none; opacity:0.65; transition:opacity 0.2s; }
.nav-links a:hover, .nav-links a.active { opacity:1; }
.nav-cta { color:var(--copper) !important; opacity:1 !important; border:1px solid var(--copper); padding:0.45rem 1.2rem; transition:all 0.2s !important; }
.nav-cta:hover { background:var(--copper) !important; color:var(--warm-white) !important; }

/* BUTTONS */
.btn-primary { font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; padding:0.92rem 2.1rem; background:var(--taupe); color:var(--warm-white); text-decoration:none; border:1px solid var(--taupe); display:inline-block; transition:all 0.25s; }
.btn-primary:hover { background:transparent; color:var(--taupe); }
.btn-outline { font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; padding:0.92rem 2.1rem; background:transparent; color:var(--taupe); text-decoration:none; border:1px solid var(--taupe); display:inline-block; transition:all 0.25s; }
.btn-outline:hover { background:var(--taupe); color:var(--warm-white); }
.btn-gold { font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; padding:0.92rem 2.1rem; background:var(--copper); color:white; text-decoration:none; border:1px solid var(--copper); display:inline-block; transition:all 0.25s; }
.btn-gold:hover { background:transparent; color:var(--copper); }
.btn-linen { font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; padding:0.92rem 2.3rem; background:var(--linen); color:var(--taupe); text-decoration:none; border:1px solid var(--linen); display:inline-block; transition:all 0.25s; }
.btn-linen:hover { background:transparent; color:var(--linen); }
.btn-outline-linen { font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; padding:0.92rem 2.3rem; background:transparent; color:var(--linen); text-decoration:none; border:1px solid rgba(240,235,227,0.45); display:inline-block; transition:all 0.25s; }
.btn-outline-linen:hover { border-color:var(--linen); background:rgba(240,235,227,0.1); }

/* SECTION COMMONS */
.section-eyebrow { font-size:0.65rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--copper); margin-bottom:1rem; display:block; }
.eyebrow-line { display:flex; align-items:center; gap:0.8rem; font-size:0.65rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--copper); margin-bottom:1.4rem; }
.eyebrow-line::before { content:''; width:2rem; height:1px; background:var(--copper); }
.section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.2rem,3.2vw,3.5rem); font-weight:300; color:var(--taupe); line-height:1.15; }
.section-title em { font-style:italic; color:var(--olive); }
.section-header { text-align:center; margin-bottom:4.5rem; }
.divider { width:3rem; height:1px; background:var(--copper); margin:2rem 0; }

/* PRESS BAR */
.press-bar { padding:2.5rem 5rem; background:var(--linen); border-top:1px solid var(--mist); border-bottom:1px solid var(--mist); }
.press-label { font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--copper); text-align:center; margin-bottom:1.6rem; }
.press-logos { display:flex; align-items:center; justify-content:center; gap:3.5rem; flex-wrap:wrap; }
.press-logo { font-family:'Cormorant Garamond',serif; font-size:0.95rem; letter-spacing:0.1em; color:var(--taupe); opacity:0.38; text-transform:uppercase; }

/* PAGE HERO */
.page-hero { padding:9rem 5rem 5.5rem; position:relative; overflow:hidden; }
.page-hero.dark { background:linear-gradient(145deg, var(--taupe) 0%, var(--olive) 60%, var(--charcoal) 100%); }
.page-hero-deco { position:absolute; right:-1rem; top:50%; transform:translateY(-50%); font-family:'Cormorant Garamond',serif; font-size:14rem; font-weight:300; color:rgba(240,235,227,0.05); line-height:1; pointer-events:none; user-select:none; }
.page-hero-eyebrow { font-size:0.65rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--sand-light); margin-bottom:1.4rem; display:flex; align-items:center; gap:0.8rem; }
.page-hero-eyebrow::before { content:''; width:2rem; height:1px; background:var(--sand-light); }
.page-hero-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.8rem,4.5vw,5rem); font-weight:300; color:var(--linen); line-height:1.08; margin-bottom:1.4rem; }
.page-hero-title em { font-style:italic; color:var(--sand-light); }
.page-hero-sub { font-size:0.9rem; line-height:1.78; color:rgba(240,235,227,0.65); max-width:52ch; }

/* CTA SECTION */
.cta-section { padding:7.5rem 5rem; background:var(--taupe); text-align:center; position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 50%, rgba(92,107,71,0.3) 0%, transparent 65%); }
.cta-section::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:linear-gradient(90deg, var(--sand) 0%, var(--copper) 100%); }
.cta-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.3rem,3.8vw,4.5rem); font-weight:300; color:var(--linen); line-height:1.12; margin-bottom:1.2rem; position:relative; }
.cta-title em { font-style:italic; color:var(--sand-light); }
.cta-sub { font-size:0.9rem; color:rgba(240,235,227,0.65); margin-bottom:3rem; position:relative; }
.cta-btns { display:flex; gap:1.3rem; justify-content:center; position:relative; flex-wrap:wrap; }

/* FOOTER */
footer { padding:4.5rem 5rem 2.5rem; background:var(--charcoal); display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:3.5rem; }
.footer-brand { font-family:'Cormorant Garamond',serif; font-size:1rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--sand-light); margin-bottom:0.9rem; }
.footer-tagline { font-size:0.76rem; line-height:1.7; color:rgba(240,235,227,0.35); margin-bottom:1.3rem; max-width:26ch; }
.footer-email { font-size:0.73rem; color:var(--copper-light); text-decoration:none; }
.footer-email:hover { opacity:0.8; }
.footer-col-title { font-size:0.58rem; letter-spacing:0.18em; text-transform:uppercase; color:rgba(240,235,227,0.28); margin-bottom:1.3rem; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:0.65rem; }
.footer-links a { font-size:0.78rem; color:rgba(240,235,227,0.45); text-decoration:none; transition:color 0.2s; }
.footer-links a:hover { color:var(--sand-light); }
.footer-bottom { padding:1.3rem 5rem; background:var(--charcoal); border-top:1px solid rgba(240,235,227,0.06); display:flex; align-items:center; justify-content:space-between; }
.footer-copy { font-size:0.64rem; color:rgba(240,235,227,0.2); }
.footer-sub-brands { display:flex; gap:1.4rem; align-items:center; }
.footer-sub-brand { font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:rgba(240,235,227,0.25); text-decoration:none; transition:color 0.2s; }
.footer-sub-brand:hover { color:var(--copper-light); }
.footer-dot { color:rgba(240,235,227,0.15); font-size:0.6rem; }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}
.fade-up   { animation:fadeUp 0.6s ease both; }
.fade-up-2 { animation:fadeUp 0.6s ease 0.15s both; }
.fade-up-3 { animation:fadeUp 0.6s ease 0.3s both; }
.fade-up-4 { animation:fadeUp 0.6s ease 0.45s both; }

@media(max-width:900px){
  nav { padding:1.1rem 1.5rem; }
  .nav-links { gap:1.2rem; }
  footer { grid-template-columns:1fr 1fr; padding:3rem 1.5rem 2rem; gap:2rem; }
  .footer-bottom { padding:1.2rem 1.5rem; flex-direction:column; gap:0.7rem; text-align:center; }
  .press-bar { padding:2.5rem 1.5rem; }
  .page-hero { padding:7rem 1.5rem 4rem; }
  .cta-section { padding:5rem 1.5rem; }
}
