/* === Carolina Herrera Academy ===
   Landing = bandas del PDF + nav fixed + calendar accordion funcional.
   Única animación: nav slide-down al cargar.
*/

:root{
  --pad: clamp(20px, 4vw, 56px);
  --t-sans: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  --t-display: "Cormorant Garamond", "Times New Roman", serif;
  --ease-out: cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;background:#faf7f3;font-family:var(--t-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
html{scroll-behavior:smooth}
a{color:inherit;text-decoration:none}
button{font:inherit;background:none;border:0;color:inherit;cursor:pointer}
img{display:block;max-width:100%}

/* ============ NAV ============ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(10,10,10,.92);
  backdrop-filter:saturate(140%) blur(6px);
  transform:translateY(-100%);
  transition:transform .8s var(--ease-out);
}
.nav.is-ready{transform:translateY(0)}
.nav-inner{
  width:100%;
  padding:14px clamp(24px,4vw,56px);
  display:flex;align-items:center;justify-content:space-between;gap:32px;
}
.nav-logo{display:flex;align-items:center;height:42px}
.nav-logo img{height:100%;width:auto;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}

.nav-links{list-style:none;display:flex;gap:42px;margin:0;padding:0}
.nav-links a{color:#fff;font-size:11px;letter-spacing:.28em;font-weight:500;padding:6px 0;position:relative}
.nav-links a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:1px;background:#fff;transition:left .35s ease,right .35s ease}
.nav-links a:hover::after{left:0;right:0}
.nav-burger{display:none;width:32px;height:32px;flex-direction:column;justify-content:center;gap:5px;padding:0}
.nav-burger span{display:block;width:22px;height:1px;background:#fff;margin:0 auto;transition:transform .3s ease}
@media (max-width:980px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#0a0a0a;flex-direction:column;gap:0;padding:18px 0}
  .nav.is-open .nav-links{display:flex}
  .nav-links li{text-align:center}
  .nav-links a{display:block;padding:18px;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-burger{display:flex}
  .nav.is-open .nav-burger span:nth-child(1){transform:translateY(3px) rotate(45deg)}
  .nav.is-open .nav-burger span:nth-child(2){transform:translateY(-3px) rotate(-45deg)}
}

/* ============ PÁGINA ============ */
.page{
  width:100%;
  margin:0;
  background:#faf7f3;
}
.band{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
  vertical-align:top;
}
.anchor{
  display:block;
  position:relative;
  height:0;
  margin-top:-80px;
  padding-top:80px;
  visibility:hidden;
}

/* ============ CALENDAR (accordion funcional) ============ */
.calendar{
  background:#0a0a0a;
  color:#fff;
  padding:clamp(70px,8vw,120px) clamp(20px,4vw,56px);
}
.calendar-inner{
  max-width:760px;
  margin:0 auto;
}
.cal-title{
  font-family:var(--t-sans);
  font-weight:400;
  font-size:clamp(22px,2vw,28px);
  letter-spacing:.36em;
  text-align:center;
  color:#fff;
  margin:0 0 clamp(36px,4vw,56px);
}
.accordion{display:flex;flex-direction:column;gap:14px}
.acc-item{
  border:1px solid rgba(255,255,255,.22);
  background:transparent;
  transition:border-color .3s ease, background .3s ease;
}
.acc-item[open]{
  border-color:rgba(255,255,255,.55);
  background:rgba(255,255,255,.02);
}
.acc-item summary{
  list-style:none;
  cursor:pointer;
  padding:22px 28px;
  display:flex;align-items:center;justify-content:space-between;
  font-family:var(--t-sans);
  font-size:11px;letter-spacing:.32em;
  color:#fff;font-weight:500;
}
.acc-item summary::-webkit-details-marker{display:none}
.acc-plus{position:relative;width:14px;height:14px;flex:none}
.acc-plus::before,.acc-plus::after{content:"";position:absolute;background:#fff;transition:transform .35s ease}
.acc-plus::before{left:0;right:0;top:50%;height:1px;transform:translateY(-50%)}
.acc-plus::after{top:0;bottom:0;left:50%;width:1px;transform:translateX(-50%)}
.acc-item[open] .acc-plus::after{transform:translateX(-50%) rotate(90deg)}
.acc-body{padding:0 28px 26px}
.acc-body ul{list-style:none;margin:0;padding:0}
.acc-body li{
  padding:13px 0;
  border-top:1px solid rgba(255,255,255,.08);
  font-family:var(--t-display);
  font-size:17px;
  color:rgba(255,255,255,.88);
  display:flex;gap:24px;align-items:baseline;
}
.acc-body li span{
  font-family:var(--t-sans);
  font-size:10px;letter-spacing:.24em;
  color:rgba(255,255,255,.5);
  min-width:54px;
}
@media (max-width:520px){
  .acc-item summary{padding:18px 20px}
  .acc-body{padding:0 20px 22px}
}
