/* Final premium polish — visual refinement only */
:root{--transition:cubic-bezier(.22,.61,.36,1);--countdown-date:"12 / 06"}.countdown:before{content:var(--countdown-date)!important}
body{letter-spacing:.003em}.section h2,.location h2,.dress h2,.rsvp h2{letter-spacing:-.062em}.eyebrow{letter-spacing:2.35px}.hero h1{letter-spacing:-.078em}.hero-date{letter-spacing:1.8px}.lead{font-weight:400}.intro p:not(.lead),.location-copy p:not(.eyebrow),.gifts-inner p{font-size:13.5px}
.section-top{margin-bottom:clamp(54px,6vw,86px)}.section-top .eyebrow{margin-bottom:0}.intro-grid>div p:last-of-type{margin-bottom:0}.signature{margin-top:36px}.countdown .eyebrow{margin-bottom:26px}.numbers small{letter-spacing:1.8px}.schedule article{transition:background .45s var(--transition),padding .45s var(--transition)}.schedule article:hover{padding-left:12px}.schedule h3{letter-spacing:-.035em}.schedule-map{transition:letter-spacing .3s var(--transition),color .3s}.schedule-map:hover{letter-spacing:1.8px}.location-actions .text-link{margin-top:0}.location-actions{gap:27px}.info-grid h3{letter-spacing:-.03em}.hotel-list article{transition:background .4s var(--transition),padding .4s var(--transition)}.hotel-list article:hover h3{font-style:italic}.hotel-list .circle-link{transition:transform .4s var(--transition),background .35s,color .35s}.dress>div>p:not(.eyebrow){line-height:1.82}.swatches span{transition:transform .4s var(--transition),filter .35s}.swatches span:hover{filter:brightness(1.08)}
.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:4px;letter-spacing:1.65px;transition:transform .35s var(--transition),box-shadow .35s var(--transition),color .35s}.button:hover{box-shadow:0 10px 22px rgba(58,56,53,.17)}.button span{transition:transform .3s var(--transition)}.button:hover span{transform:translateX(3px)}.button-dark:hover{box-shadow:0 10px 22px rgba(58,56,53,.22)}
.gallery-top h2{line-height:.9}.gallery-grid{gap:16px}.gallery-grid>div{transition:box-shadow .45s var(--transition)}.gallery-grid>div:hover{box-shadow:0 14px 30px rgba(58,56,53,.11)}.gallery-grid>div img{transition:transform .85s var(--transition),filter .6s var(--transition)}.gallery-note p{letter-spacing:-.025em}.gallery-note span{letter-spacing:1.65px}.faq details{transition:background .35s var(--transition),padding .35s var(--transition)}.faq summary span{transition:transform .35s var(--transition)}
.rsvp-copy>p:not(.eyebrow){line-height:1.75}.rsvp form{box-shadow:0 18px 45px rgba(58,56,53,.045)}.rsvp form label{line-height:1.45}.rsvp .button{width:fit-content;padding-left:25px;padding-right:25px}.form-message{line-height:1.6}.circle-link:hover{box-shadow:0 6px 16px rgba(58,56,53,.12)}
@media(max-width:760px){.eyebrow{letter-spacing:1.85px}.hero .eyebrow{letter-spacing:1.7px}.hero h1{letter-spacing:-.07em}.hero-date{letter-spacing:1.25px}.section-top{margin-bottom:42px}.intro-grid>div{padding-top:26px}.intro p:not(.lead),.location-copy p:not(.eyebrow),.gifts-inner p{font-size:12.5px}.schedule article:hover{padding-left:0}.schedule article{padding-top:27px;padding-bottom:27px}.schedule-map{padding:7px 0}.location-actions{gap:18px}.hotel-list h3{line-height:1.05}.hotel-list article:hover h3{font-style:normal}.dress>div>p:not(.eyebrow){font-size:12.5px}.gallery-grid{gap:8px}.gallery-note span{letter-spacing:1.2px}.faq details:hover{padding-left:0;padding-right:0;background:transparent}.rsvp form{box-shadow:none}.rsvp .button{width:100%}.button{min-height:50px}.circle-link{min-width:42px;min-height:42px}}
@media(prefers-reduced-motion:reduce){.schedule article,.hotel-list article,.gallery-grid>div,.button,.circle-link,.swatches span,.schedule-map{transition:none!important}}
