:root{--ivory:#fff;--paper:#fff;--champagne:#f2f2f2;--gold:#111;--ink:#050505;--olive:#000}
body{background:#fff}
.loader{pointer-events:none;background:#fff}
.hero{color:var(--ink)}
.hero-photo{background-image:url("images/floral-relief-hero.png");background-position:center;background-size:cover;filter:grayscale(1) contrast(1.04)}
.hero-shade{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.02) 55%,rgba(255,255,255,.2))}
.hero .eyebrow.light{color:var(--gold)}
.hero h1{font-size:clamp(58px,15vw,96px);text-shadow:none}
.hero h1 i{color:var(--gold)}
.hero-date{font-weight:500}
.hero .scroll-cue{color:var(--ink)}
.hero .scroll-cue span{background:var(--ink)}

.scripture{font:italic 18px var(--serif);color:var(--gold)}
.venue-intro{margin-bottom:0}
.event-grid{grid-template-columns:1fr!important;max-width:680px;margin:45px auto 0}
.timeline{list-style:none;padding:0;margin:50px auto 0;max-width:560px;text-align:left}
.timeline li{display:grid;grid-template-columns:62px 22px 1fr;align-items:center;min-height:76px}
.timeline time{font:500 18px var(--serif)}
.timeline li>span{position:relative;width:9px;height:9px;border:1px solid var(--gold);border-radius:50%;justify-self:center}
.timeline li>span:after{content:"";position:absolute;top:8px;left:3px;width:1px;height:68px;background:#111}
.timeline li:last-child>span:after{display:none}
.timeline p{margin:0 0 0 18px;font:400 20px var(--serif)}
.gift-cards{display:grid;gap:12px;max-width:720px;margin:42px auto 0}
.gift-cards article{border:1px solid rgba(48,45,41,.2);padding:34px 20px}
.gift-cards article>span{font-size:8px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold)}
.gift-cards h3{font:400 34px var(--serif);margin:8px 0}
.gift-cards p{min-height:32px;font:400 16px var(--serif);overflow-wrap:anywhere}
.gift-cards strong{font-weight:500}
.album .body-copy{color:#d6d1c7}
.album-button{margin-top:34px;border-color:#ded5c7;color:#f6f1e8}
.album-button:hover{background:#f6f1e8;color:var(--ink)}
.guest-allocation{display:inline-block;margin:25px 0 0;padding:9px 16px;border:1px solid #d5c7b3;font-size:9px;text-transform:uppercase;letter-spacing:.14em}
.guest-allocation strong{font-weight:500;color:var(--gold)}
.personal-welcome{display:inline-flex;flex-direction:column;gap:5px;margin-bottom:38px;padding:16px 25px;border:1px solid #d8cbb8}.personal-welcome span{font-size:8px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold)}.personal-welcome strong{font:400 25px var(--serif)}
.attendance-counts{display:grid;grid-template-columns:1fr 1fr;gap:16px}.invite-alert{padding:12px;background:#f4e7d4;color:#6e5538}
.album-qr,.access-qr{display:grid;place-items:center;width:196px;min-height:196px;margin:30px auto 12px;padding:12px;background:#fbf8f1}.album-qr img,.access-qr img{max-width:100%;height:auto}.album-note{display:block;color:#d6d1c7;font-size:9px;letter-spacing:.08em}.access-pass>strong{display:block;font:400 24px var(--serif);margin-top:16px}
.dress-example-button{margin-top:28px;border-color:#fff;color:#fff}.dress-example-button:hover{background:#fff;color:#000}
.dress-dialog{width:min(94%,760px);max-height:90vh;padding:42px 28px;background:#fff;color:#000;overflow:auto}.dress-dialog h3{font:400 36px var(--serif);margin:6px 0}.dress-dialog>p:last-child{font:400 18px/1.6 var(--serif)}
.dress-examples{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.dress-examples figure{margin:0;overflow:hidden;background:#eee}.dress-examples figure:first-child{grid-column:1/-1}.dress-examples img{display:block;width:100%;height:300px;object-fit:contain}.dress-examples figure:nth-child(2) img{height:360px;object-fit:cover;object-position:center top}.dress-examples figure:nth-child(3) img{height:360px}
.champagne{background:#f2f2f2}.dark{background:#000;color:#fff}.event-card,.gift-cards article,.success{background:#fff}.album .body-copy,.album-note{color:#ddd}footer{background:#000;color:#fff}
.invite-alert{background:#eee;color:#000}.guest-allocation,.personal-welcome,.event-card,.gift-cards article{border-color:#bbb}
@media(min-width:700px){.gift-cards{grid-template-columns:1fr 1fr}.dress-examples{grid-template-columns:1.25fr .8fr}.dress-examples figure:first-child{grid-column:auto;grid-row:1/3}.dress-examples figure:first-child img{height:730px}.dress-examples figure:nth-child(2) img,.dress-examples figure:nth-child(3) img{height:360px}}
