:root{--red:#b50920;--red-dark:#910719;--ink:#171719;--muted:#626268;--paper:#fff;--light:#f4f4f5;--line:#dedee1;--heading:'Oswald',sans-serif;--body:'Roboto',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.6 var(--body)}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:var(--heading);font-weight:500;line-height:1.15}h2{font-size:clamp(2.2rem,4.2vw,3.6rem);letter-spacing:-.035em}h3{font-size:1.5rem}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;height:auto}button:disabled{cursor:not-allowed;opacity:.55}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d3273d;outline-offset:4px}.container{width:min(100% - 64px,1240px);max-width:1240px;margin-inline:auto;padding:0}.section{padding:86px 0}.eyebrow{font-size:.875rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--red);margin-bottom:18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 25px;border:1px solid transparent;border-radius:3px;font-size:.9375rem;font-weight:700;line-height:1.3;transition:background .2s,transform .2s}.button span[aria-hidden]{font-size:1.35rem;font-weight:400}.button:hover{transform:translateY(-2px)}.button-red{background:var(--red);color:#fff}.button-red:hover{background:var(--red-dark);color:#fff}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#303034;color:#fff}.button-outline{border-color:var(--ink);background:transparent;color:var(--ink)}.button-outline:hover{background:var(--ink);color:#fff}.skip-link{position:fixed;left:12px;top:-90px;background:#fff;padding:12px;z-index:2000}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);z-index:100;backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:88px}.brand-logo{position:relative;display:block;overflow:hidden;aspect-ratio:2.25;background:#fff}.brand-logo img{position:absolute;width:110%;max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-50%)}.header-logo{width:180px;flex-shrink:0}.header-nav{display:flex;gap:35px;font-size:.9375rem;font-weight:500}.header-nav a:hover{color:var(--red)}.header-book{min-height:44px;padding:11px 19px}.hero-section{padding:40px 0 48px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;align-items:center}.hero-copy{padding:12px 0}.hero-copy>.eyebrow{font-size:.8rem;letter-spacing:.12em;margin-bottom:15px}.hero-logo{width:90%;max-width:420px;margin-bottom:19px}.hero-copy h1{font-size:clamp(2.3rem,3.3vw,3.2rem);margin-bottom:19px;letter-spacing:-.03em}.hero-description{color:var(--muted);margin-bottom:24px}.hero-tags{display:flex;flex-wrap:wrap;gap:9px 18px;color:var(--muted);font-size:.8rem;margin-top:23px}.hero-tags span+span:before{content:'·';margin-right:18px;color:var(--red)}.hero-gallery{position:relative;min-width:0;align-self:stretch;display:flex;align-items:center}.hero-gallery .carousel{width:100%;background:var(--ink)}.hero-gallery .carousel-item img{width:100%;height:475px;object-fit:cover;object-position:61% center}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 21px;color:#fff;font-size:.875rem}.gallery-controls>div{display:flex;gap:8px}.gallery-controls button,.review-controls button{width:44px;height:44px;background:transparent;border:1px solid #55555a;color:inherit;border-radius:50%;font-size:1.35rem;transition:background .2s}.gallery-controls button:hover{background:var(--red);border-color:var(--red)}.gallery-stamp{position:absolute;left:-23px;bottom:95px;background:var(--red);color:#fff;font:500 1.6rem/1.1 var(--heading);letter-spacing:.02em;padding:22px 20px;transform:rotate(-8deg)}.facts-strip{background:var(--ink);color:#fff}.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:26px;gap:32px}.facts-grid>div{display:flex;align-items:center;gap:18px}.facts-grid>div+div{border-left:1px solid #45454a;padding-left:32px}.facts-grid i{color:#ef334c;font-size:1.2rem}.facts-grid p{margin:0}.facts-grid strong{display:block;font-size:.9375rem}.facts-grid span{display:block;font-size:.8125rem;color:#c0c0c5;margin-top:4px}
.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);font-size:.9375rem;margin-bottom:0}.section-index{font-size:.8rem;letter-spacing:.15em;color:var(--muted);white-space:nowrap}.booking-layout{display:grid;grid-template-columns:260px 1fr;border:1px solid var(--line)}.booking-aside{background:var(--ink);color:#fff;padding:33px 28px;display:flex;flex-direction:column}.aside-number{font:500 3.4rem/1 var(--heading);color:#f04a5e;letter-spacing:-.07em;margin-bottom:34px}.booking-aside h3{font-size:1.7rem;margin-bottom:18px}.booking-aside p{color:#c0c0c5;font-size:.9375rem}.booking-note{margin-top:auto;display:flex;gap:12px;padding-top:32px;color:#c0c0c5;font-size:.8rem;line-height:1.65}.booking-note i{color:#ef334c;padding-top:5px}.booking-form{padding:34px;min-width:0}.form-grid{display:grid;gap:20px}.form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-form label,.table-picker legend{display:block;font-size:.875rem;font-weight:500;margin-bottom:9px}.booking-form input:not([type=hidden]),.booking-form select{width:100%;min-width:0;height:49px;border:1px solid #cfcfd4;border-radius:3px;background:#fff;color:var(--ink);padding:10px 12px;font-size:.9375rem;color-scheme:light}.booking-form input::placeholder{color:#797981;font-size:.875rem}.booking-form input:focus,.booking-form select:focus{border-color:var(--red);box-shadow:0 0 0 3px #b5092010}.time-selects{display:flex;gap:7px;align-items:center}.time-selects select{padding-inline:7px}.time-selects>span{color:#777}.field-help{font-size:.8rem;color:var(--muted);margin:10px 0 18px;line-height:1.5}.time-range{display:flex;gap:9px;align-items:center;background:#f4f4f5;font-size:.875rem;padding:10px 12px;margin-bottom:18px;border-left:2px solid var(--red)}.table-picker{border:0;padding:0;margin:22px 0 27px;min-width:0}.table-picker legend{float:none;width:auto;padding:0}.table-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.table-btn{border:1px solid #d7d7dc;border-radius:3px;background:#fff;color:var(--ink);padding:14px 8px;transition:border-color .2s,background .2s;text-align:center}.table-btn>span{display:block;font-size:.8rem}.table-btn .table-number{font:500 1.8rem/1.1 var(--heading);margin-bottom:8px}.table-btn:hover{border-color:var(--red)}.table-btn.active{background:var(--red);border-color:var(--red);color:#fff}.comment-field{margin-top:22px}.optional{font-size:.8rem;color:var(--muted);font-weight:400}.booking-total{border-top:1px solid var(--line);margin-top:28px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.booking-total .field-help{display:block;margin:0 0 3px}.total-amount{font:500 2.3rem/1.1 var(--heading)}.total-amount>span:last-child{font-size:1.6rem;color:var(--muted)}.booking-message{padding:14px 17px;margin-top:20px;border-left:3px solid #777;background:var(--light);font-size:.9375rem}.booking-message[data-type=danger]{background:#fff0f2;color:#920b1d;border-color:var(--red)}.booking-message[data-type=success]{background:#f1f6f2;color:#275337;border-color:#477655}
.menus-section{padding:34px 0;background:var(--light);border-block:1px solid var(--line)}.menu-grid{display:flex;justify-content:space-between;align-items:center;gap:32px}.menu-grid .eyebrow{margin-bottom:8px}.menu-grid h2{font-size:1.75rem;letter-spacing:-.025em;margin:0}.menu-actions{display:flex;gap:12px;flex-shrink:0}.menu-actions .button{font-size:.875rem;padding-inline:19px;gap:18px}.promotions-section{padding-bottom:78px}.promotions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.promotion{padding:28px 30px;min-height:365px;display:flex;flex-direction:column;justify-content:space-between}.promotion-red{background:var(--red);color:#fff}.promotion-white{background:var(--light);border:1px solid var(--line)}.promotion-dark{background:var(--ink);color:#fff}.promo-label{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}.promo-value{font:500 clamp(4.5rem,7vw,6.5rem)/1 var(--heading);letter-spacing:-.06em;white-space:nowrap;display:block;margin-bottom:28px}.promo-value>span:not(#hourlyDiscountValue){font-size:.65em}.promo-value small{font-size:.45em}.promotion-white .promo-value{color:var(--red)}.promotion h3{font-size:1.45rem;margin-bottom:10px}.promotion p:last-child{font-size:.9rem;opacity:.82;line-height:1.6;margin:0}.events-section{background:var(--light);border-block:1px solid var(--line);padding-block:65px}.events-empty{display:flex;align-items:center;gap:30px;padding:36px 0;border-block:1px solid #d4d4d9}.empty-icon{font:500 3rem/1 var(--heading);color:var(--red)}.events-empty h3{font-size:1.6rem;margin-bottom:10px}.events-empty p{color:var(--muted);margin:0}.empty-label{margin-left:auto;color:var(--muted);text-transform:uppercase;letter-spacing:.15em;font-size:.75rem}.event-card{display:grid;grid-template-columns:100px 1fr auto;align-items:start;gap:25px;padding:28px 0;border-top:1px solid #d4d4d9}.event-date{color:var(--red);font-family:var(--heading);font-size:1.3rem}.event-card h3{margin-bottom:10px}.event-card p{white-space:pre-line;margin:0;color:var(--muted)}.event-card a{align-self:center}.reviews-section{padding-bottom:90px}.review-disclaimer{font-size:.8rem!important}.reviews-slider{display:grid;grid-template-columns:90px 1fr;gap:20px;border-top:2px solid var(--ink);padding-top:30px;position:relative}.review-mark{font-family:Georgia,serif;font-size:8rem;color:var(--red);line-height:1}.review-slides{min-height:230px;max-width:930px}.review-slide{margin:8px 0 0}.review-slide blockquote{font-size:clamp(1.25rem,2.1vw,1.85rem);line-height:1.55;font-weight:400;margin-bottom:25px;letter-spacing:-.02em}.review-slide figcaption{display:flex;gap:14px;align-items:center}.review-avatar{width:43px;height:43px;display:grid;place-items:center;background:var(--light);border:1px solid var(--line);border-radius:50%;color:var(--red);font-size:1.1rem}.review-slide figcaption strong{display:block;font-size:.875rem}.review-slide figcaption div>span{display:block;font-size:.8rem;color:var(--muted)}.review-controls{grid-column:2;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:22px}.review-controls>span{font-family:var(--heading);color:var(--muted);letter-spacing:.13em;font-size:.875rem}.review-controls>div{display:flex;gap:8px}.review-controls button{border-color:#cfcfd4}.review-controls button:hover{border-color:var(--red);color:var(--red)}#reviewPause{font-size:1rem}
.site-footer{background:var(--ink);color:#fff;padding:47px 0 23px}.footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:35px}.footer-logo{width:255px;border-radius:2px;margin-bottom:20px}.footer-top p{font-size:.875rem;color:#c0c0c5;margin:0}.footer-links>p{margin-bottom:15px}.social-links{display:flex;gap:25px}.social-links a{font-size:.875rem;display:flex;align-items:center;gap:8px}.social-links i{font-size:1.2rem}.social-links a:hover,.map-link:hover{color:#ff6c81}.map-link{display:inline-flex;align-items:center;gap:23px;font-size:.875rem;margin-top:24px;border-bottom:1px solid #707078;padding-bottom:6px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #44444b;padding-top:22px;color:#bcbcc2;font-size:.75rem;padding-right:65px}.telegram-widget{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:200;display:flex;align-items:center;gap:15px}.telegram-button{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;box-shadow:0 4px 24px #0003;border:3px solid #fff;animation:telegram-hop 16s ease-in-out infinite}.telegram-button i{font-size:2rem}.telegram-button:hover{background:var(--red-dark);color:#fff;animation-play-state:paused}.telegram-hint{position:relative;padding:15px 34px 15px 18px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 28px #0002;font-size:.875rem;line-height:1.5;max-width:240px;opacity:0;visibility:hidden;transform:translateX(10px);transition:opacity .25s,transform .25s,visibility .25s}.telegram-hint.is-visible{opacity:1;visibility:visible;transform:translateX(0)}.telegram-hint button{position:absolute;right:5px;top:3px;width:28px;height:28px;border:0;background:transparent;color:var(--muted);font-size:1.25rem}.telegram-widget:hover .telegram-hint{opacity:1;visibility:visible;transform:none}.telegram-hint.is-dismissed{display:none}.site-dialog{border:0;border-radius:6px;padding:0;max-width:530px;width:calc(100% - 32px);max-height:calc(100dvh - 40px);overflow:auto;color:var(--ink);box-shadow:0 24px 90px #0005}.site-dialog::backdrop{background:#101014bf;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.dialog-close{position:absolute;right:13px;top:13px;width:38px;height:38px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:50%;z-index:1;font-size:1.8rem;line-height:1}.success-image{height:185px;position:relative;overflow:hidden;background:var(--ink)}.success-image img{height:100%;width:100%;object-fit:cover}.success-image>span{position:absolute;left:24px;bottom:19px;background:var(--red);color:#fff;padding:5px 10px;font-size:.75rem;letter-spacing:.14em}.dialog-copy{padding:29px 32px}.dialog-copy .eyebrow{margin-bottom:10px}.dialog-copy h2{font-size:2.5rem}.dialog-copy>p{font-size:.9375rem}.success-summary{padding:12px 0;border-block:1px solid var(--line);white-space:pre-line;font-weight:500}.ps-note{display:flex;gap:17px;align-items:center;background:var(--light);padding:16px;font-size:.875rem;margin:22px 0}.ps-note i{font-size:1.6rem;color:var(--red)}.dialog-copy>.button{width:100%}.info-dialog .dialog-copy{padding-top:45px}@keyframes telegram-hop{0%,87%,100%{transform:translateY(0)}90%{transform:translateY(-9px)}93%{transform:translateY(0)}95%{transform:translateY(-4px)}97%{transform:translateY(0)}}
@media(min-width:1500px){.hero-gallery .carousel-item img{height:510px}}
@media(max-width:1100px){.container{width:calc(100% - 44px)}.hero-grid{gap:30px;grid-template-columns:1fr 1fr}.hero-gallery .carousel-item img{height:460px}.hero-tags{gap:6px 12px}.hero-tags span+span:before{margin-right:12px}.facts-grid{gap:20px}.facts-grid>div+div{padding-left:20px}.booking-layout{grid-template-columns:220px 1fr}.booking-aside{padding:28px 22px}.booking-form{padding:27px}.form-grid{gap:13px}.menu-grid{align-items:start;flex-direction:column;gap:22px}.promotion{padding:24px;min-height:340px}.empty-label{display:none}}
@media(max-width:800px){html{scroll-padding-top:83px}.header-inner{min-height:76px;gap:18px}.header-logo{width:152px}.header-nav{gap:20px;font-size:.875rem}.header-book{font-size:.8rem;gap:13px;padding-inline:14px}.hero-grid{grid-template-columns:1fr}.hero-section{padding-top:28px}.hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center}.hero-logo{width:360px;max-width:85%}.hero-copy h1{font-size:2.7rem}.hero-copy .eyebrow{margin-bottom:12px}.hero-tags{justify-content:center}.hero-gallery .carousel-item img{height:320px;object-position:center}.gallery-stamp{left:18px;bottom:105px;font-size:1.25rem;padding:18px}.facts-grid{grid-template-columns:1fr;padding-block:23px;gap:17px}.facts-grid>div+div{border-left:0;padding-left:0}.facts-grid>div{gap:16px}.facts-grid i{width:23px;text-align:center}.facts-grid strong{display:inline;margin-right:8px}.facts-grid span{display:inline;font-size:.8125rem}.section{padding:58px 0}.section-heading{gap:22px;margin-bottom:29px}.booking-layout{grid-template-columns:1fr}.booking-aside{display:none}.booking-form{padding:30px}.promotions-grid{gap:12px}.promotion{padding:23px 19px;min-height:325px}.promo-value{font-size:4.1rem}.promotion h3{font-size:1.2rem}.promotion p:last-child{font-size:.875rem}.promo-label{font-size:.75rem;letter-spacing:.05em}.reviews-slider{grid-template-columns:55px 1fr;gap:10px}.review-mark{font-size:6rem}.review-slides{min-height:240px}.footer-top{gap:24px}.social-links{gap:15px;flex-wrap:wrap}.social-links a{font-size:.8rem}.footer-logo{width:210px}.footer-bottom{flex-direction:column;gap:7px}.telegram-widget{right:17px;bottom:17px}.telegram-button{width:57px;height:57px}}
@media(max-width:540px){.container{width:calc(100% - 32px)}.header-nav{display:none}.header-logo{width:152px}.header-book{min-height:42px}.hero-copy{padding:0}.hero-copy h1{font-size:2.5rem}.hero-description{font-size:.9375rem}.hero-tags{font-size:.75rem}.hero-tags span+span:before{margin-right:8px}.hero-gallery .carousel-item img{height:265px}.gallery-controls{padding:13px 15px;font-size:.8rem}.gallery-controls button{width:38px;height:38px}.gallery-stamp{bottom:82px;padding:15px;font-size:1.15rem}.facts-grid strong{display:block;margin:0;font-size:.875rem}.facts-grid span{display:block;margin-top:1px}.section-heading{align-items:start;flex-direction:column;gap:13px}.section-heading>p br{display:none}.section-heading .eyebrow{margin-bottom:12px}.section-index{display:none}.booking-form{padding:23px 17px}.form-grid-three{grid-template-columns:1fr 1fr;gap:18px 12px}.form-grid-three>div:last-child{grid-column:1/-1}.form-grid-three>div:first-child:has(#clientName){grid-column:1/-1}.form-grid-three>div:has(#clientPhone){grid-column:1/-1}.booking-form input:not([type=hidden]),.booking-form select{font-size:16px;padding-inline:8px}.booking-form label{font-size:.8125rem}.table-options{gap:6px}.table-btn{padding:13px 4px}.table-btn>span{font-size:.75rem}.table-btn .table-number{font-size:1.65rem}.booking-total{align-items:start;flex-direction:column;gap:20px}.booking-total .button{width:100%}.time-range{align-items:start;font-size:.8rem}.time-range i{margin-top:5px}.menu-actions{flex-direction:column;width:100%}.menu-actions .button{justify-content:space-between}.menu-grid h2{font-size:1.8rem}.promotions-grid{grid-template-columns:1fr;gap:14px}.promotion{min-height:0;display:grid;grid-template-columns:135px 1fr;column-gap:17px;padding:25px 23px}.promo-label{grid-column:1/-1;margin-bottom:18px}.promo-value{font-size:4rem;align-self:center;margin:0}.promotion h3{font-size:1.3rem}.promotion p:last-child{font-size:.8125rem}.events-empty{align-items:start;gap:17px;padding:27px 0}.events-empty h3{font-size:1.45rem}.events-empty p{font-size:.9375rem}.empty-icon{font-size:2.2rem}.event-card{grid-template-columns:70px 1fr;gap:17px}.event-card a{grid-column:2;justify-self:start}.event-date{font-size:1.1rem}.reviews-slider{grid-template-columns:1fr;gap:0;padding-top:12px}.review-mark{height:54px;font-size:5.5rem}.review-slides{min-height:325px}.review-slide blockquote{font-size:1.3rem;line-height:1.55}.review-controls{grid-column:1}.review-slide figcaption div>span{font-size:.75rem}.footer-top{flex-direction:column;gap:28px}.footer-logo{width:230px}.social-links{gap:22px}.footer-bottom{font-size:.75rem;padding-right:55px}.telegram-hint{max-width:218px;font-size:.8125rem;padding:12px 29px 12px 13px}.telegram-widget{gap:9px}.dialog-copy{padding:25px 22px}.success-image{height:150px}.dialog-copy h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.telegram-hint{transform:none}.button:hover{transform:none}}
/* Читаемые подписи и свободное место для логотипа на небольших телефонах. */
.booking-message{white-space:pre-line}.event-card,.review-slide{overflow-wrap:anywhere}
@media(max-width:540px){.header-inner{gap:12px}.header-logo{width:min(38vw,140px)}.table-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.table-btn>span,.booking-form label{font-size:.875rem}.promotion{grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.promo-value{font-size:clamp(2.5rem,12vw,4rem)}}
@media(max-width:360px){.promotion{display:flex;gap:18px}.promo-value{font-size:3.5rem;align-self:start}.hero-copy h1{font-size:2.2rem}}

.privacy-check{display:flex;align-items:flex-start;gap:12px;margin:24px 0;font-size:.9375rem;cursor:pointer}.privacy-check input{flex:0 0 20px;width:20px;height:20px;margin-top:3px;accent-color:var(--red)}.privacy-cancel{margin-top:12px}#privacyTitle{font-size:2.15rem}
#bookingHour option:disabled, #bookingMinute option:disabled { color:#8b8b8b; background:#eee; }
