/* Verona finishing layer — layout, motion and accessibility */
:root{--paper:#fcfbf8;--ink:#3a3835;--gold:#b39a73;--line:#d9d5cd;--ease:cubic-bezier(.2,.7,.2,1);--shadow:0 14px 40px rgba(45,40,34,.1)}
html{scroll-behavior:smooth}body{overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:#b39a73;color:#fff}a,button,input,textarea,summary{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:1px solid var(--gold)}.skip-link{position:fixed;z-index:20;top:10px;left:10px;transform:translateY(-160%);padding:11px 15px;background:var(--paper);color:var(--ink);font-size:11px;text-decoration:none;box-shadow:var(--shadow);transition:transform .25s}.skip-link:focus{transform:none}
.site-header{will-change:height,background}.site-header.scrolled{backdrop-filter:blur(14px);background:rgba(58,56,53,.93);border-bottom-color:transparent}.site-header .wordmark{transition:letter-spacing .3s}.site-header .wordmark:hover{letter-spacing:7px}.site-header nav a{transition:opacity .25s,color .25s}.site-header nav:hover a{opacity:.62}.site-header nav a:hover,.site-header nav a:focus-visible{opacity:1}.nav-rsvp{transition:background .3s,color .3s,border-color .3s!important}.nav-rsvp:hover{background:#fff;color:var(--ink);border-color:#fff}
.hero-image,.location-image{transition:transform 1.1s var(--ease),filter .7s var(--ease)}.hero:hover .hero-image{transform:scale(1.09)}.hero-cta{position:relative}.hero-cta b{transition:transform .3s var(--ease)}.hero-cta:hover b{transform:translateY(4px)}.hero-caption span:last-child{font-variant-numeric:tabular-nums}.eyebrow{line-height:1.3}.section{padding-top:clamp(95px,11vw,155px);padding-bottom:clamp(95px,11vw,155px)}.intro{padding-top:clamp(115px,13vw,175px)}.intro-grid,.section-top,.accommodation-head,.gifts-inner{gap:clamp(40px,8vw,130px)}.intro p:not(.lead),.location-copy p:not(.eyebrow),.gifts-inner p{line-height:1.82}.lead{letter-spacing:-.2px}.countdown{padding-top:clamp(62px,7vw,90px);padding-bottom:clamp(62px,7vw,90px)}
.schedule article{min-height:145px;position:relative}.schedule article:hover{background:rgba(179,154,115,.06)}.schedule article>*:first-child{padding-left:12px}.schedule article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transition:transform .35s var(--ease);transform-origin:bottom}.schedule article:hover:before{transform:scaleY(1)}.schedule-map{transition:color .25s,border-color .25s}.schedule-map:hover{color:var(--gold);border-color:var(--ink)}.timeline-nav{margin-top:0}.timeline-nav button{transition:color .25s}.timeline-nav button:hover{color:var(--ink)}
.location{overflow:hidden}.location:hover .location-image{transform:scale(1.03);filter:saturate(.75)}.text-link{transition:color .25s}.text-link:hover{color:var(--gold)}button.text-link{border:0;background:none;padding:0;cursor:pointer}.circle-link{transition:transform .3s var(--ease),background .3s,color .3s}.hotel-list article{transition:padding .3s var(--ease),background .3s}.hotel-list article:hover{padding-left:14px;padding-right:14px;background:#fff}.hotel-list article:hover .circle-link{transform:rotate(45deg);background:var(--ink);color:#fff}.dress{position:relative;overflow:hidden}.dress:after{content:"";position:absolute;width:45vw;height:45vw;right:-25vw;bottom:-30vw;border:1px solid rgba(255,255,255,.1);border-radius:50%;pointer-events:none}.swatches span{transition:transform .35s var(--ease)}.swatches span:hover{transform:translateY(-8px)}
.button{position:relative;overflow:hidden;isolation:isolate;transition:color .3s,border-color .3s,transform .3s var(--ease)}.button:before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateX(-101%);z-index:-1;transition:transform .4s var(--ease)}.button:hover{color:#fff;border-color:var(--ink);transform:translateY(-2px)}.button:hover:before{transform:none}.button:active{transform:translateY(0)}.button-dark:before{background:var(--gold)}.button-dark:hover{border-color:var(--gold)}
.gallery-grid>div{overflow:hidden;background:#e9e4da}.gallery-grid img{transition:transform .8s var(--ease),filter .5s}.gallery-grid>div:hover img{transform:scale(1.055);filter:saturate(.8) contrast(1)}.gallery blockquote{position:relative}.gallery blockquote:before{content:"“";position:absolute;top:22px;left:26px;color:var(--gold);font-size:54px;line-height:1}.faq details{transition:background .25s,padding .25s}.faq details:hover,.faq details[open]{background:#fff;padding-left:15px;padding-right:15px}.faq summary{transition:color .25s}.faq summary:hover{color:var(--gold)}details[open] summary{padding-bottom:4px}.faq details p{padding-bottom:6px}
.rsvp form{padding:31px;background:rgba(255,255,255,.32);border:1px solid rgba(58,56,53,.09)}input,textarea{transition:border-color .25s,background .25s}input:focus,textarea:focus{border-color:var(--gold);background:rgba(255,255,255,.42)}input::placeholder,textarea::placeholder{color:#8d8780;opacity:1}.choices label{cursor:pointer}.choices label span{transition:color .2s}.choices label:hover span{color:var(--gold)}.form-message.success{border-top:1px solid var(--gold);padding-top:13px}.form-message.success:before{content:"✓";margin-right:8px;color:var(--gold)}
footer .wordmark{transition:color .25s}footer .wordmark:hover{color:var(--gold)}footer>a:not(.wordmark){transition:color .25s}footer>a:not(.wordmark):hover{color:#fff}.reveal-on-scroll{will-change:transform,opacity}.reveal-on-scroll:nth-of-type(even){transition-delay:.08s}
@media(max-width:900px){.site-header nav{gap:18px}.schedule article{grid-template-columns:18% 34% 1fr auto}.info-grid{gap:3vw}.location-copy{padding-left:6vw;padding-right:6vw}.gallery{padding-left:5vw;padding-right:5vw}}
@media(max-width:760px){.notice{padding-left:36px;padding-right:36px;white-space:nowrap;overflow:hidden}.site-header.scrolled{height:65px}.site-header nav{background:rgba(58,56,53,.98)}.site-header nav a.active:after{display:none}.hero h1{line-height:.72}.hero-caption{gap:15px}.section{padding-left:7vw;padding-right:7vw}.intro-grid,.section-top,.accommodation-head,.gifts-inner,.faq{gap:32px}.section-top{margin-bottom:45px}.schedule article{grid-template-columns:62px 1fr;padding:22px 0;min-height:auto}.schedule article>*:first-child{padding-left:8px}.schedule article:before{width:1px}.schedule-map{font-size:8px}.location-copy{padding:74px 8vw}.info-grid{gap:44px}.hotel-list article:hover{padding-left:0;padding-right:0;background:transparent}.dress{padding-top:100px;padding-bottom:100px}.gallery{padding-left:0;padding-right:0}.gallery-top{padding-left:7vw;padding-right:7vw}.gallery-grid{gap:8px}.rsvp form{padding:23px 18px}.rsvp-copy{padding-right:10vw}.form-message{line-height:1.55}.circle-link{width:40px;height:40px}.footer{padding-bottom:calc(50px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.hero:hover .hero-image,.location:hover .location-image,.gallery-grid>div:hover img,.hotel-list article:hover .circle-link,.button:hover{transform:none}.reveal-on-scroll{opacity:1;transform:none}.hero-image{animation:none!important}}
