.hotel-page{--hotel-accent:#e4b5bd;--hotel-soft:#2b2426;--hotel-body-size:1.125rem;--hotel-line:1.85}
html[data-theme='light'] .hotel-page{--hotel-accent:#7a4055;--hotel-soft:#ece3e1}
.hotel-main{padding-top:238px;max-width:1280px}
.hotel-article .visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.hotel-article{font-family:Inter,Arial,sans-serif;line-height:1.8}
.hotel-article ::selection{background:var(--hotel-accent);color:var(--page)}
.hotel-hero{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(32px,5vw,76px);align-items:center;padding-bottom:84px}
.hotel-hero-copy{min-width:0}
.hotel-back{display:inline-block;color:var(--muted);font-size:.875rem;min-height:44px;padding:10px 0}
.hotel-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.8rem,4.8vw,5rem);line-height:1.08;letter-spacing:-.04em;font-weight:400;margin:24px 0 26px;text-wrap:balance}
.hotel-hero h1 em{color:var(--hotel-accent);font-weight:400}
.hotel-deck{font-size:clamp(1.125rem,1.6vw,1.35rem);line-height:1.6;color:var(--muted);margin:0 0 24px}
.hotel-byline{font-size:.875rem;color:var(--muted)}
.hotel-byline span{margin-inline:8px}
.hotel-hero-image{margin:0;min-width:0}
.hotel-hero-image img{width:100%;height:auto;border-radius:22px}
.hotel-article figcaption{font-size:.8125rem;line-height:1.65;color:var(--muted);margin-top:14px}
.hotel-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:start}
.hotel-rail{position:sticky;top:28px;align-self:start;font-size:.875rem;line-height:1.5;max-height:calc(100dvh - 56px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.hotel-rail summary{list-style:none;font-size:.875rem;letter-spacing:.02em;color:var(--muted);padding:10px 0 18px;pointer-events:none}
.hotel-rail summary::-webkit-details-marker{display:none}
.hotel-rail nav{display:grid;gap:4px;margin-bottom:26px}
.hotel-rail nav a{display:flex;gap:12px;align-items:baseline;padding:10px 10px 10px 0;min-height:44px;color:var(--muted);border-radius:0 8px 8px 0;transition:color 180ms ease,background-color 180ms ease}
.hotel-rail nav a span{font-size:.75rem;color:var(--subtle);font-variant-numeric:tabular-nums}
.hotel-rail nav a[aria-current='location']{color:var(--text);background:var(--hotel-soft)}
.hotel-rail nav a:hover{color:var(--hotel-accent)}
.hotel-tools{border-top:1px solid var(--line);padding-top:20px}
.hotel-tool-label{display:block;font-size:.8125rem;color:var(--muted);margin-bottom:12px}
.hotel-size-tools{display:flex;gap:4px;margin-bottom:10px}
.hotel-tools button{background:none;border:1px solid var(--line);color:var(--text);border-radius:9px;min-height:44px;min-width:44px;padding:8px 10px;font-size:.875rem}
.hotel-tools button[aria-pressed='true']{color:var(--page);background:var(--text);border-color:var(--text)}
.hotel-tools .hotel-focus{width:100%}
.hotel-prose{font-size:var(--hotel-body-size);line-height:var(--hotel-line);max-width:69ch;min-width:0;overflow-wrap:anywhere}
.hotel-prose[data-hotel-reading-size='large']{--hotel-body-size:1.25rem}
.hotel-prose[data-hotel-reading-size='largest']{--hotel-body-size:1.4rem}
.hotel-prose p{margin:0 0 1.3em}
.hotel-prose .hotel-intro{font-size:1.25em;line-height:1.65;color:var(--text);margin:0 0 3em;letter-spacing:-.015em}
.hotel-section{position:relative;margin-top:64px;scroll-margin-top:32px}
.hotel-section-number{display:block;font-size:.8125rem;color:var(--hotel-accent);margin-bottom:12px;font-variant-numeric:tabular-nums}
.hotel-section h2,.hotel-sources h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(1.75rem,2.7vw,2.6rem);line-height:1.2;letter-spacing:-.025em;margin:0 0 26px;text-wrap:balance}
.hotel-section h3{font-family:Inter,Arial,sans-serif;font-weight:600;font-size:1.1em;line-height:1.4;letter-spacing:0;margin:0 0 12px}
.hotel-pairs{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px;margin:32px 0}
.hotel-pairs>div{border-top:1px solid var(--line);padding-top:18px}
.hotel-pairs dt{font-weight:600;line-height:1.4;margin-bottom:12px}
.hotel-pairs dd{font-size:.95em;line-height:1.8;margin:0;color:var(--muted)}
.hotel-note{background:var(--hotel-soft);padding:28px;border-radius:12px;margin:32px 0}
.hotel-note p:last-child{margin-bottom:0}
.hotel-glossary{margin:32px 0}
.hotel-glossary>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:24px;padding:24px 0;border-top:1px solid var(--line)}
.hotel-glossary dt{font-weight:600;color:var(--hotel-accent);font-variant-numeric:tabular-nums}
.hotel-glossary dd{margin:0}
.hotel-diagram{margin:36px 0 42px}
.hotel-diagram>a{display:block;background:#fcf8f5;border-radius:14px;overflow:hidden;color:#563746;position:relative}
.hotel-diagram img{width:100%;height:auto}
.hotel-enlarge{display:flex;justify-content:flex-end;align-items:center;gap:10px;min-height:44px;padding:8px 18px;font-size:.8125rem;line-height:1.5;background:#f1e5e8}
.hotel-enlarge svg{width:18px;height:18px}
.hotel-cta{padding:36px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:42px}
.hotel-contact{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-height:52px;color:var(--hotel-accent);font-weight:600;font-size:1rem;text-decoration:underline;text-underline-offset:5px}
.hotel-contact svg{flex:none;width:24px;height:24px}
.hotel-sources{font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:44px}
.hotel-sources h2{font-family:Urbanist,Arial,sans-serif;font-size:1.5rem;color:var(--text)}
.hotel-sources ul{padding-left:20px;margin:20px 0}
.hotel-sources a{text-decoration:underline;text-underline-offset:4px}
.hotel-sources li{margin-bottom:12px}
.hotel-article a:focus-visible,.hotel-article button:focus-visible,.hotel-article summary:focus-visible,.hotel-viewer-canvas:focus-visible{outline:2px solid var(--hotel-accent);outline-offset:5px}
.hotel-viewer{inset:0;width:min(1440px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;border:1px solid var(--line);border-radius:16px;padding:0;background:var(--page);color:var(--text)}
.hotel-viewer::backdrop{background:rgba(0,0,0,.78)}
.hotel-viewer-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}
.hotel-viewer-bar h2{font-family:Inter,Arial,sans-serif;font-size:1rem;line-height:1.4;letter-spacing:0;font-weight:500}
.hotel-viewer-bar>div{display:flex;gap:8px}
.hotel-viewer button{min-height:44px;padding:8px 14px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;font-size:.875rem}
.hotel-viewer-canvas{overflow:auto;max-height:calc(100dvh - 220px);background:#fcf8f5;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
.hotel-viewer-canvas img{display:block;width:100%;max-width:none;height:auto}
.hotel-viewer[data-zoomed='true'] .hotel-viewer-canvas img{width:1440px}
.hotel-viewer-caption{font-size:.8125rem;line-height:1.6;margin:0;padding:16px 20px;color:var(--muted)}
.hotel-viewer-open{overflow:hidden}
.hotel-page.hotel-focused .site-header,.hotel-page.hotel-focused .site-footer,.hotel-focused .hotel-hero-image,.hotel-focused .hotel-deck,.hotel-focused .hotel-byline,.hotel-focused .hotel-back,.hotel-focused .hotel-diagram,.hotel-focused .hotel-section-number{display:none!important}
.hotel-focused .hotel-main{padding-top:32px}
.hotel-focused .hotel-hero{display:block;padding-bottom:48px;max-width:820px;margin-left:calc(205px + clamp(36px,5vw,80px))}
.hotel-focused .hotel-hero h1{font-size:clamp(2rem,4vw,3.5rem);margin:0;max-width:22ch}
.hotel-focused .hotel-rail nav{display:none}
.hotel-focused .hotel-section{margin-top:48px}
@media(min-width:901px){.hotel-rail details:not([open])>.hotel-rail-inner{display:block}.hotel-rail summary::after{display:none}}
@media(max-width:1100px){.hotel-main{padding-top:220px}.hotel-hero{gap:32px}.hotel-hero h1{font-size:clamp(2.8rem,4.8vw,4rem)}.hotel-layout{grid-template-columns:180px minmax(0,1fr);gap:32px}.hotel-focused .hotel-hero{margin-left:212px}}
@media(max-width:900px){.hotel-main{padding-top:190px}.hotel-hero{grid-template-columns:1fr;padding-bottom:48px;gap:32px}.hotel-hero h1{max-width:20ch;font-size:clamp(2.75rem,7.5vw,4.5rem);margin-top:12px}.hotel-deck br{display:none}.hotel-hero-image{max-width:760px}.hotel-layout{display:block}.hotel-rail{z-index:8;top:0;max-height:70dvh;background:var(--page);margin:0 calc(var(--gutter)*-1) 32px;padding:0 var(--gutter);border-block:1px solid var(--line)}.hotel-rail summary{pointer-events:auto;cursor:pointer;min-height:52px;display:flex;justify-content:space-between;align-items:center;padding:12px 0;color:var(--text)}.hotel-rail summary::after{content:'+';font-size:1.25rem}.hotel-rail details[open] summary::after{content:'−'}.hotel-rail-inner{padding-bottom:20px}.hotel-rail nav{grid-template-columns:1fr 1fr;gap:4px 20px;margin-bottom:18px}.hotel-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:16px}.hotel-tool-label{width:100%;margin:0}.hotel-size-tools{margin:0}.hotel-tools .hotel-focus{width:auto;min-width:110px}.hotel-prose{max-width:69ch;margin:auto}.hotel-section{scroll-margin-top:80px}.hotel-focused .hotel-hero{margin-left:0;padding-bottom:32px}.hotel-focused .hotel-main{padding-top:24px}}
@media(max-width:580px){.hotel-page{--gutter:22px}.hotel-main{padding-top:166px}.hotel-hero{gap:22px;padding-bottom:36px}.hotel-hero h1{font-size:clamp(2.5rem,10.4vw,3.65rem);line-height:1.1;letter-spacing:-.035em}.hotel-deck{font-size:1.125rem}.hotel-byline{font-size:.8125rem}.hotel-hero-image img{border-radius:14px}.hotel-prose{font-size:var(--hotel-body-size);line-height:1.8}.hotel-prose .hotel-intro{font-size:1.12em;line-height:1.75}.hotel-section{margin-top:44px}.hotel-section h2{font-size:1.875rem;line-height:1.24;margin-bottom:22px}.hotel-pairs{grid-template-columns:1fr;gap:20px}.hotel-note{padding:24px}.hotel-glossary>div{grid-template-columns:1fr;gap:12px}.hotel-diagram{margin:30px 0}.hotel-viewer{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:10px}.hotel-viewer-bar{align-items:start;gap:10px;padding:12px;flex-direction:column}.hotel-viewer-bar>div{width:100%;justify-content:space-between}.hotel-viewer-canvas{max-height:calc(100dvh - 250px)}.hotel-viewer-caption{padding:12px}.hotel-contact{align-items:start}.hotel-article figcaption{font-size:.8125rem}}
@media(prefers-reduced-motion:no-preference){.hotel-hero-image img{animation:hotel-arrive 650ms cubic-bezier(.16,1,.3,1) both}@keyframes hotel-arrive{from{clip-path:inset(0 0 5% 0 round 22px)}to{clip-path:inset(0 0 0 0 round 22px)}}}
@media(prefers-reduced-motion:reduce){html:has(.hotel-page){scroll-behavior:auto}.hotel-article *{animation:none!important;transition:none!important}}
@media print{.hotel-page{--text:#232623;--muted:#454545;--hotel-accent:#603345;background:#fff;color:#232623}.hotel-page .site-header,.hotel-page .site-footer,.hotel-rail,.hotel-viewer,.hotel-back,.hotel-enlarge{display:none!important}.hotel-main{padding-top:0;width:100%}.hotel-hero{display:block;padding-bottom:24px}.hotel-hero h1{font-size:32pt}.hotel-hero-image img{max-height:230px;object-fit:contain}.hotel-layout{display:block}.hotel-prose{max-width:100%;font-size:11pt!important}.hotel-section{margin-top:28px}.hotel-section h2{font-size:21pt;break-after:avoid}.hotel-diagram,.hotel-note{break-inside:avoid}.hotel-focused .hotel-hero{margin-left:0}}
