/* The order of information follows the guest's decisions. */
@media(max-width:760px){body.home-page .visual-hero-copy{padding:22px 20px}body.home-page .visual-hero-copy>p:first-child{margin-bottom:12px}body.home-page .visual-hero h1{font-size:31px;line-height:1.3;margin-bottom:14px}body.home-page .visual-hero .visual-hero-description{font-size:.83rem;line-height:1.75;margin-bottom:16px}body.home-page .stay-mosaic{height:210px;min-height:210px}body.home-page .hero-choice{gap:5px}body.home-page .hero-cost-link{min-height:36px;font-size:.78rem}body.home-page .visual-hero-copy .visual-hero-note{font-size:.67rem;margin-top:8px}.room-selection .room-inquiry-actions{width:100%;align-items:stretch}.room-selection .room-preview-link{justify-content:center}.contact-page .estimate-section .estimate-intro{margin-bottom:18px}.contact-page .estimate-intro>p:not(.eyebrow){font-size:.82rem;margin-top:10px}}
.brand-tagline{font:400 10px/1.4 var(--sans);letter-spacing:.015em;color:var(--green);white-space:nowrap}
.footer .brand-tagline{font-size:11px}
.context-nav{display:flex;flex-wrap:wrap;gap:8px 26px;border-bottom:1px solid var(--line);margin:0 0 30px}
.context-nav a{display:flex;align-items:center;min-height:48px;font-size:.85rem;border-bottom:2px solid transparent;margin-bottom:-1px}
.context-nav a[aria-current]{border-color:var(--green);font-weight:600}
.context-nav a:hover{color:var(--green);text-decoration:underline;text-underline-offset:5px}
.hero-choice{display:flex;align-items:flex-start;flex-direction:column;gap:12px}
.room-inquiry-actions{display:flex;flex-direction:column;gap:5px;align-items:flex-end}.room-preview-link{display:inline-flex;align-items:center;min-height:36px;font-size:.72rem;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.field-row label:has(#preferred-stay){grid-column:1/-1}
.date-flexible{display:flex!important;align-items:center;gap:10px;min-height:48px;padding:10px 12px;border:1px solid var(--line);background:#f7f8f0;border-radius:5px;margin-bottom:12px;font-size:.875rem!important}.date-flexible input{width:19px!important;height:19px!important;min-height:0!important;margin:0!important;accent-color:var(--green);flex-shrink:0}.education-request{border-top:1px solid var(--line);margin-top:12px}.education-request>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:.81rem}.education-request[open]>summary{margin-bottom:8px}.estimate-card [hidden]{display:none!important}
.hero-cost-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;color:var(--paper);text-decoration:underline;text-underline-offset:5px;gap:18px}
.visual-hero .visual-hero-description{font-size:.94rem;margin-bottom:25px}
.visual-hero .visual-hero-note{font-size:.75rem}
.visual-budget .budget-inclusions strong{font-size:.875rem;font-weight:500;margin:0}
.budget-inclusions p{font-size:.75rem;margin:5px 0 0;color:var(--muted)}
.budget-inclusions a{display:inline-flex;align-items:center;gap:12px;min-height:40px;font-size:.75rem;text-decoration:underline;text-underline-offset:4px}
.home-shortcuts{display:flex;gap:32px;padding-block:8px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.home-shortcuts a{display:inline-flex;align-items:center;min-height:44px;font-size:.8125rem;color:var(--muted)}
.home-shortcuts a:hover{color:var(--green)}
.home-page #stays.home-collection{padding-block:52px}
.home-collection .visual-section-title h2{font-size:clamp(1.6rem,2.5vw,2.15rem)}
.home-collection .visual-section-title p{margin:12px 0 0;max-width:none;font-size:.875rem}
.home-collection .stay-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.stay-facilities{font-size:.8125rem;color:var(--muted);margin:5px 0}
.stay-price-note{font-size:.6875rem;color:var(--muted);margin:5px 0 0}
.stay-price strong{white-space:nowrap}
.collection-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:28px;padding-top:24px}
.collection-bottom p{font-size:.8125rem;color:var(--muted);margin:0;line-height:1.8}
.collection-bottom .button{font-size:.875rem}
.home-live{border-top:1px solid var(--line)}
.home-life{padding-block:54px;border-top:1px solid var(--line)}
.home-life .visual-section-title>p{font-size:.875rem;color:var(--muted);line-height:1.9;margin:0}
.life-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.life-choices a{min-width:0}
.life-choices a:hover{text-decoration:none}
.life-choices a:hover h3{text-decoration:underline;text-underline-offset:5px}
.life-choices img{width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;border-radius:6px}
.life-choices h3{display:flex;justify-content:space-between;gap:10px;margin:17px 0 7px;font-size:1.1rem}
.life-choices h3 span{font-family:var(--sans);font-size:1rem}
.life-choices p{font-size:.8125rem;color:var(--muted);margin:0}
.home-page .photo-benefits{border-top:1px solid var(--line);padding-block:42px}
.home-page .photo-benefits .visual-section-title h2{font-size:1.75rem}
.home-page .benefit-teasers a{display:grid;grid-template-columns:112px 1fr;column-gap:17px;align-content:center}
.home-page .benefit-teasers img{grid-column:1;grid-row:1/4;aspect-ratio:1;height:112px}
.home-page .benefit-teasers>a>span,.home-page .benefit-teasers h3,.home-page .benefit-teasers p{grid-column:2;margin:0 0 5px}
.home-page .benefit-teasers h3{font-size:1rem}
.booking-journey{padding-block:44px;border-top:1px solid var(--line)}
.booking-journey h2,.booking-faq h2{font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.5}
.booking-steps{list-style:decimal-leading-zero;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding-left:24px;margin:28px 0 0}
.booking-steps li{padding-left:5px}
.booking-steps li::marker{color:var(--muted);font-size:.8rem}
.booking-steps h3{font-size:1rem;margin:0 0 12px}
.booking-steps p{font-size:.8125rem;color:var(--muted);line-height:1.85;margin:0 0 12px}
.booking-steps a{display:inline-flex;min-height:44px;align-items:center;font-size:.8rem;text-decoration:underline;text-underline-offset:5px}
.journey-note{font-size:.75rem;color:var(--muted);margin:20px 0 0}
.booking-faq{padding:42px 0;border-top:1px solid var(--line)}
.booking-faq>p{color:var(--muted);font-size:.85rem;margin:12px 0 22px}
.booking-faq details{border-bottom:1px solid var(--line);padding:0}
.booking-faq summary{cursor:pointer;min-height:64px;padding:20px 32px 20px 0;font-size:.94rem;line-height:1.6;font-weight:500}
.booking-faq details p{font-size:.875rem;line-height:1.9;color:var(--muted);max-width:860px;margin:0 0 20px}
.booking-faq a{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem;text-decoration:underline;text-underline-offset:5px}
.booking-faq>p:last-child{margin-bottom:0}
.start-guide .booking-checklist{padding-left:20px}
.booking-checklist li{padding-left:6px;margin:14px 0;line-height:1.9}
.contact-page .checkout-entry{margin-block:28px}
.room-cost-note{display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap;font-size:.8125rem;padding:15px 0;margin:0 0 22px;border-bottom:1px solid var(--line)}
.room-cost-note strong{font-weight:500}
.room-cost-note span{color:var(--muted);font-size:.75rem}
.room-cost-note a{min-height:36px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.home-page [id]{scroll-margin-top:120px}
@media(min-width:1001px) and (max-width:1300px){
 .site-header .global-nav{gap:12px}
 .site-header .global-nav a{font-size:.72rem}
 .brand-tagline{font-size:9px}
}
@media(max-width:1000px){
 .home-collection .stay-grid{gap:20px}
 .home-page .benefit-teasers{gap:20px}
 .home-page .benefit-teasers a{grid-template-columns:80px 1fr;column-gap:12px}
 .home-page .benefit-teasers img{height:80px}
 .booking-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page [id]{scroll-margin-top:145px}
}
@media(max-width:760px){
 /* Keep keyboard focus above the fixed mobile action bar. */
 html:has(.mobile-actions){scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
 .brand-tagline{font-size:9px}
 .context-nav{gap:0 20px;margin-bottom:22px}
 .context-nav a{min-height:44px;font-size:.8rem}
 .visual-hero h1 br:first-child{display:block}
 .visual-hero h1 br:last-child{display:block}
 .visual-hero .visual-hero-description{font-size:.8125rem;margin-bottom:18px}
 .visual-hero .visual-hero-note{font-size:.6875rem;margin-top:8px}
 .hero-choice{gap:5px}
 .hero-cost-link{font-size:.8125rem}
 .visual-budget .budget-inclusions{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:14px 0 0}
 .visual-budget .budget-inclusions strong{font-size:.8125rem}
 .home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding-block:8px}
 .home-shortcuts a{font-size:.75rem}
 .home-page #stays.home-collection{padding-block:34px}
 .home-collection .visual-section-title p{font-size:.8125rem;line-height:1.8}
 .home-collection .stay-grid{grid-template-columns:1fr;gap:28px}
 .home-collection .stay-card{padding-bottom:0}
 .collection-bottom{display:block;margin-top:22px;padding-top:20px}
 .collection-bottom p{font-size:.75rem}
 .collection-bottom .button{margin-top:16px;width:100%}
 .stay-price-note{font-size:.6875rem}
 .home-life{padding-block:34px}
 .home-life .visual-section-title>p{font-size:.8125rem;margin-top:16px}
 .life-choices{grid-template-columns:1fr;gap:28px}
 .life-choices img{aspect-ratio:1.9}
 .life-choices h3{font-size:1.05rem}
 .life-choices p{font-size:.75rem}
 .home-page .photo-benefits .visual-section-title h2{font-size:1.6rem}
 .home-page .benefit-teasers a{grid-template-columns:100px 1fr;column-gap:18px;min-height:110px}
 .home-page .benefit-teasers img{height:100px}
 .booking-journey,.booking-faq{padding-block:32px}
 .booking-steps{grid-template-columns:1fr;gap:22px;margin-top:24px}
 .booking-steps h3{margin-bottom:8px}
 .booking-steps p{margin-bottom:0}
 .journey-note{font-size:.6875rem}
 .booking-faq summary{font-size:.875rem;padding-block:18px;min-height:60px}
 .booking-faq details p{font-size:.8125rem}
 .room-cost-note{display:block;margin-bottom:18px}
 .room-cost-note span{display:block;margin-top:6px}
}
