html:has(.stay-detail) {--stay-tabs-height:67px;scroll-padding-top:calc(var(--header) + var(--stay-tabs-height))}
.page-hero-stay {min-height:430px}
.page-hero-stay .page-hero-inner {padding-block:48px 58px}
.page-hero-stay h1 {font-size:clamp(40px,4.7vw,68px);max-width:850px;line-height:1.04}
.page-hero-stay .place-opening-intro {max-width:650px;font-size:18px;line-height:1.65}
.stay-breadcrumb {display:flex;flex-wrap:wrap;gap:9px;align-items:center;font-size:14px;margin-bottom:24px;color:#f1ede0}
.stay-breadcrumb a {text-decoration:underline;text-underline-offset:4px}
.stay-hero-location {display:flex;align-items:center;gap:8px;font-size:16px!important;margin:16px 0 14px}
.page-hero-stay .opening-actions {display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.page-hero-stay .opening-actions .button {font-size:16px;min-height:48px}
.stay-gallery {padding-block:60px;scroll-margin-top:24px}
.stay-photo-mosaic {display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:175px 175px;gap:10px;border-radius:9px;overflow:hidden}
.stay-photo-mosaic button {position:relative;border:0;background:#d3ded4;padding:0;cursor:pointer;overflow:hidden;color:#fff;min-width:0}
.stay-photo-mosaic button:first-child {grid-row:1/3}
.stay-photo-mosaic img {width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s ease}
.stay-photo-mosaic button:hover img {transform:scale(1.025)}
.stay-photo-mosaic button:focus-visible {outline:3px solid #c5a15d;outline-offset:-5px}
.stay-all-photos {position:absolute;inset:auto 12px 12px;background:#fff7ec;color:#123f34;padding:10px 16px;border-radius:5px;font-size:15px;line-height:1.4;box-shadow:0 2px 10px #0002}
.stay-photo-credit {display:block;text-align:right;font-size:13px;line-height:1.5;margin-top:10px;text-decoration:underline;text-underline-offset:3px}
.stay-gallery-empty {padding-block:60px;color:var(--muted)}
.stay-tabs {position:sticky;top:var(--header);z-index:15;background:#fbf8f1f5;border-top:1px solid #e4ddcf;border-bottom:1px solid #ddd6c8;backdrop-filter:blur(12px)}
.stay-tabs .wrap {display:flex;gap:32px;overflow-x:auto;scrollbar-width:none;scroll-padding-inline:18px}
.stay-tabs .wrap::-webkit-scrollbar {display:none}
.stay-tabs a {display:flex;align-items:center;white-space:nowrap;min-height:65px;font-size:16px;border-bottom:2px solid transparent}
.stay-tabs a:hover,.stay-tabs a:focus-visible {border-bottom-color:#b28e46;color:#063b32}
.stay-layout {display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:40px;align-items:start;padding-block:60px}
.stay-content {display:grid;gap:24px;min-width:0}
.stay-detail-section {min-width:0;margin:0;padding:60px 32px;border:1px solid #e1d9cb;border-radius:9px;background:#fffdf7;scroll-margin-top:24px}
.stay-detail-section>:first-child {margin-top:0}
.stay-detail-section>:last-child {margin-bottom:0}
.stay-detail-section h2 {font:600 clamp(28px,2.9vw,37px)/1.15 var(--serif);letter-spacing:-.025em;margin:10px 0 24px;color:#143e33}
.stay-detail-section p {font-size:17px;line-height:1.8;color:#48594f}
.stay-detail-section h3 {font:600 22px/1.3 var(--serif);color:#173f34;margin:0 0 12px}
.stay-detail-section .eyebrow {font-size:12px;line-height:1.6;color:#947038}
.stay-intro {margin-bottom:30px}
.stay-key-facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:30px 0 0;padding:22px 0;border-block:1px solid #e1d9cb}
.stay-key-facts dt {font-size:13px;color:#627168;margin-bottom:8px}
.stay-key-facts dd {font-size:17px;line-height:1.5;margin:0;color:#183e33}
.stay-key-facts dd span {display:block;font-size:13px;color:#627168;margin-top:5px}
.stay-room-list {display:grid;gap:14px}
.stay-room {display:flex;align-items:flex-start;gap:20px;border:1px solid #e1d9cb;padding:24px;border-radius:7px;background:#fffdf8}
.stay-room>svg {flex-shrink:0;margin-top:2px;color:#9a7b40}
.stay-room p {margin:0;font-size:16px;line-height:1.7}
.stay-detail-section .stay-section-note,.stay-contact-card .stay-section-note {font-size:14px;line-height:1.65;color:#687368;margin-top:20px}
.stay-amenities {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px;list-style:none;margin:0 0 32px;padding:0}
.stay-amenities li {display:flex;align-items:center;gap:16px;font-size:16px;line-height:1.5;min-height:38px}
.stay-amenities svg {flex-shrink:0;color:#477862}
.stay-inclusions {display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:28px;background:#edf0e6;border-radius:7px}
.stay-inclusions h3 {font-size:21px}
.stay-inclusions ul {padding-left:18px;margin:0}
.stay-inclusions li {font-size:15px;line-height:1.7;margin-bottom:9px;padding-left:3px}
.stay-inclusions>div+div {border-left:1px solid #cdd6c8;padding-left:26px}
.stay-inclusions p {font-size:15px;margin:0}
.stay-map {position:relative;border-radius:8px;overflow:hidden;border:1px solid #cad8cc;background:#acd8d2;margin-top:22px}
.stay-map #mini-map {height:340px;min-height:340px;border-radius:0;width:100%}
.stay-map .overview-label {display:none}
.stay-map-link {position:absolute;left:18px;bottom:18px;z-index:4;background:#fffdf5;color:#143f33;display:flex;align-items:center;gap:10px;padding:11px 18px;min-height:46px;border-radius:5px;font-size:15px;box-shadow:0 2px 15px #173a3a1a}
.stay-transfer {display:flex;gap:18px;margin-top:25px;padding:24px;background:#f0ebdf;border-radius:6px}
.stay-transfer>svg {flex-shrink:0;color:#98773e;margin-top:3px}
.stay-transfer p {font-size:16px;margin:0}
.stay-times {display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}
.stay-times>div {padding:24px;border:1px solid #ded6c7;border-radius:7px;background:#fffdf7}
.stay-times span {display:block;font-size:14px;color:#637063;margin-bottom:12px}
.stay-times strong {font:600 23px/1.4 var(--serif);color:#123e33}
.stay-booking-terms {margin-top:26px}
.stay-booking-terms p {font-size:16px;margin:0}
.stay-notice {padding:20px;border-left:3px solid #b59551;background:#f5edda;font-size:15px!important;margin:26px 0 0}
.stay-contact-card {position:sticky;top:185px;margin-top:0;padding:30px;border:1px solid #dcd2be;border-radius:9px;background:#fffdf7;box-shadow:0 9px 30px #233e2f08}
.stay-contact-card h2 {font:600 29px/1.15 var(--serif);letter-spacing:-.02em;margin:12px 0 18px}
.stay-contact-card>p:not(.eyebrow):not(.stay-section-note) {font-size:16px;line-height:1.7;color:#5c685c;margin-bottom:22px}
.stay-contact-card>.button,.stay-contact-card>.save-full {width:100%;justify-content:center;font-size:16px;min-height:48px}
.stay-phone {display:flex;gap:10px;justify-content:center;align-items:center;font-size:17px;min-height:48px;margin-top:15px}
.stay-email {display:block;text-align:center;font-size:14px;line-height:1.6;overflow-wrap:anywhere;padding-block:8px}
.stay-official-link {display:block;text-align:center;font-size:15px;text-decoration:underline;text-underline-offset:5px;padding-block:12px}
.stay-card-separator {border-top:1px solid #e3dccf;margin:16px 0 20px}
.stay-card-map {display:flex;align-items:center;gap:10px;font-size:15px;line-height:1.5;margin-bottom:24px}
.stay-contact-card .stay-section-note {text-align:center;margin-bottom:0}
.stay-form-grid {display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-block:30px 24px}
.stay-form-grid label {display:flex;flex-direction:column;gap:9px;font-size:15px;line-height:1.5}
.stay-form-grid label>span {display:contents}
.stay-form-grid input,.stay-form-grid select,.stay-form-grid textarea,.stay-contact-preview textarea {width:100%;min-width:0;border:1px solid #c5cebf;border-radius:5px;padding:13px 14px;background:#fffdf7;color:#163e34;font:400 16px/1.4 var(--body-font);min-height:48px}
.stay-form-grid input:focus,.stay-form-grid select:focus,.stay-form-grid textarea:focus {outline:2px solid #b6924f;outline-offset:3px}
.stay-form-wide {grid-column:1/-1}
.stay-form-grid textarea {resize:vertical}
.stay-contact-section .button {min-height:48px;font-size:16px}
.stay-form-error {background:#f8e8dd;color:#913e28!important;border-left:3px solid #913e28;padding:15px;font-size:15px!important}
.stay-contact-preview {margin-top:28px;padding:26px;background:#edf0e6;border-radius:7px;border:1px solid #cbd6c3}
.stay-contact-preview[hidden] {display:none}
.stay-contact-preview textarea {line-height:1.7;resize:vertical;margin:8px 0 18px}
.stay-message-recipient {font-size:14px!important;overflow-wrap:anywhere}
.stay-send-actions {display:flex;flex-wrap:wrap;gap:12px}
.stay-copy-status {font-size:14px!important;line-height:1.5!important;margin:12px 0 0}
.stay-references {font-size:14px;line-height:1.7;padding:0 4px;color:#6a7468}
.stay-references summary {cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.stay-references summary:after {content:'+';margin-left:16px}
.stay-references[open] summary:after {content:'−'}
.stay-references a {overflow-wrap:anywhere}
.source-note,.official-links,.blog-source-list {font-size:14px}
.source-note>summary,.official-links>summary,.blog-source-list>summary {cursor:pointer;min-height:48px;display:flex;align-items:center;font-size:15px;font-weight:400}
.blog-source-list {border-top:1px solid #ddd4c1;padding-block:20px!important}
@media(max-width:1100px){.stay-layout{grid-template-columns:minmax(0,1fr) 295px;gap:36px}.stay-contact-card{padding:24px}.stay-tabs .wrap{gap:24px}}
@media(max-width:900px){.stay-layout{display:block;max-width:760px}.stay-contact-card{position:static;margin-top:0}.stay-content{width:100%}.stay-photo-mosaic{grid-template-rows:150px 150px}.stay-tabs{top:var(--header)}.page-hero-stay{min-height:400px}.stay-contact-card{display:none}}
@media(max-width:700px){.page-hero-stay .page-hero-inner{padding-block:32px 40px}.page-hero-stay{min-height:430px}.page-hero-stay h1{font-size:40px}.stay-breadcrumb{font-size:13px;margin-bottom:20px}.page-hero-stay .place-opening-intro{font-size:16px}.page-hero-stay .opening-actions{gap:10px}.page-hero-stay .opening-actions .button{font-size:15px}.stay-gallery{padding-block:60px}.stay-photo-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:210px 110px 110px;gap:7px}.stay-photo-mosaic button:first-child{grid-row:1;grid-column:1/-1}.stay-all-photos{inset:auto 6px 6px;font-size:13px;padding:8px 9px}.stay-tabs{top:var(--header)}.stay-tabs .wrap{gap:24px;padding-inline:18px;width:100%;max-width:none}.stay-tabs a{min-height:56px;font-size:15px}.stay-detail-section{padding:60px 20px;scroll-margin-top:24px}.stay-layout{padding-block:60px}.stay-key-facts{grid-template-columns:1fr;gap:20px;padding-block:24px}.stay-key-facts>div{display:grid;grid-template-columns:120px 1fr;align-items:start;gap:14px}.stay-key-facts dd{font-size:16px}.stay-key-facts dt{margin:3px 0 0}.stay-amenities{gap:18px 16px}.stay-amenities li{align-items:flex-start;font-size:15px;gap:11px}.stay-room{padding:20px 16px;gap:14px}.stay-inclusions{grid-template-columns:1fr;padding:22px 18px;gap:22px}.stay-inclusions>div+div{border-left:0;border-top:1px solid #cdd6c8;padding:22px 0 0}.stay-times{grid-template-columns:1fr}.stay-times>div{padding:22px}.stay-map #mini-map{height:300px;min-height:300px}.stay-transfer{padding:22px 18px;gap:14px}.stay-form-grid{gap:20px 16px}.stay-contact-preview{padding:22px 18px}.stay-send-actions{display:grid}.stay-send-actions .button{width:100%;justify-content:center}.stay-detail-section h2{font-size:30px}.stay-detail-section p{font-size:16px}.stay-form-grid input[type=date]{padding-inline:10px;font-size:15px}.stay-nearby .address-row{padding-inline:0}}
@media(max-width:370px){.stay-form-grid{grid-template-columns:1fr}.stay-form-wide{grid-column:auto}.stay-amenities{grid-template-columns:1fr}.page-hero-stay h1{font-size:36px}.stay-photo-mosaic{grid-template-rows:180px 100px 100px}}
@media(prefers-reduced-motion:reduce){.stay-photo-mosaic img{transition:none}}
@media print{.stay-tabs,.stay-contact-card,.stay-contact-section,.stay-gallery,.stay-map{display:none}.stay-layout{display:block}.stay-detail-section{padding-block:20px}}

.stay-contact-channels {display:flex;flex-direction:column;gap:4px;border-block:1px solid #ded8cb;padding-block:14px;margin:24px 0}
.stay-contact-channels a {font-size:15px;line-height:1.6;min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}
.directory-method>summary {cursor:pointer;min-height:48px;display:flex;align-items:center;font-size:15px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.stay-contact-channels{display:flex;flex-direction:column;gap:4px;border-block:1px solid #ded8cb;padding-block:14px;margin:24px 0}.stay-contact-channels a{font-size:15px;line-height:1.6;min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}}

/* Keep direct contact visible on a laptop without hiding it below the viewport. */
@media(min-width:901px) and (max-height:900px){.stay-contact-card{padding:24px}.stay-contact-card h2{font-size:26px}.stay-contact-card>.stay-card-separator,.stay-contact-card>.stay-card-map,.stay-contact-card>.save-full,.stay-contact-card>.stay-section-note{display:none}}
@media(min-width:901px) and (max-height:680px){.stay-contact-card{position:static}}
@media(max-width:540px){.stay-form-grid{grid-template-columns:1fr}.stay-form-wide{grid-column:auto}.stay-amenities{grid-template-columns:1fr}.stay-key-facts>div{grid-template-columns:100px minmax(0,1fr)}}

@media(max-width:700px){html:has(.stay-detail){--stay-tabs-height:58px}}
