:root{
  --black:#0d0c0b;
  --graphite:#171514;
  --milk:#f4eee5;
  --cream:#fff8ee;
  --champagne:#c9a66b;
  --muted:#d8c7aa;
  --line:rgba(196,164,125,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--milk);color:var(--black);font-family:Inter,Arial,sans-serif;font-weight:300;overflow-x:hidden}
img{max-width:100%;display:block}.noise{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.07;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:3px 3px;mix-blend-mode:overlay}.topbar{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:18px 18px;background:linear-gradient(to bottom,rgba(13,12,11,.62),transparent);color:#fff}.brand{font-family:'Cormorant Garamond',serif;text-decoration:none;color:#fff;font-size:27px;letter-spacing:4px}.brand span{color:var(--champagne);font-size:.7em;margin:0 4px}.menu-btn{width:42px;height:42px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.04);border-radius:50%;display:grid;place-content:center;gap:5px}.menu-btn span{display:block;width:17px;height:1px;background:#fff}.menu{display:none}.section-dark{background:var(--black);color:var(--cream)}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:slowZoom 12s ease-out forwards}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.20) 34%,rgba(0,0,0,.88) 100%)}.hero-content{position:relative;z-index:2;width:100%;padding:110px 22px 46px;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:5px;font-size:11px;color:var(--champagne);font-weight:400}.eyebrow.dark{color:#8c7156}h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400}h1{font-size:clamp(46px,16vw,86px);line-height:.79;letter-spacing:3px;margin:20px 0 20px;text-transform:uppercase}h1 em{font-family:'Great Vibes',cursive;color:var(--champagne);font-size:.48em;text-transform:none;letter-spacing:0}.hero-date{font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:8px;color:var(--cream)}.hero-note{max-width:310px;margin:18px auto 30px;line-height:1.7;color:#dfd4c7}.scroll-link{color:var(--champagne);font-size:11px;text-transform:uppercase;letter-spacing:3px;text-decoration:none}.date-section{padding:80px 20px;text-align:center;background:linear-gradient(180deg,var(--black),var(--graphite));color:var(--cream)}.script{font-family:'Great Vibes',cursive;color:var(--champagne);font-size:42px;margin:0 0 4px}.date-section h2,.gallery h2,.rsvp h2{font-size:42px;line-height:.95;margin:14px 0 18px}.text{max-width:330px;margin:0 auto 28px;line-height:1.75;color:#d2c5b7}.glass{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);backdrop-filter:blur(14px);border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.countdown{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;overflow:hidden;max-width:360px;margin:34px auto 0}.countdown div{padding:24px 8px;background:rgba(0,0,0,.16)}.countdown strong{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:400}.countdown span{display:block;text-transform:uppercase;letter-spacing:3px;font-size:10px;color:var(--muted)}.split{padding:18px;background:var(--milk)}.split-img{border-radius:30px;overflow:hidden}.split-img img{height:550px;width:100%;object-fit:cover}.split-text{padding:42px 8px 22px;text-align:center}.split-text h2,.program h2,.dress-card h2,.location h2{font-size:44px;line-height:.95;margin:12px 0 20px}.split-text p{line-height:1.8;color:#5a4d42}.program{padding:80px 20px}.program h2,.location h2{text-align:center}.program>.eyebrow,.location>.eyebrow{text-align:center}.timeline{margin-top:38px;border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}time{font-family:'Cormorant Garamond',serif;color:var(--champagne);font-size:30px}.timeline span{line-height:1.45;color:#e5d9cb}.dress{position:relative;padding:20px;background:#0f0e0d}.dress img{width:100%;height:620px;object-fit:cover;border-radius:34px;filter:saturate(.92)}.glass-light{background:rgba(244,238,229,.88);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.45)}.dress-card{position:relative;margin:32px 12px 0;padding:32px 24px;border-radius:28px;text-align:center}.dress-card p{line-height:1.7;color:#55483e}.gallery{padding:74px 18px 18px;text-align:center;background:var(--milk)}.gallery-grid{display:grid;gap:12px;margin-top:30px}.gallery-grid img{width:100%;height:430px;object-fit:cover;border-radius:28px}.gallery-grid img:nth-child(2){height:520px}.location{padding:80px 20px;text-align:center}.cards{display:grid;gap:14px;margin:34px 0}.cards article{padding:28px 22px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.04);text-align:left}.cards span{color:var(--champagne);font-size:12px;letter-spacing:4px}.cards h3{font-size:30px;margin:12px 0 8px}.cards p{color:#d2c5b7;line-height:1.6}.btn{display:inline-flex;justify-content:center;align-items:center;width:100%;min-height:54px;padding:15px 22px;border-radius:999px;background:var(--black);color:var(--cream);text-decoration:none;text-transform:uppercase;letter-spacing:2.6px;font-size:11px;font-weight:500}.btn.secondary{background:transparent;color:var(--black);border:1px solid var(--black)}.btn.outline{background:transparent;color:var(--champagne);border:1px solid var(--champagne);max-width:290px}.rsvp{background:var(--cream);padding:18px}.rsvp-photo{border-radius:32px;overflow:hidden}.rsvp-photo img{height:520px;width:100%;object-fit:cover}.rsvp-box{text-align:center;padding:42px 10px 60px}.rsvp-box p{line-height:1.7;color:#67584c}.buttons{display:grid;gap:12px;margin:28px auto 0;max-width:360px}footer{padding:52px 20px;text-align:center;background:var(--black);color:var(--cream)}footer p{margin:0 0 10px;color:var(--muted)}footer strong{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:400;color:var(--champagne)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.show{opacity:1;transform:none}@keyframes slowZoom{to{transform:scale(1)}}
@media(min-width:760px){.topbar{padding:24px 5vw}.menu-btn{display:none}.menu{display:flex;gap:30px}.menu a{color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:2px;font-size:11px}.hero{align-items:center}.hero-content{max-width:600px;margin-left:auto;padding-right:7vw;text-align:center}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.20) 45%,rgba(0,0,0,.86) 100%)}.countdown{grid-template-columns:repeat(4,1fr);max-width:760px}.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:80px 6vw}.split-text{text-align:left;padding:0}.split-img img{height:700px}.timeline{max-width:760px;margin:45px auto 0}.dress{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:42px;padding:80px 6vw}.dress-card{margin:0;text-align:left;padding:48px}.gallery{padding:90px 6vw}.gallery-grid{grid-template-columns:1fr 1.2fr 1fr}.gallery-grid img,.gallery-grid img:nth-child(2){height:560px}.cards{grid-template-columns:1fr 1fr;max-width:860px;margin:40px auto}.rsvp{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;padding:80px 6vw}.rsvp-box{text-align:left;padding:0}.buttons{grid-template-columns:1fr 1fr}.rsvp-photo img{height:640px}}

