:root{--chapter-pad:clamp(64px,9vw,132px)}
.eyebrow{font-size:.69rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--accent)}
.chapter{padding-block:var(--chapter-pad)}
.chapter h2,.reserve-chapter h2,.tour-head h1{font-size:clamp(2.55rem,5.8vw,6.15rem);line-height:.95}
.chapter-copy>p:not(.eyebrow),.tour-head p:not(.eyebrow){color:var(--muted);margin-top:19px}
.chapter-copy h2,.chapter-heading h2,.chapter-questions h2{margin-top:12px}
.chapter-stay,.tour-head{display:grid;grid-template-columns:.83fr 1.17fr;gap:clamp(28px,6vw,100px);align-items:center}
.chapter-stay figure,.tour-head figure{min-width:0}
.chapter-stay img,.tour-head img{aspect-ratio:1.56;object-fit:cover}
.chapter figcaption,.tour-head figcaption,.tour-photo figcaption{margin-top:9px;color:var(--muted);font-size:.79rem}
.chapter-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:25px}
.chapter-heading{display:flex;gap:20px;align-items:end;justify-content:space-between;margin-bottom:clamp(23px,3.6vw,51px)}
.photo-chapter{border-top:1px solid var(--line)}
.photo-spread{display:grid;grid-template-columns:1.34fr .8fr .8fr;gap:clamp(8px,1.6vw,23px);align-items:start}
.photo-spread figure:nth-child(2){margin-top:clamp(15px,5vw,72px)}
.photo-spread img{height:clamp(180px,31vw,475px);object-fit:cover}
.photo-spread figure:nth-child(2) img{height:clamp(150px,23vw,340px)}
.photo-frame,.tour-photo a,.area-spread a{display:block;position:relative;overflow:hidden}
.photo-spread img,.tour-photo img,.tour-head img,.chapter-stay img{filter:contrast(1.055) saturate(1.045) brightness(1.012)}
.photo-frame img,.tour-photo img,.area-spread img{transition:transform .72s cubic-bezier(.22,1,.36,1),filter .36s ease}
@media(hover:hover){.photo-frame:hover img,.tour-photo a:hover img,.area-spread a:hover img{transform:scale(1.055);filter:contrast(1.075) saturate(1.065)}}
.area-chapter{background:linear-gradient(145deg,var(--wash),var(--paper));border-block:1px solid var(--line)}
.area-spread{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(13px,2.3vw,36px)}
.area-spread a{text-decoration:none}
.area-spread img{aspect-ratio:1.45;object-fit:cover}
.area-spread h3{font-size:clamp(1.6rem,3vw,3.05rem);margin:15px 26px 4px 0}
.area-spread p{font-size:.83rem;color:var(--muted)}
.area-spread a>span{position:absolute;right:2px;bottom:12px;transition:transform .25s}
.area-spread a:hover>span{transform:translate(2px,-3px)}
.more-guides{margin-top:33px;border-top:1px solid var(--line);padding-top:15px}
.more-guides summary{cursor:pointer;font-weight:650}
.chapter-questions{display:grid;grid-template-columns:.76fr 1.24fr;gap:clamp(21px,7vw,110px)}
.chapter-questions .faqs{margin:0}
.reserve-chapter,.stay-film{position:relative;isolation:isolate;color:var(--paper);background:var(--footer)}
.reserve-backdrop{position:absolute;inset:0;z-index:-1;overflow:hidden}
.reserve-backdrop img{height:100%;object-fit:cover;object-position:50% 48%;opacity:.48}
.reserve-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--footer),transparent 140%)}
.reserve-chapter .shell{display:grid;grid-template-columns:1.15fr .8fr auto;gap:clamp(18px,3vw,50px);align-items:center;padding-block:clamp(63px,8vw,118px)}
.reserve-chapter h2{font-size:clamp(2.25rem,4.4vw,4.8rem)}
.reserve-chapter p{color:var(--paper);font-size:.89rem}
.reserve-chapter .action,.stay-film .action{background:var(--film-light,var(--paper));color:var(--ink)}
.stay-film{display:grid;align-items:end;min-height:clamp(525px,75svh,845px);padding-block:80px clamp(82px,10vw,136px)}
.stay-film .hero-media{z-index:-1}
.stay-film .hero-media img,.stay-film .hero-film{object-position:60% 50%}
.stay-film .hero-media::after{
  background:linear-gradient(90deg,rgb(var(--film-shade) / 81%),rgb(var(--film-shade) / 45%) 38%,transparent 83%),
    linear-gradient(0deg,rgb(var(--film-shade) / 88%),transparent 70%)
}
.stay-film-copy{color:#fff}
.stay-film-copy .eyebrow{color:var(--film-light)}
.stay-film-copy h2{margin-top:14px;max-width:12ch}
.stay-film-copy p:not(.eyebrow){margin-top:16px;max-width:39ch}
.stay-film-copy .action{margin-top:22px;border-color:transparent}
@media(max-width:620px){
  .stay-film{min-height:530px;padding-block:60px 83px}
  .stay-film .hero-media::after{background:linear-gradient(0deg,rgb(var(--film-shade) / 95%),rgb(var(--film-shade) / 57%) 48%,transparent 90%)}
}
.tour-head{padding-block:clamp(38px,6vw,86px)}
.tour-head h1{margin-top:13px}
.tour-head .action{margin-top:22px}
.tour-nav{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(15px);border-block:1px solid var(--line)}
.tour-nav .shell{display:flex;gap:clamp(18px,3.5vw,48px);overflow:auto;scrollbar-width:thin}
.tour-nav a{white-space:nowrap;display:inline-flex;min-height:53px;align-items:center;font-size:.84rem;text-decoration:none;font-weight:650}
.tour-nav a:hover,.tour-nav a:focus-visible{text-decoration:underline}
.tour-room{scroll-margin-top:69px;padding-block:clamp(39px,6.8vw,94px);border-bottom:1px solid var(--line)}
.tour-room-title{display:flex;align-items:baseline;gap:clamp(12px,2vw,32px);margin-bottom:23px}
.tour-room-title h2{font-size:clamp(2.3rem,5vw,5.15rem)}
.tour-room-title small{margin-left:auto;white-space:nowrap;color:var(--muted)}
.tour-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(10px,1.6vw,22px)}
.tour-photo{grid-column:span 4;min-width:0}
.tour-photo:nth-child(7n+1){grid-column:span 7}
.tour-photo:nth-child(7n+2){grid-column:span 5}
.tour-photo a{background:var(--wash);outline-offset:2px}
.tour-photo img{aspect-ratio:1.57;object-fit:cover}
.tour-photo:nth-child(7n+1) img,.tour-photo:nth-child(7n+2) img{height:clamp(190px,30vw,415px);aspect-ratio:auto}
.photo-expand{position:absolute;right:11px;bottom:10px;display:grid;place-items:center;width:36px;height:36px;background:#101a1aaa;color:white;backdrop-filter:blur(7px);border:1px solid #ffffff90;transition:transform .28s}
.tour-photo a:hover .photo-expand{transform:translate(2px,-2px)}
#photo-viewer{width:min(96vw,1320px);max-width:none;max-height:94dvh;border:0;padding:clamp(12px,2.5vw,30px);color:#fbf7ef;background:#131b1c;overflow:auto}
#photo-viewer[open]{animation:viewer-in .32s ease both}
#photo-viewer::backdrop{background:#0b1215e8;backdrop-filter:blur(11px)}
@keyframes viewer-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.viewer-image{position:relative}
#photo-full{width:100%;height:min(73dvh,790px);max-height:none;object-fit:contain}
.viewer-image button,#photo-close{background:#192326de;color:#fff;border:1px solid #ffffff77;min-width:45px;min-height:44px;cursor:pointer}
.viewer-image button{position:absolute;top:50%;transform:translateY(-50%);font-size:1.65rem;line-height:1}
.viewer-image button[data-move="-1"]{left:6px}
.viewer-image button[data-move="1"]{right:6px}
#photo-caption{max-width:none;margin:8px 0 0;color:inherit}
html:has(#photo-viewer[open]){overflow:hidden}
@media(max-width:780px){
  .chapter-stay,.tour-head,.chapter-questions{grid-template-columns:1fr;gap:27px}
  .area-spread{grid-template-columns:1fr 1fr}
  .reserve-chapter .shell{grid-template-columns:1fr;justify-items:start}
  .tour-grid{grid-template-columns:1fr 1fr}
  .tour-photo:nth-child(n){grid-column:span 1}
  .tour-photo:nth-child(7n+1){grid-column:span 2}
  .tour-photo:nth-child(n) img{height:auto;aspect-ratio:1.5}
}
@media(max-width:520px){
  .chapter-heading{align-items:start;flex-direction:column}
  .photo-spread{grid-template-columns:1fr 1fr}
  .photo-spread figure:first-child{grid-column:span 2}
  .photo-spread figure:nth-child(2){margin-top:0}
  .photo-spread figure:nth-child(n) img{height:auto;aspect-ratio:1.45}
  .area-spread{grid-template-columns:1fr}
  .tour-room-title{flex-wrap:wrap;gap:7px 11px}
  .tour-room-title h2{font-size:clamp(2rem,9.5vw,3.2rem)}
  .viewer-image button{top:auto;bottom:7px;transform:none}
  #photo-full{height:min(64dvh,520px)}
}
@media(prefers-reduced-motion:reduce){.photo-frame img,.tour-photo img,.area-spread img{transition:none}}
@media(prefers-reduced-motion:no-preference){
  @supports(animation-timeline:view()){
    .tour-photo,.photo-spread figure,.area-spread article{
      animation:photo-arrival linear both;animation-timeline:view();animation-range:entry 0% entry 65%
    }
  }
}
@keyframes photo-arrival{from{opacity:.53;transform:translateY(16px)}to{opacity:1;transform:none}}

@media(max-width:620px){.hero h1{font-size:clamp(2.55rem,11.3vw,4.5rem)}}

@media(prefers-reduced-motion:no-preference){
  @supports(animation-timeline:view()){
    .stay-film-copy{
      animation:photo-arrival linear both;animation-timeline:view();animation-range:entry 0% entry 62%
    }
  }
}
