
:root{
  --ink:#0b0809;
  --ink-2:#130c10;
  --burgundy:#4a1722;
  --burgundy-2:#6a2635;
  --ivory:#f5efe3;
  --cream:#e8dcc8;
  --gold:#c7a45b;
  --gold-soft:#dfc98e;
  --taupe:#9b8b76;
  --white:#fffaf1;
  --muted:#b8ab99;
  --line:rgba(199,164,91,.35);
  --shadow:0 24px 70px rgba(0,0,0,.38);
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --script:"Allura", "Brush Script MT", cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--ivory);font-family:var(--sans);line-height:1.55}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
::selection{background:var(--gold);color:var(--ink)}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.serif{font-family:var(--serif)}
.script{font-family:var(--script)}
.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.gold{color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:13px 20px;border:1px solid var(--gold);background:var(--gold);color:var(--ink);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.3s ease}
.btn:hover{transform:translateY(-2px);background:var(--gold-soft)}
.btn.ghost{background:transparent;color:var(--gold)}
.btn.ghost:hover{background:rgba(199,164,91,.12)}
.divider{width:80px;height:1px;background:var(--gold);opacity:.8;margin:25px auto}
.section{padding:110px 0;position:relative}
.section-head{text-align:center;max-width:720px;margin:0 auto 55px}
.section-head h2{font:500 clamp(2.5rem,5vw,4.8rem)/.9 var(--serif);margin:12px 0 18px;letter-spacing:-.02em}
.section-head p{color:var(--muted);max-width:580px;margin:auto}
.nav{position:fixed;z-index:50;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(5,4,5,.9),rgba(5,4,5,.0));padding:18px 0;transition:.35s}
.nav.scrolled{background:rgba(11,8,9,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font:500 1.7rem var(--serif);letter-spacing:.12em;color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:24px;font-size:.69rem;letter-spacing:.13em;text-transform:uppercase}
.nav-links a{opacity:.85;transition:.25s}
.nav-links a:hover{color:var(--gold);opacity:1}
.menu-btn{display:none;background:none;border:0;color:var(--gold);font-size:1.5rem}
.hero{min-height:100svh;display:grid;place-items:center;position:relative;overflow:hidden;background:
  radial-gradient(circle at 72% 28%,rgba(126,46,61,.35),transparent 35%),
  linear-gradient(115deg,#080608 0%,#1c1015 48%,#080608 100%)}
.hero:before{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.22) 55%,rgba(0,0,0,.68)),
  radial-gradient(circle at 50% 55%,transparent 0 28%,rgba(0,0,0,.62) 80%);
}
.photo-placeholder{position:absolute;inset:0;background:
  radial-gradient(ellipse at 48% 38%,rgba(196,158,105,.24),transparent 24%),
  radial-gradient(ellipse at 56% 42%,rgba(115,39,56,.44),transparent 28%),
  linear-gradient(135deg,#201217,#080607 55%,#32121c);
}
.photo-placeholder:after{content:"YOUR HERO PHOTOGRAPH";position:absolute;inset:0;display:grid;place-items:center;color:rgba(245,239,227,.28);font-size:.7rem;letter-spacing:.3em}
.hero-content{position:relative;z-index:2;text-align:center;padding:100px 20px 60px}
.hero-content .brand{font-size:clamp(2.7rem,7vw,6.4rem);display:block;letter-spacing:.08em}
.hero-names{font:400 clamp(1.25rem,3vw,2.1rem) var(--serif);letter-spacing:.16em;margin-top:10px}
.hero-date{font-size:.72rem;letter-spacing:.32em;color:var(--gold);margin-top:24px}
.hero-tag{margin:18px auto 0;color:#d6c9b8;font:italic 1.05rem var(--serif)}
.scroll-cue{display:inline-flex;flex-direction:column;align-items:center;gap:8px;margin-top:70px;color:var(--gold);font-size:.65rem;letter-spacing:.22em;text-transform:uppercase}
.scroll-cue span{width:1px;height:44px;background:linear-gradient(var(--gold),transparent);animation:scroll 2s infinite}
@keyframes scroll{50%{transform:translateY(8px);opacity:.5}}
.beginning{background:#0f0a0d}
.beginning-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:90px;align-items:center}
.poem{font:italic 2rem/1.3 var(--serif);color:var(--cream)}
.poem strong{font-style:normal;color:var(--gold);font-weight:500}
.beginning-copy{color:var(--muted);max-width:500px}
.engagement{background:linear-gradient(180deg,#0b0809,#130c10)}
.editorial{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:16px;align-items:start}
.photo-card{position:relative;overflow:hidden;border:1px solid rgba(199,164,91,.16);background:#1a1014;min-height:300px}
.photo-card.large{min-height:620px}
.photo-card.tall{min-height:500px}
.photo-card:before{content:"";position:absolute;inset:0;background:
  linear-gradient(145deg,rgba(199,164,91,.14),transparent 40%),
  radial-gradient(circle at 50% 35%,rgba(105,33,48,.55),transparent 45%),
  linear-gradient(135deg,#211318,#0d080a)}
.photo-card:after{content:"PHOTO";position:absolute;inset:0;display:grid;place-items:center;color:rgba(245,239,227,.22);font-size:.65rem;letter-spacing:.35em}
.photo-card .caption{position:absolute;z-index:2;left:18px;bottom:16px;color:var(--cream);font:italic 1rem var(--serif)}
.photo-card:nth-child(2):before{background:linear-gradient(145deg,#3b2025,#110b0d)}
.photo-card:nth-child(3):before{background:linear-gradient(145deg,#17191a,#3b2520)}
.photo-card:nth-child(4):before{background:linear-gradient(145deg,#2b161c,#120a0d)}
.photo-card:nth-child(5):before{background:linear-gradient(145deg,#5a3a2c,#171012)}
.photo-card:nth-child(6):before{background:linear-gradient(145deg,#25171d,#0b0a0a)}
.gallery{background:#0a0809}
.filter-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 auto 28px}
.filter{border:1px solid var(--line);background:transparent;color:var(--muted);padding:8px 13px;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;cursor:pointer}
.filter.active,.filter:hover{color:var(--ink);background:var(--gold)}
.gallery-grid{columns:3 250px;column-gap:14px}
.gallery-item{break-inside:avoid;margin-bottom:14px;min-height:220px;position:relative;overflow:hidden;border:1px solid rgba(199,164,91,.12);background:#1b1014}
.gallery-item:before{content:"";display:block;min-height:inherit;background:linear-gradient(145deg,#321922,#12090d)}
.gallery-item:nth-child(2n):before{background:linear-gradient(145deg,#4a2d25,#171012)}
.gallery-item:nth-child(3n):before{background:linear-gradient(145deg,#20171a,#5a3540)}
.gallery-item span{position:absolute;left:14px;bottom:12px;color:var(--cream);font:italic .95rem var(--serif)}
.videos{background:linear-gradient(180deg,#0b0809,#130b10)}
.video-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
.video-card{position:relative;min-height:420px;border:1px solid var(--line);overflow:hidden;background:#170c10;cursor:pointer}
.video-card.short{min-height:520px}
.video-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#331521,#10090c)}
.video-card:nth-child(2):before{background:linear-gradient(135deg,#5c3a30,#1c0f14)}
.video-card:nth-child(3):before{background:linear-gradient(135deg,#25151b,#6c2b3b)}
.video-card .video-info{position:absolute;left:20px;right:20px;bottom:20px;z-index:2}
.video-card .num{font-size:.65rem;letter-spacing:.2em;color:var(--gold)}
.video-card h3{font:500 1.7rem var(--serif);margin:5px 0}
.play{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);background:rgba(0,0,0,.25)}
.invite-cta{padding:120px 20px;text-align:center;background:
  radial-gradient(circle at 70% 40%,rgba(199,164,91,.12),transparent 28%),
  linear-gradient(135deg,#180c11,#0b0809)}
.invite-cta h2{font:500 clamp(3rem,8vw,7rem) var(--serif);line-height:.85;margin:15px 0 25px}
.footer{padding:45px 20px;border-top:1px solid var(--line);text-align:center;color:var(--muted);font-size:.75rem}
.footer .brand{font-size:1.4rem;display:block;margin-bottom:10px}
.modal{position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-inner{width:min(1000px,100%);position:relative}
.modal-close{position:absolute;right:0;top:-42px;background:none;border:0;color:white;font-size:1.7rem;cursor:pointer}
.modal iframe{width:100%;aspect-ratio:16/9;border:0}
.music-toggle{position:fixed;z-index:55;right:18px;bottom:18px;border:1px solid var(--gold);background:rgba(11,8,9,.84);color:var(--gold);width:44px;height:44px;border-radius:50%;cursor:pointer}
@media(max-width:900px){
  .nav-links{display:none}
  .menu-btn{display:block}
  .nav.open .nav-links{display:flex;position:absolute;top:68px;left:20px;right:20px;flex-direction:column;align-items:stretch;padding:18px;background:rgba(11,8,9,.98);border:1px solid var(--line)}
  .nav.open .nav-links a{padding:12px}
  .beginning-grid{grid-template-columns:1fr;gap:35px}
  .editorial{grid-template-columns:1fr 1fr}
  .photo-card.large{grid-column:1/-1;min-height:520px}
  .video-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .container{width:min(100% - 28px,1180px)}
  .section{padding:78px 0}
  .hero-content{padding-top:120px}
  .hero-content .brand{font-size:3.3rem}
  .hero-names{font-size:1.05rem}
  .hero-tag{font-size:.95rem}
  .editorial{grid-template-columns:1fr}
  .photo-card.large,.photo-card.tall{min-height:420px}
  .video-grid{grid-template-columns:1fr}
  .video-card,.video-card.short{min-height:440px}
  .gallery-grid{columns:2 150px}
}