.white{color:#fff!important}.white-script{color:#fff!important}.address-title{margin-bottom:8px}.address{font-family:'Cormorant Garamond',serif;font-size:30px;line-height:1.25;margin:0 auto 28px;color:#fff}.quote{max-width:760px;margin:34px auto 0;padding:0 10px;border:0;font-family:'Cormorant Garamond',serif;font-size:24px;line-height:1.35;color:#fff}.quote span{display:block;margin-top:8px;color:var(--champagne);font-size:22px}.palette{display:flex;gap:12px;justify-content:center;margin-top:24px}.palette span{width:34px;height:34px;border-radius:50%;display:block;border:1px solid rgba(0,0,0,.2)}.c-black{background:#000}.c-white{background:#fff}.c-green{background:#31583e}.c-sage{background:#86977b}.c-olive{background:#b9c1ad}.details{padding:78px 18px;text-align:center;background:var(--cream)}.details h2{font-size:42px;line-height:.95;margin:12px 0 24px}.details-card{max-width:860px;margin:0 auto;padding:30px 20px;border:1px solid rgba(123,139,104,.28);border-radius:28px;background:rgba(255,255,255,.45);text-align:left;box-shadow:0 18px 50px rgba(0,0,0,.05)}.details-card p{font-family:'Cormorant Garamond',serif;font-size:24px;line-height:1.35;text-align:center;margin:0 0 18px}.details-card ul{padding:0;margin:0;list-style:none}.details-card li{position:relative;padding:12px 0 12px 28px;line-height:1.65;color:#463d35;border-top:1px solid rgba(123,139,104,.16)}.details-card li:before{content:'♡';position:absolute;left:0;color:var(--champagne)}.single-card{max-width:520px!important;grid-template-columns:1fr!important}.date-section{background:linear-gradient(180deg,var(--black),#24180d)}.program{background:#1a1008}.location{background:#1a1008}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.15) 35%,rgba(0,0,0,.78) 100%)}.hero-note{font-size:17px}.split-text h2:after,.details h2:after,.program h2:after,.gallery h2:after{content:'';display:block;width:70px;height:1px;background:var(--champagne);margin:18px auto 0;opacity:.65}
@media(min-width:760px){.palette{justify-content:flex-start}.details{padding:90px 6vw}.hero-content{margin:0 auto;text-align:center;padding-right:22px}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.03) 45%,rgba(0,0,0,.62) 100%)}.quote{font-size:28px}.address{font-size:34px}}

.modal{
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.6);
  z-index: 9999;
  padding: 20px;
}

.modal-box{
  position: relative;
  width: 100%;
  max-width: 360px;
  background: #f5f1eb;
  border-radius: 30px;
  padding: 45px 25px 30px;
  text-align: center;
}

.modal-box h2{
  margin: 0 0 25px;
  font-family: "Cormorant Garamond", serif;
  font-size: 42px;
}

.modal-box input{
  width: 100%;
  height: 50px;
  margin-bottom: 12px;
  padding: 0 15px;
  border: 1px solid #ddd;
  border-radius: 12px;
  font-size: 16px;
}

.modal-close{
  position: absolute;
  top: 15px;
  right: 18px;
  border: none;
  background: none;
  font-size: 34px;
  cursor: pointer;
}

