.hotel-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px;border-bottom:1px solid var(--line)}
.hotel-header .brand{display:block;width:240px;max-width:52%}.hotel-header nav{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:.875rem}
.hotel-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding-block:64px}
.hotel-hero h1{font-size:clamp(2.75rem,5vw,5.5rem);letter-spacing:-.035em;text-wrap:balance;max-width:14ch}
.hotel-hero p{max-width:58ch;margin:24px 0;line-height:1.75}.hotel-hero img{width:100%;aspect-ratio:4/5;object-fit:cover}
.hotel-hero .text-link{display:inline-block;margin-top:12px}.hotel-planner{padding:40px;background:var(--ivory);scroll-margin-top:24px}
.hotel-planner h2,.hotel-region h2,.hotel-faq h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.03em;margin-bottom:24px}
.hotel-planner p{max-width:70ch;margin-bottom:24px}.hotel-planner label{display:block;font-weight:600;margin:24px 0 12px}.hotel-planner select{display:block;max-width:640px;width:100%;min-height:48px;font-size:1rem;background:var(--paper);color:var(--ink);padding:12px;border:1px solid var(--line)}
.hotel-planner button{margin-top:24px}.hotel-planner .hotel-note{font-size:.875rem;line-height:1.7;margin-top:24px;margin-bottom:0}
.hotel-regions{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:72px}.hotel-region p{max-width:65ch;line-height:1.8;margin-bottom:20px}
.hotel-faq{border-top:1px solid var(--line);padding-block:56px 72px;max-width:900px}.hotel-faq details{border-bottom:1px solid var(--line);padding:20px 0}.hotel-faq summary{cursor:pointer;font-weight:600;min-height:32px}.hotel-faq details p{max-width:70ch;line-height:1.75;margin-top:16px}
.hotel-footer{padding-block:32px}.hotel-footer nav{display:flex;flex-wrap:wrap;gap:16px;font-size:.875rem}.hotel-choices{padding-block:32px 48px}.hotel-choices h2{font-size:1.5rem;margin-bottom:16px}.hotel-choices p{max-width:65ch;font-size:.875rem;line-height:1.7;margin-block:16px}.hotel-choices .button{margin:0 8px 12px 0}
.hotel-page :focus-visible{outline:3px solid var(--green);outline-offset:4px}.hotel-page ::selection{background:var(--green);color:var(--paper)}.hotel-page a{text-underline-offset:4px}
@media(max-width:760px){.hotel-header{align-items:flex-start;gap:16px}.hotel-header nav{flex-direction:column;gap:8px}.hotel-hero{grid-template-columns:1fr;gap:32px;padding-block:40px}.hotel-hero img{aspect-ratio:16/10}.hotel-planner{padding:28px 20px}.hotel-regions{grid-template-columns:1fr;gap:32px;padding-block:48px}.hotel-faq{padding-block:40px}.hotel-hero h1{max-width:16ch}}
