/* Page-only refinements. RSVP continues to use the unchanged styles.css. */
.wedding-site{overflow-x:clip;--tabs:64px;color-scheme:light}
.wedding-site h1,.wedding-site h2,.wedding-site h3{text-wrap:balance}
.wedding-site h2{line-height:1.04;font-size:clamp(44px,5.5vw,78px)}
.wedding-site p{font-weight:400}
.wedding-site .brand-date,.wedding-site .place{font-size:12px;letter-spacing:.12em}
.wedding-site .eyebrow{font-size:12px;letter-spacing:.16em;line-height:1.7;margin-bottom:16px}
.wedding-site .tab{font-size:12px;letter-spacing:.08em;min-width:64px;padding-inline:22px;color:var(--muted);flex:0 0 auto;white-space:nowrap}
.wedding-site .tabs{justify-content:center;scrollbar-width:thin;scrollbar-color:var(--blue) var(--cream);padding:0 16px}
.wedding-site .tabs::-webkit-scrollbar{display:block;height:3px}.wedding-site .tabs::-webkit-scrollbar-thumb{background:var(--blue)}
.wedding-site .tab-bar{background:var(--cream);backdrop-filter:none;box-shadow:none}
.wedding-site .tab.is-active{color:var(--navy);border-color:var(--coral-text)}
.wedding-site .tab:focus-visible{outline-offset:-4px}
.wedding-site .soft-button{font-size:12px;letter-spacing:.09em;padding:13px 22px;transition:background-color .2s,color .2s}
.wedding-site .soft-button:hover,.wedding-site .soft-button:focus-visible{transform:none}
.wedding-site a:focus-visible,.wedding-site button:focus-visible,.wedding-site summary:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
.wedding-site .site-header a:focus-visible,.wedding-site .hero-stage a:focus-visible,.wedding-site footer a:focus-visible,.wedding-site .lightbox button:focus-visible{outline-color:var(--cream)}
.wedding-site main:focus,.wedding-site .tab-panel:focus,.wedding-site .event:focus,.wedding-site .travel-section:focus{outline:none}
.wedding-site .tab-panel.is-active{animation:none}
.wedding-site .hero-stage{min-height:620px;height:calc(100svh - var(--header) - var(--tabs));max-height:780px}
.wedding-site .home-photo img{animation:none;object-position:50% 43%}
.wedding-site .home-copy{bottom:18%;max-width:43%;text-shadow:none}
.wedding-site .home-copy h1{font-size:clamp(78px,8vw,112px)}
.wedding-site .home-copy .eyebrow{max-width:310px;font-size:12px;letter-spacing:.12em;color:var(--blue-pale)}
.wedding-site .home-date{font-size:16px;letter-spacing:.03em;line-height:1.65;text-transform:none;margin-top:28px}
.wedding-site .home-venue{font:400 16px/1.6 var(--sans)}.wedding-site .home-note{font-size:16px}
.wedding-site .home-journey{padding:80px var(--pad) 0;max-width:1360px}
.wedding-site .journey-intro{margin-bottom:48px;max-width:820px}
.wedding-site .journey-intro>p:last-child{margin:24px auto 0}
.weekend-overview{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);gap:40px;padding:36px 0;text-align:center}
.weekend-overview article+article{border-left:1px solid var(--line)}
.weekend-overview h3{font:400 clamp(30px,3vw,42px)/1.1 var(--serif);margin:0}
.weekend-overview p:not(.eyebrow){margin:16px 0 0;color:var(--muted)}
.wedding-site .journey-link{font-size:16px;line-height:1.6;min-height:48px;border-bottom-color:var(--coral-text);text-underline-offset:5px}
.wedding-site .journey-link:hover{text-decoration:underline}
.wedding-site .journey-link:visited,.wedding-site .venue-link:visited,.wedding-site .accordion p a:visited{color:var(--coral-text)}
.calendar-note{display:flex;align-items:center;justify-content:center;gap:28px;padding:24px 0 40px}
.calendar-note p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}
.home-shortcuts{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:20px 0 48px}
.home-shortcuts a{display:flex;justify-content:space-between;gap:24px;align-items:center;min-height:48px;font-size:16px}
.home-shortcuts a:hover{text-decoration:underline;text-underline-offset:5px}
.wedding-site .story-panel{gap:clamp(40px,7vw,100px);padding-block:80px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.wedding-site .panel-heading{max-width:500px}
.wedding-site .panel-heading>p:not(.eyebrow){font-weight:400;margin-block:22px;line-height:1.75}
.wedding-site .story-images{min-height:600px}.wedding-site .story-main:before{display:none}
.wedding-site .story-main img{object-position:center 50%}.wedding-site .story-main figcaption{font-size:16px;transform:none}
.wedding-site .story-detail{top:auto;bottom:5%;width:31%}
.wedding-site .story-detail img{height:auto}
.weekend-panel{background:var(--cream);padding:64px var(--pad) 0}
.weekend-heading{max-width:1288px;margin:0 auto 52px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center}
.weekend-heading>img{height:auto;aspect-ratio:1200/799;object-fit:contain}
.weekend-heading p:not(.eyebrow){color:var(--muted);margin:24px 0 0}.weekend-heading .time-note{font-size:14px}
.event-list{max-width:1288px;margin:auto;border-top:1px solid var(--line)}
.event{display:grid;grid-template-columns:.48fr 1.1fr .82fr;gap:40px;padding:44px 0;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--tabs) + 24px)}
.event-date p{font:400 32px/1.2 var(--serif);margin:0 0 8px}.event-date span{font-size:14px;color:var(--muted)}
.event-copy .eyebrow{margin-bottom:12px}.event-copy h3{font:400 clamp(30px,3vw,42px)/1.08 var(--serif);margin:0 0 20px}
.event-copy p:not(.eyebrow){margin:12px 0 0;max-width:38ch;color:var(--muted)}
.event-directions{padding-top:4px}
.event address{font-style:normal;font-size:16px;line-height:1.65;margin:0 0 8px}
.venue-link{font-size:14px;min-height:44px;padding:12px 0;display:block;text-decoration:underline;text-underline-offset:5px;width:fit-content}
.travel-section{max-width:1288px;margin:0 auto;padding:72px 0;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:center;scroll-margin-top:calc(var(--tabs) + 24px)}
.travel-intro>p:not(.eyebrow){color:var(--muted);margin:24px 0}
.travel-status{border-top:1px solid var(--line);padding-top:24px;margin-top:28px;max-width:38ch}
.travel-status h3{font:400 28px/1.15 var(--serif);margin:0 0 12px}.travel-status p{margin:0;color:var(--muted)}
.map-legend{margin-top:20px}.map-legend .journey-link{display:flex;gap:12px;align-items:center;padding-block:16px}
.legend-day{font-size:12px;text-transform:uppercase;font-weight:600;letter-spacing:.06em;min-width:30px;flex-shrink:0}
.area-map{margin:0;min-width:0}.map-canvas{position:relative;aspect-ratio:9/11;background:var(--paper);width:100%;overflow:hidden}
.map-shoreline{position:absolute;inset:0;width:100%;height:100%}
.map-north{position:absolute;right:8%;top:5%;font-size:14px;line-height:1.5;text-align:center}
.map-lake-label{position:absolute;left:7%;top:46%;font:italic clamp(17px,2vw,26px)/1 Georgia,serif;transform:rotate(-24deg);color:var(--navy)}
.map-art{position:absolute;height:auto;object-fit:contain}.club-art{left:18%;top:14.5%;width:24%}.barn-art{left:64%;top:53%;width:30%}
.map-pin{position:absolute;display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.4;font-weight:600;color:var(--navy);transform:translate(-6px,-50%)}
.map-pin i{width:12px;height:12px;border:2px solid var(--cream);background:var(--navy);border-radius:50%;flex-shrink:0}.map-pin>span{padding:2px 5px;background:var(--paper)}
.saturday-pin{left:46.441656%;top:36.166458%;flex-direction:row-reverse;transform:translate(calc(-100% + 6px),-50%)}.friday-pin{left:75.816449%;top:71.203679%}
.map-highway-label{position:absolute;left:61.6%;top:79%;transform:translate(-50%,-50%);padding:2px 6px;border:1px solid #718087;background:var(--paper);color:var(--navy);font-size:12px;line-height:1.5;white-space:nowrap}
.map-town{position:absolute;left:61.585091%;top:86.820921%;display:flex;gap:6px;align-items:center;transform:translate(-3px,-50%);font-size:13px;line-height:1.4;color:var(--navy);white-space:nowrap}
.map-town i{width:6px;height:6px;background:var(--navy);border-radius:50%;flex-shrink:0}.map-town span{background:var(--paper);padding:1px 3px}
.area-map figcaption{font-size:12px;color:var(--muted);line-height:1.7;margin-top:14px}
.area-map figcaption a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.wedding-site .gallery-panel{padding-block:72px}.wedding-site .gallery-heading{margin-bottom:36px}
.wedding-site .gallery-heading h2{font-size:clamp(44px,5.5vw,78px)}
.wedding-site .gallery-grid{columns:3 260px;column-gap:16px}
.wedding-site .gallery-item,.js .wedding-site .gallery-grid .gallery-item:nth-child(n){display:block;margin-bottom:16px}
.wedding-site .gallery-item img{transition:none;transform:none;filter:none}
.wedding-site .gallery-item:after{content:'Open photo';font-size:12px;letter-spacing:0;background:var(--navy);padding:6px 10px;bottom:12px;text-shadow:none}
.wedding-site .faq-panel{padding-block:80px;gap:64px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.wedding-site .faq-heading>p:last-child{max-width:30ch}
.wedding-site .accordion details{padding:20px 0}.wedding-site .accordion summary{font:400 25px/1.3 var(--serif)}
.wedding-site .accordion details p{margin-right:24px;line-height:1.75}.wedding-site .accordion p a{text-decoration:underline;text-underline-offset:4px}
.wedding-site .accordion summary span{color:var(--coral-text)}
.wedding-site footer{font-size:12px;letter-spacing:.02em;gap:20px}.wedding-site .lightbox{overflow:visible}
.wedding-site .lightbox figcaption{font:400 14px/1.5 var(--sans);max-width:80vw}.wedding-site.photo-open{overflow:hidden}
.wedding-site .lightbox-arrow,.wedding-site .lightbox-close{background:var(--navy);border:1px solid var(--blue)}
@media(min-width:761px) and (max-width:1100px){.wedding-site .tabs{justify-content:flex-start}.wedding-site .tab{padding-inline:16px}.wedding-site .home-copy{max-width:46%}.wedding-site .home-copy .eyebrow{max-width:245px}.weekend-heading{gap:40px}.event{gap:26px;grid-template-columns:.5fr 1.1fr 1fr}.travel-section{gap:30px}}
@media(max-width:760px){
 .wedding-site{--header:62px;--tabs:58px;--pad:22px}.wedding-site .tabs{justify-content:flex-start;padding-inline:8px;gap:0}
 .wedding-site .tab{font-size:12px;padding-inline:15px;letter-spacing:.04em}.wedding-site .brand-date{font-size:11px}
 .wedding-site .hero-stage{min-height:0;height:auto;max-height:none;background:var(--navy);display:flex;flex-direction:column}
 .wedding-site .home-photo{position:relative;inset:auto;z-index:0;width:100%;height:auto;display:block}
 .wedding-site .home-photo img{position:static;object-fit:cover;width:100%;height:auto;aspect-ratio:4/5;object-position:center 65%}
 .wedding-site .home-wash{display:none}.wedding-site .home-copy{position:relative;left:auto;right:auto;bottom:auto;max-width:none;text-align:center;padding:30px 22px 36px}
 .wedding-site .home-copy h1{font-size:clamp(54px,15vw,76px);gap:.12em;line-height:1;flex-wrap:nowrap}
 .wedding-site .home-copy .eyebrow{font-size:11px;max-width:none;letter-spacing:.08em;margin-bottom:14px}
 .wedding-site .home-date{font-size:16px;margin-top:18px;letter-spacing:0}.wedding-site .home-venue{font-size:16px}.wedding-site .home-copy .soft-button{margin-top:22px}
 .wedding-site .home-journey{padding:56px 22px 0}.wedding-site .journey-intro{text-align:left;margin-bottom:30px}
 .wedding-site .journey-intro h2{font-size:clamp(42px,11.8vw,64px)}.wedding-site .journey-intro>p:last-child{margin-top:20px}
 .weekend-overview{grid-template-columns:1fr;text-align:left;gap:28px;padding:28px 0}.weekend-overview article+article{border-left:0;border-top:1px solid var(--line);padding-top:28px}
 .weekend-overview h3{font-size:34px}.calendar-note{align-items:flex-start;flex-direction:column;gap:12px;padding:20px 0 28px}
 .home-shortcuts{display:block;padding:12px 0 32px}.home-shortcuts a{padding-block:12px}
 .wedding-site .story-panel{display:block;padding-block:56px}.wedding-site .story-images{min-height:0;height:auto;aspect-ratio:3/4;margin-top:36px}
 .wedding-site .story-main{inset:0 0 0 8%}.wedding-site .story-main img{object-position:center 50%}
 .wedding-site .story-main figcaption{font-size:14px;bottom:14px;left:-12px;padding:10px 12px}.wedding-site .story-detail{bottom:auto;top:5%;width:28%}
 .weekend-panel{padding:48px 22px 0}.weekend-heading{display:flex;flex-direction:column;align-items:stretch;gap:32px;margin-bottom:32px}
 .weekend-heading h2 br{display:none}.weekend-heading h2{max-width:7em}.weekend-heading p:not(.eyebrow){margin-top:16px}
 .event{grid-template-columns:1fr;gap:22px;padding:30px 0}.event-date{display:flex;gap:12px;align-items:baseline}.event-date p{font-size:28px;margin:0}
 .event-copy h3{font-size:36px;margin-bottom:16px}.event-directions{padding-top:0}.event-directions .venue-link{font-size:14px}
 .travel-section{display:flex;flex-direction:column;align-items:stretch;padding:48px 0;gap:32px}.travel-intro h2{font-size:46px}.travel-intro>p:not(.eyebrow){margin:20px 0}
 .map-legend .journey-link{font-size:15px}.map-pin{font-size:12px;gap:3px}.map-pin>span{padding:1px 3px}
 .map-lake-label{font-size:16px}.map-north,.map-town{font-size:12px}
 .wedding-site .gallery-panel{padding-block:48px}.wedding-site .gallery-heading>p{font-size:16px;margin-top:20px}.wedding-site .gallery-grid{columns:2;column-gap:10px}
 .wedding-site .gallery-item,.js .wedding-site .gallery-grid .gallery-item:nth-child(n){margin-bottom:10px}
 .wedding-site .faq-panel{display:block;padding-block:48px}.wedding-site .faq-heading{margin-bottom:32px}.wedding-site .accordion summary{font-size:23px;gap:18px}.wedding-site .accordion details p{margin-right:0}
 .wedding-site footer{gap:16px;padding:28px 22px}.wedding-site .lightbox img{max-height:70svh}.wedding-site .lightbox-arrow{height:48px;bottom:16px}.wedding-site .lightbox figcaption{margin-top:16px;font-size:13px}
}
@media(max-width:350px){.wedding-site .gallery-grid{columns:1}.wedding-site .home-copy h1{font-size:50px}.wedding-site .home-copy{padding-inline:18px}.wedding-site .home-date,.wedding-site .home-venue{font-size:16px}.map-lake-label{font-size:14px}}
@media(prefers-reduced-motion:reduce){.wedding-site *,.wedding-site *::before,.wedding-site *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.wedding-site .tab-panel{display:block!important}.wedding-site .hero-stage{min-height:0;height:6in}.wedding-site .travel-section{display:block}.wedding-site .area-map{max-width:5in}.wedding-site .home-panel{height:auto}}

@media(min-width:761px){.wedding-site .story-main figcaption{left:auto;right:20px}}
