/* Photographs first: immersive hero, six individual suites, then guest spaces. */
.site-header{position:absolute;inset:0 0 auto;z-index:10;background:rgba(252,250,246,.94);backdrop-filter:blur(12px);border-bottom:1px solid #ffffff44}
.hero.visual-hero{display:block;position:relative;width:100%;max-width:none;margin:0;height:100vh;height:100svh;min-height:610px;max-height:1100px;overflow:hidden;background:var(--ink-deep);color:white;isolation:isolate}
.visual-hero .hero-visual{position:absolute;inset:0;min-height:0;aspect-ratio:auto;margin:0;overflow:hidden}
.visual-hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 43%}
.visual-hero .hero-visual:after{inset:0;background:linear-gradient(0deg,#08252dea,#08252d65 34%,transparent 67%);z-index:1}
.visual-hero .hero-copy{position:absolute;inset:auto 6% 105px;z-index:2;color:#fff;padding:0;max-width:650px;display:block}
.visual-hero .hero-copy>.eyebrow{color:#fff;display:block;margin:0 0 15px;font-size:11px;letter-spacing:.16em;max-width:none}
.visual-hero h1{color:#fff;font-size:clamp(66px,7vw,110px);line-height:1;letter-spacing:-.04em;text-shadow:0 2px 16px #0a252d55}
.visual-hero h1 span{display:block;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;margin-top:18px}
.visual-hero .hero-description{color:#fff;font-size:15px!important;line-height:1.65;max-width:410px;margin:21px 0 24px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-actions .button{background:var(--paper);border-color:var(--paper);color:var(--ink);min-height:50px;padding:13px 22px;font-size:13px}
.hero-actions .button:hover{background:#fff;border-color:#fff}
.hero-actions .hero-secondary{background:#ffffff0c;color:white;border-color:#ffffffa8}
.hero-actions .hero-secondary:hover{background:#ffffff25;color:#fff}
.visual-hero .hero-image-note{position:absolute;z-index:2;left:6%;bottom:32px;display:block;font-size:9px;letter-spacing:.12em;color:#fff}
.visual-hero .hero-gallery{z-index:2;bottom:24px;right:6%;background:#ffffff15;border:1px solid #ffffff90;color:#fff;padding:11px 14px;min-height:44px}
.visual-hero .hero-gallery span{color:#fff;border-color:#ffffff55}
.visual-hero .hero-gallery:hover{background:#ffffff30}
.suites-section.visual-suites{padding-block:48px 60px;background:var(--paper)}
.visual-suites .section-heading{margin-bottom:28px;gap:25px;align-items:center}
.visual-suites .section-heading .eyebrow{font-size:10px;margin-bottom:10px}
.visual-suites .section-heading h2{font-size:clamp(38px,4vw,58px)}
.visual-suites .section-heading>p{margin:0;max-width:270px;font-size:13px;line-height:1.7}
.visual-suites .suite-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 26px}
.visual-suites .suite-image{aspect-ratio:4/3;display:block;width:100%;min-height:0}
.visual-suites .suite-image .image-tag{font-size:9px;letter-spacing:.07em;background:#153940b8}
.room-preview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:6px}
.room-preview-strip button{padding:0;aspect-ratio:4/3;overflow:hidden;background:var(--cream)}
.room-preview-strip img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.room-preview-strip button:hover img{transform:scale(1.04)}
.room-card-copy{padding-top:18px}
.room-card-copy .room-style{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin-bottom:7px}
.room-card-copy h3{font-size:29px;line-height:1.15;white-space:normal;margin:0}
.room-card-copy>p:not(.room-style){font-size:12px;line-height:1.65;color:var(--muted);margin-top:10px}
.room-card-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px}
.room-card-actions .text-link{font-size:12px;gap:12px;min-height:42px;padding-block:8px}
.room-book-link{padding:9px 0;background:none;font-size:12px;color:var(--ink);border-bottom:1px solid #b7c2bf;min-height:42px}
.visual-suites .suites-footnote{text-align:left;font-size:12px;line-height:1.7;margin-top:30px}
@media(max-width:1100px){.visual-suites .suite-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 22px}.visual-hero .hero-copy{left:36px;right:36px}.visual-hero .hero-image-note{left:36px}.visual-hero .hero-gallery{right:36px}}
@media(max-width:640px){
 .site-header{height:78px}
 .site-header .main-nav{top:78px}
 .site-header .brand-logo{width:150px}
 .site-header .brand-tagline{font-size:9px}
 .hero.visual-hero{height:100vh;height:100svh;min-height:540px;max-height:none}
 .visual-hero .hero-photo{object-position:44% 46%}
 .visual-hero .hero-visual:after{background:linear-gradient(0deg,#08252df2,#08252d70 32%,transparent 67%)}
 .visual-hero .hero-copy{inset:auto 22px 105px;max-width:500px;padding:0}
 .visual-hero .hero-copy>.eyebrow{font-size:9px;line-height:1.7;letter-spacing:.11em;margin-bottom:12px}
 .visual-hero h1{font-size:clamp(58px,15vw,78px);max-width:none;line-height:1.02}
 .visual-hero h1 span{font-size:11px;letter-spacing:.26em;margin-top:15px}
 .visual-hero .hero-description{font-size:13px!important;line-height:1.65;margin:18px 0 20px;max-width:310px}
 .hero-actions{gap:10px}
 .hero-actions .button{font-size:12px;min-height:47px;padding:12px 16px}
 .visual-hero .hero-image-note{display:none}
 .visual-hero .hero-gallery{left:22px;right:auto;bottom:27px;font-size:11px}
 .visual-hero .hero-gallery span{display:inline;font-size:10px}
 .suites-section.visual-suites{padding-block:30px 42px}
 .visual-suites .section-heading{margin-bottom:23px;display:block}
 .visual-suites .section-heading .eyebrow{font-size:9px;margin-bottom:10px}
 .visual-suites .section-heading h2{font-size:36px}
 .visual-suites .section-heading>p{font-size:12px;margin-top:12px;max-width:none}
 .visual-suites .suite-grid{grid-template-columns:1fr;gap:34px}
 .visual-suites .suite-image{aspect-ratio:4/3}
 .room-preview-strip{gap:5px;margin-top:5px}
 .room-card-copy{padding-top:15px}
 .room-card-copy h3{font-size:29px}
 .room-card-copy>p:not(.room-style){font-size:12px}
 .room-card-actions{margin-top:10px}
 .visual-suites .suites-footnote{font-size:11px;margin-top:25px}
}
@media(max-height:640px) and (max-width:640px){.visual-hero .hero-copy{bottom:90px}.visual-hero .hero-copy>.eyebrow{display:none}.visual-hero h1{font-size:52px}.visual-hero .hero-description{margin:13px 0 16px}.visual-hero .hero-gallery{bottom:20px}}
