:root{--cream:#FBF6EA;--gold:#B8862B;--gold2:#D9B25E;--green:#0F2A1E;--navy:#1C2B5A}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--green);font:400 1.15rem/1.7 'Cormorant Garamond',serif}
.script{font-family:'Great Vibes',cursive;font-weight:400}.sm{font-size:2.4rem;color:var(--gold);margin:0}
h1,h2,h3{margin:0;font-weight:500}h3{font-family:'Playfair Display',serif;font-size:1.25rem}
.center{text-align:center}.gold{color:var(--gold);font-weight:600}
.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.2rem;
 background:radial-gradient(ellipse at top,#fffdf6,var(--cream) 70%);border:1px solid var(--gold2);outline:1px solid var(--cream);outline-offset:-10px}
.hero h1{display:flex;flex-direction:column;align-items:center;font-size:clamp(3rem,11vw,6.2rem);line-height:1.05;color:var(--green)}
.hero h1 i{font-family:'Playfair Display',serif;font-style:normal;color:var(--gold);font-size:.45em}
.devise{font-style:italic;font-size:1.4rem;color:var(--gold)}
.dates{font-family:'Playfair Display',serif;letter-spacing:.06em}.dates b{font-size:2.4rem;color:var(--navy)}
.pour{max-width:34rem}
.fade{opacity:0;transform:translateY(14px);animation:up .9s ease forwards}
.d1{animation-delay:.1s}.d2{animation-delay:.5s}.d3{animation-delay:1s}.d4{animation-delay:1.3s}.d5{animation-delay:1.6s}
@keyframes up{to{opacity:1;transform:none}}
.btn{display:inline-block;border:0;cursor:pointer;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#fff;
 font:600 1.05rem 'Playfair Display',serif;padding:.8rem 1.8rem;border-radius:999px;text-decoration:none}
.btn.ghost{background:none;border:1px solid var(--gold);color:var(--gold)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--navy);outline-offset:2px}
.sec{max-width:60rem;margin:0 auto;padding:4.5rem 1.2rem}.narrow{max-width:32rem}
.sec h2{font-size:3rem;color:var(--gold);margin-bottom:1.5rem}
.cd{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.cd div{min-width:5.5rem;padding:1rem .5rem;border:1px solid var(--gold2);color:var(--gold);font-size:.95rem}
.cd b{display:block;font:700 2.6rem 'Playfair Display',serif;color:var(--navy);line-height:1.2}
.tl{border-left:2px solid var(--gold2);margin-left:.6rem}.tl-i{padding:0 0 2rem 1.6rem}.tl-i p{margin:.3rem 0 0}
.ev{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));margin-bottom:1.5rem}
.ev article{border:1px solid var(--gold2);padding:1.4rem;background:#fffdf7}
#map{height:22rem;border:1px solid var(--gold2);margin-bottom:1rem;z-index:0}
.dist{color:var(--navy);min-height:1.7em}.lnk{color:var(--navy)}
.gal{columns:2 12rem;gap:.8rem}.gal img{width:100%;margin-bottom:.8rem;display:block;cursor:zoom-in;border:1px solid var(--gold2)}
form{display:grid;gap:1rem}label{display:grid;gap:.3rem;font-weight:600}.rad{display:flex;gap:.6rem;align-items:center}
select,textarea{font:inherit;padding:.6rem;border:1px solid var(--gold2);background:#fffdf7;color:var(--green)}
footer{padding:3rem 1rem;color:var(--gold)}footer .script{font-size:2.2rem}
#lb{position:fixed;inset:0;background:#0F2A1Ee6;display:none;align-items:center;justify-content:center;z-index:999;cursor:zoom-out}
#lb img{max-width:92vw;max-height:92vh}
@media(prefers-reduced-motion:reduce){.fade{animation:none;opacity:1;transform:none}html{scroll-behavior:auto}}
