/* Responsive review layer; the approved hero-v2 composition remains in site.css. */
:root{--header-height:84px}
[hidden]{display:none!important}
.concept-notice{background:#2e4b3a;color:#fff;text-align:center;font:500 14px/1.5 var(--sans);padding:10px 20px}
.concept-notice a{color:#fff;text-underline-offset:3px;white-space:nowrap}
.concept-notice strong{font-weight:700}
.site-header{top:0}
.site-header .wrap{min-height:120px}
.brand .original-brand-logo{width:212px;height:auto;max-width:100%;display:block;object-fit:contain;border-radius:3px}
.site-footer .brand .original-brand-logo{width:220px}
.nav{max-height:var(--menu-height,calc(100dvh - var(--header-height)));overflow-y:auto;overscroll-behavior:contain}
.skip{z-index:100}
:focus-visible{outline:3px solid var(--pine);outline-offset:5px}
.site-footer :focus-visible,.concept-notice :focus-visible{outline-color:#f6e7b4}
main [id]{scroll-margin-top:calc(var(--header-height) + 24px)}
.rates thead th{top:var(--header-height)}
.gallery-link{display:block;border-radius:var(--radius)}
.gallery-link img{cursor:zoom-in}
.view-photo{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-size:16px}
.plan-jump a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.chip,.menu-btn{min-height:44px}
.preview-gallery{border:0;border-radius:12px;padding:0;width:min(1120px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.preview-gallery::backdrop{background:rgba(30,26,21,.88)}
.gallery-toolbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;background:var(--paper);border-bottom:1px solid var(--rule)}
.gallery-toolbar h2{font:600 18px/1.35 var(--sans);margin:0}
.gallery-tools{display:flex;gap:8px;flex:none}
.gallery-zoom{font:600 16px/1.3 var(--sans);border:1px solid var(--rule);border-radius:8px;background:#fff;color:var(--ink);padding:11px 14px;min-height:44px;cursor:pointer}
.gallery-close,.gallery-prev,.gallery-next{font:600 16px/1.3 var(--sans);border:1px solid var(--rule);border-radius:8px;background:#fff;color:var(--ink);padding:11px 16px;min-height:44px;cursor:pointer;flex:none}
.gallery-stage{padding:18px;display:flex;align-items:center;justify-content:center;background:#fff;min-height:120px}
.gallery-stage img{display:block;max-width:100%;max-height:calc(100dvh - 220px);width:auto;height:auto;object-fit:contain}
.gallery-stage.zoomed{display:block;overflow:auto;max-height:calc(100dvh - 220px);overscroll-behavior:contain}
.gallery-stage.zoomed img{max-width:none;max-height:none;margin:0}
.gallery-fullsize{display:inline-block;margin-bottom:12px;font-size:15px}
.gallery-bottom{padding:12px 18px 18px}
.gallery-caption{font-size:16px;line-height:1.5;margin:0 0 12px}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gallery-position{font-size:15px;text-align:center}
.gallery-error{margin:0;padding:18px}
html.gallery-open{overflow:hidden}
.draft-output{margin-top:28px;border-top:1px solid var(--rule);padding-top:24px}
.draft-output textarea{width:100%;min-height:340px;resize:vertical;padding:16px;font:400 16px/1.6 var(--sans);color:var(--ink);border:1px solid var(--rule);border-radius:8px;background:#fff}
.form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.form-status{font-size:16px;margin-top:14px}
.rates-mobile{display:none}
.rate-card{border-top:2px solid var(--door);padding:28px 0 36px}
.rate-card-title{display:flex;gap:20px;align-items:center;margin-bottom:20px}
.rate-card-title img{width:96px;height:76px;object-fit:cover;border-radius:8px;flex:none}
.rate-card-title h2{font-size:24px;margin:0 0 4px}
.rate-card-title p{font-size:16px;margin:0}
.rate-card>p{font-size:17px}
.rate-card dl{margin:0}
.rate-card dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px 0;border-bottom:1px solid var(--rule)}
.rate-card dt{font-weight:600;line-height:1.4}
.rate-card dt small{display:block;font-weight:400;font-size:15px;margin-top:6px;color:var(--ink-soft)}
.rate-card dd{margin:0;text-align:right}
.rate-card .price{font-size:25px;white-space:nowrap}
.rate-card .esd{display:block;font-size:15px;white-space:nowrap}
.rate-card .photo-credit{font-size:14px;color:var(--ink-soft)}
.not-found{max-width:740px;padding-block:100px}
@media(max-width:1020px){
 .rate-wrap{display:none}.rates-mobile{display:block}
 .doc .toc{position:static}
}
@media(max-width:640px){
 .site-header .wrap{min-height:112px}
 .brand .original-brand-logo{width:190px;max-width:100%;height:auto}
 .concept-notice{font-size:13px;padding:9px 16px}
 .concept-notice .notice-detail{display:block}
 .hero-photo .hero-panel{padding-inline:24px}
 .cabin-nav{flex-wrap:wrap;justify-content:center;gap:20px}
 .cabin-nav .step{flex:1 1 120px;font-size:15px}
 .cabin-nav>.btn{order:3;flex:1 1 100%}
 .cab-rates{table-layout:fixed;width:100%}
 .cab-rates th,.cab-rates td{padding:12px 6px;overflow-wrap:anywhere;font-size:15px}
 .cab-rates th:first-child{width:47%}
 .cab-rates td b{font-size:20px;white-space:nowrap}
 .cab-rates small{font-size:13px}
 .hosts-mini{align-items:flex-start;gap:18px}
 .hosts-mini img{width:96px}
 .hosts-mini p{font-size:16px}
 .draft{padding:24px 20px}
 .gallery-stage{padding:10px}
 .gallery-stage img{max-height:calc(100dvh - 260px)}
 .gallery-toolbar{padding:10px 12px}
 .gallery-toolbar h2{font-size:16px}
 .gallery-toolbar{gap:8px}
 .gallery-tools{gap:6px}
 .gallery-zoom{padding:10px;font-size:15px}
 .gallery-close,.gallery-prev,.gallery-next{padding:10px 12px}
 .gallery-bottom{padding:12px}
 .gallery-controls{gap:6px}
 .plan .spot{display:none}
}
@media(max-height:480px){.preview-gallery .gallery-stage img{max-height:50dvh}.gallery-toolbar{position:sticky}.gallery-bottom{padding:10px 18px}}
@media print{.concept-notice{color:#000;background:#fff;border-bottom:1px solid}.gallery-link{color:inherit}}
