/* Guest search extends the existing island palette and flat surfaces. */
.rental-home{padding-top:32px}.rental-home-header{margin-bottom:24px}.rental-home-header h1{font-size:clamp(28px,2.6vw,36px);line-height:1.3;letter-spacing:-.025em;max-width:36ch}.rental-home-header>p{font-size:14px;color:var(--muted);margin-top:12px;max-width:75ch}.stay-results{scroll-margin-top:100px}.stay-results>.sample-notice{margin-bottom:24px}.rental-categories{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;border-bottom:1px solid var(--line);padding:28px 0;font-size:13px}.rental-categories>span{color:var(--muted)}.rental-categories .text-link{font-size:13px}.rental-home .stay-image{aspect-ratio:1.45}.rental-home .stay-results-heading{margin-top:32px}.rental-home .empty-state{margin-block:24px}.rental-home .stay-card h3{font-size:20px}
.home-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px 48px;padding-top:34px;align-items:center}.hero-copy h1.rental-title{font-size:clamp(42px,4.2vw,57px);line-height:1.14;letter-spacing:-.035em;max-width:13ch}.hero-copy>p{max-width:45ch;margin-top:24px;font-size:15px;line-height:1.85}.hero-collection-link{margin-top:25px;font-size:13px}.hero-photo{height:418px;margin:0}.hero-photo img{height:100%;width:100%;object-fit:cover}.home-hero-search{grid-column:1/-1;margin-top:2px;min-width:0}.booking-search{background:#f6f9f7;border:1px solid #c8d8d4;border-radius:14px;padding:24px 26px;scroll-margin-top:100px;min-width:0}.booking-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:20px}.booking-heading h2{font-size:22px;letter-spacing:-.02em}.booking-heading>span{font-size:11px;color:#526d70}.booking-form{display:grid;grid-template-columns:minmax(170px,1.3fr) minmax(145px,1fr) minmax(145px,1fr) minmax(110px,.75fr) auto;gap:0 18px;align-items:end;min-width:0}.booking-field{border-right:1px solid #c8d8d4;padding-right:17px;min-width:0}.booking-field label,.booking-refinements label{display:block;font-size:11px;font-weight:500;color:#526d70;margin-bottom:3px}.booking-field input,.booking-field select{font:inherit;font-size:15px;font-weight:500;line-height:1.5;border:0;background:transparent;color:var(--ink);border-radius:0;width:100%;min-width:0;max-width:100%;min-height:40px;padding:5px 0;caret-color:var(--ocean)}.booking-field input:focus-visible,.booking-field select:focus-visible{outline:2px solid var(--ocean);outline-offset:2px;border-radius:3px}.booking-submit{min-height:59px;padding-inline:24px;gap:10px;white-space:nowrap}.booking-explainer{font-size:10px;color:#526d70;margin:16px 0 0;line-height:1.75}.booking-refinements{grid-column:1/-1;display:flex;gap:22px;border-top:1px solid #c8d8d4;padding-top:20px;margin-top:20px}.booking-refinements>div{flex:1;min-width:0}.booking-refinements select{font:inherit;font-size:13px;color:var(--ink);min-height:44px;width:100%;min-width:0;background:white;border:1px solid #b7c9c3;border-radius:7px;padding:8px 11px}.booking-refinements label{margin-bottom:7px}.search-errors{background:#fbefeb;color:#8f3828;padding:16px 18px;border-radius:8px;font-size:13px;margin:0 0 22px}.search-errors ul{padding-left:20px;margin:7px 0 0}.quick-stay-types{padding-top:42px;padding-bottom:5px}.quick-stay-types>div{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:23px}.quick-stay-types h2{font-size:23px}.quick-stay-types>div p{font-size:12px;color:var(--muted)}.quick-stay-types nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line)}.quick-stay-types nav>a{padding:23px 22px;position:relative;border-right:1px solid var(--line);min-width:0}.quick-stay-types nav>a:first-child{padding-left:0}.quick-stay-types nav>a:last-child{border-right:0}.quick-stay-types nav>a:hover{background:var(--sand)}.quick-stay-types strong{display:block;font-weight:600;font-size:18px;padding-right:22px}.quick-stay-types nav span{font-size:11px;color:var(--muted);display:block;margin-top:5px;max-width:24ch}.quick-stay-types nav .icon{position:absolute;right:18px;top:27px;width:17px}.home-stay-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.home-stay-grid .stay-image{aspect-ratio:1.65}.home-stay-grid .stay-card h3{font-size:22px}.home-stay-grid .stay-spec{font-size:13px}.home-stay-grid .stay-location{font-size:12px}.home-stay-grid .stay-price strong{font-size:20px}.home-collection{margin-top:62px}.stays-page .page-header{max-width:950px;padding-bottom:30px}.stays-page .page-header h1{font-size:clamp(34px,3.5vw,48px);max-width:21ch}.stays-page .booking-search{margin-bottom:40px}.stay-results-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin:32px 0 24px}.stay-results-heading h2{font-size:24px}.stay-results-heading p{font-size:12px;color:var(--muted);margin-top:8px}.stay-results-heading .text-link{font-size:12px;white-space:nowrap}.stay-date-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--ocean-dark);margin:0 0 24px}.stay-date-summary .icon{width:18px;height:18px}.search-sample-note{margin-top:28px}.stays-page .empty-state{margin-bottom:26px}
@media(max-width:1150px){.booking-form{grid-template-columns:minmax(150px,1.15fr) minmax(130px,1fr) minmax(130px,1fr) minmax(95px,.65fr) auto;gap:0 13px}.booking-submit{padding-inline:17px}.booking-field{padding-right:12px}.booking-field input,.booking-field select{font-size:13px}.hero-copy h1.rental-title{font-size:48px}.hero-photo{height:400px}.home-hero{gap:26px 32px}}
@media(max-width:900px){.booking-heading{align-items:start}.booking-heading>span{max-width:22ch;text-align:right}.booking-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.booking-field{padding:0;border:0}.booking-submit{grid-column:1/-1;min-height:48px}.booking-field input,.booking-field select{background:white;border:1px solid #b7c9c3;border-radius:7px;padding:9px;min-height:46px;font-size:14px}.booking-field label{margin-bottom:7px}.booking-refinements{margin-top:3px}.hero-copy h1.rental-title{font-size:44px}.home-hero{gap:24px}.hero-photo{height:390px}.hero-copy>p{font-size:14px}.quick-stay-types nav>a{padding:20px 14px}.quick-stay-types strong{font-size:16px}.quick-stay-types nav .icon{right:10px;width:15px}}
@media(max-width:800px){.home-hero{grid-template-columns:1fr;padding-top:28px;gap:24px}.hero-copy h1.rental-title{max-width:20ch;font-size:45px}.hero-copy>p{max-width:60ch;margin-top:18px}.hero-collection-link{margin-top:17px}.home-hero-search{order:2}.hero-photo{order:3;height:300px}.booking-search{padding:22px}.quick-stay-types{padding-top:36px}.quick-stay-types>div{display:block}.quick-stay-types>div p{margin-top:9px}.quick-stay-types nav{grid-template-columns:1fr 1fr}.quick-stay-types nav>a{padding:20px!important}.quick-stay-types nav>a:nth-child(2){border-right:0}.quick-stay-types nav>a:nth-child(-n+2){border-bottom:1px solid var(--line)}.quick-stay-types nav .icon{right:18px}.home-stay-grid .stay-card h3{font-size:19px}.home-stay-grid .stay-price strong{font-size:17px}.home-stay-grid .stay-price>span{max-width:none}.stays-page .booking-search{margin-bottom:30px}}
@media(max-width:520px){.hero-copy h1.rental-title{font-size:37px;line-height:1.16;max-width:15ch}.hero-copy>p{font-size:13px;line-height:1.85;margin-block:18px 0}.hero-collection-link{font-size:12px;margin-top:16px}.hero-photo{height:250px}.booking-search{padding:20px 17px;border-radius:12px}.booking-heading{display:block;margin-bottom:18px}.booking-heading h2{font-size:20px}.booking-heading>span{display:none}.booking-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.booking-field:first-child{grid-column:1/-1}.booking-field label{font-size:10px}.booking-field input,.booking-field select,.booking-refinements select{font-size:16px;min-height:46px;padding:8px;max-width:100%;width:100%}.booking-field input[type=date]{display:block;min-width:0}.booking-field input::-webkit-date-and-time-value{text-align:left;min-width:0}.booking-submit{grid-column:auto;font-size:13px;min-height:46px;padding-inline:12px;gap:7px}.booking-submit .icon{width:17px}.booking-explainer{font-size:9px;margin-top:14px}.booking-refinements{display:grid;grid-template-columns:1fr 1fr;gap:15px 12px;padding-top:18px}.booking-refinements>div:last-child:nth-child(3){grid-column:1/-1}.booking-refinements label{font-size:10px}.quick-stay-types{padding-top:30px}.quick-stay-types h2{font-size:22px}.quick-stay-types nav>a{padding:20px 12px!important}.quick-stay-types nav .icon{right:10px;top:23px}.quick-stay-types strong{font-size:16px}.quick-stay-types nav span{font-size:10px;max-width:20ch}.home-stay-grid{grid-template-columns:1fr;gap:32px}.home-stay-grid .stay-image{aspect-ratio:1.45}.home-stay-grid .stay-card h3{font-size:20px}.home-collection{margin-top:48px}.stay-results-heading{align-items:start}.stay-results-heading h2{font-size:22px}.stay-results-heading p{font-size:11px;line-height:1.8}.stay-results-heading .text-link{font-size:11px}.stay-date-summary{font-size:11px}.stays-page .page-header h1{font-size:34px}.stays-page .page-header>p{font-size:13px}.search-errors{font-size:12px;padding:13px}.stays-page .booking-search{margin-bottom:26px}}

@media(max-width:600px){.rental-home{padding-top:24px}.rental-home-header h1{font-size:28px;max-width:22ch}.rental-home-header>p{font-size:13px}.rental-categories{gap:14px 24px}.rental-categories>span{flex-basis:100%}.rental-home .stay-card h3{font-size:19px}}

.booking-more{grid-column:1/-1;border-top:1px solid #c8d8d4;margin-top:18px;padding-top:8px;min-width:0}.booking-more>summary{cursor:pointer;font-size:13px;font-weight:500;min-height:44px;align-content:center;color:var(--ocean-dark)}.booking-more .booking-refinements{border:0;padding-top:8px;margin-top:0}.booking-more:not([open])>.booking-refinements{display:none}.booking-more>summary:focus-visible{outline:2px solid var(--ocean);outline-offset:3px;border-radius:4px}.rental-home .booking-explainer{margin-top:8px}

.booking-more{border-bottom:0}.booking-more>summary{padding:0}.rental-home .stay-results-heading{margin-block:24px 16px}.rental-home .stay-results>.sample-notice{margin-bottom:20px}.booking-more>summary .icon{flex:none}

/* Bedroom landing pages (12/11/2026): comparison table, credited photos and sidebar links. Token values only. */
.bedroom-guide>*{min-width:0}.bedroom-guide .article-body{margin-inline:0}.bedroom-guide .reading-aside .text-link{display:flex}.compare-table-wrap{overflow-x:auto;margin:24px 0;border:1px solid var(--line);border-radius:14px}.compare-table{width:100%;min-width:560px;border-collapse:collapse;font-size:13px;line-height:1.7}.compare-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.compare-table th,.compare-table td{padding:14px;text-align:left;vertical-align:top}.compare-table tr+tr th,.compare-table tr+tr td,.compare-table tbody tr:first-child th,.compare-table tbody tr:first-child td{border-top:1px solid var(--line)}.compare-table thead th{background:var(--sea-light);color:var(--ocean-dark);font-weight:600}.compare-table td{color:var(--muted)}.compare-table tbody th{color:var(--ink);font-weight:600;position:sticky;left:0;background:var(--paper)}.compare-table thead th:first-child{position:sticky;left:0;z-index:1}.credited-figure .photo-source{display:block;margin-top:5px}.credited-figure figcaption a{color:inherit}
