*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --brown-900:#1a110b;--brown-800:#2a1d14;--brown-700:#3d2e22;--brown-600:#5c4a3a;
  --brown-500:#8b7355;--brown-400:#a89279;--brown-300:#c4b49e;--brown-200:#ddd0c0;--brown-100:#f0e8dc;--brown-50:#faf6f0;
  --burgundy:#7a2e3b;--burgundy-dark:#5e1a28;--burgundy-light:#f2e8ea;
  --sage:#6b7f5e;--sage-dark:#4a5c3e;--sage-light:#e8ede4;
  --gold:#b8944f;--gold-dark:#8a6a2a;--gold-light:#f0e6d0;
  --cream:#fdfaf5;--white:#ffffff;
  --linen:#f0e8dc;--charcoal:#2a1d14;--warm-gray:#8b7355;
  --blush:#E8C4B8;--shadow:rgba(58,58,58,0.12);--chapel-floor:#E8E0D4;
  --pavilion-floor:#DDD5C8;--patio-stone:#C9C1B2;--cinder:#8A8680;
  --addition-floor:#DED6C9;--red-warn:rgba(200,92,92,.15);
  --font-display:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --font-body:'Josefin Sans','Helvetica Neue',Arial,sans-serif;
  --nav-height:72px;
}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);color:var(--brown-800);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--burgundy);text-decoration:none;transition:color .2s}
a:hover{color:var(--burgundy-dark)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.2;color:var(--brown-900)}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;height:calc(var(--nav-height) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:#fdfaf5;border-bottom:1px solid var(--brown-200);z-index:1000;transition:box-shadow .3s}
nav.scrolled{background:rgba(253,250,245,.98);box-shadow:0 2px 20px rgba(26,17,11,.08)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:100%}
.nav-logo{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--brown-900);letter-spacing:.02em}
.nav-logo span{color:var(--burgundy);font-weight:600}
.nav-links{display:flex;gap:1.2rem;align-items:center;list-style:none}
.nav-links a{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brown-600);transition:color .2s}
.nav-links a:hover{color:var(--burgundy)}
.nav-cta{background:var(--burgundy);color:var(--white)!important;padding:.6rem 1.4rem;border-radius:2px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;transition:background .2s}
.nav-cta:hover{background:var(--burgundy-dark);color:var(--white)!important}
.nav-toggle{display:none;cursor:pointer;padding:8px;text-decoration:none}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--brown-700);margin:5px 0;transition:all .3s}
.back-link{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brown-600)}
.back-link:hover{color:var(--burgundy)}
.btn{display:inline-block;padding:.9rem 2.5rem;font-family:var(--font-body);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;border:1px solid;transition:all .3s;cursor:pointer}
.btn-primary{background:var(--burgundy);color:var(--white);border-color:var(--burgundy)}
.btn-primary:hover{background:var(--burgundy-dark);border-color:var(--burgundy-dark);color:var(--white)}
.btn-outline{background:transparent;color:var(--brown-700);border-color:var(--brown-400)}
.btn-outline:hover{background:var(--brown-700);color:var(--white);border-color:var(--brown-700)}
.btn-sm{font-size:9px;padding:4px 8px;}
.btn-danger{background:transparent;color:#B85C5C;border:1.5px solid #E0BFBF;}

/* SECTION HELPERS */
section{padding:6rem 0;scroll-margin-top:calc(var(--nav-height) + env(safe-area-inset-top, 0px) + 1rem)}
section:nth-child(even){background:var(--white)}
.section-label{font-family:var(--font-body);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-dark);text-align:center;margin-bottom:1rem;font-weight:400}
.section-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);text-align:center;margin-bottom:1rem;font-weight:300;color:var(--brown-900)}
.section-subtitle{font-family:var(--font-display);font-size:1.15rem;font-style:italic;color:var(--brown-500);text-align:center;max-width:600px;margin:0 auto 3rem;font-weight:300}
.gold-line{width:50px;height:1px;background:var(--gold);margin:1.5rem auto 2rem}