
:root{
  --white:#fff;
  --black:#111;
  --paper:#f7f5f0;
  --gray:#777;
  --line:#d8d5cf;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--black);background:var(--paper)}
a{color:inherit}
.site-header{
  position:absolute;z-index:20;top:0;left:0;width:100%;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:start;
  gap:30px;padding:30px 4%;color:#fff;
}
.inner-page>.site-header{position:fixed;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}
.brand{font-size:24px;font-weight:600;text-decoration:none;letter-spacing:.05em}
.brand span{display:block;margin-top:4px;font-size:10px;font-weight:400;letter-spacing:.35em}
.nav{display:flex;gap:36px;padding-top:4px}
.nav a,.head-contact a{text-decoration:none}
.nav a{font-size:14px;text-transform:uppercase;letter-spacing:.12em}
.head-contact{text-align:right;font-size:13px;line-height:1.7}
.head-contact span{display:block}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:26px}

.hero{position:relative;min-height:100svh;background:url("images/hero.jpg") center/cover no-repeat;color:#fff}
.hero-overlay,.shade{position:absolute;inset:0;background:rgba(0,0,0,.43)}
.hero-center{
 position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
 text-align:center;padding:130px 22px 50px
}
.hero-kicker{font-size:13px;letter-spacing:.25em;text-transform:uppercase}
.hero-center h1,.page-hero h1{
 margin:20px 0;font-family:"Playfair Display",Georgia,serif;font-weight:500;
 font-size:clamp(58px,10vw,130px);line-height:.88
}
.hero-center>p:not(.hero-kicker){font-size:16px}
.outline-btn,.dark-btn{
 display:inline-flex;align-items:center;justify-content:center;
 padding:17px 30px;border:2px solid currentColor;text-decoration:none;
 font-size:12px;letter-spacing:.15em;margin-top:24px
}
.section-pad{padding:100px 20px}
.narrow{max-width:760px;margin:0 auto;text-align:center}
.intro h2,.contacts h2,.menu-section h2{font-family:"Playfair Display",serif;font-size:48px;font-weight:500}
.intro p,.contacts p{font-size:18px;line-height:1.8}
.split-cards{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.feature-card{position:relative;background-position:center;background-size:cover;color:#fff;text-decoration:none}
.feature-taps{background-image:url("images/taps.jpg")}
.feature-menu{background-image:url("images/menu.jpg")}
.feature-content{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.feature-content span{font-family:"Playfair Display",serif;font-size:44px}
.feature-content strong{margin-top:22px;padding:15px 25px;border:2px solid #fff;font-size:12px;letter-spacing:.15em}
.contacts{background:#fff}
.dark-btn{background:#111;color:#fff;border-color:#111}
.footer{padding:60px 5% 30px;background:#111;color:#fff}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}
.footer-brand{font-size:36px;font-weight:600}
.footer-title{margin-bottom:16px;text-transform:uppercase;font-size:12px;letter-spacing:.15em}
.footer p{margin:8px 0}.footer a{text-decoration:none}.muted,.age{color:#aaa}.age{margin-top:50px!important;font-size:12px}

.page-hero{position:relative;height:72vh;min-height:520px;color:#fff;background-position:center;background-size:cover}
.menu-hero{background-image:url("images/menu-hero.jpg")}
.taps-hero{background-image:url("images/taps-hero.jpg")}
.page-hero-content{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:90px}
.page-hero-content p{text-transform:uppercase;letter-spacing:.25em}
.page-hero h1{font-size:clamp(64px,10vw,120px)}
.menu-wrap,.tap-wrap{max-width:980px;margin:0 auto}
.menu-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-bottom:70px}
.menu-nav a{text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.12em;border-bottom:1px solid}
.menu-section{margin:0 0 80px}
.menu-section h2{text-align:center;margin-bottom:40px}
.menu-item{display:grid;grid-template-columns:1fr auto;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}
.menu-item h3{margin:0 0 8px;font-family:"Playfair Display",serif;font-size:25px;font-weight:500}
.menu-item p{margin:0;color:var(--gray);font-size:14px}
.menu-item strong{font-weight:500;white-space:nowrap}
.edit-note{margin-top:60px;padding:20px;background:#ece8df;color:#555;font-size:13px;line-height:1.6}
.tap-row{display:grid;grid-template-columns:70px 1fr auto;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}
.tap-num{font-size:14px;color:#888;letter-spacing:.15em}
.tap-row h2{margin:0 0 8px;font-family:"Playfair Display",serif;font-size:34px;font-weight:500}
.tap-row p{margin:0;color:#777}
.tap-stats{display:flex;gap:25px;align-items:center}
.tap-stats strong{font-weight:500}

@media(max-width:850px){
 .site-header{grid-template-columns:1fr auto;padding:20px}
 .nav{display:none;position:absolute;top:74px;left:0;width:100%;padding:22px;background:rgba(0,0,0,.94);flex-direction:column;gap:20px}
 .nav.open{display:flex}
 .head-contact{display:none}.menu-toggle{display:block}
 .split-cards{grid-template-columns:1fr;min-height:900px}
 .footer-grid{grid-template-columns:1fr}
 .tap-row{grid-template-columns:45px 1fr}.tap-stats{grid-column:2}
}
@media(max-width:520px){
 .hero-center h1{font-size:58px}
 .section-pad{padding:70px 18px}
 .feature-content span{font-size:36px}
 .menu-item{gap:15px}
 .menu-item h3{font-size:22px}
}

.tap-volume-note{
  margin-bottom:25px;
  color:#666;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.12em;
}


.hero-socials{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin-top:28px;
}
.social-icon{
  width:52px;
  height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.85);
  border-radius:50%;
  color:#fff;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.social-icon:hover{
  background:#fff;
  color:#111;
  transform:translateY(-2px);
}
.social-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.social-icon svg path{
  fill:currentColor;
  stroke:none;
}
.social-icon .social-dot{
  fill:currentColor;
  stroke:none;
}


/* Полноэкранное мобильное меню */
body.menu-open{
  overflow:hidden;
}
.menu-toggle{
  width:44px;
  height:44px;
  padding:8px;
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:transparent;
  border:0;
  color:#fff;
  cursor:pointer;
}
.menu-toggle span{
  width:30px;
  height:2px;
  display:block;
  background:currentColor;
}
.menu-close,
.mobile-menu-brand,
.mobile-menu-contact{
  display:none;
}

@media(max-width:850px){
  .site-header{
    position:absolute;
    z-index:100;
    top:0;
    left:0;
    width:100%;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    padding:22px 20px;
    background:transparent;
  }

  .inner-page>.site-header{
    position:absolute;
    background:transparent;
    backdrop-filter:none;
  }

  .brand{
    position:relative;
    z-index:102;
  }

  .head-contact{
    display:none;
  }

  .menu-toggle{
    position:relative;
    z-index:102;
    display:flex;
  }

  .nav{
    position:fixed;
    z-index:101;
    inset:0;
    width:100%;
    height:100dvh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0;
    padding:92px 28px 42px;
    background:#060606;
    color:#fff;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px);
    transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
    overflow-y:auto;
  }

  .nav.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }

  .nav.open ~ .head-contact{
    display:none;
  }

  .menu-close{
    position:absolute;
    top:20px;
    right:22px;
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    font:300 56px/1 Montserrat,Arial,sans-serif;
    cursor:pointer;
  }

  .mobile-menu-brand{
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-bottom:52px;
    line-height:.9;
  }

  .mobile-menu-brand strong{
    font-family:"Playfair Display",Georgia,serif;
    font-size:48px;
    font-weight:500;
    letter-spacing:.01em;
  }

  .mobile-menu-brand span{
    margin-top:12px;
    font-size:12px;
    letter-spacing:.38em;
  }

  .mobile-menu-links{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:46px;
  }

  .mobile-menu-links a{
    padding:10px 18px;
    font-size:clamp(28px,8vw,42px);
    font-weight:300;
    letter-spacing:.04em;
    text-transform:uppercase;
    text-decoration:none;
  }

  .mobile-menu-contact{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    margin-top:58px;
    text-align:center;
    font-size:20px;
    line-height:1.45;
  }

  .mobile-menu-contact>a{
    text-decoration:none;
  }

  .mobile-menu-socials{
    display:flex;
    gap:24px;
    margin-top:24px;
  }

  .mobile-menu-socials a{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-decoration:none;
  }

  .mobile-menu-socials svg{
    width:34px;
    height:34px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-menu-socials path{
    fill:currentColor;
    stroke:none;
  }

  .menu-toggle.is-open{
    opacity:0;
    pointer-events:none;
  }
}

@media(max-width:430px){
  .nav{
    justify-content:flex-start;
    padding-top:110px;
  }
  .mobile-menu-brand{
    margin-bottom:42px;
  }
  .mobile-menu-contact{
    margin-top:46px;
    font-size:18px;
  }
}


.media-reel-section{
  overflow:hidden;
  padding:92px 0;
  background:#0b0b0b;
  color:#fff;
}
.media-reel-heading{
  width:min(1120px,calc(100% - 40px));
  margin:0 auto 38px;
}
.media-reel-heading p{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#aaa;
}
.media-reel-heading h2{
  margin:0;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(46px,8vw,86px);
  font-weight:500;
}
.media-reel{
  width:100%;
  overflow:hidden;
  cursor:grab;
  touch-action:pan-y;
}
.media-reel:active{cursor:grabbing}
.media-reel-track{
  display:flex;
  gap:16px;
  width:max-content;
  padding:0 8px;
  will-change:transform;
}
.media-reel-item{
  flex:0 0 auto;
  width:clamp(240px,31vw,440px);
  aspect-ratio:4/5;
  margin:0;
  overflow:hidden;
  background:#171717;
}
.media-reel-item img,
.media-reel-item video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
@media(max-width:700px){
  .media-reel-section{padding:68px 0}
  .media-reel-heading{margin-bottom:26px}
  .media-reel-track{gap:10px}
  .media-reel-item{
    width:72vw;
    max-width:330px;
  }
}
@media(prefers-reduced-motion:reduce){
  .media-reel{overflow-x:auto}
}
