:root{
  --ink:#20241f;
  --cream:#faf7f1;
  --moss:#3f5a44;
  --moss-dark:#2b3f30;
  --gold:#b8925a;
  --line:#e3ddd0;
  font-family:'Jost',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
}
h1,h2,h3{
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  line-height:1.15;
  color:var(--moss-dark);
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1140px;margin:0 auto;padding:0 24px;}

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.75rem;
  color:var(--gold);
  font-weight:500;
  margin-bottom:10px;
}
.center{text-align:center;}
.lead{max-width:640px;margin:12px auto 40px;color:#54594f;}

/* Header */
.site-header{
  position:absolute;top:0;left:0;right:0;
  z-index:10;
  padding:20px 0;
}
.header-inner{display:flex;align-items:center;justify-content:space-between;}
.logo{
  font-family:'Cormorant Garamond',serif;
  font-size:1.6rem;
  font-weight:700;
  color:#fff;
  letter-spacing:.05em;
}
.main-nav a{
  color:#fff;
  margin-left:28px;
  font-size:.9rem;
  font-weight:400;
}
.nav-cta{
  border:1px solid #fff;
  padding:8px 18px;
  border-radius:2px;
}

/* Hero */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;}
.hero-media{position:absolute;inset:0;}
.hero-media img{width:100%;height:100%;object-fit:cover;}
.hero-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(20,28,20,.55) 0%, rgba(20,28,20,.35) 40%, rgba(20,28,20,.75) 100%);
}
.hero-content{
  position:relative;z-index:2;
  color:#fff;
  max-width:680px;
  margin:0 auto;
  padding:0 24px;
  text-align:center;
}
.hero-content .eyebrow{color:#e7cfa8;}
.hero h1{font-size:clamp(2.2rem,5vw,3.4rem);color:#fff;margin-bottom:18px;}
.hero-sub{font-size:1.05rem;color:#e9e9e4;margin-bottom:28px;}

.btn{
  display:inline-block;
  padding:14px 32px;
  border-radius:2px;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:500;
  transition:background .2s ease, color .2s ease;
}
.btn-primary{background:var(--gold);color:#fff;}
.btn-primary:hover{background:#a17c48;}

/* Strip */
.strip{background:var(--moss-dark);color:#fff;padding:36px 0;}
.strip-inner{display:flex;flex-wrap:wrap;justify-content:space-around;text-align:center;gap:20px;}
.strip-item strong{display:block;font-family:'Cormorant Garamond',serif;font-size:2rem;color:#e7cfa8;}
.strip-item span{font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;opacity:.85;}

/* Split sections */
.split{display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding:88px 24px;}
.split-media, .split-text{flex:1 1 420px;}
.split-media img{border-radius:4px;}
.venue h2, .about h2{font-size:2.2rem;margin-bottom:16px;}
.feature-list{margin-top:20px;padding-left:20px;}
.feature-list li{margin-bottom:8px;color:#3f453c;}

.about{background:#f2ede2;}

/* Packages */
.packages{padding:90px 0;}
.packages h2{font-size:2.2rem;}
.package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;margin-top:20px;}
.package-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:4px;
  padding:36px 28px;
  text-align:center;
}
.package-card h3{font-size:1.4rem;margin-bottom:12px;}
.package-card p{color:#54594f;font-size:.95rem;}

/* Gallery */
.gallery{padding:90px 0;background:#f2ede2;}
.gallery h2{font-size:2.2rem;}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:30px;}
.gallery-grid img{border-radius:4px;height:280px;width:100%;object-fit:cover;}

/* Contact */
.contact{padding:90px 0;background:var(--moss-dark);color:#fff;}
.contact-inner{max-width:640px;margin:0 auto;text-align:center;}
.contact .eyebrow{color:#e7cfa8;}
.contact h2{color:#fff;font-size:2.1rem;margin-bottom:10px;}
.contact .lead{color:#d7d9cf;}
.contact-form{text-align:left;margin-top:20px;}
.form-row{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap;}
.form-row input{flex:1 1 220px;}
input, textarea{
  width:100%;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:2px;
  font-family:inherit;
  margin-bottom:16px;
}
input::placeholder, textarea::placeholder{color:#c9ccc2;}
.contact-form .btn{border:none;cursor:pointer;font-family:inherit;}
.form-note{margin-top:14px;color:#e7cfa8;font-size:.9rem;}

/* Footer */
.site-footer{background:#1c261d;color:#cfd3c8;padding:36px 0;font-size:.85rem;}
.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.site-footer .logo{color:#fff;font-size:1.2rem;}

@media (max-width:760px){
  .main-nav{display:none;}
  .split{padding:60px 24px;}
}
