:root{--red:#c52d29;--dark:#161513;--cream:#f4efe3;--blue:#173e88;--line:rgba(22,21,19,.18)}
*{box-sizing:border-box}html{margin:0;padding:0;scroll-behavior:smooth;background:var(--dark)}body{margin:0;padding:0;min-height:100%;overflow-x:hidden;background:var(--cream);color:var(--dark);font-family:Manrope,Arial,sans-serif}main,footer{display:block}a{color:inherit;text-decoration:none}img{display:block;width:100%}
.header{position:fixed;z-index:20;top:0;left:0;width:100%;height:76px;padding:0 3vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.45);mix-blend-mode:difference}.wordmark{font:600 29px/1 Oswald,sans-serif;letter-spacing:-1px}.header nav{display:flex;gap:28px;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.order{justify-self:end;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.order span{display:inline-grid;place-items:center;width:31px;height:31px;margin-left:8px;border:1px solid;border-radius:50%}
.hero{height:100svh;min-height:680px;position:relative;overflow:hidden;background:#111;color:#fff}.hero-image{height:100%;object-fit:cover;object-position:center}.hero-tint{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.06) 68%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 45%)}.hero-copy{position:absolute;left:6vw;bottom:11vh}.overline,.section-index{font-size:11px;font-weight:700;letter-spacing:.22em}.hero h1{margin:22px 0 26px;font:500 clamp(62px,10.5vw,170px)/.78 Oswald,sans-serif;text-transform:uppercase;letter-spacing:-.055em}.hero h1 span,.hero h1 strong{display:block}.hero h1 strong{color:#ff3b32;font-weight:500}.hero-note{font-size:15px;line-height:1.6}.scroll-cue{position:absolute;right:3vw;bottom:5vh;text-align:right;font-size:11px;line-height:1.6;text-transform:uppercase;letter-spacing:.15em}
.stripe-scene{height:210px;background:var(--red);position:relative;overflow:hidden;border-block:10px solid var(--red)}.stripe-row{position:absolute;left:-8vw;top:47px;width:116vw;height:46px;background:repeating-linear-gradient(90deg,var(--cream) 0 19px,transparent 19px 37px);will-change:transform}.stripe-column{position:absolute;left:63%;top:-90px;width:48px;height:390px;background:repeating-linear-gradient(0deg,var(--cream) 0 19px,transparent 19px 37px);will-change:transform}
.menu,.places{padding:120px 5vw}.section-intro{display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;align-items:start;margin-bottom:70px}.section-intro h2,.story h2{font:500 clamp(54px,8vw,120px)/.9 Oswald,sans-serif;text-transform:uppercase;letter-spacing:-.045em;margin:0}.section-intro>p:last-child{font-size:13px;line-height:1.7}.menu-grid{display:grid;grid-template-columns:minmax(340px,1fr) 1.25fr;gap:5vw;align-items:stretch}.menu-preview{margin:0;position:relative;top:0;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--red);overflow:hidden}.menu-preview img{flex:1;min-height:0;height:100%;aspect-ratio:auto;object-fit:cover;transition:opacity .18s}.menu-preview figcaption{flex:0 0 auto;padding:16px 18px;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.menu-preview.is-changing img{opacity:.2;transform:none}.menu-list{border-top:1px solid var(--dark)}.dish{display:flex;justify-content:space-between;gap:20px;padding:24px 4px;border-bottom:1px solid var(--line);cursor:pointer;transition:.2s}.dish>div{display:grid;grid-template-columns:38px 1fr;align-items:baseline}.dish span{font-size:10px}.dish h3{font:500 clamp(28px,3.2vw,51px)/1 Oswald,sans-serif;text-transform:uppercase;margin:0}.dish p{grid-column:2;margin:8px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.07em;opacity:.58}.dish strong{white-space:nowrap;font:500 21px Oswald}.dish:hover,.dish.is-active{color:var(--red);padding-left:15px}
.story{display:grid;grid-template-columns:1.1fr .9fr;min-height:850px;background:var(--blue);color:#fff}.story-photo img{height:100%;object-fit:cover;object-position:52% center}.story-copy{padding:10vw 7vw;display:flex;flex-direction:column;justify-content:center}.story h2{margin:25px 0 45px}.story .lead{font:400 clamp(27px,3.1vw,49px)/1.15 Oswald;text-transform:uppercase}.story-copy>p:last-of-type{max-width:500px;line-height:1.8;opacity:.72}.signature{margin-top:60px;font:500 24px Oswald;text-transform:uppercase;border:1px solid;padding:13px 18px;width:max-content;transform:rotate(-3deg)}
.gallery{display:grid;grid-template-columns:1fr 1.8fr 1fr;background:var(--dark);gap:3px}.gallery img{height:520px;object-fit:cover}.gallery img:first-child{object-position:center}.gallery img:last-child{object-position:center 35%}
.places{background:var(--red);color:var(--cream)}.place-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.place-card{background:var(--cream);color:var(--dark)}.place-card img{height:520px;object-fit:cover}.place-card>div{padding:28px}.place-card span{font-size:10px;letter-spacing:.15em}.place-card h3{font:500 45px Oswald;margin:15px 0 5px;text-transform:uppercase}.place-card p{font-size:13px;opacity:.66}.place-card a{display:inline-block;margin-top:28px;border-bottom:1px solid;padding-bottom:5px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.place-card a[href="#"]{pointer-events:none;opacity:.45}
footer{min-height:310px;margin:0;background:var(--dark);color:var(--cream);padding:60px 5vw;display:grid;grid-template-columns:1fr auto;align-items:end}footer .footer-mark{grid-column:1/-1;font:500 clamp(90px,22vw,340px)/.7 Oswald;letter-spacing:-.06em;color:var(--red)}footer p,footer a{font-size:11px;letter-spacing:.15em;text-transform:uppercase}
@media(max-width:800px){.header{height:64px;grid-template-columns:1fr auto}.header nav{display:none}.wordmark{font-size:24px}.order{font-size:0}.order span{font-size:12px}.hero{min-height:640px}.hero-image{object-position:58% center}.hero-copy{left:20px;bottom:12vh}.hero h1{font-size:19vw;line-height:.84}.hero-note{font-size:13px}.scroll-cue{display:none}.stripe-scene{height:150px}.stripe-row{top:32px}.stripe-column{left:72%}.menu,.places{padding:80px 18px}.section-intro{grid-template-columns:1fr;margin-bottom:45px}.section-intro h2{font-size:16vw}.section-intro>p:last-child{margin-top:0}.menu-grid{grid-template-columns:1fr;gap:24px}.menu-preview{position:relative;top:0}.menu-list{order:-1}.dish{padding:20px 2px}.dish h3{font-size:32px}.dish:hover,.dish.is-active{padding-left:7px}.story{grid-template-columns:1fr}.story-photo{height:68vh}.story-copy{padding:80px 20px}.story h2{font-size:20vw}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:330px}.gallery img:nth-child(2){grid-column:1/-1;grid-row:1;height:420px}.place-grid{grid-template-columns:1fr}.place-card img{height:420px}footer{min-height:240px;padding:45px 20px}.footer-mark{font-size:27vw!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.stripe-row,.stripe-column{transform:none!important}.menu-preview img{transition:none}}

/* Фирменный знак и прямоугольный паттерн */
.header{mix-blend-mode:normal}.wordmark{width:56px;height:56px;border-radius:50%;overflow:hidden;font-size:0;box-shadow:0 3px 16px rgba(0,0,0,.18)}.wordmark img{height:100%;object-fit:cover}.header nav,.order{text-shadow:0 1px 10px rgba(0,0,0,.65)}
.hero-logo{position:absolute;right:calc(6vw - 100px);top:calc(15vh - 60px);width:clamp(150px,20vw,320px);aspect-ratio:1;border-radius:50%;box-shadow:0 18px 55px rgba(0,0,0,.3)}
.stripe-scene{--brick-w:32px;--brick-h:76px;height:520px;border:0;background:var(--red)}
.stripe-grid{position:absolute;inset:-76px -64px;background:conic-gradient(from 90deg at 50% 50%,var(--cream) 0 25%,var(--red) 0 50%,var(--cream) 0 75%,var(--red) 0);background-size:calc(var(--brick-w) * 2) calc(var(--brick-h) * 2)}.stripe-grid:after{display:none}
.stripe-row{z-index:4;left:-128px;top:76px;width:calc(100% + 256px);height:var(--brick-h);border:0;background:repeating-linear-gradient(90deg,var(--cream) 0 var(--brick-w),var(--red) var(--brick-w) calc(var(--brick-w) * 2));box-shadow:none;will-change:transform;backface-visibility:hidden}
.stripe-column{z-index:3;left:88%;top:-141px;width:var(--brick-w);height:calc(100% + 304px);border:0;background:repeating-linear-gradient(0deg,var(--cream) 0 var(--brick-h),var(--red) var(--brick-h) calc(var(--brick-h) * 2));box-shadow:none;will-change:transform;backface-visibility:hidden}
.stripe-scene>p{position:absolute;z-index:5;left:50%;top:50%;margin:0;padding:15px 25px;background:var(--red);color:var(--cream);font:500 clamp(42px,8vw,112px)/.9 Oswald;text-transform:uppercase;white-space:nowrap;transform:translate(-50%,-50%) rotate(-4deg)}

@media(max-width:800px){.wordmark{width:46px;height:46px}.hero-logo{right:-82px;top:30px;width:112px}.stripe-scene{height:360px}.stripe-row{top:76px;height:76px}.stripe-column{left:92%}}

/* Компактный блок основателей */
.story{height:75vh;min-height:600px;max-height:820px;overflow:hidden}.story>*{min-width:0;min-height:0}.story-photo{height:100%;overflow:hidden}.story-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.22);transform-origin:50% 68%;object-position:50% 68%}.story-copy{height:100%;min-height:0;padding:clamp(28px,4vh,52px) clamp(30px,5vw,82px);overflow:hidden}.story h2{font-size:clamp(56px,min(7vw,12vh),112px);margin:clamp(10px,2vh,18px) 0 clamp(14px,2.5vh,25px)}.story .lead{font-size:clamp(25px,min(3vw,5vh),46px);margin:0 0 clamp(10px,2vh,18px)}.story-copy>p:last-of-type{font-size:clamp(12px,1.25vh,15px);line-height:1.65;margin:0}.signature{margin-top:clamp(14px,3vh,30px);font-size:clamp(17px,2.2vh,24px);padding:10px 15px}
@media(max-width:800px){.story{height:auto;min-height:0;max-height:none;overflow:visible}.story-photo{height:50vh;min-height:360px}.story-photo img{transform:scale(1.12);transform-origin:50% 70%;object-position:50% 70%}.story-copy{height:auto;padding:55px 20px;overflow:visible}.story h2{font-size:20vw;margin:16px 0 24px}.story .lead{font-size:clamp(27px,8vw,40px)}.story-copy>p:last-of-type{font-size:14px}.signature{margin-top:25px}}
@media(max-width:800px){.menu-preview{height:auto}.menu-preview img{flex:none;width:100%;height:auto;aspect-ratio:1;object-fit:cover}}

/* Компактное меню с неизменной высотой изображений */
.menu{padding-top:90px;padding-bottom:90px}.menu .section-intro{margin-bottom:50px}.menu-grid{height:clamp(560px,66vh,650px)}.menu-preview,.menu-preview img{height:100%}.menu-list{height:100%;display:grid;grid-template-rows:repeat(7,minmax(0,1fr))}.dish{min-height:0;padding:12px 4px;align-items:center}.dish h3{font-size:clamp(27px,2.7vw,43px)}.dish p{margin-top:5px}.dish strong{font-size:19px}
@media(max-width:800px){.menu{padding-top:70px;padding-bottom:70px}.menu .section-intro{margin-bottom:38px}.menu-grid{height:auto}.menu-list{height:auto;display:block}.dish{padding:18px 2px}.dish h3{font-size:30px}.dish strong{font-size:18px}.menu-preview,.menu-preview img{height:auto}}

/* Адреса и социальные ссылки */
.place-card>.place-photo{position:relative;height:520px;padding:0;overflow:hidden;background:var(--dark)}.place-photo:before{content:"";position:absolute;inset:-24px;background-image:linear-gradient(rgba(22,21,19,.32),rgba(22,21,19,.32)),var(--place-image);background-size:cover;background-position:center 15%;filter:blur(16px);transform:scale(1.06)}.place-card .place-photo img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center}
.footer-links{display:flex;align-items:center;justify-content:flex-end;gap:28px}.footer-links a{border-bottom:1px solid rgba(244,239,227,.45);padding-bottom:5px}
@media(max-width:800px){.footer-links{flex-direction:column;align-items:flex-end;gap:12px}}
@media(max-width:800px){.place-photo{height:420px}.place-card .place-photo img{height:100%}}
.place-card .place-photo img{object-fit:cover;object-position:center 15%}

/* Полная мобильная композиция */
.story-pattern,.mobile-dish-preview{display:none}
@media(max-width:800px){
  .hero picture{display:block;width:100%;height:100%}.hero picture .hero-image{width:100%;height:100%;object-fit:cover;object-position:58% center}
  .stripe-scene{display:none}
  .menu-preview{display:none}.menu-list{order:initial}.mobile-dish-preview{display:block;max-height:0;margin:0;overflow:hidden;background:var(--red);opacity:0;transition:max-height .45s ease,opacity .25s ease}.mobile-dish-preview.is-open{max-height:460px;margin-bottom:8px;opacity:1}.mobile-dish-preview img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.mobile-dish-preview figcaption{padding:12px 14px;color:var(--cream);font-size:10px;text-transform:uppercase;letter-spacing:.1em}
  .story-copy{order:1;position:relative;isolation:isolate;overflow:hidden;background:var(--red)}.story-photo{order:2}.story-pattern{display:block;position:absolute;z-index:0;inset:-120px;background:conic-gradient(from 90deg at 50% 50%,var(--cream) 0 25%,var(--red) 0 50%,var(--cream) 0 75%,var(--red) 0);background-size:48px 114px;will-change:transform}.story-copy>:not(.story-pattern){position:relative;z-index:1;width:fit-content;max-width:100%;background:var(--red);box-shadow:8px 0 0 var(--red),-8px 0 0 var(--red)}.story-copy .signature{box-shadow:none}.story-photo{height:56vh}
  .place-card:nth-child(2) .place-photo img{object-position:60% 15%}
  footer{min-height:0;padding:52px 20px 35px;display:flex;flex-direction:column;align-items:stretch;gap:30px}footer .footer-mark{font-size:26vw!important;line-height:.75;order:1}footer>p{order:2;margin:0}.footer-links{order:3;width:100%;align-items:stretch;gap:12px}.footer-links a{display:block;text-align:center;padding:16px 12px;border:1px solid rgba(244,239,227,.35)}.footer-links a:first-child{background:var(--red);border-color:var(--red);color:#fff;font-weight:700}.footer-links a:last-child{padding:11px;border:0;opacity:.7}
}

/* Яркий первый экран и кликабельные фотографии адресов */
.hero-tint{background:linear-gradient(90deg,rgba(0,0,0,.64),rgba(0,0,0,.06) 68%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 45%)}
.place-card>a.place-photo{display:block;margin:0;padding:0;border:0}.place-card .place-photo img{transition:transform .4s ease}.place-card .place-photo:hover img{transform:scale(1.025)}
@media(max-width:800px){.hero-tint{background:linear-gradient(90deg,rgba(0,0,0,.3),rgba(0,0,0,.02) 75%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 48%)}}
@media(max-width:800px){.hero-logo{display:none}}
@media(max-width:800px){.header .order{font-size:0;text-shadow:none}.header .order span{display:none}.header .order:after{content:"Меню";display:block;padding:9px 0 7px;font:600 11px/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid currentColor}}
