@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/manrope-cyrillic-447c49583b.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/manrope-latin-8c2def024c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/coop-wordmark-9e2f7a70a1.woff) format('truetype');
}

:root{--ink:#292521;--ink-soft:#37302b;--ivory:#f7f3ec;--chalk:#fffdf8;--stone:#e9e1d5;--brass:#c5a575;--brass-dark:#88663b;--body:#655e57;--line:#ded4c6}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.7 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.menu-open,body.lightbox-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
p,h1,h2,h3{margin-top:0}
p{color:var(--body)}
h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:600;line-height:1.05;letter-spacing:-.055em;text-wrap:balance}
h2{font-size:clamp(3rem,5.4vw,5rem);margin:0 0 30px}
.wrap{width:min(100% - 88px,1400px);margin-inline:auto}
.section{padding:112px 0;scroll-margin-top:80px}
.eyebrow{margin:0 0 24px;color:var(--brass-dark);font-size:.69rem;font-weight:700;line-height:1.5;letter-spacing:.19em;text-transform:uppercase}
.eyebrow.light{color:var(--brass)}
.title-dot{color:var(--brass)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:58px;padding:15px 22px;border:1px solid var(--brass);background:var(--brass);color:var(--ink);font-size:.76rem;font-weight:700;line-height:1.2;letter-spacing:.075em;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s,transform .2s}
.button:hover{background:var(--chalk);border-color:var(--chalk);transform:translateY(-2px)}
.button span,.text-link span{font-size:1.32em;font-weight:400;line-height:1}
.button-small{min-height:44px;padding:11px 16px;gap:18px;font-size:.74rem}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:0 0 8px;border-bottom:1px solid currentColor;font-size:.75rem;font-weight:700;line-height:1.2;letter-spacing:.055em;text-transform:uppercase;transition:gap .2s,color .2s}
.text-link:hover{gap:31px;color:var(--brass-dark)}
.light-link{color:#f4f2eb}
.light-link:hover{color:var(--brass)}
.skip-link{position:absolute;top:12px;left:-999px;z-index:1000;padding:10px 18px;background:#fff;color:#000}
.skip-link:focus{left:12px}
:focus-visible{outline:2px solid var(--brass);outline-offset:4px}

/* Shared header and wordmark */
.site-header{position:sticky;top:0;z-index:120;height:78px;border-bottom:1px solid rgba(255,255,255,.11);background:#27231f;color:#fff;transition:height .22s ease,background .22s ease}
.site-header.is-scrolled{height:66px;background:#211e1b}
.header-inner{display:flex;align-items:center;gap:22px;height:100%}
.brand{display:inline-flex;flex:0 0 auto;align-items:center;color:#fff;white-space:nowrap}
.brand-text{display:flex;flex-direction:column;align-items:center;line-height:1}
.brand-text strong{font:500 31px/.78 'Cormorant Garamond',Georgia,serif;letter-spacing:.21em;padding-left:.21em}
.brand-text small{margin-top:6px;color:#efd6a2;font:700 11px/1 Manrope,Arial,sans-serif;letter-spacing:.045em}
.brand-text::after{content:'✦ ✦ ✦ ✦';margin-top:4px;color:#efd6a2;font-size:10px;letter-spacing:.18em}
.main-nav{display:flex;align-items:center;gap:18px;margin-left:auto}
.main-nav a,.lang{position:relative;font-size:.76rem;font-weight:700;line-height:1.3;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap;transition:color .2s}
.main-nav a:hover,.main-nav a[aria-current="page"],.lang:hover{color:var(--brass)}
.main-nav a:not(.nav-reservation)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--brass);transition:right .2s}
.main-nav a:not(.nav-reservation):hover::after,.main-nav a[aria-current="page"]::after{right:0}
.nav-reservation{display:none}
.header-actions{display:flex;align-items:center;gap:20px}
.header-actions .button{background:transparent;color:var(--brass)}
.header-actions .button:hover{background:var(--brass);border-color:var(--brass);color:var(--ink)}
.menu-toggle{display:none}

/* Hotel homepage */
.hero{position:relative;display:grid;grid-template-columns:47% 53%;min-height:650px;height:min(78vh,820px);background:var(--ink);color:#fff}
.hero-image{grid-column:2;grid-row:1;background:url('/images/optimized/about-805-74602cbea7.webp') center 34%/cover no-repeat}
.hero-shade{display:none}
.hero-content.wrap{grid-column:1;grid-row:1;display:flex;align-items:center;width:auto;max-width:none;margin:0;padding:64px clamp(42px,5vw,96px) 64px max(44px,calc((100vw - 1400px)/2));background:var(--ink)}
.hero-copy{max-width:660px}
.hero h1{margin:0 0 31px;color:#fff;font-size:clamp(4.2rem,5.6vw,5.5rem);line-height:.99;letter-spacing:-.07em}
.hero-lead{max-width:475px;margin:0 0 36px;color:#e9e1d6;font-size:1.02rem;line-height:1.8}
.hero-cta{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.hero-photo-caption{position:absolute;right:35px;bottom:25px;padding:9px 13px;background:rgba(33,29,25,.74);color:#fff;font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.intro{background:var(--chalk)}
.intro-grid{display:grid;grid-template-columns:1fr .92fr;gap:10%;align-items:start}
.intro h2{max-width:790px;margin:0}
.intro-body{max-width:590px;padding-top:60px}
.intro-body p{margin:0 0 23px;color:var(--body);font-size:1.02rem;line-height:1.9}
.intro-body .text-link{margin-top:15px}
.rooms{background:var(--stone)}
.section-top{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:50px}
.section-top h2{margin:0}
.section-top>p{max-width:440px;margin:0 0 7px;font-size:.95rem;line-height:1.85}
.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.room-card{position:relative;display:block;min-width:0;height:clamp(360px,41vw,570px);overflow:hidden;background:#6d6c67;color:#fff}
.room-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}
.room-card:nth-child(2) img{object-position:56% center}
.room-card::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(33,29,25,.85))}
.room-card:hover img{transform:scale(1.035);filter:saturate(1.08)}
.room-overlay{position:absolute;right:32px;bottom:31px;left:32px;z-index:1;display:flex;flex-direction:column;gap:15px}
.room-overlay strong{font-size:clamp(2rem,3vw,3.8rem);font-weight:600;line-height:1.06;letter-spacing:-.055em}
.room-overlay>span{display:flex;justify-content:space-between;align-items:center;max-width:330px;padding-top:11px;border-top:1px solid rgba(255,255,255,.6);font-size:.72rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
.room-overlay>span span{font-size:1.2rem;font-weight:400}
.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--ink-soft)}
.split-image{min-height:620px;overflow:hidden}
.split-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.split-copy{display:flex;align-items:center;color:#fff}
.split-copy-inner{max-width:760px;padding:78px clamp(35px,6vw,105px)}
.split-copy h2{font-size:clamp(3rem,4.9vw,4.7rem)}
.split-copy p:not(.eyebrow){max-width:540px;margin-bottom:30px;color:#e5dccf;line-height:1.9}
.meetings{background:var(--ivory)}
.meeting-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:8%}
.meeting-copy p:not(.eyebrow){max-width:560px;line-height:1.9}
.meeting-grid>img{width:100%;height:clamp(420px,42vw,620px);object-fit:cover}
.meeting-links{display:flex;flex-wrap:wrap;gap:25px;margin-top:32px}
.gallery{background:#302a25;color:#fff}
.gallery h2{color:#fff}
.gallery .section-top{align-items:end}
.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:14px;height:clamp(330px,36vw,520px)}
.gallery-grid img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:filter .3s,transform .3s}
.gallery-grid img:hover{filter:brightness(1.1);transform:translateY(-4px)}
.offers-strip{background:var(--ivory)}
.offer-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.offer-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:var(--chalk);transition:transform .25s,box-shadow .25s}
.offer-card:hover{transform:translateY(-4px);box-shadow:0 24px 45px rgba(41,37,33,.09)}
.offer-card img{width:100%;height:clamp(230px,24vw,330px);object-fit:cover}
.offer-card-body{position:relative;display:flex;flex:1;flex-direction:column;align-items:start;min-height:240px;padding:31px 78px 33px 32px}
.offer-card small{margin-bottom:14px;color:var(--brass-dark);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.offer-card strong{max-width:430px;font-size:clamp(1.65rem,2.1vw,2.5rem);font-weight:600;line-height:1.16;letter-spacing:-.045em}
.offer-card-body>span{margin-top:16px;color:var(--body);font-size:.9rem;line-height:1.7}
.offer-card b{position:absolute;right:31px;bottom:29px;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;font-size:1.3rem;font-weight:400;transition:background .2s,border-color .2s}
.offer-card:hover b{border-color:var(--brass);background:var(--brass)}
.contact{background:var(--ink);color:#fff}
.contact-grid{display:grid;grid-template-columns:1fr .88fr;gap:12%;align-items:end}
.contact h2{margin-bottom:27px;color:#fff}
.contact p:not(.eyebrow){max-width:470px;color:#e4dbce;line-height:1.85}
.contact .button{margin-top:18px}
.contact-links{display:flex;flex-direction:column;max-width:none;margin:0}
.contact-links a{display:flex;flex-direction:column;gap:8px;padding:22px 0;border-top:1px solid rgba(255,255,255,.22);transition:color .2s}
.contact-links a:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.contact-links a:hover{color:var(--brass)}
.contact-links span{color:#c7b9a7;font-size:.65rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.contact-links strong{font-size:clamp(1rem,1.45vw,1.4rem);font-weight:500;letter-spacing:-.02em;overflow-wrap:anywhere}

/* Shared footer */
footer{padding:78px 0 30px;background:#211d19;color:#f4eee4}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1.1fr;gap:52px}
.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-grid h3{margin:0 0 15px;color:var(--brass);font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.footer-grid a:not(.brand),.footer-grid span:not(.brand-text):not(.brand-mark){color:#d1c5b5;font-size:.8rem;line-height:1.55}
.footer-grid a:not(.brand):hover{color:#fff}
.footer-grid p{max-width:250px;margin:13px 0 0;color:#b8a994;font-size:.82rem;line-height:1.7}
.brand-footer{margin-bottom:8px}
.footer-bottom{display:flex;justify-content:space-between;margin-top:64px;padding-top:22px;border-top:1px solid #4b423b;color:#b9aa97;font-size:.7rem;letter-spacing:.045em}
.footer-bottom #year{display:inline}

@media(max-width:1290px){
 .site-header{--mobile-header-height:68px;height:var(--mobile-header-height)}
 .site-header.is-scrolled{--mobile-header-height:56px;height:var(--mobile-header-height)}
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:13px}
 .header-actions{margin:0}
 .header-actions .button{display:none}
 .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;order:3;width:44px;height:44px;padding:8px;border:0;background:transparent;color:#fff;cursor:pointer}
 .menu-toggle span{display:block;width:25px;height:1.5px;background:#fff;transition:transform .2s,opacity .2s}
 .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7.5px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7.5px) rotate(-45deg)}
 .main-nav{display:none}
 .main-nav.open{position:fixed;top:var(--mobile-header-height);right:0;bottom:0;left:0;z-index:119;display:flex;flex-direction:column;align-items:stretch;gap:0;height:calc(100dvh - var(--mobile-header-height));margin:0;padding:22px max(32px,calc((100vw - 1400px)/2)) 38px;background:#27231f;overflow-y:auto;overscroll-behavior:contain}
 .main-nav.open::before{content:'МЕНЮ';margin-bottom:12px;color:var(--brass);font-size:.62rem;font-weight:700;letter-spacing:.2em}
 html[lang="en"] .main-nav.open::before{content:'MENU'}
 .main-nav.open a:not(.nav-reservation){display:flex;align-items:center;min-height:57px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.16);color:#f4eee4;font-size:clamp(1.35rem,2.2vw,1.9rem);font-weight:500;letter-spacing:-.04em;text-transform:none;white-space:normal}
 .main-nav.open a:not(.nav-reservation)::after{display:none}
 .main-nav.open a:not(.nav-reservation):hover,.main-nav.open a[aria-current="page"]{color:var(--brass)}
 .main-nav.open .nav-reservation{display:flex;align-items:center;justify-content:space-between;order:99;min-height:54px;margin-top:25px;padding:14px 18px;background:var(--brass);color:var(--ink);font-size:.73rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
 .main-nav.open .nav-reservation::after{content:'↗';font-size:1.3rem;font-weight:400}
 .hero{grid-template-columns:48% 52%;min-height:640px;height:70vh}
 .hero-content.wrap{padding-left:clamp(32px,5vw,70px);padding-right:25px}
 .hero h1{font-size:clamp(3.6rem,6vw,5.3rem)}
 .footer-grid{grid-template-columns:1.4fr 1fr;row-gap:45px}
}
@media(max-width:800px){
 .wrap{width:min(100% - 44px,1400px)}
 .section{padding:84px 0}
 h2{font-size:clamp(2.8rem,7vw,4.5rem)}
 .hero{display:flex;flex-direction:column;height:auto;min-height:0}
 .hero-image{flex:none;width:100%;height:min(75vw,520px);background-position:center 35%}
 .hero-content.wrap{width:100%;max-width:none;padding:48px 28px 58px}
 .hero h1{font-size:clamp(3.8rem,8.5vw,6rem)}
 .hero-photo-caption{top:calc(min(75vw,520px) - 45px);right:15px;bottom:auto}
 .intro-grid,.meeting-grid,.contact-grid{grid-template-columns:1fr;gap:35px}
 .intro-body{max-width:650px;padding-top:0}
 .section-top{align-items:start}
 .section-top>p{max-width:330px}
 .split-section{grid-template-columns:1fr 1fr;min-height:500px}
 .split-image{min-height:500px}
 .split-copy-inner{padding:45px 32px}
 .meeting-grid>img{height:480px}
 .contact-grid{gap:45px}
 .contact-links{max-width:650px}
}
@media(max-width:650px){
 .wrap{width:min(100% - 36px,1400px)}
 .section{padding:70px 0;scroll-margin-top:60px}
 .site-header{--mobile-header-height:60px;height:var(--mobile-header-height)}
 .site-header.is-scrolled{--mobile-header-height:50px;height:var(--mobile-header-height)}
 .brand-text strong{font-size:27px}
 .brand-text small{margin-top:4px;font-size:10px}
 .brand-text::after{margin-top:3px;font-size:9.5px}
 .site-header.is-scrolled .brand-text strong{font-size:24px}
 .main-nav.open{padding:19px 22px max(30px,env(safe-area-inset-bottom))}
 .main-nav.open a:not(.nav-reservation){min-height:52px;font-size:1.43rem}
 .hero-image{height:min(74vw,350px);background-position:center 35%}
 .hero-photo-caption{display:none}
 .hero-content.wrap{padding:40px 22px 56px}
 .hero .eyebrow{margin-bottom:18px}
 .hero h1{margin-bottom:23px;font-size:clamp(3.15rem,10.3vw,4.65rem)}
 .hero-lead{margin-bottom:30px;font-size:.91rem;line-height:1.72}
 .hero-cta{align-items:stretch;flex-direction:column;gap:24px}
 .hero-cta .button{width:100%}
 .hero-cta .text-link{align-self:flex-start}
 h2{font-size:clamp(2.65rem,11vw,4.6rem)}
 .eyebrow{margin-bottom:18px}
 .intro-body p{font-size:.94rem}
 .section-top{display:block;margin-bottom:32px}
 .section-top>p{max-width:540px;margin-top:20px;font-size:.9rem}
 .section-top>.text-link{margin-top:24px}
 .room-grid{grid-template-columns:1fr;gap:15px}
 .room-card{height:380px}
 .room-overlay{right:23px;bottom:24px;left:23px}
 .room-overlay strong{font-size:2.2rem}
 .split-section{grid-template-columns:1fr}
 .split-image{min-height:0;height:300px}
 .split-copy-inner{max-width:none;padding:58px 22px 65px}
 .split-copy h2{font-size:clamp(2.65rem,11vw,4.6rem)}
 .split-copy p:not(.eyebrow){font-size:.92rem}
 .meeting-grid{gap:29px}
 .meeting-grid>img{order:-1;height:290px}
 .meeting-copy p:not(.eyebrow){font-size:.92rem}
 .meeting-links{gap:20px 26px}
 .gallery-grid{grid-template-columns:1fr 1fr;gap:9px;height:auto}
 .gallery-grid img{height:195px}
 .gallery-grid img:first-child{grid-column:1/-1;height:270px}
 .offer-cards{grid-template-columns:1fr;gap:16px}
 .offer-card img{height:220px}
 .offer-card-body{min-height:0;padding:24px 70px 27px 23px}
 .offer-card strong{font-size:1.65rem}
 .offer-card b{right:21px;bottom:25px;width:39px;height:39px}
 .contact-grid{gap:36px}
 .contact h2{font-size:clamp(2.9rem,12vw,4.7rem)}
 .contact .button{width:100%}
 .contact-links a{padding:18px 0}
 .contact-links strong{font-size:1rem}
 footer{padding:58px 0 27px}
 .footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 18px}
 .footer-grid>div:first-child{grid-column:1/-1;padding-bottom:28px;border-bottom:1px solid #4b423b}
 .footer-grid>div:nth-child(2){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:13px 16px;padding-bottom:28px;border-bottom:1px solid #4b423b}
 .footer-grid>div:nth-child(2) h3{grid-column:1/-1;margin:0 0 3px}
 .footer-grid>div:nth-child(3){grid-column:1/-1;padding-bottom:28px;border-bottom:1px solid #4b423b}
 .footer-grid>div:nth-child(4){grid-column:1/-1}
 .footer-grid h3{margin-bottom:6px}
 .footer-bottom{margin-top:45px;padding-top:20px}
 .footer-bottom>span{white-space:nowrap}
}
@media(max-width:380px){.hero h1{font-size:3rem}.room-card{height:340px}.button{gap:18px;padding-inline:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Photo viewer */
.gallery-grid img,.detail-gallery img{cursor:zoom-in}
.gallery-grid img:focus-visible,.detail-gallery img:focus-visible{outline:3px solid var(--brass);outline-offset:4px}
body.lightbox-open{overflow:hidden}
.photo-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:64px 28px 26px;border:0;background:#211e1a;color:#fff}
.photo-lightbox[open]{display:flex;align-items:center;justify-content:center}
.photo-lightbox::backdrop{background:rgba(25,22,19,.96)}
.lightbox-figure{display:flex;flex-direction:column;align-items:center;max-width:min(94vw,1360px);max-height:100%;margin:0}
.lightbox-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 145px);object-fit:contain}
.lightbox-figure figcaption{display:flex;justify-content:space-between;gap:24px;width:100%;padding-top:18px;color:#ddd9cf;font-size:.75rem;line-height:1.5}
.lightbox-count{white-space:nowrap;color:var(--brass)}
.photo-lightbox button{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(33,29,25,.75);color:#fff;font:300 2rem/1 Arial,sans-serif;cursor:pointer}
.photo-lightbox button:hover,.photo-lightbox button:focus-visible{background:var(--brass);color:var(--ink);outline:0}
.lightbox-close{top:16px;right:22px;font-size:1.9rem!important}
.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%)}
.lightbox-prev{left:22px}
.lightbox-next{right:22px}
@media(max-width:650px){
  .photo-lightbox{padding:60px 12px 28px}
  .lightbox-figure{max-width:100%}
  .lightbox-image{max-height:calc(100dvh - 145px)}
  .lightbox-figure figcaption{padding:15px 8px 0;font-size:.7rem}
  .photo-lightbox button{width:40px;height:40px}
  .lightbox-close{top:12px;right:14px}
  .lightbox-prev{left:8px}
  .lightbox-next{right:8px}
}


/* Photography: generous curves, alternating scale and offset compositions. */
.hero-image{margin:24px 24px 24px 0;border-radius:80px 24px 24px 24px}
.hero-photo-caption{right:48px;bottom:44px;border-radius:8px}
.room-grid{gap:36px;align-items:stretch;padding-bottom:0}
.room-card{border-radius:24px 24px 64px 24px}
.split-section{padding:40px;gap:20px}
.split-image{border-radius:24px 90px 24px 24px;min-height:540px}
.split-copy-inner{padding:60px clamp(25px,4vw,75px)}
.meeting-grid>img{border-radius:90px 24px 24px 24px;transform:rotate(2deg);width:96%;margin:auto}
.gallery-grid{gap:24px;align-items:center;height:auto}
.gallery-grid img{height:clamp(260px,30vw,430px);border-radius:20px}
.gallery-grid img:first-child{height:clamp(330px,37vw,530px);border-radius:70px 20px 20px 20px}
.gallery-grid img:last-child{margin-top:65px;border-radius:20px 20px 70px 20px}
.offer-card{border-radius:24px;overflow:hidden}
.offer-card img{border-radius:0 0 60px 0}
@media(max-width:760px){
 .hero-image{margin:16px 16px 0;border-radius:44px 16px 16px 16px}
 .hero-photo-caption{right:28px;bottom:25px}
 .room-grid{gap:22px;padding-bottom:0}
 .room-card{border-radius:18px 18px 44px 18px}
 .split-section{padding:22px 18px;gap:0}
 .split-image{min-height:0;border-radius:18px 56px 18px 18px}
 .split-copy-inner{padding:42px 4px 24px}
 .meeting-grid>img{border-radius:54px 18px 18px 18px;transform:none;width:100%}
 .gallery-grid{gap:12px}
 .gallery-grid img,.gallery-grid img:first-child{height:270px}
 .gallery-grid img:last-child{margin-top:25px}
}
@media(max-width:760px){.hero-image{width:calc(100% - 32px)}}
@media(min-width:761px) and (max-width:800px){.hero-image{width:calc(100% - 24px)}}

@media(max-width:800px){.hero-image{background-image:url("/images/optimized/about-805-74602cbea7.webp")}}

/* Desktop opening: the hotel photograph spans the viewport behind the copy. */
@media(min-width:801px){
 .hero{display:block;isolation:isolate;height:min(78vh,820px);min-height:650px}
 .hero-image{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;background-position:center 34%;background-size:cover}
 .hero-shade{display:block;position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,26,22,.83) 0%,rgba(31,26,22,.64) 29%,rgba(31,26,22,.22) 58%,rgba(31,26,22,.04) 100%)}
 .hero-content.wrap{position:relative;z-index:1;display:flex;align-items:center;width:min(100% - 88px,1400px);height:100%;max-width:1400px;margin-inline:auto;padding:65px 0;background:transparent}
 .hero-copy{max-width:660px}
 .hero h1{color:#fff;font-size:clamp(3.6rem,5.6vw,5.5rem);text-shadow:0 3px 20px rgba(0,0,0,.45)}
 .hero .eyebrow{color:#f3d9a4;text-shadow:0 2px 10px rgba(0,0,0,.7)}
 .hero-lead{max-width:450px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.8)}
 .hero .text-link{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.65)}
 .hero-photo-caption{right:35px;bottom:25px;border-radius:0;background:rgba(31,26,22,.65)}
}

/* Owner-approved evening panorama, with the entire building visible. */
@media(min-width:801px){
 .hero{height:auto;aspect-ratio:2 / 1;min-height:650px}
 .hero-image{background-size:contain;background-repeat:no-repeat;background-position:center}
 .hero-shade{background:linear-gradient(90deg,rgba(31,26,22,.04),rgba(31,26,22,.04) 65%,rgba(31,26,22,.14))}
 .hero-content.wrap{align-items:flex-end;justify-content:flex-start;width:calc(100% - 88px);max-width:none;padding:48px 0}
 .hero-copy{width:510px;max-width:100%;padding:30px 34px;background:rgba(31,26,22,.35);border:1px solid rgba(255,255,255,.08);box-shadow:none}
 .hero h1{font-size:clamp(3rem,4.2vw,4.3rem);margin-bottom:22px}
 .hero .eyebrow{margin-bottom:18px}
 .hero-lead{font-size:.94rem;margin-bottom:25px;line-height:1.7}
 .hero-cta{gap:22px}
 .hero-photo-caption{left:25px;right:auto;bottom:18px}
}
@media(min-width:801px){.hero-image{background-image:url("/images/optimized/hotel-header-winter-still-1774-a1b0702ff0.webp");background-image:image-set(url("/images/optimized/hotel-header-winter-still-1774-2b929dbfdb.avif") type("image/avif"),url("/images/optimized/hotel-header-winter-still-1774-a1b0702ff0.webp") type("image/webp"))}}
@media(max-width:800px){.hero-image{background-image:url("/images/optimized/hotel-header-winter-still-960-a1b0702ff0.webp");background-image:image-set(url("/images/optimized/hotel-header-winter-still-960-2b929dbfdb.avif") type("image/avif"),url("/images/optimized/hotel-header-winter-still-960-a1b0702ff0.webp") type("image/webp"));background-position:72% center}}
@media(min-width:801px){.hero{width:100%;height:max(650px,50vw);aspect-ratio:auto;min-width:0}}
/* Very light snowfall; only transform/opacity animate, with no render loop. */
.hero-snow{position:absolute;inset:0;overflow:hidden;pointer-events:none;contain:strict}
.hero-snow[hidden]{display:none}
.snow-dot{position:absolute;top:-6px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:rgba(255,255,255,.98);opacity:0;animation:hotel-snow var(--duration) var(--delay) linear infinite;animation-play-state:paused}
.hero-snow.is-active .snow-dot{animation-play-state:running;will-change:transform}
@keyframes hotel-snow{0%{opacity:0;transform:translate3d(0,0,0)}8%,88%{opacity:var(--alpha)}100%{opacity:0;transform:translate3d(var(--drift),var(--drop),0)}}
@media(max-width:800px){.hero-image{position:relative}.snow-dot{left:var(--mobile-x)}.snow-dot:nth-child(n+19){display:none}}
@media(prefers-reduced-motion:reduce){.hero-snow{display:none!important}}
/* Compact hotel introduction and practical homepage location map. */
.intro.section{padding:48px 0}
.intro-grid{align-items:center}
.intro-body{padding-top:0}
.intro-body p{margin-bottom:16px;line-height:1.75}
.intro-body .text-link{margin-top:5px}
.contact-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:6%;align-items:center}
.home-contact-map{height:400px;min-width:0;overflow:hidden;border-radius:18px;background:var(--stone)}
.home-contact-map iframe{display:block;width:100%;height:100%;border:0}
.contact-info{min-width:0}
.contact-info h2{margin:0 0 22px;font-size:clamp(1.8rem,2.5vw,2.5rem);line-height:1.15}
.contact-info .contact-links a{padding:15px 0}
.contact-info .button{margin-top:24px}
@media(max-width:800px){.intro.section{padding:40px 0}.intro-grid{gap:24px}.contact-grid{grid-template-columns:1fr;gap:30px}.home-contact-map{height:320px}}
