/* Comfortable reading at every viewport; loaded after the decorative layers. */
html{scroll-padding-bottom:150px}body{font-size:16px;line-height:1.8}
.hero-caption,.intro p,.section-heading p,.event-copy p,.moments-heading p,.wishes-head>p,.arrival-instructions,.faq-intro p,.faq-list summary,.faq-list details p,.journey-copy>p,.guide-hotel{font-size:16px;line-height:1.8}
.hero-caption,.intro p{max-width:440px}.section-heading p,.wishes-head>p{max-width:340px}.moments-heading p{max-width:300px}
.eyebrow,.hero .eyebrow,.intro .eyebrow,footer .eyebrow,.event-copy .eyebrow,.section-num{font-size:12px;letter-spacing:.15em;line-height:1.7}
.cover-top{font-size:12px;letter-spacing:.2em}.cover-date,.guest span{font-size:13px;letter-spacing:.16em}.guest strong{font-size:30px}.cover-foot{font-size:11px;letter-spacing:.1em}.preview-pill{font-size:10px;letter-spacing:.08em}
.open-btn{font-size:13px;letter-spacing:.12em;min-height:52px;max-width:100%;flex-shrink:0}.open-btn span{padding-left:16px}
.masthead,.masthead>span,.header-link{font-size:12px;letter-spacing:.12em}.text-link,.hero-calendar,.hero-wishes,.event-actions>a,.event-actions>button,.solid-btn,.outline-btn,.event-explore a,.arrival-actions a,.arrival-actions button,.more-wishes{font-size:13px;letter-spacing:.07em;min-height:48px}
.text-link{align-items:center}.art-caption,.hero .art-caption,.edition,.hero .edition,.hero-bottom{font-size:11px;letter-spacing:.09em}.hero-bottom{gap:20px}.hero-art{padding-bottom:45px}.art-caption{bottom:5px}.edition{right:-30px}
.couple-names span,.date-block>span:first-child,.date-block>div{font-size:13px;letter-spacing:.12em}.city-tabs button{font-size:14px;letter-spacing:.1em;padding:17px 12px}.city-tabs button span{font-size:12px;margin-left:12px}
.event-copy .schedule-note,.countdown-note small,.schedule-heading p,.schedule-timing,.schedule-item p,.schedule-time{font-size:14px;line-height:1.8}.countdown span{font-size:11px;letter-spacing:.1em}.countdown-note{font-size:22px}.countdown-note small{display:inline-block;margin-top:10px}
.schedule-zone,.guide-date,.guide-select label,.route-caption,.attire-colour,.journey-controls span{font-size:12px;letter-spacing:.08em}.guide-select select,#calendar-city{font-size:16px;max-width:100%}.guide-select{min-width:265px}
.route-description p{font-size:16px;line-height:1.75}.route-steps button{width:46px;height:46px}.route-steps:before,.route-steps:after{top:23px}.route-caption{letter-spacing:.12em}.arrival-route{min-height:410px}.copy-status{font-size:14px}
.gallery-hint{font-size:14px}.gallery-caption small,.gallery-photo.underwater-photo .gallery-caption small{font-size:12px;letter-spacing:.08em}.lightbox-toolbar,#close-photo,#photo-counter,.lightbox-hint{font-size:12px}#photo-caption{font-size:18px}
.wish-form label,.wish-board-head span{font-size:13px;letter-spacing:.07em}.wish-form input,.wish-form textarea{font-size:16px}.wish-meta,.wish-card time{font-size:12px}.wish-privacy,.wish-status,.wish-card strong{font-size:14px}.wish-submit{font-size:14px;letter-spacing:.08em}.wish-meta{flex-wrap:wrap;gap:6px 15px}
#calendar-dialog{overflow-y:auto;max-height:calc(100dvh - 32px)}#calendar-dialog .eyebrow,#calendar-dialog label{font-size:12px}#calendar-summary,.calendar-note{font-size:14px;line-height:1.75}.calendar-options a{font-size:16px;gap:12px}.calendar-options a span{flex-shrink:0}
.footer-date,.back-top{font-size:12px;letter-spacing:.12em}.back-top{padding:12px}.bottom-nav{padding:8px 14px;bottom:max(16px,env(safe-area-inset-bottom));left:50%;width:370px;max-width:calc(100% - 28px)}.bottom-nav a{flex:1;width:auto;min-width:0;min-height:48px;padding:4px 2px}.bottom-nav small{font-size:10px;letter-spacing:.04em}.bottom-nav a span{font-size:22px}.experience-controls button{width:46px;height:46px;min-width:46px;min-height:46px}.experience-controls span{font-size:11px}.experience-controls{bottom:28px;right:24px}body.covered .experience-controls{top:18px;bottom:auto}
.section :is(.event-copy,.arrival-copy,.guide-select,.journey-copy,.wish-form,.wish-board){min-width:0}.event-copy h3,.arrival-copy h3,.journey-copy h2{overflow-wrap:break-word}
@media(max-width:1000px){.section-heading{align-items:start;flex-direction:column;gap:22px}.section-heading p{max-width:500px}.event-grid{gap:6%;grid-template-columns:.7fr 1.3fr}.date-block{padding-right:20px}.guide-heading{display:block}.guide-select{max-width:360px;margin-top:28px}.arrival-grid,.wishes-layout,.journey-grid{grid-template-columns:1fr;gap:36px}.arrival-copy,.arrival-instructions{max-width:650px}.arrival-route{max-width:520px;width:100%;justify-self:center}.wishes-head{display:block}.wishes-head>p{max-width:500px;margin-top:24px}.faq-section{grid-template-columns:1fr;gap:20px}.faq-intro p{max-width:500px}.experience-controls{bottom:calc(98px + env(safe-area-inset-bottom));right:16px;flex-direction:column}.hero h2{font-size:clamp(55px,7vw,80px)}}
@media(max-width:620px){
 .section{padding:64px 7%}.hero{padding:52px 7% 108px}.hero h2{font-size:clamp(58px,17vw,82px)}.hero-caption{font-size:16px}.hero .art-caption{font-size:10px}.hero .edition{font-size:10px;right:-24px}.hero-bottom{font-size:10px;bottom:36px;left:7%;right:7%;flex-wrap:wrap;gap:8px}.hero-quick-actions{gap:12px}.hero-calendar,.hero-wishes{font-size:12px}
 .cover-content{padding:86px 25px 70px;min-height:600px;max-height:none;height:100dvh}.cover h1{font-size:clamp(36px,10vw,60px);white-space:normal}.cover-top{font-size:11px;margin-bottom:18px}.cover-date,.guest span{font-size:12px}.cover-foot{font-size:10px;display:block}.preview-pill{font-size:9px;bottom:22px;max-width:80%;text-align:center}.guest{margin-top:auto}.guest strong{font-size:27px}.seal{width:48px;height:48px}
 .masthead>span{font-size:11px}.header-link{font-size:0}.header-link b{font-size:24px}.intro p{max-width:100%}.couple-names{gap:20px}.couple-names h3{font-size:42px}.couple-names span{font-size:12px}.section-heading p{margin:0;max-width:100%}
 .city-tabs{gap:8px}.city-tabs button{font-size:12px;padding:15px 4px;letter-spacing:.06em}.city-tabs button span{display:block;font-size:12px;margin:4px 0 0}.event-grid{grid-template-columns:1fr;padding:30px 18px;gap:28px}.date-block{padding-right:0;max-width:100%;width:245px}.date-block>span:first-child,.date-block>div{font-size:12px}.event-copy h3{font-size:clamp(34px,10vw,46px);line-height:1.08}.event-copy p{max-width:100%}.event-actions>a,.event-actions>button{font-size:13px}.countdown{gap:8px}.countdown>div{min-width:0;flex:1}.countdown span{font-size:10px;letter-spacing:.04em}.countdown strong{font-size:36px}.countdown-note{font-size:21px}
 .schedule-panel{padding:27px 20px}.schedule-item{grid-template-columns:22px 1fr;gap:12px}.schedule-time{grid-column:2}.schedule-heading{display:block}.schedule-zone{display:inline-block;margin-top:12px}.event-explore{gap:18px;flex-wrap:wrap}.event-explore a{font-size:12px}.guide-select{min-width:0;max-width:100%}.arrival-instructions{font-size:16px}.arrival-actions a,.arrival-actions button{font-size:12px;padding:13px 18px}.arrival-route{padding:36px 24px}.faq-list summary,.faq-list details p{font-size:16px}.faq-list details p{padding-right:10px}
 .gallery{grid-template-columns:1fr;gap:24px}.gallery-photo:nth-child(n){margin-top:0}.gallery-photo:not(.underwater-photo):not(.landscape){aspect-ratio:4/5}.gallery-caption small,.gallery-photo.underwater-photo .gallery-caption small{font-size:11px}.gallery-caption>span{font-size:29px}.wish-form{padding:26px 20px}.wish-privacy{font-size:14px}.wish-board-head span{font-size:12px}
 .bottom-nav{left:50%;padding:7px 8px;width:370px}.bottom-nav a{width:auto}.bottom-nav small{font-size:10px}.experience-controls{right:12px;bottom:calc(100px + env(safe-area-inset-bottom))}.experience-controls button{width:44px;height:44px;min-width:44px;min-height:44px}body.covered .experience-controls{top:18px;right:18px;flex-direction:row}
 #calendar-dialog{width:calc(100vw - 28px);padding:32px 22px}.calendar-options a{font-size:15px;padding:16px 14px}footer{padding-bottom:180px}.attire-section{padding:26px 20px}
}
/* A short or zoomed viewport must scroll instead of cutting off the opening button. */
@media(max-height:700px){.cover{overflow-y:auto;align-items:start}.cover-content{height:auto;min-height:640px;padding-top:80px;padding-bottom:70px}.cover-panel,.cover-grain,.cover-frame{position:fixed}.cover .guest{margin-top:30px}.cover .cover-top{font-size:12px}.cover .seal{width:46px;height:46px}.cover .cover-foot{display:block}.cover .preview-pill{display:none}}
@media(max-width:380px){.hero .edition{display:none}.couple-names{gap:15px}.couple-names h3{font-size:38px}.cover-top{letter-spacing:.1em}.open-btn{font-size:12px;padding-inline:16px}.open-btn span{padding-left:8px}.schedule-panel{padding-inline:16px}.countdown span{font-size:10px}.bottom-nav small{font-size:10px}}
