:root{--berry:#C23B68;--berry-dark:#8F244B;--apricot:#FDB18C;--peach:#FFF0E8;--paper:#FFF9F6;--ink:#4B2734;--muted:#795966;--serif:Georgia,'Times New Roman',serif;--sans:Inter,Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:fixed;top:-100px;left:1rem;z-index:100;background:#fff;padding:.75rem}.skip-link:focus{top:1rem}.site-header{position:absolute;inset:0 0 auto;z-index:20;height:82px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;color:#fff}.logo{font:600 1.8rem var(--serif);letter-spacing:.1em;text-decoration:none}.logo i{color:var(--apricot)}.main-nav{display:flex;align-items:center;gap:1.8rem}.main-nav a{text-decoration:none;text-transform:uppercase;font-size:.68rem;letter-spacing:.14em}.nav-button{border:1px solid #ffffff99;padding:.65rem 1rem}.menu-button{display:none;background:none;border:0;padding:.55rem}.menu-button span{display:block;width:25px;height:2px;background:#fff;margin:5px}.hero{position:relative;min-height:100svh;overflow:hidden;display:grid;place-items:center;text-align:center;color:#fff;padding:8rem 1rem 10rem}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,16,27,.24),rgba(143,36,75,.38) 48%,rgba(70,17,41,.76))}.hero-content{position:relative;z-index:2}.eyebrow{text-transform:uppercase;letter-spacing:.32em;font-size:.66rem;font-weight:600;color:var(--berry);margin:0 0 1rem}.eyebrow.light{color:#FFE3D6}.hero h1{font:600 clamp(4rem,11vw,9rem)/.85 var(--serif);letter-spacing:-.045em;margin:.4rem 0}.hero h1 em{color:var(--apricot);font-weight:500}.hero-date{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;margin:2rem 0}.button{display:inline-flex;padding:.9rem 1.3rem;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;font-weight:600;border:1px solid transparent;transition:.2s}.button:hover{transform:translateY(-2px)}.button-light{background:var(--peach);color:var(--berry-dark)}.button-light:hover{background:var(--apricot)}.button-outline{border-color:#ffffff99;color:#fff}.countdown{position:absolute;z-index:3;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);width:min(700px,100%);border-top:1px solid #ffffff42}.countdown div{padding:1rem;border-right:1px solid #ffffff32}.countdown div:last-child{border-right:0}.countdown strong{display:block;font:600 1.9rem var(--serif)}.countdown span{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase}.section{max-width:1160px;margin:auto;padding:8rem 5vw}.welcome{display:grid;grid-template-columns:1fr 310px;gap:7vw;align-items:center}.welcome h2,.schedule h2,.section-heading h2,.stay h2,.location-copy h2,.closing h2{font:600 clamp(2.8rem,5.5vw,5rem)/.98 var(--serif);letter-spacing:-.03em;margin:.3rem 0 1.5rem}.welcome-copy>p:last-child,.schedule>div>p:last-child,.section-heading>p:last-child,.stay-copy>p:last-child{color:var(--muted)}.date-card{background:var(--peach);padding:2.6rem;text-align:center;box-shadow:0 20px 50px rgba(194,59,104,.11)}.date-card span{display:block;text-transform:uppercase;letter-spacing:.17em;font-size:.7rem}.date-card strong{display:block;font:600 6.2rem/.9 var(--serif);color:var(--berry)}.date-card hr{border:0;border-top:1px solid #efbeac;margin:1.6rem}.date-card p{font-family:var(--serif)}.facts{max-width:1050px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #efd2c6}.facts article{padding:2.4rem;border-right:1px solid #efd2c6}.facts article:last-child{border-right:0}.facts span{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;color:var(--berry)}.facts strong{display:block;font:600 2rem var(--serif);color:var(--berry);margin:.3rem 0}.facts p{margin:0;color:var(--muted);font-size:.83rem}.schedule{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.timeline{list-style:none;margin:0;padding:0;border-left:1px solid #efbda9}.timeline li{display:grid;grid-template-columns:70px 1fr;position:relative;padding:0 0 3rem}.timeline li:before{content:'';width:11px;height:11px;border-radius:50%;background:var(--berry);position:absolute;left:-6px;top:.55rem;box-shadow:0 0 0 7px var(--paper)}.timeline li>span{padding-left:1.4rem;color:var(--berry)}.timeline h3{font:600 1.8rem var(--serif);margin:-.2rem 0;color:var(--berry)}.timeline p{margin:.2rem 0;color:var(--muted)}.location-feature{display:grid;grid-template-columns:1.08fr .92fr;min-height:660px;background:linear-gradient(135deg,var(--berry-dark),var(--berry));color:#fff}.location-image img{width:100%;height:100%;object-fit:cover}.location-copy{align-self:center;padding:7vw}.location-copy p{color:#FFE8DE}.button-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.section-heading{max-width:760px}.section-heading.centered{text-align:center;margin:auto}.gallery{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:1rem}.gallery figure{margin:0;overflow:hidden;border-radius:4px}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.gallery figure:hover img{transform:scale(1.035)}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.stay{display:grid;grid-template-columns:minmax(280px,.9fr) 1.1fr;gap:7vw;align-items:center}.stay-image img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;box-shadow:0 20px 50px rgba(75,39,52,.14)}.accordion{max-width:850px;margin:3rem auto 0}.accordion details{border-top:1px solid #edcfc2}.accordion details:last-child{border-bottom:1px solid #edcfc2}.accordion summary{cursor:pointer;list-style:none;padding:1.35rem 0;font:600 1.3rem var(--serif);display:flex;justify-content:space-between;gap:1rem}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{color:var(--berry);font-family:var(--sans)}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{color:var(--muted);margin:0;padding:0 2.5rem 1.4rem 0}.closing{position:relative;min-height:650px;display:grid;place-items:center;color:#fff;text-align:center;overflow:hidden}.closing>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.closing-overlay{position:absolute;inset:0;background:linear-gradient(rgba(62,20,37,.28),rgba(111,24,59,.76))}.closing-content{position:relative;z-index:2;max-width:800px;padding:3rem 1.2rem}.closing h2{font-size:clamp(3rem,7vw,6rem)}footer{background:#6F183B;color:#FFE8DE;padding:3rem 5vw;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}footer div:last-child{display:flex;gap:1.3rem;flex-wrap:wrap;justify-content:center}footer a{text-decoration:none}::selection{background:var(--apricot);color:var(--ink)}:focus-visible{outline:3px solid var(--apricot);outline-offset:4px}@media(max-width:900px){.main-nav{gap:1rem}.main-nav a{font-size:.62rem}.gallery{grid-template-columns:repeat(2,1fr)}.gallery-wide{grid-column:span 2}}@media(max-width:780px){.site-header{height:68px}.menu-button{display:block;z-index:3}.main-nav{display:none;position:absolute;top:68px;left:1rem;right:1rem;background:var(--berry-dark);padding:2rem;flex-direction:column;align-items:stretch;box-shadow:0 18px 45px rgba(0,0,0,.25)}.main-nav.open{display:flex}.main-nav a{text-align:center;font-size:.7rem}.hero-image{object-position:58% center}.hero h1{font-size:clamp(4rem,19vw,6.5rem)}.welcome,.schedule,.location-feature,.stay{grid-template-columns:1fr}.section{padding:5rem 1.2rem}.date-card{width:min(100%,380px);margin:auto}.facts{grid-template-columns:1fr;margin:0 1.2rem}.facts article{border-right:0;border-bottom:1px solid #efd2c6}.facts article:last-child{border-bottom:0}.location-image{min-height:330px}.location-copy{padding:4rem 1.5rem}.gallery{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-wide,.gallery-tall{grid-column:auto;grid-row:auto}.closing{min-height:560px}footer{flex-direction:column;gap:1.3rem;text-align:center}}@media(max-width:420px){.countdown strong{font-size:1.55rem}.countdown span{letter-spacing:.08em}.hero-date{font-size:.65rem}.gallery{grid-auto-rows:220px}}
