/* Geometry and hierarchy only. Existing colors, photos and typefaces are retained. */
.home .welcome-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.home .welcome-copy{min-height:0;padding:22px 30px;box-shadow:none}
.home .welcome-copy h1{font-size:clamp(34px,4vw,48px);margin:8px 0 10px;line-height:1.12}
.home .welcome-copy .eyebrow{margin-bottom:8px}
.home .welcome-description{max-width:none;margin-bottom:9px;line-height:1.5}
.home .welcome-address{margin:8px 0 0;font-size:13px}
.home .booking-panel{padding:23px 28px;justify-content:flex-start;scroll-margin-top:16px}
.home .booking-panel h2{font-size:32px}
.home .booking-panel .eyebrow{margin-bottom:8px}
.home .booking-intro{margin-bottom:15px}
.home .search-fields{grid-template-columns:1fr 1fr .65fr 1fr;gap:16px}
.home .search-fields label{font-size:14px}
.home .search-submit{width:auto;min-width:250px;gap:36px;margin-top:17px}
.home .search-stage{display:inline-block;margin:12px 0 0 18px;max-width:560px;vertical-align:middle}
.home .search-mode-note{font-size:13px;color:var(--muted);margin:10px 0 0}
.home .booking-contact{padding-top:12px;margin-top:14px}
.home .homepage-catalog{margin-top:32px}
.home .catalog-heading{margin-bottom:20px}
.home .homepage-room-grid,.room-grid.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.home .homepage-room{display:flex;flex-direction:column;min-width:0}
.home .homepage-room-photo{aspect-ratio:4/3;height:auto;min-height:0}
.home .homepage-room-photo>img{display:block;width:100%;height:100%;object-fit:cover}
.home .homepage-room-body{display:flex;flex-direction:column;padding:23px;flex:1}
.home .homepage-room h3{font-size:31px}
.home .crm-card-facts{font-size:15px;line-height:1.6;margin-bottom:12px}
.home .crm-card-price{font-size:17px;margin:8px 0 16px}
.home .crm-card-result{font-size:15px}
.home .room-details-link{margin-top:auto;min-height:46px}
.home .trip-choices{margin:32px 0}
.crm-available .crm-card-price{display:none}
.crm-option .crm-option-price{display:block;font-size:24px;font-weight:600;line-height:1.3;margin-bottom:5px}
.crm-option>span{display:block;font-size:14px}
.room-detail-with-photos>aside{position:static}
.crm-booking-result:empty{display:none}
.crm-quote-price{display:block;font-size:30px;line-height:1.2;margin-bottom:10px}
.crm-booking-result>span{display:block;font-size:15px;font-weight:400;line-height:1.65}
.crm-request-next{width:100%;margin-bottom:16px}
.crm-request>summary{min-height:44px;padding-block:10px}
.crm-request[open]>summary{margin-bottom:12px}
@media(max-width:1050px){.home .homepage-room-grid,.room-grid.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home .search-stage{display:block;margin-left:0}.home .search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.room-detail-with-photos>aside{position:static}.room-detail-with-photos .crm-room-facts{order:0}.room-detail-with-photos>aside{order:1}.room-detail-with-photos .room-gallery{order:2}}
@media(max-width:760px){.home .welcome-copy{padding:20px 22px}.home .welcome-copy h1{font-size:36px}.home .welcome-copy .eyebrow{font-size:10px}.home .welcome-description{font-size:15px}.home .booking-panel{padding:22px}.home .booking-panel h2{font-size:28px}.home .search-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 12px}.home .search-fields label:nth-child(n+3){grid-column:1/-1}.home .search-fields input,.home .search-fields select{font-size:16px;height:50px;padding:10px}.home .search-submit{width:100%;min-width:0;margin-top:16px}.home .homepage-catalog{margin-top:28px}.home .catalog-heading h2{font-size:32px}.home .trip-choices{gap:12px}.home .trip-choices>a{padding:18px}.home .booking-contact{font-size:13px}.crm-room-facts{margin-top:0}.room-intro .welcome-actions{margin-bottom:20px}}
@media(max-width:650px){.home .homepage-room-grid,.room-grid.catalog-grid{grid-template-columns:minmax(0,1fr)}.home .homepage-room-photo{aspect-ratio:4/3;height:auto}.home .homepage-room-photo>img{height:100%}.home .homepage-room-body{padding:23px}}
@media(max-width:760px){.room-detail-with-photos .crm-room-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room-detail-with-photos .crm-room-facts>div{padding:14px}.room-detail-with-photos .crm-room-facts dd{font-size:16px;line-height:1.5}}
@media(max-width:350px){.home .search-fields{grid-template-columns:minmax(0,1fr)}.home .search-fields label:nth-child(n+3){grid-column:auto}.home .welcome-copy h1{font-size:32px}.home .booking-panel{padding:20px}}

/* Secondary actions on light pages need dark text, including room-page links. */
.page-intro .welcome-actions .button.outline{color:var(--ink);border-color:var(--green);background:transparent}
.page-intro .welcome-actions .button.outline:hover{color:var(--ink);background:var(--paper)}
.page-intro .eyebrow{color:var(--ink);font-size:11px}
.site-footer .footer-grid p{color:var(--ink);font-size:12px}
.site-footer .footer-grid .eyebrow{font-size:11px}
