@font-face{font-family:Jost;src:url('/assets/fonts/jost-cyrillic-300.woff2') format('woff2');font-weight:300;font-display:swap;unicode-range:U+0400-04FF,U+0500-052F}
@font-face{font-family:Jost;src:url('/assets/fonts/jost-cyrillic-400.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0400-04FF,U+0500-052F}
@font-face{font-family:Jost;src:url('/assets/fonts/jost-cyrillic-500.woff2') format('woff2');font-weight:500;font-display:swap;unicode-range:U+0400-04FF,U+0500-052F}
@font-face{font-family:Jost;src:url('/assets/fonts/jost-latin-300.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Jost;src:url('/assets/fonts/jost-latin-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Jost;src:url('/assets/fonts/jost-latin-500.woff2') format('woff2');font-weight:500;font-display:swap}
:root{--paper:#fff;--ink:#111;--muted:#5c5c5c;--line:#e3e3e1;--brass:#e2b66b;--dark:#151515;--z-fon:var(--paper);--z-tekst:var(--ink);--z-tih:var(--muted);--z-akcent:var(--brass);--z-akcent-tekst:var(--ink);--z-ramka:var(--line);--z-shrift:Jost,Arial,sans-serif;--z-shrift-zaglavie:Jost,Arial,sans-serif;--z-radius:2px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:Jost,Arial,sans-serif;font-size:17px;line-height:1.58;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #111;outline-offset:3px}
.hero a:focus-visible,.nearby a:focus-visible,.site-footer a:focus-visible,.site-footer button:focus-visible{outline-color:#fff}
h1,h2,h3,p{margin-top:0}
h1,h2{font-weight:300;letter-spacing:-.045em;line-height:1.04}
.site-header{align-items:center;background:var(--paper);border-bottom:1px solid var(--line);display:flex;gap:26px;min-height:84px;padding:18px clamp(18px,5vw,72px);position:relative;z-index:5}
.brand{align-items:center;display:flex;flex:none;gap:13px;font-size:14px;font-weight:500;letter-spacing:.04em}
.brand img{height:36px;width:94px}
.desktop-nav{display:flex;gap:24px;margin-left:auto;font-size:15px}
.desktop-nav a:hover,.site-footer a:hover,.text-link:hover{color:#83632f}
.button{align-items:center;background:var(--ink);border:1px solid var(--ink);color:var(--paper);display:inline-flex;font-size:15px;justify-content:center;min-height:50px;padding:0 22px;transition:background .2s,color .2s,border-color .2s}
.button:hover{background:transparent;color:var(--ink)}
.button-small{font-size:14px;margin-left:2px;min-height:44px;padding:0 16px}
.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.button-light:hover{background:transparent;border-color:var(--paper);color:var(--paper)}
.button-outline{background:transparent;color:var(--ink)}
.mobile-menu{display:none}
.hero{color:var(--paper);display:grid;min-height:calc(100vh - 84px);overflow:hidden;place-items:end start;position:relative}
.hero-media,.hero-media picture,.hero-media img,.hero-shade{height:100%;inset:0;position:absolute;width:100%}
.hero-image{object-fit:cover;object-position:center}
.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.75) 86%)}
.hero-content{max-width:960px;padding:90px clamp(22px,8vw,112px);position:relative;z-index:1}
.eyebrow,.section-label{border-left:2px solid var(--brass);color:var(--muted);font-size:12px;letter-spacing:.15em;line-height:1.3;margin:0 0 18px;padding-left:9px;text-transform:uppercase}
.hero .eyebrow{color:var(--paper)}
.hero h1{font-size:clamp(44px,7vw,92px);margin:0 0 23px;max-width:830px}
.hero-address{font-size:19px;margin-bottom:32px}
.section{border-top:1px solid var(--line);margin:0 auto;max-width:1280px;padding:100px clamp(22px,6vw,80px)}
.section h2,.legal-page h1,.not-found h1{font-size:clamp(37px,5vw,68px);margin:0 0 25px}
.advice{background:#fbfbfa}
.advice-grid{display:grid;gap:clamp(36px,8vw,120px);grid-template-columns:repeat(2,minmax(0,1fr));max-width:1040px}
.advice-grid p{max-width:510px}
.section-heading{align-items:end;display:flex;gap:40px;justify-content:space-between;margin-bottom:40px}
.section-heading>p{color:var(--muted);max-width:330px}
.price-list{border-top:1px solid var(--line);margin-bottom:28px}
.price-row{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:18px;grid-template-columns:1fr auto 26px;padding:22px 0}
.price-row strong{font-weight:400}
.price-row:hover{color:#83632f}
.text-link{border-bottom:1px solid var(--brass);display:inline-block;padding-bottom:2px}
.quiet{color:var(--muted)}
.vat-note{color:var(--muted);font-size:16px;margin:0 0 22px}
.nearby{align-items:stretch;background:var(--dark);color:var(--paper);display:grid;gap:60px;grid-template-columns:1.15fr .85fr}
.nearby .section-label{color:var(--paper)}
.nearby h2{font-size:clamp(42px,6vw,78px)}
.nearby-copy p{max-width:580px}
.nearby .button{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.nearby .button:hover{background:transparent;border-color:var(--paper);color:var(--paper)}
.nearby-note{border-left:1px solid rgba(255,255,255,.32);padding:10px 0 10px 38px}
.nearby-note>p{color:var(--brass);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.nearby-contact{margin:0 0 22px}
.nearby-contact span{display:block;color:var(--brass);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.nearby-contact a{font-size:19px}
.opening-hours{display:grid;gap:7px;margin:0 0 28px;font-size:16px}
.opening-hours>dt{color:var(--brass);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.opening-hours>div{display:grid;grid-template-columns:170px 1fr;gap:10px}
.opening-hours dt{font-weight:400}
.opening-hours dd{margin:0}
.footer-contact{margin-top:0}
.nearby address{font-size:24px;font-style:normal;margin-bottom:34px}
.place-tags{display:flex;flex-wrap:wrap;gap:8px}
.place-tags span{border:1px solid rgba(255,255,255,.32);font-size:14px;padding:7px 11px}
.steps{display:grid;gap:0;grid-template-columns:repeat(3,1fr);margin:25px 0 38px}
.steps article{border-top:1px solid var(--line);padding:20px 24px 0 0}
.steps article+article{border-left:1px solid var(--line);padding-left:24px}
.steps span{color:#83632f;font-size:13px;letter-spacing:.12em}
.steps h3{font-size:23px;font-weight:400;margin:24px 0 8px}
.steps p{color:var(--muted);max-width:270px}
.faq{background:#fbfbfa}
.faq-list{border-top:1px solid var(--line);max-width:890px}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;display:flex;font-size:19px;justify-content:space-between;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{color:#83632f;font-size:24px;line-height:1}
.faq details[open] summary span{transform:rotate(45deg)}
.faq details p{color:var(--muted);margin:14px 35px 4px 0;max-width:760px}
.bridge{align-items:center;display:flex;gap:45px;justify-content:space-between}
.bridge h2{font-size:clamp(34px,4vw,55px);max-width:760px}
.site-footer{background:var(--dark);color:var(--paper);display:grid;gap:35px;grid-template-columns:1.3fr 1fr .8fr;padding:62px clamp(22px,6vw,80px)}
.footer-brand{display:block;margin-bottom:22px;width:148px}
.footer-brand img{filter:brightness(0) invert(1);width:100%}
.site-footer p{color:rgba(255,255,255,.72);font-size:14px}
.site-footer nav{display:flex;flex-direction:column;gap:10px;font-size:15px}
.site-footer nav a{color:rgba(255,255,255,.86)}
.site-footer a:hover{color:var(--brass)}
.floating-booking{background:var(--brass);bottom:18px;color:var(--ink);font-size:14px;padding:13px 17px;position:fixed;right:18px;z-index:20}
.legal-page,.not-found{margin:0 auto;max-width:900px;padding:90px 24px 120px}
.legal-page .lead,.not-found>p{color:var(--muted);font-size:20px;margin-bottom:55px}
.legal-page article{max-width:700px}
.legal-page article h2{font-size:28px;margin:42px 0 10px}
.legal-page article p{color:#333}
.not-found{text-align:center}
.not-found .section-label{display:inline-block}
.not-found>div:last-child{display:flex;gap:12px;justify-content:center}
@media (max-width:800px){
  .site-header{gap:12px;padding:14px 18px}
  .brand{font-size:12px;gap:8px}
  .brand img{height:32px;width:78px}
  .desktop-nav{display:none}
  .mobile-menu{display:block;margin-left:auto;position:relative}
  .mobile-menu summary{cursor:pointer;list-style:none;padding:10px 6px}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu nav{background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 18px rgba(0,0,0,.12);display:flex;flex-direction:column;gap:4px;min-width:180px;padding:12px;position:absolute;right:0;top:42px;z-index:10}
  .mobile-menu nav a{padding:8px}
  .button-small{font-size:13px;padding:0 12px}
  .hero{min-height:calc(100vh - 73px)}
  .hero-content{padding:70px 22px 55px}
  .hero h1{font-size:clamp(43px,13vw,66px)}
  .hero-address{font-size:17px}
  .section{padding:72px 22px}
  .advice-grid,.nearby{grid-template-columns:1fr}
  .section-heading{align-items:start;display:block}
  .section-heading>p{margin-top:0}
  .nearby-note{border-left:0;border-top:1px solid rgba(255,255,255,.32);padding:30px 0 0}
  .steps{grid-template-columns:1fr}
  .steps article,.steps article+article{border-left:0;border-top:1px solid var(--line);padding:18px 0 6px}
  .steps h3{margin-top:12px}
  .bridge,.site-footer{display:block}
  .bridge .button{margin-top:8px}
  .site-footer>div,.site-footer>nav{margin-bottom:32px}
  .legal-page,.not-found{padding:70px 22px 90px}
}
@media (max-width:430px){
  .brand span{font-size:11px}
  .brand img{width:70px}
  .button-small{min-height:42px;padding:0 10px;white-space:nowrap}
  .price-row{gap:10px;grid-template-columns:minmax(0,1fr) auto 16px}
  .nearby address{font-size:21px}
  .not-found>div:last-child{align-items:stretch;flex-direction:column}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
@media (max-width:389px){.brand span{display:none}}
.opening-hours dd{white-space:nowrap}
@media (max-width:560px){.opening-hours>div{grid-template-columns:1fr;gap:0}.opening-hours>div+div{margin-top:6px}.opening-hours div dt{opacity:.75}}
