.mobile-nav-close{
  position:absolute;
  top:1.2rem;
  right:1.2rem;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(232,214,160,.35);
  color:var(--cream-text);
  font-size:2rem;
  line-height:1;
  display:grid;
  place-items:center;
  background:rgba(25,16,6,.35);
}

.mobile-nav-close:hover{
  background:rgba(232,214,160,.12);
  border-color:rgba(232,214,160,.6);
}

/* Improve burger visibility on mobile */
@media (max-width:1200px){
  .nav-menu,
  .nav-cta{
    display:none;
  }

  .burger{
    display:flex;
  }
}

@media (max-width:1080px){
  .burger{
    gap:6px;
    padding:8px;
    border:none;
    border-radius:0;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .burger span{
    height:2px;
    background:var(--cream-text);
  }
  .site-header:not(.scrolled) .burger span{
    background:var(--cream-text);
  }
  .scrolled .burger span{
    background:var(--ink);
  }

  /* Keep mobile drawer CTA from stretching full width */
  .mobile-nav a.m-cta{
    display:inline-flex !important;
    width:auto !important;
    align-self:flex-start !important;
    border-bottom:none !important;
    max-width:calc(100% - 0.5rem);
    white-space:normal;
    font-size:.68rem;
    letter-spacing:.1em;
    padding:.72rem 1.12rem;
    line-height:1.2;
  }
}

/* Footer social links */
.footer-social{
  margin-top:1rem;
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
  justify-content:center;
}

.footer-social .social-link{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem .78rem;
  border-radius:999px;
  border:1px solid rgba(232,214,160,.26);
  background:rgba(232,214,160,.06);
  color:var(--cream-text);
  line-height:1;
}

.footer-social .social-link svg{
  width:16px;
  height:16px;
  fill:currentColor;
  flex-shrink:0;
}

.footer-social .social-link span{
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.footer-social .social-link:hover{
  border-color:rgba(232,214,160,.48);
  background:rgba(232,214,160,.14);
}

.footer-social-spacer{
  height:.9rem;
}

/* Contact page: Classplus spotlight */
.classplus-spotlight{
  background:
    radial-gradient(100% 120% at 10% 0%, rgba(219,176,68,.14), transparent 60%),
    radial-gradient(80% 90% at 95% 100%, rgba(194,97,26,.12), transparent 58%),
    linear-gradient(175deg, var(--paper), var(--paper-2));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.classplus-shell{
  border:1px solid var(--line-gold);
  background:rgba(243,233,210,.72);
  box-shadow:var(--shadow-soft);
  padding:clamp(1.6rem,4vw,2.6rem);
}

.classplus-lead{
  max-width:60ch;
  margin:1rem auto 2rem;
  color:var(--ink-soft);
}

.classplus-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.1rem;
}

.classplus-card{
  background:var(--paper);
  border:1px solid rgba(184,144,31,.34);
  padding:1.3rem;
  display:flex;
  flex-direction:column;
  gap:.6rem;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}

.classplus-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-card);
  border-color:var(--gold);
}

.classplus-icon{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid rgba(184,144,31,.45);
  background:rgba(232,214,160,.26);
  color:var(--saffron-deep);
  display:grid;
  place-items:center;
}

.classplus-icon svg{
  width:18px;
  height:18px;
  fill:currentColor;
}

.classplus-card p{
  color:var(--ink-soft);
  margin:0;
}

.classplus-cta{
  margin-top:auto;
  align-self:flex-start;
}

@media (max-width:560px){
  .footer-social{
    margin-top:.4rem;
    gap:.55rem;
    justify-content:center;
  }
  .footer-social-spacer{
    height:.7rem;
  }
  .footer-social .social-link{
    padding:.48rem .7rem;
  }
  .footer-social .social-link span{
    font-size:.66rem;
  }

  .classplus-grid{
    grid-template-columns:1fr;
  }
}
