@font-face{font-family:Onest;src:url(/fonts/onest-cyrillic.woff2)format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;src:url(/fonts/onest-latin.woff2)format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2000-206F,U+20AC,U+2212}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-cyrillic.woff2)format("woff2");font-weight:400 600;font-display:swap;unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-latin.woff2)format("woff2");font-weight:400 600;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2000-206F,U+20AC,U+2212}:root{--ink:#111c28;--paper:#f5efe6;--paper-deep:#eee5d9;--cream:#fff8ef;--muted:#525956;--light-muted:#d1d7d9;--amber:#e6a66e;--amber-hover:#f5ba87;--accent-ink:#884318;--line:#d6ccc0;--dark-line:#3e4a54;--display:"Playfair Display", Georgia, serif;--body:Onest, system-ui, sans-serif;--gutter:clamp(1.25rem, 5.5vw, 5.5rem);--radius:.625rem;color:var(--ink);background:var(--paper);font-family:var(--body);font-synthesis:none;line-height:1.5}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,figure,dl,dd{margin:0}img{max-width:100%;display:block}a{color:inherit;text-underline-offset:.25em}button{font:inherit}section[id]{scroll-margin-top:1rem}::selection{background:var(--amber);color:var(--ink)}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:4px}.site-header :focus-visible,.site-footer :focus-visible,.hero :focus-visible,.booking :focus-visible,.skip-link:focus-visible{outline-color:var(--amber-hover)}.shell{width:min(100% - var(--gutter) * 2, 78rem);margin-inline:auto}.skip-link{z-index:2;top:.5rem;left:var(--gutter);color:var(--cream);background:var(--ink);padding:.7rem 1rem;position:absolute;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header,.site-footer{color:var(--cream);background:var(--ink)}.header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(1rem,3vw,2.75rem);min-height:clamp(4.5rem,7.2vw,5.75rem);display:grid;position:relative}.brand{color:var(--cream);white-space:nowrap;justify-self:start;align-items:center;gap:.72rem;line-height:1;text-decoration:none;display:inline-flex}.brand img{width:auto;height:clamp(2.5rem,5vw,3.6rem)}.brand-caption{letter-spacing:.15em;text-transform:uppercase;margin-bottom:.25rem;font-size:.67rem;font-weight:600;display:block}.brand strong{font:600 clamp(1.1rem, 2.5vw, 1.8rem)/1 var(--display);text-transform:uppercase;letter-spacing:.055em;display:block}.navigation{align-items:center;gap:clamp(1.4rem,4vw,3.25rem);display:flex}.navigation a,.site-footer a{text-decoration:none}.navigation a:hover,.site-footer a:not(.brand):hover{text-decoration:underline}.navigation a{white-space:nowrap;padding-block:.6rem}.navigation a[aria-current]{color:var(--amber-hover)}.menu-toggle{display:none}.button{border-radius:var(--radius);background:var(--amber);min-height:3rem;color:var(--ink);text-align:center;justify-content:center;align-items:center;gap:.55rem;padding:.75rem 1.35rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .16s ease-out;display:inline-flex}.button:hover{background:var(--amber-hover)}.header-booking{white-space:nowrap;justify-self:end}.hero{isolation:isolate;min-height:clamp(31rem,54vw,40rem);color:var(--cream);text-align:center;background:#41413c;place-items:center;display:grid;position:relative}.hero:before,.hero-photo{width:100%;height:100%;position:absolute;inset:0}.hero-photo{z-index:-2;object-fit:cover;object-position:50% 80%}.hero:before{z-index:-1;content:"";background:linear-gradient(#14161912,#14161996 46%,#14161999 61%,#14161925)}.hero-copy{padding-block:5.5rem 2.5rem}.hero-city{letter-spacing:.2em;text-transform:uppercase;font-size:clamp(.75rem,1.65vw,1.1rem);font-weight:600}h1,h2,h3{font-family:var(--display);letter-spacing:-.028em;text-wrap:balance;font-variant-numeric:lining-nums;font-weight:600}h1{margin-block:.65rem 1rem;font-size:clamp(2.7rem,6vw,5.8rem);line-height:1.06}.hero-description{text-wrap:balance;font-size:clamp(1.05rem,2vw,1.55rem)}.hero-button{min-height:3.55rem;margin-top:1.85rem;padding-inline:clamp(2.2rem,4.2vw,3.4rem);font-size:clamp(1rem,1.65vw,1.28rem)}.quick-facts{padding:clamp(1.4rem, 3.1vw, 2.35rem) max(var(--gutter), calc((100% - 78rem) / 2));background:var(--ink);color:var(--cream);text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.quick-facts>div{padding:.15rem .85rem}.quick-facts>div+div{border-inline-start:1px solid var(--dark-line)}.quick-facts dt{font:600 clamp(1.4rem, 3.2vw, 2.5rem)/1.12 var(--display);letter-spacing:-.02em;font-variant-numeric:lining-nums}.quick-facts dd{color:var(--light-muted);margin-top:.55rem;font-size:clamp(.88rem,1.65vw,1.17rem)}.section{padding-block:clamp(3.25rem,6vw,6rem)}h2{font-size:clamp(2.2rem,4.4vw,3.9rem);line-height:1.1}.section-copy h2{text-wrap:wrap}.section-copy p,.booking p{max-width:38ch;color:var(--muted);margin-top:1.15rem;font-size:clamp(1rem,1.7vw,1.22rem)}.rooms,.about,.location-inner{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.rooms{grid-template-columns:minmax(0,.54fr) minmax(0,1fr);align-items:start}.rooms .section-copy{padding-top:clamp(.8rem,2vw,1.6rem)}.text-link{min-height:2.75rem;color:var(--accent-ink);align-items:center;gap:.4rem;margin-top:1.25rem;font-size:1.08rem;font-weight:600;display:inline-flex}.text-link:hover{text-decoration-thickness:2px}.gallery-image{border-radius:var(--radius);background:var(--paper-deep);aspect-ratio:1.68;overflow:hidden}.gallery-image img{object-fit:cover;width:100%;height:100%;animation:.24s ease-out photo-enter}@keyframes photo-enter{0%{opacity:.78}to{opacity:1}}.gallery-caption,.gallery-description,.gallery-controls{align-items:center;display:flex}.gallery-caption{justify-content:space-between;gap:1rem;padding-top:.8rem}.gallery-description{color:var(--muted);gap:.8rem;font-size:.88rem}.photo-count{color:var(--accent-ink);font-variant-numeric:tabular-nums;flex:none}.gallery-controls{gap:.45rem}.gallery-controls button{border:1px solid var(--line);border-radius:var(--radius);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;background:0 0;place-items:center;display:grid}.gallery-controls button:hover{background:var(--paper-deep)}.booking{background:var(--ink);color:var(--cream)}.booking-inner{grid-template-columns:1fr auto;align-items:center;gap:1.65rem 3rem;padding-block:clamp(2.4rem,4.7vw,4.35rem);display:grid}.booking h2{text-wrap:wrap;font-size:clamp(2rem,3.6vw,3rem)}.booking p{max-width:48ch;color:var(--light-muted);margin-top:.65rem}.booking .button svg,.text-link svg{flex:none}.about{align-items:start}.amenities{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2rem;display:grid}.amenities>div{border-top:1px solid var(--line);padding-top:.85rem}.amenities dt{font-size:1.07rem;font-weight:700}.amenities dd{color:var(--muted);margin-top:.35rem}.location{background:var(--paper-deep)}.location-inner{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-panel{border-radius:var(--radius);background:var(--paper);border:1px solid #c9bbab;justify-items:start;padding:clamp(1.35rem,3.2vw,2.8rem);display:grid}.contact-panel h3{text-wrap:wrap;font-size:clamp(1.6rem,3vw,2.45rem);line-height:1.15}.contact-panel address{color:var(--muted);margin-top:.45rem;font-style:normal}.contact-phone{color:var(--accent-ink);margin-top:1.15rem;font-size:1.18rem;font-weight:700}.contact-note{color:var(--muted);margin-top:.28rem;font-size:.89rem}.footer-inner{justify-content:space-between;align-items:center;gap:1.25rem 2rem;padding-block:1.6rem;display:flex}.footer-inner>a:not(.brand){color:var(--light-muted);font-size:.87rem}.catalog{padding-top:clamp(1.5rem,3.6vw,3.5rem);padding-bottom:clamp(3rem,6vw,6rem)}.breadcrumbs{color:var(--muted);align-items:center;gap:.55rem;font-size:.9rem;display:flex}.breadcrumbs a{color:var(--accent-ink)}.catalog-intro{justify-content:space-between;align-items:end;gap:1rem 2rem;padding-block:clamp(1.1rem,2.6vw,2.5rem) clamp(1.75rem,4vw,3rem);display:flex}.catalog-intro h1{margin:0}.catalog-intro p{max-width:35ch;color:var(--muted);font-size:clamp(1rem,1.7vw,1.2rem)}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,5vw,4rem) clamp(1.15rem,2.8vw,2.5rem);margin:0;padding:0;list-style:none;display:grid}.category img{aspect-ratio:3/2;border-radius:var(--radius);object-fit:cover;background:var(--paper-deep);width:100%;height:auto}.category-meta{color:var(--accent-ink);font-variant-numeric:tabular-nums;gap:.7rem;margin-top:1rem;font-size:.9rem;display:flex}.category-meta span+span{border-inline-start:1px solid var(--line);padding-inline-start:.7rem}.category h2{text-wrap:pretty;margin-top:.5rem;font-size:clamp(1.45rem,2.4vw,2rem)}.category-details{color:var(--muted);margin-top:.5rem}.category-link{border-radius:var(--radius);text-decoration:none;display:block}.category-action{min-height:2.75rem;color:var(--accent-ink);align-items:center;gap:.4rem;margin-top:.5rem;font-weight:600;display:inline-flex}.category-link:hover .category-action,.category-link:focus-visible .category-action{text-decoration:underline}.room-detail .breadcrumbs{flex-wrap:wrap}.room-detail h1{text-wrap:pretty;max-width:24ch;margin-block:clamp(1rem,2.6vw,2rem) clamp(1.6rem,3.5vw,2.8rem);font-size:clamp(2.2rem,4.7vw,4.35rem)}.room-detail-grid{grid-template-columns:minmax(0,1fr) minmax(15rem,.42fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);display:grid}.room-photo-open{aspect-ratio:3/2;cursor:zoom-in;border:0;width:100%;padding:0;display:block;position:relative}.room-photo-open img{object-fit:contain}.photo-enlarge{border-radius:var(--radius);background:var(--ink);color:var(--cream);padding:.55rem .8rem;font-size:.9rem;position:absolute;bottom:.75rem;right:.75rem}.room-photo-open:hover .photo-enlarge{background:var(--amber);color:var(--ink)}.photo-thumbnails{grid-auto-columns:minmax(0,6rem);grid-auto-flow:column;gap:.55rem;margin-top:.9rem;display:grid}.photo-thumbnails button{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:0 0;min-height:2.75rem;padding:2px;overflow:hidden}.photo-thumbnails button[aria-pressed=true],.photo-thumbnails button:hover{border-color:var(--accent-ink)}.photo-thumbnails button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--accent-ink)}.photo-thumbnails img{aspect-ratio:3/2;border-radius:calc(var(--radius) - 3px);object-fit:cover;width:100%;height:auto}.room-summary{border-radius:var(--radius);background:var(--paper-deep);padding:clamp(1.2rem,3vw,2.2rem);scroll-margin-top:1rem}.room-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.room-facts dt,.room-booking-note{color:var(--muted);font-size:.88rem}.room-facts dd{font:600 clamp(1.45rem, 2.4vw, 2rem)/1.15 var(--display);font-variant-numeric:lining-nums;margin-top:.25rem}.room-summary p{margin-top:1.15rem}.room-summary .button{width:100%;margin-top:1.25rem}.room-summary .button svg{flex:none}.room-summary .room-booking-note{margin-top:.65rem}.room-detail>.text-link{margin-top:1.75rem}body:has(.photo-viewer[open]){overflow:hidden}.photo-viewer{border:1px solid var(--dark-line);border-radius:var(--radius);background:var(--ink);width:min(74rem,100% - 1rem);max-width:none;max-height:calc(100% - 1rem);color:var(--cream);padding:clamp(.7rem,2.2vw,1.45rem)}.photo-viewer::backdrop{background:#111c28e0}.photo-viewer[open]{gap:.65rem;display:grid}.photo-viewer-header{justify-content:end;display:flex}.photo-close{border:1px solid var(--dark-line);border-radius:var(--radius);min-height:2.75rem;color:var(--cream);cursor:pointer;background:0 0;padding-inline:.9rem}.photo-viewer-image{object-fit:contain;width:100%;height:min(65dvh,48rem)}.photo-viewer .gallery-caption{padding-top:0}.photo-viewer .gallery-description{color:var(--light-muted)}.photo-viewer .photo-count{color:var(--amber)}.photo-viewer .gallery-controls button{border-color:var(--dark-line);color:var(--cream)}.photo-viewer .gallery-controls button:hover,.photo-close:hover{background:var(--dark-line)}.photo-viewer :focus-visible{outline-color:var(--amber-hover)}.contacts-grid{grid-template-columns:minmax(0,.52fr) minmax(0,1fr);align-items:start;gap:clamp(1.65rem,5vw,4.5rem);display:grid}.contacts-info{gap:1.75rem;display:grid}.contacts-info section{border-top:1px solid var(--line);padding-top:1.15rem}.contacts-info h2,.hotel-map h2{font-size:clamp(1.45rem,2.4vw,2rem)}.contacts-info address{gap:.3rem;margin-top:.75rem;font-style:normal;display:grid}.contacts-info address span,.contacts-info p{color:var(--muted)}.contacts-info p{max-width:38ch;margin-top:.65rem}.contacts-info .contact-phone{margin-top:.75rem;display:inline-block}.hotel-map-frame{isolation:isolate;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-deep);place-items:center;min-height:clamp(20rem,32vw,28rem);margin-top:.8rem;display:grid;position:relative;overflow:hidden}.hotel-map-canvas{position:absolute;inset:0}.hotel-map-controls{z-index:1;gap:.3rem;display:grid;position:absolute;top:.75rem;right:.75rem}.hotel-map-controls button{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;font-size:1.25rem}.hotel-map-controls button:hover{background:var(--cream)}.hotel-map-marker{border-radius:var(--radius);background:var(--ink);color:var(--cream);font:600 .88rem/1.3 var(--body);white-space:nowrap;padding:.65rem .85rem;position:relative;transform:translate(-50%,calc(-100% - .35rem))}.hotel-map-marker:after{border:.35rem solid #0000;border-top-color:var(--ink);content:"";width:0;height:0;position:absolute;top:100%;left:calc(50% - .35rem)}.walking-scheme{z-index:1;width:min(100% - 2rem,29rem);padding-block:1.5rem}.walking-scheme h3{text-wrap:wrap;font-size:1.45rem}.walking-scheme ol{margin:1.35rem 0 0;padding:0;list-style:none}.walking-scheme li{border-left:1px solid var(--accent-ink);margin-left:.4rem;padding:0 0 1rem 1.1rem;position:relative}.walking-scheme li:before{border:1px solid var(--accent-ink);background:var(--paper-deep);content:"";border-radius:50%;width:.6rem;height:.6rem;position:absolute;top:.38rem;left:-.32rem}.walking-scheme li:first-child:before,.walking-scheme li:last-child:before{background:var(--accent-ink)}.walking-scheme li:last-child{border-color:#0000;padding-bottom:0}.walking-scheme li span{color:var(--muted);display:block}.hotel-map-status{color:var(--muted);margin-top:.6rem;font-size:.88rem}.contacts-distances{gap:.85rem;display:grid}.contacts-distances div{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding-top:.85rem;display:flex}.contacts-distances dd{color:var(--accent-ink);white-space:nowrap;font-weight:700}.cms-extra-page section{max-width:70ch;margin-block:1.5rem}.cms-extra-page p{white-space:pre-line}.cms-extra-page img{border-radius:var(--radius);height:auto}@media (width<=840px){.header-inner{gap:.9rem}.navigation{gap:1.1rem}.navigation a,.header-booking{font-size:.9rem}.header-booking{padding-inline:.85rem}.rooms,.about{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.header-inner{grid-template-columns:1fr auto auto;min-height:4.4rem}.menu-toggle{min-height:2.75rem;color:var(--cream);cursor:pointer;background:0 0;border:0;padding:.35rem .28rem;display:block}.navigation{z-index:1;top:100%;right:calc(-1 * var(--gutter));left:calc(-1 * var(--gutter));padding:.6rem var(--gutter) 1rem;border-top:1px solid var(--dark-line);background:var(--ink);display:none;position:absolute}.navigation[data-open=true]{gap:0;display:grid}.navigation a{padding-block:.78rem}.header-booking{min-height:2.75rem}.hero{min-height:clamp(29rem,112vw,36rem)}.hero-photo{object-position:49% center}.hero-copy{padding-block:3rem}.quick-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-facts>div:last-child{border-inline-start:0;border-top:1px solid var(--dark-line);grid-column:1/-1;margin-top:.9rem;padding-top:.9rem}.quick-facts dd{margin-top:.3rem}.rooms,.about,.location-inner,.booking-inner{grid-template-columns:1fr}.rooms .section-copy{padding-top:0}.booking .button{justify-self:start}.footer-inner{flex-wrap:wrap;justify-content:flex-start}.catalog-intro{flex-direction:column;align-items:start}.catalog-grid,.room-detail-grid,.contacts-grid{grid-template-columns:1fr}}@media (width<=380px){:root{--gutter:1rem}.header-inner{gap:.5rem}.brand{gap:.45rem}.brand-caption{font-size:.55rem}.brand strong{font-size:1rem}.header-booking,.menu-toggle{font-size:.8rem}.header-booking{padding-inline:.58rem}.amenities{grid-template-columns:1fr;gap:1.2rem}}@media (prefers-reduced-motion:reduce){.gallery-image img{animation:none}.button{transition:none}}
