/* Unified fall editorial system. Keep the cinematic chapter styles in style.css. */
:root{--ivory:#f3eddf;--navy:#263448;--terracotta:#98523d;--peach:#dec0ab;--olive:#565b43;--gold:#a88955;--paper:var(--ivory);--ink:var(--navy);--line:#705d4433}
body{color:var(--navy);background:var(--ivory)}
header,body.dark-chapter header{background:#f3eddfed;color:var(--navy);border-bottom:1px solid #a8895533;transition:background .25s;backdrop-filter:blur(12px)}
body.dark-chapter header .desktop-nav a,body.dark-chapter header .monogram,body.dark-chapter header .header-actions,body.dark-chapter header #sound,body.dark-chapter header button{color:var(--navy);border-color:#705d4455}
header .desktop-nav a{position:relative;min-height:44px;display:flex;align-items:center}header .desktop-nav a[aria-current="location"]:after{content:"";position:absolute;bottom:5px;left:0;right:0;height:2px;background:var(--terracotta)}
:where(a,button,summary,input):focus-visible{outline:2px solid var(--terracotta);outline-offset:5px}.text-link{line-height:1.5;min-height:44px;border-color:#98523d77}.text-link span{display:inline-block;transition:transform .2s}.text-link:hover span{transform:translate(3px,-2px)}
.eyebrow{font-size:11px;letter-spacing:.17em}.section-heading p,.guest-section p,.travel-heading>p{max-width:62ch}.small,.fine{line-height:1.8}
.photo-story,.travel-expanded,.faq-section,.closing{background-color:var(--ivory);background-image:url(assets/paper-cotton.png);background-size:720px;background-blend-mode:soft-light}
.photo-story:before{background:linear-gradient(#f3eddf 0%,#f3eddfeb 18%,#f3eddfdf 75%,#f3eddf 100%),url(assets/proposal-woods.jpg) center/cover no-repeat}.photo-story .photo-grid figure{background:#fffaf0ce;border:1px solid #fffaf088;box-shadow:0 15px 40px #573a2420}.photo-hint{font:12px/1.7 Arial;text-align:center;letter-spacing:.04em;margin:35px 0 10px;color:var(--olive)}.photo-trigger{cursor:zoom-in!important;transition:box-shadow .25s,filter .25s}.photo-trigger:hover{box-shadow:0 6px 24px #26344825;filter:brightness(1.035)}
.weekend{background:linear-gradient(145deg,#263448f5,#263448ed),url(assets/paper-cotton.png) center/650px;color:#f6eddf;padding-top:100px}.weekend:before{content:"";position:absolute;left:8vw;right:12vw;top:0;height:4px;background:linear-gradient(90deg,#98523d,#d7b098,#a88955)}.weekend-at-glance{padding:25px 28px;margin-bottom:35px;border:1px solid #dbc4a54d;background:#ffffff08}.weekend-at-glance p{font:16px/2 Arial;margin:12px 0 0}.weekend-at-glance strong{display:inline-block;width:85px;color:#f0c6a5;font-weight:400}.weekend-day{padding-top:35px}.wedding-timeline li{position:relative;padding-left:18px;border-left:1px solid #d7b09855}.wedding-timeline li:before{content:"";position:absolute;left:-4px;top:32px;width:7px;height:7px;border-radius:50%;background:#d7b098}.weekend .text-link:focus-visible,.weekend button:focus-visible{outline-color:#f0c6a5}.day-jumps a{min-height:44px}.afterparty-note{background:#ffffff08}
.travel-expanded{padding-top:100px;padding-bottom:100px}.travel-venue{position:relative;padding-bottom:25px}.travel-venue img{height:390px;mask-image:linear-gradient(black 75%,transparent)}.travel-venue>div{position:relative;margin:-75px 25px 0;padding:26px 30px;background:#f8f1e4eb;border:1px solid #fff8e8;box-shadow:0 10px 30px #583d2010;backdrop-filter:blur(8px)}.travel-venue>div .eyebrow{color:var(--terracotta)}.airport-grid{gap:25px}.airport-card{border:1px solid #a889553b;background:#ffffff45;padding:28px;box-shadow:0 4px 20px #573a2408}.airport-code{color:var(--terracotta)}.stay-grid{gap:30px}.stay-grid article{padding-left:20px;border-left:2px solid #b88a6c66}.travel-block .travel-note{border-left:2px solid var(--gold);background:#dec0ab30}.guest-jumps a:hover,.day-jumps a:hover{color:var(--terracotta)}.weekend .day-jumps a:hover{color:#f0c6a5}
.explore-section{background:linear-gradient(135deg,#e7ccbae8,#d9b7a3ef),url(assets/paper-cotton.png) center/720px}.explore-heading{max-width:760px}.places-grid{gap:38px}.place-card{background:#fff7e550;border:1px solid #fff7e566;padding:30px;box-shadow:0 12px 30px #6c3d2010}.place-card:nth-child(n+3){background:transparent;box-shadow:none;border-color:#79584033}.place-card .place-photo{height:370px;mask-image:linear-gradient(black 85%,transparent);margin-bottom:12px}.place-card>.eyebrow{color:#783d2e}.place-card .place-meta{color:#604938}.place-card h3{line-height:1.1}
.faq-section{border-top:1px solid #a8895540}.faq-tools{margin-bottom:32px;padding:24px;background:#dfc3ad3b;border:1px solid #a8895533}.faq-tools label{display:block;font:12px Arial;letter-spacing:.06em;margin-bottom:12px}.faq-tools>div{display:flex;gap:10px}.faq-tools input{width:100%;min-width:0;border:0;border-bottom:1px solid #a88955;background:#fffaf0b3;padding:13px 10px;font:15px Arial;color:var(--navy)}.faq-tools button{border:0;border-bottom:1px solid #a88955;background:transparent;font:12px Arial;padding:12px;color:var(--navy)}.faq-tools #faq-results{font:12px/1.6 Arial;margin:12px 0 0}.faq-group h3{color:var(--terracotta);font-size:29px}.faq-list details{background:transparent;transition:background .2s}.faq-list details[open]{background:#dec0ab20;padding-left:15px;padding-right:15px}.faq-list summary{font-size:23px;min-height:44px}.faq-list details p{font-size:15px;line-height:1.85}.faq-list [hidden]{display:none!important}
.response-section{position:relative;isolation:isolate;background:#263448;color:#f8efdf;overflow:hidden}.response-section:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#263448ed,#263448d9),url(assets/proposal-hands.jpg) center 46%/cover no-repeat}.response-section .registry-note{border-color:#dec0ab77;padding:32px;background:#ffffff08}.response-section .eyebrow{color:#f0c6a5}.response-section .text-link{border-color:#f0c6a5;color:inherit}.response-section a:focus-visible{outline-color:#f0c6a5}.closing{padding:90px 20px}.closing .script{color:var(--terracotta)}.site-footer{background:#d9b7a3;color:var(--navy)}.footer-bottom{border-color:#76523f55}.site-footer a{min-height:44px}.site-footer .footer-contact a{padding:10px 0}
#photo-viewer{width:min(1100px,96vw);max-width:96vw;height:min(950px,94svh);max-height:94svh;margin:auto;padding:55px 35px 20px;border:1px solid #ad92715c;background:#f3eddf;color:var(--navy);box-shadow:0 30px 90px #0005;overflow:hidden}#photo-viewer::backdrop{background:#17202ad9;backdrop-filter:blur(7px)}#photo-viewer figure{margin:0;height:calc(100% - 65px);display:flex;flex-direction:column;align-items:center}#viewer-image{display:block;max-width:100%;height:calc(100% - 45px);object-fit:contain;min-height:0}#viewer-caption{font:22px/1.3 Cormorant,Georgia,serif;padding:10px 0;text-align:center}.viewer-close{position:absolute;right:20px;top:12px;border:0;background:none;padding:10px;font:13px Arial;color:var(--navy);min-height:40px}.viewer-controls{display:flex;gap:25px;justify-content:center;align-items:center;margin-top:10px}.viewer-controls button{width:44px;height:44px;border:1px solid #a8895580;border-radius:50%;background:transparent;color:var(--navy)}#viewer-count{font:12px Arial}body.photo-open{overflow:hidden}
@media(max-width:700px){.eyebrow{font-size:10px}.weekend-at-glance{padding:20px}.weekend-at-glance p{font-size:14px}.weekend-at-glance strong{width:76px}.wedding-timeline li{padding-left:12px}.travel-venue img{height:300px}.travel-venue>div{margin:-55px 10px 0;padding:22px}.airport-card{padding:22px}.place-card{padding:22px}.places-grid{gap:24px}.place-card .place-photo{height:310px}.faq-tools{padding:18px}.faq-jumps{margin-bottom:0}.response-section .registry-note{padding:24px}.photo-hint{text-align:left}.hero-copy h1{font-size:clamp(58px,19vw,76px)}#photo-viewer{padding:55px 15px 15px}.site-footer{padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.text-link:hover span{transform:none}}
@media print{.faq-tools,.photo-hint,#photo-viewer{display:none!important}.response-section:before{display:none}.response-section,.response-section .eyebrow{color:#222!important}.place-card,.airport-card{box-shadow:none;background:white}.photo-story:before{display:none}}
/* Chapter names remain legible while crossing light and dark section boundaries. */
.chapter-rail .chapter-label{color:#263448!important;background:#f3eddfed;padding:6px 8px;border-radius:2px}
header .nav-rsvp{border-bottom:0}
