/* A travel journal above a working discovery workspace. */
.prototype{max-width:1600px;border-radius:0;margin:0 auto;background:#f7f5eb}.app-header{padding:25px 38px;background:#fffdf4;border-bottom:1px solid #cbd3c1}.wordmark{font-size:29px}.waypoint-cover{display:grid;grid-template-columns:1.8fr 1fr;gap:6px;padding:12px 12px 0;background:#fffdf4}.hero-product{min-height:500px;padding:45px 38px 55px;display:flex;align-items:flex-end}.hero-product:after{background:linear-gradient(0deg,#0b2629ed 0%,#12333177 55%,#102a2b08)}.hero-title{max-width:700px}.hero-title h1{font-size:clamp(35px,4.2vw,64px);font-weight:500;line-height:1.12;margin:20px 0;letter-spacing:-.045em}.hero-title>p:last-child{font-size:13px;max-width:450px;line-height:1.8}.hero-title .eyebrow{font-size:10px;letter-spacing:.14em}.hero-product .image-label{right:15px;bottom:12px;font-size:8px}.cover-stay{border:0;padding:0;position:relative;overflow:hidden;text-align:left;background:#203a34;color:#fffef2;min-width:0}.cover-stay>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.cover-stay:after{content:'';position:absolute;inset:0;background:linear-gradient(#1128204d,transparent 35%,#112820e6)}.cover-stay:hover>img{transform:scale(1.045)}.cover-stay-top{position:absolute;top:25px;left:25px;z-index:1;font-size:10px;letter-spacing:.1em}.cover-stay-bottom{position:absolute;bottom:35px;left:28px;right:28px;z-index:1;display:grid;gap:13px}.cover-stay-bottom>small{font-size:11px}.cover-stay-bottom>strong{font-size:35px;font-weight:500;letter-spacing:-.04em;line-height:1.25}.cover-stay-bottom>span{font-size:22px;display:flex;gap:8px;align-items:center;border-top:1px solid #ffffff66;padding-top:20px}.cover-stay-bottom small{font-size:10px}.cover-stay-bottom .icon{margin-left:auto}.cover-register{grid-column:1/-1;display:flex;justify-content:space-between;padding:12px 12px 14px;color:#3d5147;font:9px monospace;letter-spacing:.14em}.search-region{padding-top:23px}.search-bar{margin-top:0;border-radius:4px;background:#fffef7;box-shadow:0 4px 20px #2339220c;border-color:#b8c6b1}.search-bar .primary{border-radius:3px}.waypoint-collections{padding-top:4px}.collection-card{border-radius:0;background:#eeeedd;border-color:#c7cdb8}.collection-card>img{width:125px}.collection-card strong{font-size:15px}.collection-card small{font-size:10px}.results-layout{grid-template-columns:190px 1fr;gap:26px;padding:15px 38px 50px}.filters{background:transparent;border:0;border-top:2px solid #203f35;border-radius:0}.filter-inner{padding-inline:0}.results-top{align-items:flex-start;border-top:2px solid #203f35;padding-top:19px}.results-top h2{font-size:28px;font-weight:500;letter-spacing:-.03em}.results-tools{display:flex;gap:16px;align-items:center}.result-view-toggle{display:flex;border:1px solid #b8c7ae;padding:3px;border-radius:5px;background:#f3f3e6}.result-view-toggle button{border:0;background:none;padding:8px 12px;min-height:38px;font-size:11px;color:#234b3e;border-radius:3px}.result-view-toggle button[aria-pressed=true]{background:#234b3e;color:#fffdf1}.sort-field{font-size:10px}.results-view.is-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.84fr);gap:22px;align-items:start}.results-view.is-map .stay-grid{grid-template-columns:1fr}.stay-card{border-radius:3px;box-shadow:none;background:#fffef7;overflow:hidden}.stay-card h3{font-size:28px;font-weight:500}.stay-card-content{padding:22px}.card-photo{aspect-ratio:1.85}.results-view.is-map .card-photo{aspect-ratio:1.9}.waypoint-map{height:680px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #bbc7ac;border-radius:3px;background:#e2e9d7}.results-view.is-map #map-host{position:sticky;top:20px}.map-terrain{width:100%;height:100%;position:absolute;inset:0;z-index:-1;object-fit:cover}.map-heading{position:absolute;top:0;left:0;right:0;padding:20px;display:grid;gap:6px;background:linear-gradient(#f7faedee,#f7faed00);font-size:17px}.map-heading small{font-size:9px;color:#4c634e}.map-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);padding:10px 13px;min-height:44px;border:1px solid #2e4e3c;background:#fffef2;border-radius:30px;color:#193e31;font-size:13px;font-weight:650;box-shadow:0 4px 9px #283c2733;transition:background .2s,color .2s}.map-pin:hover,.map-pin:focus-visible{background:#193e31;color:#fffef2;z-index:2}.map-north{position:absolute;right:18px;top:90px;display:grid;text-align:center;gap:4px;font:10px monospace}.map-north>span{font-size:24px}.map-key{position:absolute;bottom:18px;left:18px;display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid #a6b99c;background:#fbfff2e6;border-radius:3px;font-size:10px}.case-study{background:#e5e7d8}.case-heading h2{font-weight:500}.comparison-grid .compare-property{border-radius:0}.booking-card{border-radius:3px}.detail-hero{border-radius:0}.waypoint-cover,.waypoint-collections{animation:journal-in .7s both}.waypoint-collections{animation-delay:.1s}@keyframes journal-in{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1200px){.results-view.is-map{grid-template-columns:1fr 300px}.results-layout{grid-template-columns:160px 1fr;padding-inline:24px;gap:20px}.results-tools{flex-direction:column;align-items:flex-end;gap:10px}.hero-product{min-height:450px}.collection-card>img{width:95px}}
@media(max-width:1000px){.results-view.is-map{grid-template-columns:1fr}.results-view.is-map #stay-grid{display:none}.results-view.is-map #map-host{position:static}.waypoint-map{height:620px}.hero-title h1{font-size:37px}.cover-stay-bottom>strong{font-size:28px}.collection-card>img{width:70px}.collection-card strong{font-size:12px}.collection-card small{font-size:9px}}
@media(max-width:650px){.app-header{padding:16px 18px;min-height:70px}.wordmark{font-size:25px}.waypoint-cover{grid-template-columns:1fr;padding:6px 6px 0;gap:5px}.hero-product{min-height:360px;padding:25px 22px 37px}.hero-title h1{font-size:35px;line-height:1.19;max-width:320px;margin:15px 0}.hero-title>p:last-child{font-size:11px;max-width:290px;line-height:1.7}.hero-title .eyebrow{font-size:8px;letter-spacing:.05em}.cover-stay{min-height:130px}.cover-stay>img{width:40%;left:auto;right:0;object-position:50% 58%}.cover-stay:after{background:linear-gradient(90deg,#193c32 50%,#193c3200 100%)}.cover-stay-top{font-size:8px;left:18px;top:14px}.cover-stay-bottom{left:18px;right:18px;bottom:14px;gap:4px}.cover-stay-bottom>small{display:none}.cover-stay-bottom>strong{font-size:23px;max-width:60%}.cover-stay-bottom>span{padding-top:7px;margin-top:3px;border:0;font-size:17px;max-width:58%}.cover-stay-bottom .icon{width:17px}.cover-register{font-size:7px;letter-spacing:.04em;padding:8px}.cover-register span:nth-child(2){display:none}.search-region{padding-top:17px}.search-bar{margin-top:0}.waypoint-collections{padding:0 18px 22px}.collection-card{flex-basis:278px}.collection-card>img{width:100px}.collection-card strong{font-size:13px}.collection-card small{font-size:10px}.results-layout{display:block;padding:0 18px 28px}.filters{margin-bottom:18px;border-top:1px solid #b8c7ae;border-bottom:1px solid #b8c7ae;background:#eeefe1}.filter-inner{padding:0 15px 18px}.results-top{gap:16px;padding-top:18px;flex-wrap:wrap}.results-top h2{font-size:25px}.results-tools{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.result-view-toggle button{min-height:40px;font-size:11px}.sort-field{font-size:10px;max-width:180px}.sort-field select{max-width:170px;font-size:10px}.waypoint-map{height:530px}.results-view.is-map{display:block}.stay-card h3{font-size:26px}.stay-card-content{padding:20px}.map-pin{font-size:12px}.map-heading small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.waypoint-cover,.waypoint-collections{animation:none}.cover-stay>img,.map-pin{transition:none}.cover-stay:hover>img{transform:none}}
/* Keep the cover card's layout above the shared minimum tap-target rule. */
@media(max-width:650px){body .waypoint-cover .cover-stay{min-height:130px}.hero-product .image-label{max-width:190px;font-size:7px;line-height:1.4}}
.collection-card small{color:#53614b}

/* Phone cover: travel photography, a useful search and an immediately visible choice. */
@media(max-width:650px){
 .hero-product{min-height:275px;padding:22px 20px 32px}.hero-title h1{font-size:30px;line-height:1.2;margin:12px 0;max-width:320px}.hero-title>p:last-child{font-size:11px;line-height:1.65;max-width:300px}
 body .waypoint-cover .cover-stay{min-height:104px}.cover-stay-top{top:12px}.cover-stay-bottom{bottom:12px;gap:3px}.cover-stay-bottom>strong{font-size:21px}.cover-stay-bottom>span{padding-top:4px;margin-top:0}.cover-register{padding:5px 8px}
 .search-region{padding-top:12px}.app-header{min-height:64px;padding-block:12px}.wordmark{min-height:40px;display:inline-flex;align-items:center}
 .filters label{min-height:40px;display:flex;align-items:center;gap:8px}.filters input[type=checkbox]{min-width:18px;min-height:18px}.filters input[type=range]{min-height:40px}
 .booking-card input,.booking-card select,.booking-card textarea{font-size:16px}.case-study a{display:inline-flex;align-items:center;min-height:44px}
}

/* Phone refinements: full sorting labels and a shorter path into booking. */
@media(max-width:650px){
 .results-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
 .results-tools .sort-field{display:flex;align-items:center;gap:14px;justify-content:space-between;flex:1 0 100%;width:100%;max-width:none;min-width:0}
 .results-tools .sort-field>span{flex-shrink:0;font-size:12px;line-height:1.6}
 .results-tools .sort-field select{flex:1;min-width:0;width:auto;max-width:none;font-size:16px;min-height:48px}
 .screen-inner:has(.booking-layout){padding-top:14px}
 .screen-inner:has(.booking-layout)>.back-button{min-height:44px;padding:7px 0;margin:0;font-size:12px;line-height:1.6}
 .screen-inner:has(.booking-layout)>.screen-heading{margin:10px 0 18px}
 .screen-inner:has(.booking-layout)>.screen-heading .screen-kicker{font-size:12px;line-height:1.6;margin:0 0 10px;align-items:start;gap:9px}
 .screen-inner:has(.booking-layout)>.screen-heading h1{font-size:29px;line-height:1.2;letter-spacing:-.025em;margin:0;max-width:none}
 .booking-layout{gap:24px}
 .booking-flow .stepper{margin:0 0 17px}
 .booking-flow .stepper>span{font-size:11px;line-height:1.5;padding:10px 9px;gap:7px;min-width:0}
 .booking-flow .stepper i{width:22px;height:22px;flex-shrink:0}
 .booking-flow .booking-inline-total{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 17px;padding:10px 14px;margin-bottom:20px;font-size:13px;line-height:1.6;align-items:center}
 .booking-inline-total>span{grid-column:1;grid-row:1}
 .booking-inline-total>strong{grid-column:2;grid-row:1/3;margin:0;font-size:25px;line-height:1.2;white-space:nowrap;align-self:center}
 .booking-inline-total>a{grid-column:1;grid-row:2;display:flex;align-items:center;min-height:44px;width:auto;font-size:12px;line-height:1.5}
 .booking-step h2{font-size:25px;line-height:1.3;margin-bottom:18px}
 .booking-step>.compact-search{margin-bottom:20px}
 .booking-step>.compact-search button{min-height:64px;padding:10px 13px}
 .booking-step>.compact-search .field-label{font-size:11px;line-height:1.5}
 .booking-step>.compact-search .field-value{font-size:14px;line-height:1.6}
}
