/* ==========================================================================
   HEADER + NAVIGATION
   ========================================================================== */

.cc-topbar{
  background:var(--cc-charcoal);
  color:var(--cc-slate-light);
  font-family:var(--font-mono);
  font-size:0.78rem;
  letter-spacing:0.02em;
  border-bottom:1px solid var(--cc-charcoal-line);
}

.cc-topbar .container-cc{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-block:0.5rem;
}

.cc-topbar a{ color:var(--cc-cream); transition:color var(--dur-fast); }
.cc-topbar a:hover{ color:var(--cc-gold-bright); }

.cc-topbar__contacts{ display:flex; gap:var(--space-md); }
.cc-topbar__contacts span{ display:inline-flex; align-items:center; gap:0.4rem; }
.cc-topbar__contacts svg{ width:13px; height:13px; opacity:0.7; }

.cc-topbar__tag{
  color:var(--cc-gold-bright);
  font-weight:600;
}

@media (max-width: 768px){
  .cc-topbar__contacts span:nth-child(2){ display:none; }
}
@media (max-width: 480px){
  .cc-topbar__tag{ display:none; }
}

/* ---- Main header ---- */

.cc-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(250, 248, 244, 0.88);
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid var(--cc-border);
  transition:box-shadow var(--dur-med) var(--ease-out), background var(--dur-med);
  height:var(--header-h);
  display:flex;
  align-items:center;
}

.cc-header.is-scrolled{
  box-shadow:var(--shadow-md);
  background:rgba(250, 248, 244, 0.97);
}

.cc-header .container-cc{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-lg);
}

.cc-logo{
  display:flex;
  align-items:center;
  gap:0.65rem;
  flex-shrink:0;
}

.cc-logo__mark{ width:50px; height:50px; flex-shrink:0; }

.cc-logo__text{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.18rem;
  letter-spacing:0.01em;
  line-height:1.05;
  color:var(--cc-charcoal);
}
.cc-logo__text span{ display:block; font-size:0.68em; color:var(--cc-gold-deep); letter-spacing:0.08em; }

/* ---- Desktop nav ---- */

.cc-nav{
  display:flex;
  align-items:center;
  gap:var(--space-lg);
}

.cc-nav__links{
  display:flex;
  gap:var(--space-md);
  font-size:0.92rem;
  font-weight:600;
}

.cc-nav__links a{
  position:relative;
  padding:0.4rem 0.1rem;
  color:var(--cc-charcoal);
  transition:color var(--dur-fast);
}

.cc-nav__links a::after{
  content:'';
  position:absolute;
  left:0; bottom:-2px;
  width:0; height:2px;
  background:var(--cc-gold);
  transition:width var(--dur-med) var(--ease-out);
}

.cc-nav__links a:hover{ color:var(--cc-gold-deep); }
.cc-nav__links a:hover::after{ width:100%; }

.cc-header__cta{ display:flex; align-items:center; gap:var(--space-sm); }

.cc-burger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:42px;
  height:42px;
  border-radius:var(--radius-sm);
}

.cc-burger span{
  width:24px; height:2.5px;
  background:var(--cc-charcoal);
  border-radius:2px;
  transition:transform var(--dur-med) var(--ease-in-out), opacity var(--dur-med);
}

.cc-burger.is-active span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.cc-burger.is-active span:nth-child(2){ opacity:0; }
.cc-burger.is-active span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

@media (max-width: 991px){
  .cc-nav__links{ display:none; }
  .cc-header__cta .btn-cc{ display:none; }
  .cc-burger{ display:flex; }
}

/* ---- Mobile nav drawer ---- */

.cc-mobile-nav{
  position:fixed;
  inset:0;
  z-index:1100;
  pointer-events:none;
}

.cc-mobile-nav__backdrop{
  position:absolute;
  inset:0;
  background:rgba(23,24,28,0.55);
  opacity:0;
  transition:opacity var(--dur-med) var(--ease-out);
}

.cc-mobile-nav__panel{
  position:absolute;
  top:0; right:0;
  height:100%;
  width:min(360px, 86vw);
  background:var(--cc-charcoal);
  transform:translateX(100%);
  transition:transform var(--dur-med) var(--ease-out);
  display:flex;
  flex-direction:column;
  padding:1.75rem 1.75rem 2.5rem;
  overflow-y:auto;
}

.cc-mobile-nav.is-open{ pointer-events:auto; }
.cc-mobile-nav.is-open .cc-mobile-nav__backdrop{ opacity:1; }
.cc-mobile-nav.is-open .cc-mobile-nav__panel{ transform:translateX(0); }

.cc-mobile-nav__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:var(--space-xl);
}

.cc-mobile-nav__close{
  width:38px; height:38px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--cc-border-dark);
  border-radius:50%;
  color:var(--cc-cream);
}

.cc-mobile-nav__links{
  display:flex;
  flex-direction:column;
  gap:1.6rem;
  margin-bottom:var(--space-xl);
}

.cc-mobile-nav__links a{
  font-family:var(--font-display);
  font-size:1.5rem;
  font-weight:700;
  color:var(--cc-cream);
  display:flex;
  align-items:baseline;
  gap:0.6rem;
}

.cc-mobile-nav__links a .num{
  font-family:var(--font-mono);
  font-size:0.7rem;
  color:var(--cc-gold);
  font-weight:600;
}

.cc-mobile-nav__cta{ margin-top:auto; display:flex; flex-direction:column; gap:0.8rem; }

.cc-mobile-nav__contact{
  font-family:var(--font-mono);
  font-size:0.85rem;
  color:var(--cc-slate-light);
  margin-top:var(--space-lg);
  display:flex;
  flex-direction:column;
  gap:0.5rem;
}
.cc-mobile-nav__contact a{ color:var(--cc-gold-bright); }