
:root{
  --header-height:72px;
}
html,
body{
  max-width:100%;
  overflow-x:hidden;
}
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1200;
  height:var(--header-height);
  min-height:var(--header-height);
  padding:0 clamp(16px,3.2vw,48px);
  display:grid;
  grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);
  align-items:center;
  gap:24px;
  background:rgba(255,250,251,.78);
  border-bottom:1px solid rgba(73,43,51,.09);
  box-shadow:0 8px 28px rgba(46,27,33,.06);
  backdrop-filter:blur(18px) saturate(145%);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  transition:
    height .3s ease,
    background .3s ease,
    box-shadow .3s ease,
    transform .3s ease;
}
.site-header.header-scrolled{
  height:64px;
  min-height:64px;
  background:rgba(255,252,252,.96);
  box-shadow:0 12px 36px rgba(46,27,33,.1);
}
.site-header.header-hidden{
  transform:translateY(-105%);
}
.site-header .brand{
  grid-column:1;
  justify-self:start;
  display:flex;
  align-items:center;
  width:auto;
  min-width:0;
}
.site-header .brand img{
  display:block;
  width:116px;
  height:50px;
  max-width:116px;
  max-height:50px;
  object-fit:contain;
  object-position:left center;
  mix-blend-mode:normal;
  filter:none;
  border-radius:0;
  transition:width .3s ease,height .3s ease;
}
.site-header.header-scrolled .brand img{
  width:105px;
  height:44px;
}
.desktop-nav{
  grid-column:2;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(20px,2.2vw,34px);
  min-width:max-content;
}
.desktop-nav a{
  position:relative;
  padding:10px 0;
  color:#2c2024;
  font-size:11px;
  font-weight:700;
  letter-spacing:.07em;
  text-decoration:none;
  white-space:nowrap;
}
.desktop-nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:0;
  height:2px;
  border-radius:999px;
  background:#aa6075;
  transform:translateX(-50%);
  transition:width .25s ease;
}
.desktop-nav a:hover::after,
.desktop-nav a:focus-visible::after{
  width:100%;
}
.header-actions{
  grid-column:3;
  justify-self:end;
  display:flex;
  align-items:center;
  gap:7px;
  min-width:max-content;
}
.site-header .icon-btn,
.site-header .cart-btn{
  position:relative;
  min-width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  border:1px solid rgba(64,38,46,.1);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#2c2024;
  box-shadow:none;
  backdrop-filter:blur(10px);
  transition:transform .22s ease,background .22s ease,border-color .22s ease;
}
.site-header .icon-btn{
  width:40px;
  padding:0;
  font-size:22px;
}
.site-header .cart-btn{
  min-width:92px;
  padding:0 15px;
  font-size:11px;
  font-weight:700;
}
.site-header .icon-btn:hover,
.site-header .cart-btn:hover{
  transform:translateY(-1px);
  background:#fff;
  border-color:rgba(170,96,117,.24);
}
.site-header .icon-btn span{
  position:absolute;
  top:-4px;
  right:-4px;
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  border-radius:50%;
  background:#c8788d;
  color:#fff;
  font-size:9px;
  line-height:1;
}
.site-header .cart-btn span{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  margin-left:7px;
  padding:0 5px;
  border-radius:999px;
  background:#2c2024;
  color:#fff;
  font-size:9px;
}
.site-header.header-on-dark:not(.header-scrolled){
  background:rgba(24,16,19,.52);
  border-bottom-color:rgba(255,255,255,.1);
}
.site-header.header-on-dark:not(.header-scrolled) .desktop-nav a{
  color:#fff;
}
.site-header.header-on-dark:not(.header-scrolled) .icon-btn,
.site-header.header-on-dark:not(.header-scrolled) .cart-btn{
  color:#fff;
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.18);
}
.site-header.header-on-dark:not(.header-scrolled) .cart-btn span{
  background:#fff;
  color:#2c2024;
}
.mobile-nav-toggle{
  display:none;
}
.premium-hero{
  width:100%;
  max-width:100%;
}
.hero-slide-inner{
  box-sizing:border-box;
  max-width:100%;
}
@media(max-width:980px){
  :root{--header-height:66px}
  .site-header{
    height:66px;
    min-height:66px;
    padding:0 12px;
    grid-template-columns:44px 1fr auto;
    gap:8px;
  }
  .site-header.header-scrolled{
    height:62px;
    min-height:62px;
  }
  .mobile-nav-toggle{
    grid-column:1;
    grid-row:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
    width:40px;
    height:40px;
    padding:10px;
    border:1px solid rgba(64,38,46,.11);
    border-radius:50%;
    background:rgba(255,255,255,.8);
    cursor:pointer;
  }
  .mobile-nav-toggle span{
    display:block;
    width:100%;
    height:2px;
    margin:2.5px 0;
    border-radius:999px;
    background:#2c2024;
    transition:transform .25s ease,opacity .25s ease;
  }
  .mobile-nav-toggle.is-open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .mobile-nav-toggle.is-open span:nth-child(2){
    opacity:0;
  }
  .mobile-nav-toggle.is-open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
  .site-header .brand{
    grid-column:2;
    grid-row:1;
    justify-self:center;
  }
  .site-header .brand img,
  .site-header.header-scrolled .brand img{
    width:90px;
    height:43px;
    object-position:center;
  }
  .header-actions{
    grid-column:3;
    grid-row:1;
    gap:5px;
  }
  .site-header .icon-btn{
    width:38px;
    min-width:38px;
    height:38px;
  }
  .site-header .cart-btn{
    width:42px;
    min-width:42px;
    height:38px;
    padding:0;
    font-size:0;
  }
  .site-header .cart-btn::before{
    content:"🛍";
    font-size:16px;
  }
  .site-header .cart-btn span{
    position:absolute;
    top:-4px;
    right:-4px;
    width:18px;
    min-width:18px;
    height:18px;
    margin:0;
    padding:0;
  }
  .desktop-nav{
    position:absolute;
    top:calc(100% + 8px);
    left:12px;
    right:12px;
    display:grid;
    gap:2px;
    min-width:0;
    padding:12px;
    border:1px solid rgba(71,42,50,.1);
    border-radius:20px;
    background:rgba(255,252,252,.98);
    box-shadow:0 22px 55px rgba(42,24,30,.16);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    transition:opacity .22s ease,visibility .22s ease,transform .22s ease;
  }
  .desktop-nav.is-open{
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .desktop-nav a{
    padding:13px 14px;
    border-radius:12px;
    color:#2c2024!important;
  }
  .desktop-nav a:hover{
    background:#f6e9ed;
  }
  .desktop-nav a::after{
    display:none;
  }
  .site-header.header-on-dark:not(.header-scrolled) .mobile-nav-toggle{
    border-color:rgba(255,255,255,.2);
    background:rgba(255,255,255,.12);
  }
  .site-header.header-on-dark:not(.header-scrolled) .mobile-nav-toggle span{
    background:#fff;
  }
}
@media(max-width:620px){
  .site-header{
    padding:0 9px;
  }
  .site-header .brand img,
  .site-header.header-scrolled .brand img{
    width:82px;
    height:40px;
  }
  .header-actions .icon-btn:first-child{
    display:none;
  }
}
@media(prefers-reduced-motion:reduce){
  .site-header,
  .desktop-nav,
  .mobile-nav-toggle span{
    transition:none!important;
  }
}
