/* Booking-style comparison: one search, comparable offer rows, selection, details, contact. */
.hotel-search{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px}.hotel-search-fields{display:grid;grid-template-columns:1.15fr 1fr 1.15fr;gap:20px}.hotel-search label{font-size:12px;line-height:1.5;margin-bottom:9px}.hotel-search input,.hotel-search select{font-size:16px}.hotel-search-button{background:var(--accent);color:var(--accent-ink);justify-content:space-between;min-height:53px;margin-top:18px;gap:35px;font-size:14px}.hotel-search-button span:last-child{font-size:24px;line-height:1}.hotel-search .field-note{font-size:11px;line-height:1.6;margin-top:12px}.hotel-search .form-disclosure{font-size:11px}.hotel-search-hero{padding:0;background:transparent;border:0;border-radius:0;margin-top:25px;max-width:560px}.hotel-search-hero .hotel-search-fields{gap:12px;grid-template-columns:1fr 1fr}.hotel-search-hero .hotel-search-fields>div:first-child{grid-column:1/-1}.hotel-search-hero label{font-size:11px;margin-bottom:5px}.hotel-search-hero input,.hotel-search-hero select{font-size:14px;min-height:46px}.hotel-search-hero .hotel-search-button{width:100%;margin-top:13px;font-size:13px}.hotel-search-hero .field-note,.hotel-search-hero .form-disclosure{font-size:10px}.home-page .architecture-figure img{max-height:730px;min-height:650px}.booking-search-wrap{padding-bottom:40px}.booking-section{background:var(--soft);padding:40px 0 68px;scroll-margin-top:24px}.booking-section [data-stage-title]{outline-offset:8px}.flow-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0 0 35px;list-style:none;border-bottom:1px solid var(--line);gap:20px}.flow-progress li{position:relative;padding-bottom:20px}.flow-progress button{border:0;background:transparent;padding:0;display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px;line-height:1.5;min-height:40px;text-align:left;font-weight:550}.flow-progress button span{width:29px;height:29px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:11px;flex-shrink:0}.flow-progress button:disabled{opacity:1;cursor:default}.flow-progress .is-current button{color:var(--ink);font-weight:700}.flow-progress .is-current button span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.flow-progress .is-current:after{content:'';position:absolute;height:2px;bottom:-1px;left:0;right:0;background:var(--ink)}.flow-progress .is-done button span{background:var(--ink);color:var(--bg);border-color:var(--ink)}.flow-empty{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;padding:20px 0}.flow-empty h2,.flow-stage-heading h2{font-size:clamp(34px,3.9vw,55px);line-height:1.08;font-weight:500}.flow-empty>div>p:not(.eyebrow){font-size:14px;max-width:570px;margin-top:23px;color:var(--muted)}.flow-empty .button{margin-top:24px;font-size:12px}.empty-price-note{align-self:center;padding:28px;border:1px solid var(--line);border-radius:10px;max-width:400px;background:var(--surface)}.empty-price-note strong{font-size:19px;color:var(--ink)}.empty-price-note p{font-size:13px;line-height:1.75;color:var(--muted);margin-top:13px}.empty-price-note .text-link{font-size:12px}.flow-stage-heading{display:flex;gap:35px;justify-content:space-between;align-items:center;margin-bottom:28px}.flow-stage-heading>div>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:16px;max-width:700px}.flow-stage-heading .eyebrow{margin-bottom:14px}.flow-stage-heading .button{flex-shrink:0;font-size:12px}.flow-stage-heading .flow-criteria{font-size:15px;color:var(--ink);font-weight:550}.hotel-results-bar{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:20px}.hotel-results-bar>p{font-size:12px;color:var(--muted);margin:0}.hotel-results-bar>div{display:flex;gap:12px;align-items:center}.hotel-results-bar label{margin:0;white-space:nowrap;font-size:11px}.hotel-results-bar select{width:auto;min-height:44px;font-size:12px}.hotel-offers{display:grid;gap:18px}.hotel-offer{display:grid;grid-template-columns:130px minmax(0,1fr) 235px;gap:27px;background:var(--surface);border:1px solid var(--line);padding:26px;border-radius:12px;align-items:stretch}.hotel-offer.is-selected{border-color:var(--green);outline:1px solid var(--green)}.hotel-identity{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:8px;background:var(--soft);min-height:190px}.hotel-identity>span{font-size:64px;line-height:1;font-weight:500;letter-spacing:-.065em;color:var(--ink)}.hotel-identity>small{font-size:9px;letter-spacing:.14em;color:var(--muted)}.hotel-offer[data-provider=b] .hotel-identity{background:var(--ink)}.hotel-offer[data-provider=b] .hotel-identity span,.hotel-offer[data-provider=b] .hotel-identity small{color:var(--bg)}.hotel-offer[data-provider=c] .hotel-identity{background:var(--accent)}.hotel-offer[data-provider=c] .hotel-identity span,.hotel-offer[data-provider=c] .hotel-identity small{color:var(--accent-ink)}.hotel-title-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.hotel-description h3{font-size:28px;line-height:1.2;font-weight:600;letter-spacing:-.04em}.hotel-badge{font-size:10px;line-height:1.6;color:var(--ink);background:var(--soft);padding:4px 8px;border-radius:4px}.hotel-description>p{font-size:12px;color:var(--muted);line-height:1.7;margin-top:10px}.hotel-inclusions{list-style:none;padding:0;margin:15px 0 12px;font-size:12px;line-height:1.65;color:var(--text)}.hotel-inclusions li{padding:3px 0 3px 18px;position:relative}.hotel-inclusions li:before{content:'✓';position:absolute;left:0;color:var(--green)}.hotel-details{border:0;padding:8px 0 0}.hotel-details summary{font-size:11px;color:var(--green);line-height:1.6;cursor:pointer;list-style:revert;font-weight:650}.hotel-details>div{padding:4px 0 0}.hotel-details p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:9px}.hotel-price{border-left:1px solid var(--line);padding-left:27px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right}.hotel-price>span{font-size:10px;color:var(--muted)}.hotel-price>strong{font-size:35px;line-height:1.2;letter-spacing:-.065em;font-weight:650;font-variant-numeric:tabular-nums;color:var(--ink);margin-top:8px;white-space:nowrap}.hotel-price>small{font-size:10px;line-height:1.6;color:var(--muted);max-width:190px;margin-top:7px}.hotel-price>.button{font-size:12px;margin-top:20px;justify-content:space-between;width:100%;gap:15px;background:var(--ink);color:var(--bg);min-height:47px}.hotel-price>p{font-size:10px;color:var(--muted);margin-top:9px}.flow-pricing-note{font-size:11px;color:var(--muted);max-width:850px;line-height:1.8;margin-top:23px}.booking-details-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:35px;align-items:start}.booking-form{padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.booking-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}.booking-field-grid .wide-field{grid-column:1/-1}.booking-form label{font-size:12px}.booking-form input:not([type=checkbox]),.booking-form select{font-size:16px}.booking-form .form-actions{gap:13px;flex-wrap:wrap;justify-content:space-between}.booking-form .form-actions .button{font-size:12px}.booking-form .check{font-size:12px}.booking-form .field-note{font-size:11px;line-height:1.8}.booking-form .error{font-size:13px}.booking-selected{background:var(--accent);color:var(--accent-ink);padding:30px;border-radius:10px}.booking-selected .eyebrow{color:#43572c;display:block;margin-bottom:20px}.booking-selected h3{font-size:32px;color:var(--accent-ink);font-weight:550}.booking-selected>p{font-size:12px;line-height:1.8;margin-top:17px;color:#3a4b28}.booking-selected>strong{display:block;margin-top:25px;font-size:42px;line-height:1.2;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.booking-selected>small{font-size:10px;display:block;color:#43572c;margin-top:9px}.booking-selected>p:last-child{padding-top:23px;border-top:1px solid #a5bc6a;margin-top:24px}.booking-review{background:var(--surface);padding:30px;border:1px solid var(--line);border-radius:12px}.booking-review h3{font-size:27px;line-height:1.15;letter-spacing:-.04em;margin-bottom:19px}.booking-review .summary-list div{grid-template-columns:1fr;font-size:12px;gap:4px;padding-block:13px}.text-button{display:block;padding:5px 0;background:transparent;border:0;color:var(--green);font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:44px;text-align:left}.booking-review .text-button:first-of-type{margin-top:17px}.flow-complete{padding:20px 0;max-width:850px}.flow-complete h2{font-size:clamp(33px,4vw,55px);font-weight:500;line-height:1.1}.flow-complete>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:25px;max-width:680px}.flow-complete .summary-list{margin-top:28px}.flow-complete .button{margin-top:28px}.tariff-section{padding-block:50px 90px;scroll-margin-top:25px}.tariff-section h2{font-size:40px;font-weight:500}.tariff-section>p{max-width:850px;font-size:14px;color:var(--muted);margin-top:20px}.tariff-section>label{margin-top:28px}.tariff-section>select{max-width:350px}.tariff-scroll{overflow:auto;margin-top:25px;border:1px solid var(--line);border-radius:9px}.tariff-scroll table{border-collapse:collapse;width:100%;font-size:13px;background:var(--surface)}.tariff-scroll caption{text-align:left;padding:16px;background:var(--soft);font-size:12px;color:var(--muted)}.tariff-scroll th{text-align:left;background:var(--soft);color:var(--ink);font-weight:650;padding:15px 18px;white-space:nowrap}.tariff-scroll td{padding:15px 18px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}.tariff-scroll td:first-child{white-space:normal}.booking-section [data-step-panel]:not([hidden]){animation:flow-panel-enter 180ms cubic-bezier(.23,1,.32,1)}@keyframes flow-panel-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.hotel-offer{transition:border-color 180ms ease}.hotel-offer:hover{border-color:var(--green)}.choose-provider:hover{background:var(--green)}.hotel-search-button:hover{background:#c5df6d}.text-button:hover{color:var(--ink)}}
@media(max-width:1100px){.hotel-offer{grid-template-columns:100px minmax(0,1fr) 205px;gap:22px;padding:22px}.hotel-identity{min-height:190px}.hotel-price{padding-left:22px}.hotel-price>strong{font-size:32px}.hotel-title-row{gap:10px}.hotel-description h3{font-size:25px}.booking-details-layout{grid-template-columns:1.5fr 1fr;gap:25px}.booking-form,.booking-review,.booking-selected{padding:25px}.booking-form .form-actions .button{font-size:11px}.flow-empty{gap:45px}.home-page .architecture-figure img{min-height:680px;max-height:760px}.hotel-search-hero .hotel-search-fields{gap:11px}.hotel-search-hero input,.hotel-search-hero select{font-size:14px}}
@media(max-width:850px){.hotel-offer{grid-template-columns:85px minmax(0,1fr);gap:22px}.hotel-price{grid-column:2;border-left:0;border-top:1px solid var(--line);padding:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:7px 20px;align-items:center;text-align:left}.hotel-price>span{grid-column:1;grid-row:1}.hotel-price>strong{grid-column:1;grid-row:2;margin:0;font-size:35px}.hotel-price>small{grid-column:1;grid-row:3;margin:0}.hotel-price>.button{grid-column:2;grid-row:1/3;margin:0}.hotel-price>p{grid-column:2;grid-row:3;margin:0;font-size:9px;text-align:center}.hotel-identity{grid-row:1/3;min-height:240px}.hotel-identity>span{font-size:50px}.booking-details-layout{grid-template-columns:1fr}.booking-selected{order:-1;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.booking-selected .eyebrow{grid-column:1;grid-row:1;margin:0}.booking-selected h3{grid-column:1;grid-row:2;font-size:28px}.booking-selected>p:not(:last-child){grid-column:1;grid-row:3;margin:0}.booking-selected>strong{grid-column:2;grid-row:1/3;text-align:right;margin:0;align-self:center;font-size:36px}.booking-selected>small{grid-column:2;grid-row:3;text-align:right;margin:0}.booking-selected>p:last-child{grid-column:1/-1;padding-top:15px;margin-top:12px}.booking-review{order:-1}.flow-stage-heading{gap:20px}.flow-stage-heading h2{font-size:40px}.hotel-search-fields{gap:14px}.hotel-search{padding:23px}.hotel-search-hero{padding:0}.hotel-search-hero .hotel-search-fields{grid-template-columns:1fr 1fr}.flow-progress{gap:15px}.flow-progress button{font-size:10px;gap:7px}.home-page .architecture-figure img{min-height:720px}}
@media(max-width:767px){.home-page .architecture-figure img{min-height:0;height:410px}.hotel-search-hero{margin-top:27px}.hotel-search-hero label,.hotel-search label{font-size:12px}.hotel-search-hero input,.hotel-search-hero select{font-size:16px;min-height:50px}.hotel-search-hero .hotel-search-fields{grid-template-columns:1fr 1fr;gap:16px 13px}.hotel-search-hero .hotel-search-button{min-height:54px;font-size:14px}.hotel-search-hero .field-note,.hotel-search-hero .form-disclosure{font-size:11px}.hotel-search-fields{grid-template-columns:1fr 1fr;gap:18px}.hotel-search-fields>div:first-child{grid-column:1/-1}.hotel-search-button{width:100%;font-size:14px}.booking-search-wrap{padding-bottom:27px}.booking-section{padding-block:30px 48px}.flow-progress{grid-template-columns:1fr 1fr;gap:11px 23px;margin-bottom:28px}.flow-progress li{padding-bottom:8px}.flow-progress .is-current:after{bottom:-1px}.flow-progress button{font-size:12px;gap:10px;min-height:44px}.flow-progress button span{width:27px;height:27px}.flow-empty{grid-template-columns:1fr;gap:28px;padding-top:5px}.flow-empty h2{font-size:37px}.flow-empty>div>p:not(.eyebrow){font-size:16px}.empty-price-note{max-width:100%;padding:25px}.empty-price-note p{font-size:14px}.flow-stage-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:25px}.flow-stage-heading h2{font-size:39px}.flow-stage-heading>div>p:not(.eyebrow){font-size:15px}.flow-stage-heading .button{font-size:12px;min-height:43px}.hotel-results-bar{flex-direction:column;align-items:stretch;gap:15px;margin-bottom:20px}.hotel-results-bar>p{font-size:12px}.hotel-results-bar>div{justify-content:space-between;gap:13px}.hotel-results-bar label{font-size:11px}.hotel-results-bar select{font-size:13px;max-width:270px}.hotel-offer{grid-template-columns:70px minmax(0,1fr);gap:18px;padding:22px}.hotel-identity{grid-row:1;min-height:70px;max-height:80px;gap:7px}.hotel-identity>span{font-size:33px}.hotel-identity>small{font-size:7px;letter-spacing:.08em}.hotel-description{display:contents}.hotel-title-row{align-self:center;gap:9px}.hotel-description h3{font-size:27px}.hotel-badge{font-size:9px}.hotel-description>p{grid-column:1/-1;margin:0;font-size:14px}.hotel-inclusions{grid-column:1/-1;margin:0;font-size:13px}.hotel-details{grid-column:1/-1;padding:0}.hotel-details summary{font-size:12px;min-height:36px}.hotel-details p{font-size:12px}.hotel-price{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:7px 18px;padding-top:18px}.hotel-price>strong{font-size:33px}.hotel-price>span{font-size:10px}.hotel-price>small{font-size:10px;max-width:100%}.hotel-price>.button{font-size:12px;min-height:49px;padding:12px 14px}.hotel-price>p{font-size:10px}.flow-pricing-note{font-size:12px;line-height:1.85}.booking-field-grid{gap:20px 15px}.booking-form label{font-size:13px}.booking-form{padding:25px 22px}.booking-form .form-actions{gap:13px}.booking-form .form-actions .button{font-size:12px;width:100%;min-height:49px}.booking-form .check{font-size:13px}.booking-form .field-note{font-size:12px}.booking-review{padding:25px}.booking-review .summary-list div{font-size:13px}.booking-selected{padding:24px;gap:8px 15px}.booking-selected>strong{font-size:34px}.booking-selected h3{font-size:27px}.booking-selected>p{font-size:12px}.flow-complete h2{font-size:37px}.flow-complete>p:not(.eyebrow){font-size:16px}.flow-complete .summary-list div{grid-template-columns:1fr;gap:6px;font-size:14px}.tariff-section{padding-block:35px 55px}.tariff-section h2{font-size:33px}.tariff-section>p{font-size:16px}.tariff-scroll table{font-size:12px}.tariff-scroll td,.tariff-scroll th{padding:14px}.tariff-scroll caption{font-size:12px}.tariff-section>label{font-size:13px}}
@media(max-width:430px){.home-page .architecture-figure img{height:340px}.hotel-search-fields{grid-template-columns:1fr}.hotel-search-fields>div:first-child{grid-column:auto}.hotel-search-hero .hotel-search-fields{grid-template-columns:1fr 1fr}.hotel-search-hero .hotel-search-fields>div:first-child{grid-column:1/-1}.hotel-search{padding:21px}.hotel-search-hero{padding:0}.hotel-search-hero label{font-size:11px}.hotel-search-button{font-size:13px;gap:15px}.hotel-search-hero .hotel-search-button{font-size:13px}.hotel-results-bar>div{display:block}.hotel-results-bar label{margin-bottom:8px}.hotel-results-bar select{width:100%;max-width:100%;font-size:14px}.hotel-offer{padding:20px;gap:15px}.hotel-description h3{font-size:25px}.hotel-price{grid-template-columns:1fr;text-align:left}.hotel-price>span,.hotel-price>strong,.hotel-price>small,.hotel-price>.button,.hotel-price>p{grid-column:auto;grid-row:auto}.hotel-price>strong{font-size:37px}.hotel-price>.button{margin-top:12px}.hotel-price>p{text-align:left}.booking-field-grid{grid-template-columns:1fr}.booking-field-grid .wide-field{grid-column:auto}.booking-selected{display:block}.booking-selected h3{margin-top:17px}.booking-selected>p:not(:last-child){margin-top:13px}.booking-selected>strong{text-align:left;margin-top:23px}.booking-selected>small{text-align:left;margin-top:8px}.booking-selected>p:last-child{margin-top:20px}.flow-progress button{font-size:11px}.flow-empty h2,.flow-stage-heading h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){.booking-section [data-step-panel]:not([hidden]){animation:none}}
.hotel-search-fields{align-items:end}
@media print{.hotel-search,.flow-progress,.hotel-price .button,.form-actions{display:none}.hotel-offer{break-inside:avoid}}
.hotel-inclusions .offer-limit{font-weight:650;color:var(--ink)}
.hotel-inclusions .offer-limit:before{content:'!';color:var(--error);font-weight:750}
.booking-selected [data-selected-modality]{font-weight:650}
@media(max-width:850px){.booking-selected>p[data-selected-modality]{grid-column:1/-1;grid-row:4;margin-top:12px}}
