/* Shared corrections from the September 2026 accessibility/reflow review. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
body{overflow-wrap:anywhere}
html:focus-within{scroll-behavior:auto}
.gallery-card figcaption>div{min-width:0}
.photo-number{flex-shrink:0}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #fffdf5!important;outline-offset:3px!important;box-shadow:0 0 0 6px #193f3b!important}
:where(a,button,input,select,textarea,summary,[tabindex]){scroll-margin-block:20px}
.trip-no,.approach-list article>span,.experience-index span,.contact-welcome span,.contact-next li>span{color:#52644c}
.footer-bottom{flex-wrap:wrap;align-items:center}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;margin-inline-end:8px}
.footer-top>div:last-child{display:flex}
.footer-top{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.6fr)}
.footer-top>div,.footer-top>p{min-width:0;overflow-wrap:anywhere}
.concept-footer a{overflow-wrap:anywhere}
h1,h2,h3,.site-footer a,.terms-body a{overflow-wrap:anywhere}
.contact-next{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.contact-next li>div{min-width:0}
.site-footer a{white-space:normal}
.footer-brand,.footer-col,.footer-bottom>*{min-width:0}
.site-nav{flex-wrap:wrap;min-width:0;padding-block:12px}
.site-nav a:not(.btn){white-space:normal}
.footer-top>div a{min-height:32px;display:inline-flex;align-items:center}
.opening-shade{background:linear-gradient(0deg,#052227db,transparent 26%),linear-gradient(90deg,#052227c9,#052227a6 70%,#05222733)}
.opening{display:flex;flex-direction:column;justify-content:space-between;height:auto;max-height:none;min-height:max(700px,calc(100svh - 144px))}
.opening-content{padding-bottom:44px}
.opening-bottom{position:relative;inset:auto;margin:0 7%;padding-bottom:32px}
.experience-card{height:auto;min-height:460px}
.experience-card:after{background:linear-gradient(0deg,#031c1dee,#031c1dad)}
.experience-panorama figcaption{padding:10px 14px;background:#082f35e8;gap:20px;flex-wrap:wrap}
.review-slide figcaption>span:last-child{min-width:0;overflow-wrap:anywhere}
.review-slide small{letter-spacing:.5px}
.lightbox-bottom{flex-wrap:wrap}
.lightbox-caption{min-width:0;overflow-wrap:anywhere;flex:1 1 180px}
.gallery-lightbox{overflow-y:auto}
.lightbox-inner{min-height:100%;height:auto;grid-template-rows:auto minmax(100px,1fr) auto}
.lightbox-image-wrap{height:calc(100dvh - 240px);min-height:100px}
@media(max-width:1150px){.footer-top{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-top>p{display:none}}
@media(max-width:1000px){
 .masthead:not(.nav-ready) nav{display:flex}
 .masthead:not(.nav-ready) .menu-toggle{display:none}
 .masthead:not(.nav-ready){position:relative}
}
@media(max-width:960px){
 .site-header:not(.nav-ready) .site-nav{display:flex}
 .site-header:not(.nav-ready) .nav-toggle{display:none}
 .site-header:not(.nav-ready){position:relative}
}
@media(max-width:650px){
 .opening{min-height:0}
 .footer-top{grid-template-columns:minmax(0,1fr)}
 .footer-top>div a{min-height:44px}
 .opening-shade{background:linear-gradient(90deg,#06292bc9,#06292bab)}
 .experience-panorama figcaption{left:4%;right:4%;padding:8px 12px;gap:4px 12px}
 .experience-card{height:auto;min-height:clamp(330px,90vw,400px)}
 .review-slide figcaption{flex-wrap:wrap}
 .contact-intro,.contact-welcome,.contact-next li>div{min-width:0;overflow-wrap:anywhere}
 .notfound-links a{min-height:44px}
 /* Keep the mobile footer compact without shrinking touch targets. */
 .concept-footer{padding:28px 7% 20px}
 .concept-footer .wordmark{flex-direction:row;align-items:center;gap:12px}
 .concept-footer .wordmark img{width:72px;height:72px}
 .concept-footer .wordmark>span{font-size:22px}
 .footer-top{gap:12px;padding-bottom:12px}
 .footer-top>div{gap:0}
 .footer-top>div:last-child{gap:0 18px}
 .footer-connections{gap:0;padding-bottom:12px}
 .footer-connections nav{gap:0 20px}
 .footer-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding-top:14px;align-items:center;text-align:left}
 .footer-bottom>span{grid-column:1 / -1}
 .footer-bottom>span:first-child{margin-bottom:8px}
 .footer-bottom a{margin:0;min-height:44px}
 .footer-bottom>span:last-of-type{margin-top:6px}
 .registrations{margin-top:12px;font-size:10px;line-height:1.65}
}
/* A sticky 120px logo must not consume a landscape phone's reading area. */
@media(max-height:500px){
 .masthead,.site-header{position:relative}
 html{scroll-padding-top:24px}
 .masthead nav,.site-header.is-open .site-nav{max-height:none}
}
@media(forced-colors:active){
 :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid Highlight!important}
 .gallery-filters button[aria-pressed="true"]{border:2px solid ButtonText}
 .review-progress span{background:Highlight}
}
