/* Classes page — extends css/style.css */
.hero{
  min-height:92svh;position:relative;
  display:grid;grid-template-columns:1fr minmax(260px,40%);
  align-items:end;padding:clamp(6rem,10vw,9rem) clamp(1.2rem,5vw,5rem) clamp(3rem,7vw,6rem);
  background:#221c17;color:#fff7ea;
}
.hero img{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  filter:brightness(.84) saturate(.92);
}
.hero:after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(24,18,14,.92),rgba(24,18,14,.28) 52%,rgba(24,18,14,.55)),
    linear-gradient(to top,rgba(24,18,14,.8),transparent 48%);
}
.hero-copy{max-width:44rem;position:relative;z-index:2;grid-column:1;grid-row:1}
.eyebrow{font-family:Inter,system-ui,sans-serif;font-size:.58rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
h1{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(3.4rem,10vw,9.5rem);line-height:.85;letter-spacing:-.045em;max-width:10ch;margin-top:.8rem}
h1.shimmer{background:linear-gradient(100deg,rgba(255,247,234,.75) 0%,rgba(255,236,201,.98) 42%,rgba(167,123,69,.92) 50%,rgba(255,236,201,.98) 58%,rgba(255,247,234,.75) 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine .95s ease-out}
@keyframes shine{from{background-position:120% 0}to{background-position:0 0}}
.hero p{max-width:40rem;margin-top:1rem;font-size:clamp(1rem,1.35vw,1.15rem);font-weight:300;line-height:1.9;letter-spacing:.01em;color:rgba(255,247,234,.85)}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.45rem}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.82rem 1rem;border-radius:999px;border:1px solid rgba(255,247,234,.4);text-transform:uppercase;letter-spacing:.16em;font-size:.6rem;background:rgba(255,255,255,.08);transition:border-color .25s ease,background .25s ease,color .25s ease}
.btn:hover{border-color:rgba(233,201,149,.72);background:rgba(255,255,255,.13)}
.btn.dark{background:#fff4e6;color:#241e18;border-color:#fff4e6}
.page{padding:clamp(2.3rem,6vw,5rem) clamp(1.2rem,6vw,6rem) 4rem;max-width:1220px;margin:0 auto}
h2.section-title{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:clamp(2.4rem,5.5vw,5.5rem);line-height:.88;letter-spacing:-.035em}
.intro{margin-top:.5rem;padding:clamp(1.8rem,4vw,2.6rem) 0 0;border-top:1px solid var(--line)}
.intro p{margin-top:.9rem;color:var(--soft);font-size:clamp(1rem,1.35vw,1.15rem);font-weight:300;line-height:1.9;letter-spacing:.01em;max-width:44rem}
.signature{
  margin-top:2rem;position:relative;min-height:clamp(420px,58vh,560px);
  border:1px solid var(--line);
  overflow:hidden;display:grid;grid-template-columns:1fr;
  align-items:center;justify-items:end;background:#221c17;color:#fff7ea;
}
.signature img{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;object-fit:cover;object-position:center;
  filter:brightness(.82) saturate(.92);
}
.signature:after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(18,14,10,.1),rgba(18,14,10,.5) 52%,rgba(18,14,10,.92)),
    linear-gradient(to top,rgba(18,14,10,.55),transparent 55%);
}
.signature-copy{position:relative;z-index:2;max-width:32rem;padding:clamp(1.4rem,4vw,2.6rem)}
.signature-copy .eyebrow{color:#e9c995}
.signature-copy .section-title{color:#fff7ea}
.signature-copy p{margin-top:.7rem;color:rgba(255,247,234,.86);line-height:1.85}
.enrollment{margin-top:2.8rem;border-top:1px solid var(--line);padding-top:clamp(1.8rem,4vw,2.6rem)}
.enrollment-card{border:1px solid var(--line);background:rgba(255,255,255,.42);padding:clamp(1.6rem,4vw,2.9rem);max-width:48rem}
.enrollment-card .section-title{margin-top:.55rem}
.enrollment-card p{margin-top:1rem;color:var(--soft);font-size:clamp(1rem,1.35vw,1.15rem);font-weight:300;line-height:1.9;letter-spacing:.01em;max-width:42rem}
.enrollment-card .btn{margin-top:1.5rem}
.cta-band{margin-top:2.8rem;display:grid;grid-template-columns:1fr auto;gap:1.1rem;align-items:end;border-top:1px solid var(--line);padding-top:1.4rem}
.cta-band p{max-width:32rem;color:var(--soft);line-height:1.8;margin-top:.6rem}
.footer{padding:2rem clamp(1.2rem,4vw,4rem);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--soft);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}
.footer-social{display:flex;gap:1.2rem}
.footer-social a{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--soft);transition:color .2s ease}
.footer-social a:hover{color:var(--gold)}
@media(max-width:980px){
  .hero{min-height:80svh;grid-template-columns:1fr}
  .cta-band{grid-template-columns:1fr}
  .signature{min-height:clamp(380px,54vh,480px);grid-template-columns:1fr;justify-items:stretch;align-items:end}
  .signature:after{
    background:linear-gradient(to top,rgba(18,14,10,.94),rgba(18,14,10,.5) 45%,transparent 78%);
  }
  .signature-copy{max-width:none}
}
@media(max-width:640px){
  .hero{padding:5.2rem 1rem 2.1rem}
  .hero p{font-size:.98rem;line-height:1.62}
  h1{font-size:clamp(2.45rem,11.5vw,4rem)}
  .hero-actions{flex-direction:column;gap:.55rem}
  .hero-actions .btn{width:100%}
  .page{padding:2rem 1rem 2.6rem}
  .intro{padding:1.15rem 0 0}
  .intro p{font-size:.98rem;line-height:1.65}
  .signature{min-height:240px;margin-top:1.2rem}
  .signature-copy{padding:1rem}
  .enrollment{margin-top:1.9rem}
  .enrollment-card{padding:1.25rem}
  .cta-band{margin-top:2rem;padding-top:1rem;gap:.7rem}
}

@media(max-width:430px){
  .hero{padding:4.9rem .85rem 1.6rem}
  h1{font-size:clamp(2.1rem,10.5vw,3rem)}
  .hero p{font-size:.93rem;line-height:1.55}
  .page{padding:1.75rem .85rem 2.2rem}
  .signature{min-height:210px}
  .signature-copy{padding:.85rem}
}

@media(max-height:740px) and (max-width:640px){
  .hero{min-height:74svh}
  .enrollment{margin-top:1.5rem}
}
