*{box-sizing:border-box}
:root{--cream:#f7f1e8;--sand:#e7d8c7;--brown:#6b4f3b;--dark:#403126;--line:#d8c8b5;--white:#fffdf9}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--dark);font-family:Montserrat,Arial,sans-serif;line-height:1.7}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.05;margin:0}
h1{font-size:clamp(4rem,13vw,8rem);letter-spacing:-.04em}
h2{font-size:clamp(2.6rem,6vw,4.5rem);color:var(--brown)}
h3{font-size:1.8rem;color:var(--brown)}
p{max-width:650px}
.topbar{text-align:center;padding:10px;background:var(--dark);color:#f8efe4;font-size:.68rem;letter-spacing:.25em}
.hero{min-height:90vh;position:relative;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#c9b29b,#efe5d8 55%,#bca38a);overflow:hidden}
.hero:before{content:"";position:absolute;inset:8%;border:1px solid rgba(255,255,255,.55);border-radius:50% 50% 0 0}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,transparent 0,rgba(64,49,38,.16) 100%)}
.hero-content{position:relative;z-index:1;color:#fffaf3;padding:30px}
.hero h1{color:#fffaf3;text-shadow:0 2px 25px rgba(0,0,0,.13)}
.hero h1 em{font-weight:500}
.hero-date{margin:18px auto 28px;font-size:1rem;letter-spacing:.18em;text-transform:uppercase}
.eyebrow{display:block;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;font-weight:600;color:#8b6b4d;margin-bottom:16px}
.hero .eyebrow{color:#fff4e8}
.btn{display:inline-block;border:0;border-radius:999px;padding:13px 25px;background:var(--brown);color:white;text-decoration:none;font:600 .75rem Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.25s}
.btn:hover{transform:translateY(-2px);opacity:.9}
.btn-light{background:#fff8ef;color:var(--brown)}
.scroll{position:absolute;bottom:25px;color:white;font-size:1.4rem}
.section{padding:90px 22px;max-width:980px;margin:auto}
.intro{text-align:center;padding-top:110px}
.intro p,.closing p{margin:22px auto;font-size:1.05rem;color:#6b5a4a}
.ornament{color:#a38361;font-size:1.2rem;margin:25px}
.countdown{max-width:100%;background:var(--dark);color:#fff4e8;text-align:center}
.countdown .eyebrow{color:#cdb79f}
.count-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:850px;margin:30px auto 0}
.count-grid div{border-left:1px solid rgba(255,255,255,.18);padding:10px}
.count-grid div:last-child{border-right:1px solid rgba(255,255,255,.18)}
.count-grid strong{display:block;font:600 clamp(2.4rem,7vw,4.5rem) "Cormorant Garamond";line-height:1}
.count-grid span{font-size:.65rem;text-transform:uppercase;letter-spacing:.16em;color:#cdb79f}
.section-heading{text-align:center;margin-bottom:55px}
.timeline{max-width:720px;margin:auto;border-top:1px solid var(--line)}
.timeline article{display:grid;grid-template-columns:180px 1fr;gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}
.timeline h3{margin-bottom:6px}.timeline p{margin:2px 0}
.time{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#8b6b4d;font-weight:600}
.muted,.small-note{color:#88796a!important;font-size:.78rem}
.venue{max-width:none;background:var(--brown);padding:0}
.venue-card{min-height:500px;padding:80px max(7vw,30px);display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 40%,#8e6d4e,#5b4434);color:#fff8ef}
.venue h2{color:#fff8ef}.venue p{margin:22px auto 30px;color:#eadfd2}
.fun{text-align:center}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:45px;text-align:left}
.card{background:#fffaf3;border:1px solid var(--line);padding:28px;min-height:190px}
.card span{font-size:.7rem;color:#a38361;letter-spacing:.12em}
.card h3{margin:14px 0 8px}.card p{margin:0;color:#776657;font-size:.9rem}
.team{text-align:center}.team-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.team-list div{padding:25px;border-right:1px solid var(--line)}.team-list div:last-child{border-right:0}
.team-list strong,.team-list span{display:block}.team-list strong{font-family:"Cormorant Garamond";font-size:1.5rem;color:var(--brown)}.team-list span{font-size:.78rem;color:#786758}
.dress{max-width:none;text-align:center;background:#dfd0be}
.dress-inner{max-width:700px;margin:auto}.dress h2{font-size:clamp(2.2rem,5vw,3.8rem)}.dress p{margin:20px auto}
.swatches{display:flex;justify-content:center;gap:8px;margin-top:25px}.swatches i{width:42px;height:42px;border-radius:50%;display:block;border:2px solid rgba(255,255,255,.7)}.swatches i:nth-child(1){background:#e8d7c2}.swatches i:nth-child(2){background:#c5aa8d}.swatches i:nth-child(3){background:#604938}
.rsvp{max-width:760px;text-align:center}.rsvp form{margin:35px auto 15px;text-align:left;background:#fffaf3;border:1px solid var(--line);padding:30px}
label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px;color:#765d49}
input,textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:#fffdf9;border-radius:6px;padding:13px;font:400 .95rem Montserrat;color:var(--dark);resize:vertical}
.rsvp button{width:100%}.status{font-weight:600;color:#6d8a64}.closing{text-align:center;padding-bottom:110px}.closing h2{font-size:3rem}
footer{text-align:center;background:var(--dark);color:#d8c7b5;padding:22px;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}
@media(max-width:700px){.section{padding:70px 20px}.count-grid strong{font-size:2.6rem}.timeline article{grid-template-columns:1fr;gap:5px}.cards{grid-template-columns:1fr 1fr}.team-list{grid-template-columns:1fr}.team-list div{border-right:0;border-bottom:1px solid var(--line)}.team-list div:last-child{border-bottom:0}.hero{min-height:82vh}.hero:before{inset:5%}.venue-card{min-height:430px}}
@media(max-width:450px){.cards{grid-template-columns:1fr}.count-grid strong{font-size:2.15rem}.count-grid span{font-size:.55rem}.hero h1{font-size:4.1rem}}

.hero{background-size:cover;background-position:center 28%;background-repeat:no-repeat}
.hero-overlay{background:linear-gradient(180deg,rgba(45,34,26,.18),rgba(45,34,26,.55))}
.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.logo-card{background:#fffaf3;border:1px solid var(--line);padding:18px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:235px}
.logo-card img{width:150px;height:150px;object-fit:contain;border-radius:50%;margin-bottom:15px}
.logo-card strong{font-family:"Cormorant Garamond";font-size:1.35rem;color:var(--brown)}
.logo-card span{font-size:.72rem;color:#786758}
@media(max-width:800px){.logo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:450px){.logo-grid{grid-template-columns:1fr 1fr}.logo-card{min-height:210px;padding:12px}.logo-card img{width:115px;height:115px}}
