/* Хедер: логотип + бургер, full-screen меню-оверлей */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:900;
  padding-block:18px;
  transition:background var(--dur-med) var(--ease-out), padding var(--dur-med), box-shadow var(--dur-med), backdrop-filter var(--dur-med);
}
.site-header::before{
  content:"";position:absolute;inset:0;
  background:rgba(var(--paper-rgb),0);
  backdrop-filter:blur(0px);
  transition:background var(--dur-med), backdrop-filter var(--dur-med);
  z-index:-1;
}
.site-header.is-scrolled{padding-block:10px;box-shadow:0 8px 30px -12px rgba(20,20,20,.15);}
.site-header.is-scrolled::before{background:rgba(var(--paper-rgb),.86);backdrop-filter:blur(14px);}
.site-header.menu-open::before{background:transparent;}

.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brand{display:flex;align-items:center;gap:10px;position:relative;z-index:2;}
.brand img{height:40px;width:auto;}
.brand-text{font-family:var(--f-display);font-weight:700;font-size:14px;line-height:1.2;}
.brand-text small{display:block;font-family:var(--f-text);font-weight:500;font-size:10.5px;color:var(--ink-soft);letter-spacing:.03em;transition:color var(--dur-fast);}
.menu-open .brand-text{color:var(--paper);}
.menu-open .brand-text small{color:rgba(250,246,239,.6);}

.header-actions{display:flex;align-items:center;gap:10px;position:relative;z-index:2;}

.icon-btn{
  width:46px;height:46px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  border:1.5px solid var(--line);color:var(--ink);
  transition:background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast), transform var(--dur-fast);
}
.icon-btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:translateY(-2px);}
.icon-btn svg{width:19px;height:19px;}
.menu-open .icon-btn{color:var(--paper);border-color:rgba(250,246,239,.4);}
.menu-open .icon-btn:hover{background:var(--paper);color:var(--navy);border-color:var(--paper);}

.burger{
  width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--paper);
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  transition:background var(--dur-fast), transform var(--dur-fast);
}
.burger:hover{transform:scale(1.06);}
.burger span{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast);}
.menu-open .burger{background:var(--signal);}
.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-open .burger span:nth-child(2){opacity:0;}
.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* full-screen меню */
.menu-overlay{
  position:fixed;inset:0;z-index:850;
  background:var(--navy);color:var(--paper);
  visibility:hidden;pointer-events:none;
  display:grid;grid-template-columns:1.3fr 1fr;
}
.menu-overlay.is-open{visibility:visible;pointer-events:auto;}
.menu-overlay-nav{
  padding:min(140px,18vh) var(--gutter) 40px;overflow-y:auto;
}
.menu-list{display:flex;flex-direction:column;}
.menu-list>li{border-top:1px solid var(--line-dark);}
.menu-list>li:last-child{border-bottom:1px solid var(--line-dark);}
.menu-link-row{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:16px 4px;
}
.menu-link{
  font-family:var(--f-display);font-weight:600;
  font-size:clamp(28px,5vw,54px);line-height:1.05;letter-spacing:-.01em;
  display:inline-block;transform:translateY(120%);
  transition:color var(--dur-fast);
}
.menu-overlay.is-open .menu-link{transform:none;}
.menu-link:hover, .menu-link:focus-visible{color:var(--signal);}
.menu-link-wrap{overflow:hidden;}
.menu-num{font-family:var(--f-alt);font-size:13px;color:rgba(250,246,239,.45);width:32px;}
.menu-expand{
  width:38px;height:38px;border-radius:50%;border:1px solid rgba(250,246,239,.35);
  display:inline-flex;align-items:center;justify-content:center;flex:none;
  transition:transform var(--dur-fast) var(--ease-out), background var(--dur-fast);
}
.menu-expand svg{width:14px;height:14px;transition:transform var(--dur-fast);}
li.is-expanded .menu-expand{background:var(--signal);border-color:var(--signal);}
li.is-expanded .menu-expand svg{transform:rotate(45deg);}
.menu-children{
  max-height:0;overflow:hidden;
  transition:max-height var(--dur-med) var(--ease-in-out);
}
li.is-expanded .menu-children{max-height:600px;}
.menu-children-inner{padding:6px 42px 20px;display:flex;flex-direction:column;gap:2px;}
.menu-children-inner a, .menu-children-inner button{
  padding:9px 0;font-size:15px;color:rgba(250,246,239,.75);text-align:left;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.menu-children-inner a:hover{color:var(--paper);}
.menu-children-inner .note{font-size:11px;color:rgba(250,246,239,.4);font-style:italic;}
.menu-children-inner [disabled]{color:rgba(250,246,239,.35);cursor:not-allowed;}
.menu-years{display:flex;flex-wrap:wrap;gap:8px;padding:6px 42px 20px;}
.menu-years a{
  padding:6px 12px;border:1px solid rgba(250,246,239,.3);border-radius:100px;font-size:13px;
}
.menu-years a:hover{background:var(--signal);border-color:var(--signal);}

.menu-overlay-side{
  position:relative;overflow:hidden;background:var(--navy-soft);
  display:flex;align-items:flex-end;
}
.menu-preview-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity var(--dur-med) var(--ease-out);
}
.menu-preview-img.is-active{opacity:1;}
.menu-overlay-side::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,26,43,.1),rgba(14,26,43,.85));}
.menu-side-info{position:relative;z-index:1;padding:40px;font-family:var(--f-alt);}
.menu-side-info .tagline{font-size:20px;font-weight:600;margin-bottom:10px;}
.menu-side-info .addr{font-size:13px;color:rgba(250,246,239,.7);}

.menu-footer{
  padding:24px var(--gutter) 40px;display:flex;flex-wrap:wrap;gap:16px 30px;
  border-top:1px solid var(--line-dark);
}
.menu-footer a{font-size:13px;color:rgba(250,246,239,.6);}
.menu-footer a:hover{color:var(--paper);}

@media (max-width:900px){
  .menu-overlay{grid-template-columns:1fr;}
  .menu-overlay-side{display:none;}
  .menu-overlay-nav{padding-top:110px;}
}
