:root{
  --bg:#09070d;
  --bg-deep:#07060a;
  --panel:rgba(255,255,255,.075);
  --panel-strong:rgba(255,255,255,.105);
  --line:rgba(255,255,255,.12);
  --text:#fff9f4;
  --muted:#dacfd4;
  --gold:#ffd98a;
  --orange:#ff8d2a;
  --pink:#ff4f8f;
  --red:#ff4d48;
  --purple:#8a43ff;
  --cyan:#66e6ff;
  --shadow:0 24px 70px rgba(0,0,0,.35);
  --radius:28px;
  --shell:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;
  min-width:320px;
  color:var(--text);
  background:
    radial-gradient(circle at 5% 8%,rgba(255,79,143,.18),transparent 22%),
    radial-gradient(circle at 95% 10%,rgba(138,67,255,.20),transparent 24%),
    linear-gradient(180deg,#09070d 0%,#110814 55%,#08070b 100%);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
  padding-bottom:76px;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(102,230,255,.9);outline-offset:3px}
.shell{width:min(var(--shell),calc(100% - 30px));margin-inline:auto;position:relative;z-index:2}
.ambient{position:fixed;border-radius:999px;filter:blur(75px);opacity:.25;pointer-events:none;z-index:0}
.ambient-a{width:250px;height:250px;background:linear-gradient(135deg,var(--pink),var(--orange));left:-120px;top:100px}
.ambient-b{width:320px;height:320px;background:linear-gradient(135deg,var(--purple),var(--cyan));right:-170px;top:35%}
.ambient-c{width:260px;height:260px;background:linear-gradient(135deg,var(--gold),var(--red));left:10%;bottom:5%}

.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(8,7,12,.74);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav-wrap{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand img{width:46px;height:46px;object-fit:cover;border-radius:13px;background:white;border:1px solid rgba(255,255,255,.18)}
.brand-copy{min-width:0}
.brand-copy strong{display:block;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:185px}
.brand-copy small{display:block;margin-top:2px;color:#d8cdd2;font-size:.59rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.nav-actions{display:flex;align-items:center;gap:8px}
.language-btn,.menu-btn{min-width:46px;height:46px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:white;display:grid;place-items:center;cursor:pointer}
.language-btn{display:flex;gap:5px;padding-inline:10px;font-weight:900;font-size:.8rem}
.language-current{color:var(--gold)}
.language-divider{opacity:.45}
.menu-btn{padding:0}
.menu-btn span{display:block;width:20px;height:2px;background:white;border-radius:5px;transition:.2s}
.menu-btn span+span{margin-top:4px}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.site-nav{
  position:absolute;left:15px;right:15px;top:80px;
  display:grid;gap:6px;padding:12px;
  background:rgba(14,10,18,.98);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);
  opacity:0;transform:translateY(-10px) scale(.98);pointer-events:none;transition:.18s ease;
}
.site-nav.open{opacity:1;transform:none;pointer-events:auto}
.site-nav a{display:flex;align-items:center;min-height:48px;padding:.8rem 1rem;border-radius:14px;font-weight:850;color:#f6edf0}
.site-nav a:active{background:rgba(255,255,255,.08)}
.site-nav .nav-cta{justify-content:center;color:#1d0c02;background:linear-gradient(135deg,var(--gold),var(--orange))}

.hero{padding:44px 0 28px;position:relative}
.hero-grid{display:grid;gap:30px}
.hero-copy{min-width:0}
.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:.62rem .8rem;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.06);font-size:.72rem;letter-spacing:.10em;text-transform:uppercase;color:var(--gold)}
.eyebrow span{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--orange));box-shadow:0 0 18px rgba(255,79,143,.7)}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,15vw,5.2rem);line-height:.91;letter-spacing:-.055em;margin:18px 0}
.gradient-text{background:linear-gradient(120deg,var(--gold),var(--orange),var(--pink),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{font-size:1rem;line-height:1.72;color:#e2d7db;margin:0;max-width:690px}
.hero-buttons{display:grid;gap:10px;margin-top:24px}
.btn{min-height:52px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:.9rem 1.2rem;font-weight:950;border:1px solid transparent;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--orange));color:#251202;box-shadow:0 14px 34px rgba(255,141,42,.22)}
.btn-secondary{background:rgba(255,255,255,.06);border-color:var(--line);color:white}
.chips{display:flex;gap:9px;overflow-x:auto;padding:18px 1px 3px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chips span{flex:0 0 auto;padding:.7rem .8rem;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);font-size:.81rem;font-weight:780;color:#eee4e8}
.hero-visual{min-width:0}
.dance-card{position:relative;isolation:isolate;padding:14px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow);overflow:hidden}
.dance-card-glow{position:absolute;inset:20% 18%;border-radius:50%;background:radial-gradient(circle,rgba(255,173,92,.5),rgba(255,79,143,.13),transparent 70%);filter:blur(30px);z-index:-1}
.dance-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:22px;background:#fff}
.floating-card{position:absolute;padding:12px 13px;border-radius:16px;background:rgba(15,11,20,.78);backdrop-filter:blur(13px);border:1px solid rgba(255,255,255,.14);box-shadow:0 12px 30px rgba(0,0,0,.28);max-width:175px}
.floating-card small{display:block;font-size:.61rem;letter-spacing:.12em;color:var(--gold);font-weight:950}
.floating-card strong{display:block;margin:4px 0;font-size:.93rem}
.floating-card span{display:block;color:#ddcfd4;font-size:.72rem;line-height:1.35}
.hero-promo{right:20px;top:20px}
.hero-week{left:20px;bottom:20px}

.offer-strip{padding:20px 0 28px}
.offer-inner{display:grid;gap:16px;padding:22px;border-radius:26px;background:linear-gradient(135deg,rgba(255,79,143,.16),rgba(255,141,42,.14),rgba(102,230,255,.06));border:1px solid var(--line);box-shadow:var(--shadow)}
.offer-inner h2{font-family:Georgia,serif;font-size:2rem;line-height:1.02;margin:.4rem 0 .7rem}
.offer-inner p{margin:0;color:#d9ced2;line-height:1.65}
.offer-card{display:block;padding:20px;border-radius:22px;background:rgba(255,255,255,.075);border:1px solid var(--line)}
.offer-badge{display:inline-block;padding:.42rem .65rem;border-radius:999px;background:linear-gradient(135deg,var(--gold),var(--orange));color:#251101;font-size:.67rem;font-weight:1000;letter-spacing:.1em}
.offer-card strong{display:block;font-family:Georgia,serif;font-size:2rem;line-height:1;margin:12px 0 8px}
.offer-card small{display:block;color:#decfd4;line-height:1.45}

.section{padding:58px 0}
.section-heading{max-width:820px;margin-bottom:26px}
.section-kicker{display:block;color:var(--gold);font-size:.72rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase;margin-bottom:9px}
.section-heading h2,.join-copy h2,.story-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.25rem,11vw,4.1rem);line-height:.98;letter-spacing:-.04em;margin:.15rem 0 .9rem}
.section-heading p,.join-copy p,.story-copy p{color:#d9ced3;line-height:1.72;margin:0;font-size:.98rem}

.class-grid,.price-grid,.extras-grid,.faq-grid{display:grid;gap:14px}
.class-card,.price-card,.extras-grid article,.schedule-board,.schedule-notes,.story-art,.story-copy,.waitlist-form{background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.11);border-radius:24px;box-shadow:var(--shadow)}
.class-card{position:relative;overflow:hidden;padding:24px;min-height:300px}
.class-card::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-55px;bottom:-55px;filter:blur(3px);opacity:.35}
.class-card.bachata::after{background:linear-gradient(135deg,var(--pink),var(--orange))}
.class-card.salsa::after{background:linear-gradient(135deg,var(--purple),var(--cyan))}
.class-card.merengue::after{background:linear-gradient(135deg,var(--gold),var(--red))}
.card-icon{font-size:1.8rem}.class-number{position:absolute;right:20px;top:18px;color:rgba(255,255,255,.18);font:900 2.2rem Georgia,serif}
.class-card h3{font-size:1.55rem;margin:.8rem 0 .55rem}
.class-card p{color:#d8ced2;line-height:1.65;margin:0;position:relative;z-index:1}
.class-times{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;position:relative;z-index:1}
.class-times span{padding:.55rem .7rem;border-radius:999px;background:rgba(255,255,255,.07);font-size:.78rem;font-weight:820;color:#f2dad7}

.pricing-section{position:relative}
.price-card{padding:23px;display:flex;flex-direction:column}
.price-card.featured{background:linear-gradient(165deg,rgba(255,218,138,.13),rgba(255,79,143,.11),rgba(255,255,255,.045));border-color:rgba(255,218,138,.42)}
.price-label{align-self:flex-start;padding:.42rem .64rem;border-radius:999px;background:rgba(255,255,255,.07);color:var(--gold);font-size:.65rem;font-weight:950;letter-spacing:.1em}
.price-card h3{font-size:1.12rem;margin:13px 0 7px}.price{font:800 2.7rem Georgia,serif;line-height:1}.price small{font:700 .8rem Inter,sans-serif;color:#d6c9ce}.price-card p{color:#d8cdd1;line-height:1.58;min-height:62px}.price-card ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.price-card li{font-size:.88rem;color:#f1e8eb}.price-card li::before{content:"✦";color:var(--gold);margin-right:7px}

.schedule-layout{display:grid;gap:14px}.schedule-board,.schedule-notes{padding:18px}.schedule-row{display:grid;grid-template-columns:54px 1fr;gap:10px 12px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08)}.schedule-row:last-child{border-bottom:0}.schedule-row b{color:var(--gold);font-size:.79rem;letter-spacing:.08em}.schedule-row div{min-width:0}.schedule-row strong{display:block}.schedule-row span{display:block;color:#d1c5ca;font-size:.82rem;margin-top:4px;line-height:1.4}.schedule-row em{grid-column:2;font-style:normal;font-weight:900;color:#fff0e8}.schedule-notes{display:grid;gap:10px}.schedule-notes div{padding:15px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.schedule-notes strong{display:block;margin-bottom:5px}.schedule-notes p{margin:0;color:#d4c9cd;line-height:1.55;font-size:.9rem}

.extras-grid article{padding:22px}.extras-grid article>span{font-size:1.8rem}.extras-grid h3{margin:.7rem 0 .45rem}.extras-grid p{margin:0;color:#d6cbd0;line-height:1.6;font-size:.92rem}

.story-grid{display:grid;gap:14px}.story-art{min-height:330px;position:relative;overflow:hidden;padding:26px;background:radial-gradient(circle at 78% 18%,rgba(255,218,138,.25),transparent 24%),radial-gradient(circle at 15% 80%,rgba(255,79,143,.24),transparent 26%),linear-gradient(135deg,#171021,#3b0e27 53%,#111a31)}.story-art>span{position:absolute;top:16px;left:18px;font:900 5.3rem Georgia,serif;color:rgba(255,255,255,.055);letter-spacing:-.05em}.story-art strong{position:absolute;left:26px;right:26px;bottom:26px;font:800 1.85rem/1.08 Georgia,serif}.story-copy{padding:24px}.story-copy blockquote{margin:18px 0;padding:16px 17px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);color:#fff5ec;font-weight:800;line-height:1.55}

.faq-grid details{padding:18px 19px;border-radius:19px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09)}.faq-grid summary{cursor:pointer;font-weight:900;list-style:none}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary::after{content:"+";float:right;color:var(--gold);font-size:1.2rem}.faq-grid details[open] summary::after{content:"–"}.faq-grid p{margin:11px 0 0;color:#d4c8cd;line-height:1.6;font-size:.91rem}

.join-section{padding-bottom:44px}.join-grid{display:grid;gap:16px;padding:22px;border-radius:28px;background:linear-gradient(135deg,rgba(255,79,143,.16),rgba(255,141,42,.14),rgba(102,230,255,.07));border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow)}.contact-list{display:grid;gap:10px;margin-top:20px}.contact-list a,.contact-list>div{min-height:50px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:17px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);font-weight:800;overflow-wrap:anywhere}.waitlist-form{padding:20px}.waitlist-form h3{font-size:1.25rem;margin:0 0 6px}.waitlist-form>p{margin:0 0 12px;color:#d5c9ce;line-height:1.5}.form-grid{display:grid;gap:0}.waitlist-form label{display:block;margin-top:11px}.waitlist-form label>span{display:block;margin-bottom:7px;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#f2d9cc}.waitlist-form input,.waitlist-form select,.waitlist-form textarea{width:100%;min-height:50px;padding:.85rem .9rem;border-radius:14px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.06);color:white;font-size:16px;outline:none}.waitlist-form select option{color:#111}.waitlist-form textarea{min-height:105px;resize:vertical}.waitlist-form input::placeholder,.waitlist-form textarea::placeholder{color:#b8adb2}.form-submit{width:100%;margin-top:16px}.form-message{margin-top:11px;color:#d2c5ca;font-size:.83rem;line-height:1.5}.form-message.success{color:#b9ffd3;font-weight:800}.form-message.error{color:#ffc0c0;font-weight:800}.form-submit:disabled{opacity:.68;cursor:wait;transform:none}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:rgba(7,6,10,.86);backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.1)}.mobile-cta a{min-height:55px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:16px;background:linear-gradient(135deg,var(--gold),var(--orange));color:#271203;box-shadow:0 12px 32px rgba(255,141,42,.18)}.mobile-cta span{font-size:.61rem;letter-spacing:.12em;font-weight:1000}.mobile-cta strong{font-size:.98rem}
footer{padding:28px 0 32px}.footer-inner{border-top:1px solid rgba(255,255,255,.08);padding-top:22px;display:grid;gap:9px}.footer-inner strong{display:block}.footer-inner span,.footer-inner p{display:block;margin:3px 0 0;color:#cfc3c8;font-size:.84rem;line-height:1.5}

@media (min-width:600px){
  body{padding-bottom:0}.mobile-cta{display:none}
  .shell{width:min(var(--shell),calc(100% - 44px))}
  .brand-copy strong{max-width:none;font-size:.95rem}.brand-copy small{font-size:.65rem}
  .hero{padding-top:60px}.hero-buttons{display:flex}.btn{padding-inline:1.35rem}
  .class-grid,.extras-grid,.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}

@media (min-width:920px){
  .nav-wrap{height:80px}.nav-actions{order:3}.menu-btn{display:none}.site-nav{position:static;display:flex;align-items:center;gap:8px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;opacity:1;transform:none;pointer-events:auto;margin-left:auto}.site-nav a{min-height:44px;padding:.7rem .78rem;font-size:.88rem}.site-nav .nav-cta{padding-inline:1rem}
  .hero{padding:74px 0 42px}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:44px}.hero h1{font-size:clamp(4rem,7vw,6.4rem)}.hero-lead{font-size:1.08rem}.chips{flex-wrap:wrap;overflow:visible}.dance-card{padding:18px}.floating-card{max-width:190px;padding:15px}.floating-card strong{font-size:1rem}.floating-card span{font-size:.78rem}
  .offer-inner{grid-template-columns:1.2fr .8fr;align-items:center;padding:30px}.offer-card{padding:24px}.offer-card strong{font-size:2.6rem}
  .section{padding:78px 0}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.price-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.price-card.featured{transform:translateY(-8px)}
  .schedule-layout{grid-template-columns:1.1fr .9fr;gap:18px}.schedule-row{grid-template-columns:70px 1fr auto;align-items:center}.schedule-row em{grid-column:auto}.schedule-board,.schedule-notes{padding:24px}
  .extras-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.story-grid{grid-template-columns:.92fr 1.08fr;gap:18px}.story-copy{padding:30px}.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.join-grid{grid-template-columns:1fr .95fr;gap:24px;padding:32px}.waitlist-form{padding:24px}.footer-inner{grid-template-columns:1fr auto;align-items:end}.footer-inner p{text-align:right}
}

@media (hover:hover) and (pointer:fine){
  .btn,.site-nav a,.offer-card,.class-card,.price-card,.extras-grid article,.contact-list a{transition:transform .18s ease,border-color .18s ease,background .18s ease}.btn:hover,.offer-card:hover,.contact-list a:hover{transform:translateY(-2px)}.class-card:hover,.price-card:hover,.extras-grid article:hover{transform:translateY(-4px);border-color:rgba(255,218,138,.28)}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
