header.nav{
  position:fixed;
  inset:0 0 auto 0;
  height:var(--nav-h);
  z-index:80;
  display:flex;
  align-items:center;
  transition:background .4s var(--ease),box-shadow .4s var(--ease),height .4s var(--ease);
}
header.nav.scrolled{
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(160%) blur(14px);
  box-shadow:0 1px 0 var(--grey-line);
  height:66px;
}
.btn{
  --bg:var(--red);
  --fg:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6em;
  background:var(--bg);
  color:var(--fg);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:.95em 1.7em;
  transition:transform .3s var(--bezier-out),box-shadow .3s var(--ease),background .3s var(--ease);
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px -10px var(--red-glow);background:var(--red-deep);}
.btn.ghost{--bg:transparent;--fg:var(--ink);border:1.5px solid var(--ink);}
.btn.ghost:hover{--bg:var(--ink);--fg:#fff;box-shadow:none;}
.btn.lg{padding:1.15em 2.3em;font-size:.86rem;}
.nav-inner{
  width:min(1320px,92vw);
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
}
.brand{display:flex;align-items:center;flex:0 0 auto;}
.brand img{height:34px;width:auto;}
.nav-links{display:flex;align-items:center;gap:clamp(1.05rem,1.8vw,2rem);}
.nav-links a{
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--ink);
  position:relative;
  padding:.4rem 0;
}
.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:var(--red);
  transition:width .3s var(--ease);
}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-right{display:flex;align-items:center;gap:1.1rem;}
.burger{display:none;flex-direction:column;gap:5px;width:30px;height:24px;justify-content:center;}
.burger span{height:2px;width:100%;background:var(--ink);transition:transform .35s var(--ease),opacity .25s var(--ease);}
.mobile-menu{
  position:fixed;
  inset:0;
  z-index:90;
  background:var(--paper);
  transform:translateY(-100%);
  transition:transform .5s var(--bezier-out);
  display:flex;
  flex-direction:column;
  padding:calc(var(--nav-h) + 1rem) 7vw 3rem;
}
.mobile-menu.open{transform:none;}
.mobile-menu-close{
  position:absolute;
  top:1.25rem;
  right:7vw;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid var(--grey-line);
  background:#fff;
  transition:background .25s var(--ease),border-color .25s var(--ease);
}
.mobile-menu-close span{
  position:absolute;
  width:20px;
  height:2px;
  background:var(--ink);
  transition:background .25s var(--ease);
}
.mobile-menu-close span:first-child{transform:rotate(45deg);}
.mobile-menu-close span:last-child{transform:rotate(-45deg);}
.mobile-menu-close:hover{
  background:var(--ink);
  border-color:var(--ink);
}
.mobile-menu-close:hover span{background:#fff;}
.mobile-menu a{
  font-family:'Jost';
  font-weight:300;
  text-transform:uppercase;
  font-size:2.2rem;
  padding:.7rem 0;
  border-bottom:1px solid var(--grey-line);
}
.mobile-menu a.active{color:var(--red);}
.mobile-menu .btn{margin-top:2rem;}

footer{background:#0d0a09;color:#fff;padding-block:4.5rem 2rem;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:3.4rem;border-bottom:1px solid rgba(255,255,255,.12);}
.foot-brand img{height:24px;filter:brightness(0) invert(1);opacity:1;width:auto;}
.foot-brand p{margin-top:1.2rem;color:rgba(255,255,255,.55);font-size:.92rem;max-width:30ch;}
.foot-col h5{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red);font-weight:800;margin-bottom:1.1rem;}
.foot-col a,.foot-col p{display:block;color:rgba(255,255,255,.72);font-size:.92rem;margin-bottom:.6rem;transition:color .25s;}
.foot-col a:hover{color:#fff;}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:1.8rem;color:rgba(255,255,255,.4);font-size:.78rem;}

.closing{background:var(--ink);color:#fff;text-align:center;position:relative;overflow:hidden;}
.closing .glow{position:absolute;left:50%;top:50%;translate:-50% -50%;width:120%;height:160%;background:radial-gradient(40% 40% at 50% 50%,rgba(228,24,27,.4),transparent 70%);filter:blur(40px);}
.closing .inner{position:relative;}
.closing h2{font-family:'Jost';font-weight:700;text-transform:uppercase;font-size:clamp(2.6rem,7vw,6rem);line-height:.92;letter-spacing:-.01em;}
.closing h2 .red{color:var(--red);}
.closing p{color:rgba(255,255,255,.7);max-width:44ch;margin:1.6rem auto 2.4rem;}

.routine-panel li::marker{color:var(--red);}
.routine-panel li{padding-left:.2rem;}

.news{display:flex;border:1px solid rgba(255,255,255,.22);margin-top:.4rem;}
.news input{flex:1;background:none;border:none;color:#fff;padding:.8rem .9rem;font-family:inherit;font-size:.85rem;outline:none;min-width:0;}
.news input::placeholder{color:rgba(255,255,255,.4);}
.news button{background:var(--red);color:#fff;padding:0 1.1rem;font-weight:800;letter-spacing:.1em;font-size:.72rem;text-transform:uppercase;}

.modal-root{position:fixed;inset:0;z-index:120;display:none;padding:clamp(1rem,3vw,2rem);overflow:auto;}
.modal-root.open{display:grid;place-items:center;}
.modal-back{position:absolute;inset:0;background:rgba(13,10,9,.55);backdrop-filter:blur(4px);}
.modal{position:relative;z-index:1;width:min(520px,calc(100vw - 2rem));max-height:min(720px,calc(100dvh - 2rem));overflow:auto;background:#fff;color:var(--ink);padding:2.4rem;box-shadow:0 40px 90px -50px #000;margin:auto;}
.modal .x{position:absolute;top:1.2rem;right:1.2rem;width:38px;height:38px;border:1px solid var(--grey-line);display:grid;place-items:center;font-size:1.1rem;transition:.25s;}
.modal .x:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.modal h3{font-family:'Jost';font-weight:700;text-transform:uppercase;font-size:1.7rem;line-height:1;margin-bottom:.4rem;}
.modal .lead{color:var(--ink-soft);font-size:.95rem;margin-bottom:1.7rem;}
.field{margin-bottom:1rem;}
.field label{display:block;font-size:.72rem;text-transform:uppercase;font-weight:800;margin-bottom:.5rem;letter-spacing:0;color:var(--ink);}
.field input{width:100%;border:1px solid var(--grey-line);padding:.9rem 1rem;font-family:inherit;font-size:.95rem;outline:none;}
.field input:focus{border-color:var(--red);}
.chips{display:flex;flex-wrap:wrap;gap:.55rem;}
.chip{border:1px solid var(--grey-line);padding:.65rem .85rem;font-size:.78rem;font-weight:700;text-transform:uppercase;color:var(--ink);}
.chip.sel{background:var(--red);border-color:var(--red);color:#fff;}
.modal .btn{width:100%;margin-top:.4rem;}
.booked{text-align:center;padding:1rem 0;}
.booked .check,.check{width:64px;height:64px;border-radius:50%;background:var(--red);display:grid;place-items:center;margin:0 auto 1.4rem;}
.booked .check svg,.check svg{width:30px;height:30px;}
.booked h3{margin-bottom:.6rem;}
.booked p{color:var(--ink-soft);}

@media(max-width:1180px){
  .nav-links,.nav-right .btn{display:none;}
  .nav-right{gap:0;}
  .burger{display:flex;}
}

@media(max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr;}
}

@media(max-width:560px){
  .foot-grid{grid-template-columns:1fr;}
  .modal{padding:1.8rem;}
}
