:root{
  --bg:#0b0b0b;--surface:#151515;--gold:#c8a96a;--wine:#5e1022;
  --ivory:#f5f1ea;--gray:#b7b7b7;--ink:#1c1a18;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ivory);font-family:Inter,sans-serif}
body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}
.opening{position:fixed;inset:0;z-index:1000;background:#070707;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;transition:opacity .8s,visibility .8s}
.opening.hidden{opacity:0;visibility:hidden}.opening__line{width:1px;height:90px;background:linear-gradient(transparent,var(--gold));margin-bottom:28px}
.opening p{font-family:"Cormorant Garamond";font-size:clamp(1.6rem,4vw,3rem);margin:0;color:#c9c1b5}
.opening h1{font-family:"Cormorant Garamond";font-size:clamp(3.5rem,8vw,7rem);margin:0 0 32px;color:var(--ivory)}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;background:linear-gradient(rgba(0,0,0,.85),transparent)}
.brand{display:flex;align-items:center;gap:12px;font-family:"Cormorant Garamond";font-weight:700;font-size:1.35rem}
.brand__mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);color:var(--gold)}
.nav__links{display:flex;gap:28px;font-size:.9rem}.nav__links a{opacity:.8}.nav__links a:hover{opacity:1;color:var(--gold)}
.btn{border:0;padding:13px 22px;cursor:pointer;letter-spacing:.04em;transition:.25s;display:inline-block}
.btn--gold{background:var(--gold);color:#111}.btn--gold:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn--outline{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff}.btn--outline:hover{border-color:var(--gold);color:var(--gold)}
.btn--ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.15)}
.btn--wine{background:var(--wine);color:#fff}.btn--wine:hover{filter:brightness(1.18)}
.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding:120px 8vw;background:
linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.2)),
url("https://images.unsplash.com/photo-1508700929628-666bc8bd84ea?auto=format&fit=crop&w=1800&q=85") center/cover}
.hero__overlay{position:absolute;inset:0;background:radial-gradient(circle at 70% 40%,transparent,rgba(0,0,0,.55))}
.hero__content{position:relative;z-index:2;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.24em;color:var(--gold);font-size:.75rem}
.eyebrow--dark{color:var(--wine)}h1,h2,h3{font-family:"Cormorant Garamond",serif;font-weight:600}
.hero h1{font-size:clamp(4rem,8vw,7.6rem);line-height:.86;margin:25px 0}.hero p{max-width:640px;font-size:1.05rem;line-height:1.8;color:#ddd}
.hero__actions{display:flex;gap:16px;margin-top:35px}.scroll-indicator{position:absolute;bottom:26px;right:5vw;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;opacity:.65}
.section{padding:110px 7vw}.section--cream{background:var(--ivory);color:var(--ink)}.section--dark{background:#0f0f0f}.section--wine{background:linear-gradient(135deg,#3e0714,#6a1328)}
.section__head{max-width:760px;margin-bottom:55px}.section__head h2,.form-layout h2{font-size:clamp(3rem,6vw,5.5rem);margin:12px 0}.section__head p{line-height:1.8;opacity:.75}
.academy-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.academy-card{background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.12)}
.academy-card__image{height:420px;background-size:cover;background-position:center}.academy-card__image--tango{background-image:url("https://images.unsplash.com/photo-1540324155974-7523202daa3f?auto=format&fit=crop&w=1200&q=85")}
.academy-card__image--folk{background-image:url("https://images.unsplash.com/photo-1514525253161-7a46d19cd819?auto=format&fit=crop&w=1200&q=85")}
.academy-card__content{padding:34px}.academy-card__content span{font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--wine)}
.academy-card__content h3{font-size:3rem;margin:8px 0}.academy-card__content p{line-height:1.7;color:#625d57}.academy-card__content a{color:var(--wine);font-weight:600}
.course-list{border-top:1px solid #333}.course-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:center;gap:25px;padding:28px 0;border-bottom:1px solid #333}
.course-row__level{font-size:.7rem;color:var(--gold);text-transform:uppercase;letter-spacing:.18em}.course-row h3{font-size:2rem;margin:5px 0}.course-row small{display:block;color:#777;margin-bottom:5px}
.split-feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:600px}.split-feature__image{background:url("https://images.unsplash.com/photo-1545959570-a94084071b5d?auto=format&fit=crop&w=1200&q=85") center/cover}
.split-feature__content{padding:70px;background:white;display:flex;justify-content:center;flex-direction:column}.split-feature__content h2{font-size:4.5rem;margin:10px 0}.split-feature__content p,.split-feature__content li{line-height:1.8;color:#635f5a}
.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.media-card{background:rgba(255,255,255,.08);padding:28px;border:1px solid rgba(255,255,255,.12)}
.media-card__label{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:#f2d8a1}.media-card h3{font-size:2.6rem;margin:10px 0 22px}
.video-frame{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%}.media-note{font-size:.82rem;opacity:.65}
.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.event-card{padding:34px;border:1px solid #2f2f2f;min-height:250px;background:linear-gradient(145deg,#151515,#0d0d0d)}
.event-card__date{color:var(--gold);font-size:.8rem;letter-spacing:.2em}.event-card h3{font-size:2.3rem;margin:35px 0 15px}.event-card p{color:#aaa;line-height:1.6}
.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.form-layout__intro p{line-height:1.7;color:#666}.steps{display:flex;gap:20px;margin-top:35px;font-size:.78rem}.steps span{opacity:.4}.steps .active{opacity:1;color:var(--wine)}
.enrollment-form{background:white;padding:40px;box-shadow:0 20px 60px rgba(0,0,0,.1)}label{display:block;font-size:.82rem;font-weight:600;margin-bottom:18px}
input,select{width:100%;margin-top:8px;padding:14px 12px;border:1px solid #d8d2ca;background:#faf8f4}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.enrollment-form small{display:block;margin-top:14px;color:#777}.footer{padding:80px 7vw;background:#070707}.footer blockquote{font-family:"Cormorant Garamond";font-size:clamp(2rem,5vw,4.5rem);max-width:900px;margin:0 0 50px}
.footer div{display:flex;justify-content:space-between;color:#777;font-size:.8rem}.toast{position:fixed;right:24px;bottom:24px;z-index:500;background:#fff;color:#222;padding:20px 24px;box-shadow:0 12px 40px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:6px;transform:translateY(130%);transition:.4s;max-width:360px}
.toast.show{transform:translateY(0)}.modal{position:fixed;inset:0;z-index:800;display:none}.modal.open{display:block}.modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}
.modal__panel{position:relative;margin:8vh auto;background:var(--ivory);color:var(--ink);max-width:480px;padding:45px;z-index:2}.modal__panel h2{font-size:3rem;margin:10px 0}.modal__close{position:absolute;right:18px;top:12px;background:none;border:0;font-size:2rem;cursor:pointer}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.nav__links{display:none}.course-row{grid-template-columns:1fr 1fr}.course-row>div:first-child{grid-column:1/-1}.academy-grid,.media-grid,.event-grid,.form-layout,.split-feature{grid-template-columns:1fr}.split-feature__image{min-height:420px}}
@media(max-width:640px){.nav{padding:14px 18px}.nav .btn{display:none}.brand span:last-child{display:none}.hero{padding:110px 24px}.hero h1{font-size:4rem}.section{padding:80px 22px}.academy-card__image{height:300px}.course-row{grid-template-columns:1fr}.course-row>div:first-child{grid-column:auto}.course-row .btn{width:100%}.form-grid{grid-template-columns:1fr}.enrollment-form{padding:25px}.footer div{flex-direction:column;gap:12px}}
