/*
Theme Name: Aloha Dance Company
Author: Mbrand.lab
Description: Adaptación de la web aprobada para WordPress.
Version: 1.0.4
Text Domain: aloha
*/
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600&family=Kalam:wght@400;700&family=Nunito:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Knewave&display=swap');
:root{--background:#fafdff;--foreground:#0b3268;--card:#fff;--card-foreground:#0b3268;--primary:#1268c8;--primary-foreground:#fff;--secondary:#dff9fb;--secondary-foreground:#0b3268;--muted:#edf7ff;--muted-foreground:#52708f;--accent:#58dce5;--accent-foreground:#082b54;--border:#cfe6f7;--input:#bedcf2;--ring:#1268c8;--radius:1.2rem;--blue:#1268c8;--deep:#082b54;--cyan:#58dce5;--pink:#ff80ba;--soft:#edf8ff}
@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-border:var(--border);--color-input:var(--input);--color-ring:var(--ring);--radius-lg:var(--radius);--font-sans:"Trebuchet MS",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--foreground);font-family:"Trebuchet MS",Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}
.site-header{height:92px;padding:8px clamp(20px,4vw,70px);display:flex;align-items:center;gap:30px;background:#fffffff2;backdrop-filter:blur(18px);border-bottom:1px solid #dcecf7;position:sticky;top:0;z-index:50}.brand{width:110px;height:76px;display:flex;align-items:center;overflow:hidden}.brand img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,34px);margin-left:auto;font-size:.93rem;font-weight:700}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:3px;background:var(--cyan);transition:right .2s}.desktop-nav a:hover:after{right:0}.header-cta{background:var(--deep);color:#fff;padding:13px 20px;border-radius:999px;font-weight:800;white-space:nowrap}.menu-button,.mobile-nav{display:none}
.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:1.02fr .98fr;overflow:hidden;background:linear-gradient(135deg,#fbfeff,#eefaff 60%,#dff9fb)}.hero-copy{padding:clamp(70px,10vw,145px) clamp(25px,6vw,100px);align-self:center;z-index:2}.eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 20px;color:var(--blue);font-size:.82rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.hero h1,.section h2,.intro-band h2,.competition h2,.contact-section h2{margin:0;color:var(--deep);font-size:clamp(3.25rem,6vw,6.8rem);line-height:.92;letter-spacing:-.065em;font-weight:900}.hero h1 span{color:var(--blue)}.hero-lead{max-width:650px;margin:30px 0;color:#42688c;font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.7}.button-row{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border:0;border-radius:999px;font-weight:900;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--blue);color:#fff;box-shadow:0 12px 30px #1268c838}.button.ghost{border:1px solid #a9cde8;background:#ffffff80}.hero-facts{display:flex;gap:clamp(22px,3vw,48px);margin-top:55px;flex-wrap:wrap}.hero-facts div{display:flex;flex-direction:column;gap:5px}.hero-facts strong{color:var(--deep)}.hero-facts span{color:#65809c;font-size:.82rem}
.hero-visual{min-height:660px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 45%,#83e6e9,#3fa8e0 38%,#1169c9 74%)}.hero-flower{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(7rem,16vw,16rem);font-weight:900;letter-spacing:-.1em;color:#ffffff1a;transform:rotate(-9deg)}.hero-img{position:absolute;bottom:-7%;object-fit:cover;object-position:top;filter:drop-shadow(0 20px 25px #01235347);border-radius:44% 44% 8% 8%}.hero-img-0{left:-4%;width:46%;height:80%;transform:rotate(-6deg);z-index:2}.hero-img-1{left:29%;width:46%;height:88%;z-index:3}.hero-img-2{right:-9%;width:44%;height:76%;transform:rotate(7deg);z-index:1}
.intro-band{padding:90px clamp(25px,10vw,170px);text-align:center;background:#fff}.intro-band>p:first-child{margin:0 0 20px;color:var(--pink);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.intro-band h2{max-width:900px;margin:auto;font-size:clamp(2.5rem,5vw,5rem)}.intro-band>p:last-child{max-width:720px;margin:28px auto 0;color:#5a7894;font-size:1.1rem;line-height:1.7}
.section{padding:120px clamp(25px,6vw,100px);scroll-margin-top:90px}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:40px;max-width:1320px;margin:0 auto 60px}.section h2{font-size:clamp(2.8rem,5vw,5.6rem)}.section-heading>p{color:#5b7892;line-height:1.8;max-width:540px;margin:0 0 8px}.class-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #c8e3f5;border-left:1px solid #c8e3f5}.class-card{min-height:260px;padding:24px;border-right:1px solid #c8e3f5;border-bottom:1px solid #c8e3f5;background:#ffffffa6;transition:.2s}.class-card:hover{background:#dff9fb;transform:translateY(-5px)}.class-card>span{color:#83a6c4;font-size:.78rem;font-weight:900}.class-card h3{margin:35px 0 8px;color:var(--deep);font-size:1.4rem}.class-card b{display:block;margin-bottom:10px;color:var(--pink);font-size:.8rem}.class-card p{margin:0;color:#5b7892;font-size:.92rem;line-height:1.6}.info-strip{max-width:1320px;margin:45px auto 0;display:grid;grid-template-columns:repeat(3,1fr);border-radius:28px;overflow:hidden;box-shadow:0 20px 50px #1955871a}.info-strip>div{min-height:155px;padding:28px;display:grid;grid-template-columns:35px 1fr;gap:5px 12px;align-content:center;background:#fff;border-right:1px solid #dceaf4}.info-strip svg{color:var(--blue);grid-row:1/3}.info-strip strong{color:var(--deep)}.info-strip span{color:#6a8299;font-size:.88rem}
.schedule-section{background:#eaf8ff}.schedule-card{max-width:820px;margin:auto;padding:clamp(10px,2vw,24px);background:#fff;border-radius:30px;box-shadow:0 24px 70px #082b5424}.schedule-card img{width:100%;height:auto;display:block;border-radius:16px}.center{margin-top:38px;text-align:center}.team-section{background:#fff}.team-grid{max-width:1320px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.person-card{min-width:0;background:var(--soft);border-radius:24px;overflow:hidden}.person-image{position:relative;aspect-ratio:3/4;overflow:hidden;background:#7046b8}.person-image img{object-fit:cover;transition:transform .45s}.person-card:hover .person-image img{transform:scale(1.035)}.person-copy{padding:22px}.person-copy>p{min-height:34px;margin:0 0 8px;color:var(--blue);font-size:.7rem;line-height:1.45;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.person-copy h3{margin:0 0 14px;color:var(--deep);font-size:1.35rem}.person-copy button{display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--blue);font-size:.84rem;font-weight:900;cursor:pointer}.person-bio{padding-top:15px;color:#52708f;font-size:.9rem;line-height:1.65}
.competition{min-height:700px;padding:120px clamp(25px,8vw,140px);display:grid;grid-template-columns:1fr .65fr;align-items:center;gap:70px;color:#fff;background:radial-gradient(circle at 85% 20%,#58dce573,transparent 33%),linear-gradient(135deg,#082b54,#1268c8 55%,#2457af);scroll-margin-top:90px}.eyebrow.light{color:#7ff2f5}.competition h2,.contact-section h2{color:#fff}.competition-copy>p:not(.eyebrow){max-width:700px;margin:30px 0;color:#d9edff;font-size:1.08rem;line-height:1.8}.button.download{color:#d4e7f7;background:#ffffff1a;border:1px solid #ffffff4d;cursor:not-allowed}.competition-points{display:flex;flex-direction:column;align-items:flex-end;gap:26px}.competition-points span{width:min(100%,440px);padding:24px 30px;border:1px solid #ffffff40;border-radius:999px;color:#fff;font-size:clamp(1.2rem,2.5vw,2.2rem);font-weight:900;text-align:center;transform:rotate(-3deg)}.competition-points span:nth-child(2){transform:translateX(-40px) rotate(3deg);background:var(--cyan);color:var(--deep);border:0}.reviews-section{padding-top:90px;padding-bottom:90px}.reviews-section .section-heading{margin-bottom:0}
.contact-section{padding:110px clamp(25px,8vw,140px);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(55px,8vw,130px);align-items:center;background:var(--deep);color:#fff;scroll-margin-top:90px}.contact-copy>p:not(.eyebrow){color:#c9e3f6;line-height:1.7;font-size:1.05rem}.contact-list{margin-top:40px;display:grid;gap:18px}.contact-list a,.contact-list>div{display:flex;align-items:center;gap:15px;color:#fff}.contact-list svg{flex:0 0 auto;color:var(--cyan)}.contact-list span{font-weight:800}.contact-list small{display:block;margin-bottom:4px;color:#8fc1e1;font-weight:500}.contact-form{padding:clamp(28px,4vw,52px);display:grid;gap:20px;background:#fff;color:var(--deep);border-radius:34px}.contact-form h3{margin:0 0 5px;font-size:2rem}.contact-form label{display:grid;gap:7px;font-size:.84rem;font-weight:900}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:14px 15px;color:var(--deep);background:#f6fbff;border:1px solid #c9e0f0;border-radius:11px;outline:0}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1268c81a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.button.full{width:100%}.contact-form>small{color:#698198;line-height:1.5}
footer{padding:50px clamp(25px,6vw,100px) 25px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:45px;background:#fff;border-top:1px solid #d8e8f3}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:90px;height:70px;object-fit:cover}.footer-brand p{font-weight:900}.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:.85rem;font-weight:800}.socials{display:flex;gap:9px}.socials a{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--blue)}.copyright{grid-column:1/-1;margin:18px 0 0;padding-top:22px;border-top:1px solid #e0edf5;color:#71879b;font-size:.8rem;text-align:center}
@media(max-width:1100px){.desktop-nav,.header-cta{display:none}.menu-button{margin-left:auto;display:grid;place-items:center;width:45px;height:45px;border:0;border-radius:50%;background:var(--soft);color:var(--deep)}.mobile-nav{position:absolute;top:91px;left:0;right:0;padding:24px;display:grid;gap:17px;background:#fff;border-bottom:1px solid #dcecf7;box-shadow:0 20px 45px #082b541f}.mobile-nav>a:not(.button){padding:5px;font-weight:800}.hero{grid-template-columns:1fr}.hero-copy{padding-bottom:70px}.hero-visual{min-height:620px}.class-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(3,1fr)}.competition{grid-template-columns:1fr}.competition-points{align-items:flex-start}.competition-points span:nth-child(2){transform:translateX(40px) rotate(3deg)}}
@media(max-width:720px){.site-header{height:76px}.brand{width:86px;height:64px}.mobile-nav{top:75px}.hero{min-height:auto}.hero-copy{padding-top:70px}.hero h1{font-size:clamp(3rem,15vw,4.7rem)}.hero-facts{margin-top:38px;gap:22px}.hero-visual{min-height:390px}.hero-img-0{width:50%;height:79%}.hero-img-1{left:28%;width:48%;height:88%}.hero-img-2{width:45%;height:74%}.intro-band{padding-top:75px;padding-bottom:75px}.section{padding-top:85px;padding-bottom:85px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:42px}.section-heading>p{margin:0}.class-grid{grid-template-columns:1fr}.class-card{min-height:210px}.class-card h3{margin-top:25px}.info-strip{grid-template-columns:1fr}.info-strip>div{border-right:0;border-bottom:1px solid #dceaf4}.schedule-section{padding-left:12px;padding-right:12px}.schedule-section .section-heading{padding:0 13px}.team-grid{grid-template-columns:1fr 1fr;gap:12px}.person-copy{padding:16px}.person-copy>p{min-height:47px;font-size:.62rem}.person-copy h3{font-size:1.1rem}.competition{padding-top:90px;padding-bottom:90px}.competition h2,.contact-section h2{font-size:clamp(3rem,13vw,5rem)}.competition-points span{padding:18px 20px}.competition-points span:nth-child(2){transform:translateX(15px) rotate(3deg)}.contact-section{grid-template-columns:1fr;padding-top:90px;padding-bottom:90px}.form-row{grid-template-columns:1fr}footer{grid-template-columns:1fr;justify-items:center;text-align:center}.footer-links{justify-content:center}.copyright{width:100%}}
@media(max-width:430px){.button-row .button{width:100%}.team-grid{grid-template-columns:1fr}.person-copy>p{min-height:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* 2026 editorial redesign — sharp, photographic, stage-led */
:root{--ink:#08090b;--paper:#f7f7f3;--aloha-blue:#166cc4;--aloha-pink:#ff4fa3;--aloha-cyan:#55e0e3;--line:#bfc2c6;--radius:0}
body{background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.site-header{height:78px;padding:0 clamp(18px,4vw,64px);background:#f7f7f3f2;border-bottom:1px solid #161719;box-shadow:none}.brand{width:98px;height:70px}.desktop-nav{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.desktop-nav a:after{height:2px;background:var(--aloha-pink)}.header-social{border-left:1px solid #151618}.header-social a{width:30px;height:30px}.header-cta{border-radius:0;background:var(--ink);box-shadow:none;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}
.hero-poster{position:relative;display:block;height:calc(100svh - 78px);min-height:690px;overflow:hidden;background:var(--ink);color:#fff;isolation:isolate}.hero-poster:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08090b 0 42%,transparent 66%),linear-gradient(0deg,#08090bcc,transparent 35%);z-index:2;pointer-events:none}.hero-poster-copy{position:absolute;left:clamp(22px,5.6vw,92px);top:50%;z-index:5;width:min(47vw,720px);transform:translateY(-50%)}.poster-kicker{margin:0 0 22px;padding-left:55px;position:relative;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.poster-kicker:before{content:"";position:absolute;left:0;top:50%;width:40px;height:2px;background:var(--aloha-pink)}.poster-title{display:flex;flex-direction:column;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(4rem,7.6vw,8.7rem);line-height:.78;letter-spacing:-.025em;text-transform:uppercase}.poster-title span:nth-child(2),.poster-title span:nth-child(4){color:var(--aloha-pink);margin-left:clamp(18px,4vw,74px)}.poster-title span:nth-child(3){margin-top:.13em}.poster-lead{width:min(520px,90%);margin:30px 0 25px;color:#e9e9e4;font-size:1.02rem;line-height:1.55}.poster-actions{display:flex;gap:0}.poster-actions a{min-height:54px;display:inline-flex;align-items:center;gap:14px;padding:0 22px;border:1px solid #fff;font-size:.76rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.poster-actions a:first-child{background:#fff;color:#08090b}.poster-actions a:hover{background:var(--aloha-pink);border-color:var(--aloha-pink);color:#08090b}.poster-image-wrap{position:absolute;inset:0 0 0 36%;z-index:1;overflow:hidden;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)}.poster-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08090b99,transparent 38%),linear-gradient(180deg,transparent 55%,#08090b66)}.poster-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:54% center;filter:saturate(.88) contrast(1.08);animation:heroDrift 13s ease-in-out infinite alternate}.poster-word{position:absolute;right:-.025em;bottom:-.13em;z-index:3;color:transparent;-webkit-text-stroke:1px #ffffff73;font:clamp(9rem,23vw,27rem)/.75 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;letter-spacing:-.05em;pointer-events:none}.poster-side{position:absolute;right:18px;top:18px;bottom:18px;z-index:6;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;color:#fff;font-size:.61rem;font-weight:800;letter-spacing:.13em;writing-mode:vertical-rl}.poster-scroll{position:absolute;right:0;bottom:0;z-index:7;width:74px;height:74px;display:grid;place-items:center;background:var(--aloha-pink);color:#08090b;transform:rotate(90deg)}
@keyframes heroDrift{from{transform:scale(1.01) translate3d(0,0,0)}to{transform:scale(1.07) translate3d(-1.2%,.5%,0)}}
.intro-band{padding:110px clamp(24px,8vw,130px);display:grid;grid-template-columns:.3fr 1fr .55fr;align-items:end;gap:45px;text-align:left;background:var(--paper);border-bottom:1px solid var(--ink)}.intro-band:after{display:none}.intro-band>p:first-child{align-self:start;margin:8px 0 0;color:var(--aloha-blue);font-size:.72rem;letter-spacing:.15em}.intro-band h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif!important;font-size:clamp(3.4rem,6.5vw,7rem);line-height:.84;letter-spacing:-.025em;text-transform:uppercase}.intro-band>p:last-child{margin:0;color:#34373b;font-size:1rem;line-height:1.65}
.section{padding:120px clamp(22px,5vw,82px);background:var(--paper)}.section-heading{max-width:1420px;margin-bottom:58px;grid-template-columns:1.45fr .55fr;border-top:1px solid var(--ink);padding-top:22px}.section h2,.gallery-section h2,.downloads-section h2,.dossier-banner h2,.competition h2,.contact-section h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif!important;letter-spacing:-.02em;text-transform:uppercase}.section h2{font-size:clamp(3.5rem,6vw,7rem);line-height:.84;color:var(--ink)}.section-heading>p{color:#34373b}.eyebrow{color:var(--aloha-blue);font-size:.7rem;letter-spacing:.16em}
.class-grid{max-width:1420px;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.class-card{min-height:290px;padding:25px;border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0!important;background:transparent!important}.class-card:after{display:none}.class-card:hover{transform:none;background:var(--aloha-pink)!important}.class-card h3{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:1.8rem;line-height:.95;text-transform:uppercase;color:var(--ink)}.class-card>b{color:var(--aloha-blue)}.class-card p{color:#3e4145}.info-strip{max-width:1420px;border-radius:0;gap:1px;background:var(--ink)}.info-strip>div{border-radius:0;background:var(--ink)}
.schedule-section{background:#e9e9e4}.schedule-card{max-width:970px;padding:0;border:1px solid var(--ink);border-radius:0;box-shadow:16px 16px 0 var(--aloha-blue);transform:none}.schedule-card img{border-radius:0}.button{border-radius:0!important;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.button.primary{background:var(--ink);box-shadow:none}
.team-section{background:var(--paper)}.team-grid{max-width:1420px;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink)}.person-card,.person-card:nth-child(3n+2){border-radius:0;transform:none;background:var(--paper)}.person-card:hover,.person-card:nth-child(3n+2):hover{transform:none}.person-image{aspect-ratio:4/5;border-radius:0;background:#222}.person-image img{filter:grayscale(1) contrast(1.04);transition:filter .35s,transform .55s}.person-card:hover .person-image img{filter:grayscale(0);transform:scale(1.045)}.person-image span{left:0;bottom:0;border-radius:0;background:var(--aloha-pink);box-shadow:none}.person-copy{border-top:1px solid var(--ink)}.person-copy h3{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:1.65rem;text-transform:uppercase;color:var(--ink)}.person-copy button{color:var(--aloha-blue)}
.competition{min-height:760px;margin:0;border-radius:0;padding:110px clamp(24px,7vw,110px);background:linear-gradient(90deg,#08090bf2 0 48%,#08090b2e 80%),url('assets/gallery/escenario-grupo.jpg') center/cover no-repeat}.competition:before,.competition:after{display:none}.competition h2{font-size:clamp(4rem,7vw,8.5rem);line-height:.82}.competition-copy>p:not(.eyebrow){color:#eee}.competition-points span{border-radius:0;border:1px solid #fff;backdrop-filter:none;transform:none!important;text-align:left;background:#08090b80}.competition-points span:nth-child(2){background:var(--aloha-pink);color:var(--ink)}
.gallery-section{padding:120px clamp(22px,5vw,82px);grid-template-columns:.28fr .72fr;gap:48px;background:#0a0b0d;color:#fff}.gallery-section h2{color:#fff;font-size:clamp(4rem,6vw,7rem);line-height:.84}.gallery-heading>p:last-child{color:#c8c8c4}.gallery-grid{gap:3px;grid-auto-rows:330px}.gallery-photo{border-radius:0!important}.gallery-photo img{filter:saturate(.8);transition:transform .75s,filter .35s}.gallery-photo:hover img{transform:scale(1.06);filter:saturate(1.05)}.gallery-photo figcaption{background:linear-gradient(transparent,#000b)}
.dossier-banner{border-radius:0!important;background:var(--aloha-pink)!important;color:var(--ink)!important}.dossier-banner h2{color:var(--ink)!important}.dossier-button{background:var(--ink)!important;color:#fff!important}.downloads-section{background:var(--paper)!important}.downloads-intro h2{font-size:clamp(3.7rem,6vw,7rem);line-height:.86}.download-grid{gap:0;border-top:1px solid var(--ink)}.download-card{border-radius:0!important;border:0!important;border-bottom:1px solid var(--ink)!important;background:transparent!important}.download-card>a{border-radius:0!important;background:var(--ink)!important;color:#fff!important}
.reviews-section{background:var(--aloha-blue)}.reviews-section .section-heading{border-color:#fff}.reviews-section h2,.reviews-section .eyebrow,.reviews-section .section-heading>p{color:#fff}
.contact-section{background:var(--ink);grid-template-columns:.85fr 1.15fr}.contact-section h2{font-size:clamp(4rem,6.5vw,7.5rem);line-height:.84}.contact-form{border-radius:0;padding:clamp(28px,4vw,54px);box-shadow:15px 15px 0 var(--aloha-pink)}.contact-form h3{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:2.8rem;text-transform:uppercase}.contact-form input,.contact-form textarea,.contact-form select{border-radius:0;background:#fff;border:0;border-bottom:1px solid #777}
footer{background:var(--paper);border-top:1px solid var(--ink)}.socials a{border-radius:0;background:var(--ink);color:#fff}
@media(max-width:1100px){.hero-poster-copy{width:60vw}.poster-image-wrap{left:30%}.class-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(3,1fr)}.intro-band{grid-template-columns:1fr 2fr}.intro-band>p:last-child{grid-column:2}.gallery-section{grid-template-columns:1fr}.gallery-heading{position:static}.competition{grid-template-columns:1fr}.competition-points{display:grid;grid-template-columns:repeat(3,1fr)}.competition-points span{width:100%}}
@media(max-width:720px){.site-header{height:70px}.brand{height:62px}.hero-poster{height:auto;min-height:790px}.hero-poster:before{background:linear-gradient(0deg,#08090b 0 45%,transparent 78%),linear-gradient(90deg,#08090b4d,transparent)}.hero-poster-copy{left:20px;right:20px;top:auto;bottom:42px;width:auto;transform:none}.poster-title{font-size:clamp(3.75rem,17vw,6rem)}.poster-title span:nth-child(2),.poster-title span:nth-child(4){margin-left:8vw}.poster-lead{margin:22px 0 18px}.poster-image-wrap{inset:0 0 38% 0;clip-path:none}.poster-image-wrap img{object-position:52% center}.poster-word{top:34%;bottom:auto;font-size:35vw}.poster-side,.poster-scroll{display:none}.poster-actions a{padding:0 15px;font-size:.67rem}.intro-band{padding:80px 22px;display:block}.intro-band h2{margin:25px 0}.section{padding:90px 18px}.section-heading{grid-template-columns:1fr}.class-grid{grid-template-columns:1fr}.class-card{min-height:220px}.team-grid{grid-template-columns:1fr 1fr}.person-copy{padding:15px}.competition{padding:90px 20px;background-position:62% center}.competition-points{grid-template-columns:1fr}.gallery-section{padding:90px 18px}.gallery-grid{grid-auto-rows:230px;gap:2px}.dossier-banner{margin:0!important}.contact-section{grid-template-columns:1fr;padding:90px 20px}.contact-form{box-shadow:8px 8px 0 var(--aloha-pink)}}
@media(max-width:460px){.team-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-grid .gallery-photo{grid-column:auto!important;grid-row:auto!important}.poster-actions{flex-direction:column;align-items:flex-start}.poster-actions a{width:100%;justify-content:center}}

/* Aloha v9 — luminous Hawaiian identity, real facade and photographic carousel */
:root{--aloha-navy:#073c78;--aloha-blue:#176fc5;--aloha-sky:#dff6ff;--aloha-aqua:#61dfe2;--aloha-pink:#ef72ae;--aloha-cream:#fffdf9;--aloha-text:#173f67}
body{background:var(--aloha-cream);color:var(--aloha-text)}
.site-header{height:82px;background:#ffffffef;border-bottom:1px solid #b9dff0;box-shadow:0 8px 35px #16578a12}.desktop-nav{color:var(--aloha-navy);font-size:.8rem;letter-spacing:.055em;text-transform:none}.header-cta{background:var(--aloha-blue);color:#fff;border-radius:999px!important;text-transform:none;letter-spacing:0}.header-social{border-left-color:#c6e5f2}.header-social a{color:var(--aloha-blue)}

.hero-facade{position:relative;height:calc(100svh - 82px);min-height:680px;overflow:hidden;isolation:isolate;background:#cdefff;color:var(--aloha-navy)}
.hero-facade-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:0;animation:facadeBreath 16s ease-in-out infinite alternate}
.hero-facade-wash{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#f8fdfff7 0%,#f8fdffe6 32%,#ffffff6e 55%,transparent 78%),linear-gradient(0deg,#07579c4a 0%,transparent 38%)}
.hero-flower-watermark{position:absolute;z-index:2;left:-6vw;bottom:-14vw;width:min(52vw,760px);height:auto;opacity:.075;transform:rotate(-11deg);pointer-events:none}
.hero-facade-card{position:absolute;z-index:4;left:clamp(24px,6vw,104px);top:50%;width:min(650px,47vw);transform:translateY(-50%)}
.hero-kicker{margin:0 0 25px;color:var(--aloha-blue);font-size:.82rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase}
.hero-facade h1{display:flex;flex-direction:column;margin:0;color:var(--aloha-navy);font-family:"Avenir Next","Trebuchet MS",Arial,sans-serif;font-size:clamp(4.3rem,7.3vw,8.6rem);font-weight:500;line-height:.78;letter-spacing:-.07em}
.hero-facade h1 span:nth-child(2){margin-left:.2em;color:var(--aloha-blue)}
.hero-facade h1 em{margin:.22em 0 0 .55em;color:var(--aloha-pink);font-family:"Brush Script MT","Segoe Script",cursive;font-size:.58em;font-weight:400;line-height:1;letter-spacing:-.04em;transform:rotate(-3deg)}
.hero-intro{max-width:500px;margin:30px 0 27px;color:#315f85;font-size:1.08rem;line-height:1.65}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hero-primary{min-height:54px;display:inline-flex;align-items:center;gap:12px;padding:0 24px;border-radius:999px;background:var(--aloha-blue);color:#fff;font-weight:750}.hero-primary:hover{background:#0c5ead;transform:translateY(-2px)}.hero-secondary{padding:9px 0;border-bottom:2px solid var(--aloha-pink);color:var(--aloha-navy);font-weight:750}
.hero-levels{position:absolute;z-index:4;right:clamp(24px,4vw,66px);top:30px;display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.hero-levels span{padding:9px 14px;border:1px solid #ffffffbf;border-radius:999px;background:#ffffffb8;backdrop-filter:blur(12px);color:var(--aloha-navy);font-size:.72rem;font-weight:750}.hero-down{position:absolute;z-index:4;right:clamp(24px,4vw,66px);bottom:30px;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--aloha-blue);box-shadow:0 15px 35px #063e6c35;transform:rotate(90deg)}
@keyframes facadeBreath{from{transform:scale(1.01)}to{transform:scale(1.055) translateX(-.5%)}}

.intro-band{position:relative;border:0;background:linear-gradient(90deg,#ffffffed,#ffffffd6),url('assets/gallery/clase-flexibilidad.jpg') center 45%/cover no-repeat;color:var(--aloha-text)}.intro-band>p:last-child{color:#41698b}.intro-band h2{color:var(--aloha-navy)}
.section,.team-section{background:#fff}.section-heading{border-top-color:#b9ddec}.section h2,.intro-band h2,.competition h2,.contact-section h2,.gallery-slider-head h2,.downloads-intro h2,.dossier-banner h2{font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif!important;font-weight:450!important;letter-spacing:-.05em!important;text-transform:none!important}.section h2{color:var(--aloha-navy)}
.class-grid{border:0;gap:13px}.class-card{border:0!important;border-radius:24px!important;background:#edf9ff!important}.class-card:nth-child(3n+2){background:#fff0f7!important}.class-card:nth-child(3n){background:#eafafa!important}.class-card:hover{background:#d9f6f6!important;transform:translateY(-5px)}.class-card h3{color:var(--aloha-navy);font-weight:650!important}.class-card p{color:#476987}.info-strip{gap:12px;background:transparent}.info-strip>div{border:0;border-radius:24px;background:linear-gradient(135deg,#1671c6,#18a8c1)}
.schedule-section{background:#edf9ff}.schedule-download-panel{background:#fff;color:var(--aloha-navy);border-radius:34px;overflow:hidden;box-shadow:18px 18px 0 #66dfe2}.schedule-download-panel>div:first-child{background:linear-gradient(145deg,#c9f5f4,#cfe5ff);border:0}.schedule-download-panel p{color:#55748f}.schedule-download-panel .schedule-download{background:var(--aloha-pink);color:#fff;border-radius:999px!important}
.team-grid{gap:12px;background:transparent;border:0}.person-card,.person-card:nth-child(3n+2){border-radius:26px;background:#f2faff;overflow:hidden}.person-copy{border-top:0}.person-copy h3{color:var(--aloha-navy);font-weight:650!important;text-transform:none!important}.person-image{background:#dceef7}.person-image span{background:var(--aloha-pink);border-radius:0 15px 0 0}.person-card:hover .person-image img{filter:grayscale(0);transform:scale(1.035)}
.competition{margin:0;min-height:680px;border-radius:0;color:var(--aloha-navy);background:linear-gradient(90deg,#e9f9fff2 0 45%,#e9f9ffb8 63%,#e9f9ff4f),url('assets/gallery/escenario-grupo.jpg') center/cover no-repeat}.competition h2{color:var(--aloha-navy)}.competition-copy>p:not(.eyebrow){color:#315d80}.competition .eyebrow.light{color:var(--aloha-blue)}.competition-points span{border:1px solid #fff;border-radius:999px;background:#ffffffcf;color:var(--aloha-navy);backdrop-filter:blur(12px);text-align:center}.competition-points span:nth-child(2){background:var(--aloha-pink);color:#fff}.competition .button.download{background:var(--aloha-blue);color:#fff;border:0;border-radius:999px!important}

.gallery-slider-section{position:relative;isolation:isolate;padding:118px 0 95px;background:#eaf9ff;color:var(--aloha-navy)}.gallery-slider-section:before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/gallery/clase-movimiento.jpg') center/cover no-repeat;opacity:.16}.gallery-slider-section:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#f9fefff2,#e8f9fbd9 55%,#fff3f9d9)}.gallery-slider-head h2{color:var(--aloha-navy);font-size:clamp(3.4rem,6vw,6.8rem);font-weight:450!important}.gallery-slider-head p:last-child{color:#456c8c}.gallery-controls button{border:0;background:#fff;color:var(--aloha-blue);box-shadow:0 10px 28px #1454851c}.gallery-controls button:hover{background:var(--aloha-pink);color:#fff}.gallery-slider{gap:18px;scrollbar-color:var(--aloha-pink) #fff}.gallery-slide{flex-basis:min(70vw,820px);height:min(69vh,650px);border-radius:34px;background:#d9eff8;box-shadow:0 22px 55px #164d7428}.gallery-slide:nth-child(3n+2){flex-basis:min(43vw,500px)}.gallery-slide:nth-child(3n){flex-basis:min(55vw,630px)}.gallery-slide:after{background:linear-gradient(transparent 55%,#06437a9c)}.gallery-slide figcaption b{padding:10px 15px;border-radius:999px;background:#ffffffd6;backdrop-filter:blur(10px);color:var(--aloha-navy)}.gallery-slide figcaption span{background:var(--aloha-pink);border:0;color:#fff}.gallery-swipe{color:var(--aloha-blue)}
.dossier-banner{background:linear-gradient(135deg,#79e6e3,#c9f6f4)!important;color:var(--aloha-navy)!important}.dossier-banner h2{color:var(--aloha-navy)!important}.dossier-button{background:var(--aloha-blue)!important;color:#fff!important;border-radius:999px!important}.downloads-section{background:#fff!important}.downloads-intro h2{color:var(--aloha-navy)}.download-grid{border-top-color:#b9ddec}.download-card{border-bottom-color:#b9ddec!important}.download-card>a{border-radius:50%!important;background:var(--aloha-blue)!important}
.reviews-section{background:linear-gradient(135deg,#1671c6,#21b8c7)}.contact-section{margin:0;border-radius:0;background:linear-gradient(120deg,#dff5ff,#cfeeff 55%,#f8dfea);color:var(--aloha-navy)}.contact-section:before{display:none}.contact-section h2{color:var(--aloha-navy)}.contact-copy>p:not(.eyebrow){color:#41698b}.contact-list a,.contact-list>div{color:var(--aloha-navy)}.contact-list small{color:#5a7d98}.contact-list svg{color:var(--aloha-blue)}.contact-form{border-radius:30px;box-shadow:14px 14px 0 #69dfe1}.contact-form h3{color:var(--aloha-navy);font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-weight:550;text-transform:none}.contact-form input,.contact-form textarea,.contact-form select{border-radius:14px;background:#eef8fd;border:1px solid #d0e7f1}.contact-form .button.primary{background:var(--aloha-blue);border-radius:999px!important}footer{background:#fff;border-top:1px solid #c8e4ef}.socials a{border-radius:50%;background:var(--aloha-blue)}

@media(max-width:1000px){.hero-facade-card{width:min(630px,67vw)}.hero-facade-wash{background:linear-gradient(90deg,#f8fdfff4 0%,#f8fdffd1 46%,transparent 82%),linear-gradient(0deg,#07579c4a,transparent 40%)}.hero-levels{max-width:370px}.competition{grid-template-columns:1fr;background:linear-gradient(#e9f9ffe8,#e9f9ffa8),url('assets/gallery/escenario-grupo.jpg') center/cover no-repeat}.competition-points{align-items:flex-start}.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.site-header{height:72px}.hero-facade{height:auto;min-height:760px}.hero-facade-photo{height:48%;object-position:64% 45%}.hero-facade-wash{background:linear-gradient(0deg,#f8fdff 0 52%,#f8fdff87 72%,transparent 100%)}.hero-facade-card{left:20px;right:20px;top:auto;bottom:44px;width:auto;transform:none}.hero-kicker{margin-bottom:16px;font-size:.7rem;line-height:1.5}.hero-facade h1{font-size:clamp(3.35rem,15vw,5.2rem);line-height:.8}.hero-facade h1 em{margin-left:.25em}.hero-intro{margin:20px 0;font-size:1rem}.hero-actions{gap:14px}.hero-primary{width:100%;justify-content:center}.hero-secondary{margin:auto}.hero-levels{top:16px;left:16px;right:16px;max-width:none;justify-content:flex-start}.hero-levels span{padding:7px 10px;font-size:.64rem}.hero-down{display:none}.hero-flower-watermark{width:95vw;left:-22vw;bottom:-15vw}.intro-band{background-position:65% center}.section-heading{border-top:0}.class-grid{grid-template-columns:1fr}.info-strip{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}.schedule-download-panel{border-radius:24px;box-shadow:9px 9px 0 #66dfe2}.gallery-slider-section{padding-top:82px}.gallery-slider-head{padding-left:20px;padding-right:20px}.gallery-slider-head h2{font-size:clamp(3rem,13vw,4.8rem);line-height:.9}.gallery-controls{align-self:flex-start}.gallery-slide,.gallery-slide:nth-child(3n+2),.gallery-slide:nth-child(3n){flex-basis:86vw;height:58vh;border-radius:24px}.gallery-slider{padding-left:20px;padding-right:20px}.gallery-swipe{margin-left:20px}.contact-section{padding-left:20px;padding-right:20px}.contact-form{box-shadow:8px 8px 0 #69dfe1}}
@media(max-width:430px){.hero-facade{min-height:730px}.hero-facade-photo{height:43%;object-position:62% center}.hero-facade-card{bottom:30px}.hero-facade h1{font-size:3.35rem}.hero-intro{line-height:1.5}.hero-levels span:last-child{display:none}.gallery-slide,.gallery-slide:nth-child(3n+2),.gallery-slide:nth-child(3n){height:51vh}}
@media(prefers-reduced-motion:reduce){.hero-facade-photo{animation:none}.gallery-slide img{transition:none}}

/* Refinement v4: lighter typography, full-bleed hero and robust responsive flow */
body{overflow-x:hidden}.brand img,.footer-brand img{object-fit:contain;background:transparent}.brand{overflow:visible}.footer-brand img{height:76px}
.hero-stage{position:relative;display:block;height:calc(100svh - 78px);min-height:660px;overflow:hidden;background:#05070b;color:#fff;isolation:isolate}.hero-stage:before{display:none}.hero-stage-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;animation:stageBreath 14s ease-in-out infinite alternate}.hero-stage-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#04070be8 0%,#061224a8 32%,transparent 69%),linear-gradient(0deg,#02050ac7 0%,transparent 43%);z-index:1}.hero-stage-copy{position:absolute;z-index:3;left:clamp(24px,6vw,98px);top:50%;width:min(630px,47vw);transform:translateY(-50%)}.stage-kicker{margin:0 0 26px;color:#82e6e7;font-size:.72rem;font-weight:650;letter-spacing:.17em;text-transform:uppercase}.hero-stage h1{display:flex;flex-direction:column;margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(4.2rem,7.6vw,8.2rem);font-weight:300;line-height:.82;letter-spacing:-.065em}.hero-stage h1 span:nth-child(2){margin-left:.34em;font-style:italic;color:#ff82ba}.hero-stage h1 span:nth-child(3){margin-left:.08em}.hero-stage-copy>p:not(.stage-kicker){max-width:510px;margin:30px 0 26px;color:#f2f4f6;font-size:clamp(.98rem,1.2vw,1.12rem);line-height:1.6}.stage-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.stage-primary{background:#fff!important;color:#080a0d!important;font-weight:650!important}.stage-link{padding:10px 0;border-bottom:1px solid #fff;font-size:.78rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase}.stage-signature{position:absolute;z-index:3;right:clamp(18px,4vw,65px);top:34px;display:flex;flex-direction:column;align-items:flex-end;text-align:right}.stage-signature span{font-size:.68rem;font-weight:700;letter-spacing:.18em}.stage-signature i{font-family:"Bodoni 72","Didot","Times New Roman",serif;font-size:clamp(1.45rem,2vw,2.4rem);font-weight:400;color:#ff82ba}.stage-scroll{position:absolute;z-index:3;right:clamp(18px,4vw,65px);bottom:34px;display:flex;align-items:center;gap:12px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.stage-scroll svg{width:42px;height:42px;padding:10px;border:1px solid #fff;border-radius:50%;transform:rotate(45deg)}@keyframes stageBreath{from{transform:scale(1.01)}to{transform:scale(1.065) translateX(-.6%)}}
.section h2,.intro-band h2,.competition h2,.contact-section h2,.gallery-section h2,.dossier-banner h2,.downloads-intro h2{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:350!important;letter-spacing:-.055em!important;text-transform:none!important;overflow-wrap:anywhere}.section h2{line-height:.95}.intro-band h2,.gallery-section h2,.contact-section h2{font-style:normal!important;line-height:.95}.class-card h3,.person-copy h3{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:650!important;text-transform:none!important;line-height:1.08!important;overflow-wrap:anywhere}.competition h2,.dossier-banner h2,.downloads-intro h2{line-height:.96!important}.poster-title,.poster-word{display:none}.section-heading>*{min-width:0}.section-heading>p,.intro-band>p,.competition-copy>p,.downloads-intro>p,.download-card p,.contact-copy>p{overflow-wrap:anywhere}.dossier-banner>div{min-width:0}.dossier-banner h2{max-width:880px}.schedule-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.schedule-download{background:#fff;color:#08090b;border:1px solid #08090b}
.download-card{min-width:0}.download-card>div{min-width:0}.download-card h3{overflow-wrap:anywhere}.person-copy>p{overflow-wrap:anywhere}.person-bio{max-height:none;overflow:visible}
@media(max-width:1100px){.hero-stage-copy{width:min(620px,62vw)}.hero-stage-photo{object-position:58% center}.hero-stage-overlay{background:linear-gradient(90deg,#04070bea 0%,#061224a8 45%,transparent 82%),linear-gradient(0deg,#02050aa8,transparent 45%)}.intro-band{grid-template-columns:1fr 2.2fr}.dossier-banner{grid-template-columns:1fr}.dossier-banner .button{justify-self:start}.downloads-section{gap:46px}.download-card{grid-template-columns:42px minmax(0,1fr) 54px}}
@media(max-width:800px){.site-header{height:70px;padding:0 16px}.brand{width:84px;height:62px}.mobile-nav{top:69px}.hero-stage{height:calc(100svh - 70px);min-height:700px}.hero-stage-photo{object-position:60% center}.hero-stage-overlay{background:linear-gradient(0deg,#03060bf5 0%,#061020b8 48%,transparent 82%),linear-gradient(90deg,#02050a69,transparent)}.hero-stage-copy{left:20px;right:20px;top:auto;bottom:48px;width:auto;transform:none}.hero-stage h1{font-size:clamp(3.5rem,14vw,6rem);line-height:.84}.hero-stage h1 span:nth-child(2){margin-left:.17em}.hero-stage-copy>p:not(.stage-kicker){margin:22px 0}.stage-signature{top:22px;right:18px}.stage-scroll{display:none}.intro-band{display:block;padding:72px 20px}.intro-band h2{font-size:clamp(2.7rem,11vw,5rem);margin:24px 0}.section{padding:78px 18px}.section h2,.gallery-section h2,.downloads-intro h2,.competition h2,.contact-section h2{font-size:clamp(2.7rem,11vw,5rem)!important}.section-heading{gap:18px;margin-bottom:36px}.class-grid{grid-template-columns:1fr 1fr}.class-card{min-height:245px}.competition{min-height:auto;padding:82px 20px}.competition-points{grid-template-columns:1fr}.gallery-section{padding:80px 18px}.downloads-section{padding:80px 18px}.dossier-banner{margin:0;padding:65px 20px}.dossier-banner h2{font-size:clamp(2.4rem,10vw,4.2rem)!important}.contact-section{padding:80px 18px}.contact-form{width:calc(100% - 8px);padding:24px;box-shadow:8px 8px 0 var(--aloha-pink)}}
@media(max-width:520px){.hero-stage{min-height:720px}.hero-stage-photo{height:58%;object-position:center center}.hero-stage-overlay{background:linear-gradient(0deg,#03060b 0 48%,#03060bc7 64%,transparent 88%)}.hero-stage-copy{bottom:32px}.hero-stage h1{font-size:clamp(3.25rem,16vw,4.8rem)}.stage-kicker{max-width:260px;margin-bottom:18px}.stage-actions{gap:14px}.stage-actions>*{width:100%;justify-content:center}.stage-link{text-align:center}.stage-signature{display:none}.class-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}.download-card{min-height:auto;padding:22px 14px;grid-template-columns:30px minmax(0,1fr) 44px;gap:10px}.download-card>a{width:42px!important;height:42px!important}.form-row{grid-template-columns:1fr}.schedule-actions .button{width:100%}.footer-brand{flex-direction:column}.footer-brand img{width:120px;height:95px}}
@media(prefers-reduced-motion:reduce){.hero-stage-photo{animation:none!important}}

/* Aloha v5 — graphic dance identity inspired by the supplied references */
.hero-aloha{position:relative;display:block;height:calc(100svh - 78px);min-height:690px;overflow:hidden;background:#16003f;color:#fff;isolation:isolate}.hero-aloha:before{display:none}.hero-aloha-backdrop{position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 78% 14%,#286cc3 0,transparent 31%),radial-gradient(circle at 20% 85%,#ff4fa34d 0,transparent 29%),linear-gradient(135deg,#11002f 0%,#24005c 54%,#071d55 100%)}.hero-aloha-backdrop:after{content:"";position:absolute;inset:-20%;opacity:.22;background:repeating-linear-gradient(112deg,transparent 0 7%,#55e0e312 7.2% 7.35%,transparent 7.55% 15%);animation:alohaLines 18s linear infinite}.hero-aloha-photo{position:absolute;z-index:2;left:26%;right:4%;top:14%;bottom:10%;overflow:hidden;clip-path:polygon(7% 0,100% 0,93% 100%,0 100%);box-shadow:0 30px 80px #05000c99}.hero-aloha-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#21004f8f 0,transparent 24%),linear-gradient(0deg,#130031bd 0,transparent 36%);mix-blend-mode:multiply}.hero-aloha-photo img{width:100%;height:100%;object-fit:cover;object-position:center 44%;filter:saturate(.92) contrast(1.08);animation:alohaPhoto 12s ease-in-out infinite alternate}.hero-aloha-word{position:absolute;left:3.5%;top:48%;transform:translateY(-50%);font-family:"Arial Black","Helvetica Neue",Arial,sans-serif;font-size:clamp(8rem,22vw,24rem);font-weight:900;line-height:.75;letter-spacing:-.085em;white-space:nowrap;pointer-events:none}.hero-aloha-word-back{z-index:1;color:#fff}.hero-aloha-word-front{z-index:3;color:transparent;-webkit-text-stroke:2px #fff}.hero-aloha-copy{position:absolute;z-index:5;left:clamp(22px,5vw,78px);bottom:clamp(25px,6vh,68px);max-width:580px}.hero-aloha-copy>p{margin:0 0 16px;color:#7ff1ef;font-size:.7rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.hero-aloha-copy h1{margin:0 0 24px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(2.15rem,4vw,4.7rem);font-weight:300;line-height:.95;letter-spacing:-.055em}.hero-aloha-copy h1 em{color:#ff83ba;font-family:"Bodoni 72","Didot","Times New Roman",serif;font-weight:400}.hero-aloha-copy>a{display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:0 21px;background:#fff;color:#150037;font-size:.76rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.hero-aloha-meta{position:absolute;z-index:5;right:clamp(18px,3vw,45px);bottom:27px;display:flex;gap:20px;color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.11em}.hero-aloha-year{position:absolute;z-index:5;right:clamp(18px,3vw,45px);top:28px;color:#74e7e8;font-size:.7rem;font-weight:700;letter-spacing:.15em}.schedule-download-panel{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:.75fr 1.25fr;background:#16003f;color:#fff;box-shadow:18px 18px 0 #55dfe2}.schedule-download-panel>div{min-height:310px;padding:clamp(28px,5vw,64px);display:flex;flex-direction:column;justify-content:space-between}.schedule-download-panel>div:first-child{background:linear-gradient(145deg,#166cc4,#6331b4);border-right:1px solid #ffffff40}.schedule-download-panel span{font-size:.7rem;font-weight:750;letter-spacing:.17em}.schedule-download-panel strong{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:clamp(4.8rem,9vw,8.5rem);font-weight:250;line-height:.65;letter-spacing:-.09em}.schedule-download-panel p{max-width:410px;margin:0;color:#dfe5fa;font-size:1.06rem;line-height:1.55}.schedule-download-panel .schedule-download{align-self:flex-start;background:#ff79b6;color:#150037;border:0;font-weight:750}.schedule-card{display:none!important}
@keyframes alohaPhoto{from{transform:scale(1.015)}to{transform:scale(1.075) translateX(-.8%)}}@keyframes alohaLines{to{transform:translate3d(6%,0,0)}}
@media(max-width:1050px){.hero-aloha-photo{left:16%;right:0;top:12%;bottom:15%}.hero-aloha-word{font-size:24vw}.hero-aloha-meta{display:none}.hero-aloha-copy{max-width:510px}.schedule-download-panel{max-width:850px}}
@media(max-width:760px){.hero-aloha{height:auto;min-height:760px}.hero-aloha-photo{left:7%;right:-14%;top:9%;bottom:38%;clip-path:polygon(4% 0,100% 0,94% 100%,0 100%)}.hero-aloha-photo img{object-position:54% center}.hero-aloha-word{top:33%;left:-1%;font-size:31vw}.hero-aloha-word-front{-webkit-text-stroke:1px #fff}.hero-aloha-copy{left:20px;right:20px;bottom:35px;max-width:none}.hero-aloha-copy h1{font-size:clamp(2.8rem,11.5vw,4.7rem)}.hero-aloha-year{top:18px;right:17px}.schedule-download-panel{grid-template-columns:1fr;box-shadow:9px 9px 0 #55dfe2}.schedule-download-panel>div{min-height:230px;padding:28px}.schedule-download-panel>div:first-child{min-height:245px;border-right:0;border-bottom:1px solid #ffffff40}.schedule-download-panel strong{font-size:5.7rem}.schedule-download-panel .schedule-download{width:100%;justify-content:center}}
@media(max-width:480px){.hero-aloha{min-height:720px}.hero-aloha-photo{left:0;right:-32%;top:7%;bottom:43%;clip-path:none}.hero-aloha-photo:after{background:linear-gradient(0deg,#170039c7 0,transparent 45%)}.hero-aloha-word{top:30%;font-size:32vw}.hero-aloha-copy{bottom:28px}.hero-aloha-copy>p{max-width:270px;line-height:1.45}.hero-aloha-copy h1{font-size:2.8rem;line-height:.98}.hero-aloha-copy>a{width:100%;justify-content:center}.schedule-download-panel>div{min-height:215px}.schedule-download-panel>div:first-child{min-height:220px}}
@media(prefers-reduced-motion:reduce){.hero-aloha-photo img,.hero-aloha-backdrop:after{animation:none!important}}

/* Aloha v6 — bright studio, real imagery and swipeable gallery */
.hero-aloha{background:#f8fcff;color:#082d60}.hero-aloha-backdrop{background:radial-gradient(circle at 12% 16%,#70e4e652 0,transparent 28%),radial-gradient(circle at 88% 84%,#ff82ba47 0,transparent 30%),linear-gradient(135deg,#fff 0%,#eefaff 48%,#dcefff 100%)}.hero-aloha-backdrop:after{opacity:.32;background:repeating-linear-gradient(112deg,transparent 0 8%,#176cc413 8.15% 8.3%,transparent 8.45% 16%)}.hero-aloha-photo{left:31%;right:2.5%;top:6%;bottom:6%;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);box-shadow:0 24px 65px #174b8126}.hero-aloha-photo:after{background:linear-gradient(90deg,#effaffb5 0,transparent 17%),linear-gradient(0deg,#e8f6ff75 0,transparent 24%);mix-blend-mode:normal}.hero-aloha-photo img{object-position:center center;filter:saturate(.93) contrast(1.02)}.hero-aloha-word{top:45%;font-size:clamp(8rem,21vw,23rem)}.hero-aloha-word-back{color:#176cc4}.hero-aloha-word-front{-webkit-text-stroke:2px #fff;color:transparent}.hero-aloha-copy{color:#082d60}.hero-aloha-copy>p{color:#1268c8}.hero-aloha-copy h1{color:#092f61;text-shadow:0 1px 0 #fff}.hero-aloha-copy h1 em{color:#e74994}.hero-aloha-copy>a{background:#0d65bc;color:#fff}.hero-aloha-year{color:#0d65bc}.hero-aloha-meta{color:#0b3b74}
.intro-band{position:relative;background:linear-gradient(#ffffffed,#ffffffed),url('assets/gallery/clase-flexibilidad.jpg') center 42%/cover no-repeat}.intro-band>*{position:relative;z-index:1}.section#clases{background:linear-gradient(90deg,#f7f7f3 0%,#f7f7f3f2 70%,#f7f7f3bf 100%),url('assets/gallery/zapatillas-ballet.jpg') right center/42% auto no-repeat;background-attachment:fixed}.competition{background:linear-gradient(90deg,#0755a5ee 0 48%,#1268c87d 72%,#58dce53d),url('assets/gallery/escenario-grupo.jpg') center/cover no-repeat}.contact-section{background:linear-gradient(135deg,#062f67,#1268c8 58%,#27aebe)}
.gallery-slider-section{display:block;padding:110px 0 85px;background:linear-gradient(180deg,#fff,#eefaff);color:#082b54;overflow:hidden}.gallery-slider-head{padding:0 clamp(22px,6vw,96px);display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:42px}.gallery-slider-head>div:first-child{max-width:920px}.gallery-slider-head h2{margin:0;color:#082b54;font-size:clamp(3rem,6vw,6.4rem);line-height:.92}.gallery-slider-head p:last-child{margin:20px 0 0;color:#5f7891;line-height:1.65}.gallery-controls{display:flex;gap:9px;flex:0 0 auto}.gallery-controls button{width:54px;height:54px;display:grid;place-items:center;border:1px solid #0d65bc;border-radius:50%;background:#fff;color:#0d65bc;cursor:pointer;transition:.2s}.gallery-controls button:hover{background:#0d65bc;color:#fff;transform:translateY(-2px)}.gallery-slider{display:flex;gap:16px;padding:0 clamp(22px,6vw,96px) 24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:clamp(22px,6vw,96px);overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#61dfe2 #d9ecf7;-webkit-overflow-scrolling:touch}.gallery-slide{position:relative;flex:0 0 min(68vw,760px);height:min(70vh,650px);margin:0;overflow:hidden;scroll-snap-align:start;background:#dbeefa;border-radius:2px}.gallery-slide:nth-child(3n+2){flex-basis:min(42vw,470px)}.gallery-slide:nth-child(3n){flex-basis:min(52vw,580px)}.gallery-slide img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.gallery-slide:hover img{transform:scale(1.045)}.gallery-slide:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#032954a8)}.gallery-slide figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;display:flex;align-items:center;justify-content:space-between;color:#fff}.gallery-slide figcaption span{width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffffa6;border-radius:50%;font-size:.72rem}.gallery-slide figcaption b{font-size:.76rem;letter-spacing:.14em}.gallery-swipe{margin:18px clamp(22px,6vw,96px) 0;display:flex;align-items:center;gap:9px;color:#416b91;font-size:.78rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:900px){.hero-aloha-photo{left:18%;right:-5%;top:8%;bottom:23%}.hero-aloha-word{top:40%;font-size:25vw}.hero-aloha-copy{bottom:35px}.section#clases{background-attachment:scroll;background-size:auto 70%}.gallery-slide{flex-basis:78vw;height:58vh}.gallery-slide:nth-child(3n+2),.gallery-slide:nth-child(3n){flex-basis:65vw}}
@media(max-width:620px){.hero-aloha{min-height:740px}.hero-aloha-photo{left:0;right:0;top:4%;bottom:44%;clip-path:none;box-shadow:none}.hero-aloha-photo:after{background:linear-gradient(0deg,#eefaff 0,transparent 35%)}.hero-aloha-word{top:30%;left:-2%;font-size:31vw}.hero-aloha-word-front{-webkit-text-stroke:1px #fff}.hero-aloha-copy{bottom:27px}.hero-aloha-copy h1{font-size:clamp(2.65rem,12vw,3.7rem)}.hero-aloha-year{top:12px}.intro-band{background-position:62% center}.section#clases{background-image:none}.gallery-slider-section{padding-top:80px}.gallery-slider-head{align-items:flex-start;flex-direction:column;margin-bottom:30px}.gallery-controls{align-self:flex-end}.gallery-slider{gap:10px}.gallery-slide,.gallery-slide:nth-child(3n+2),.gallery-slide:nth-child(3n){flex-basis:86vw;height:55vh}.gallery-slide figcaption{left:16px;right:16px;bottom:15px}}

/* Aloha art direction: tropical movement, editorial typography and organic shapes */
body{font-family:"Avenir Next","Segoe UI",Arial,sans-serif;background:#fff;color:#102f58}.site-header{height:86px;background:#fffffff0;border-bottom:0;box-shadow:0 8px 35px #174f8012}.brand{width:118px;height:76px}.brand img{width:100%;height:100%;object-fit:contain}.desktop-nav{font-family:"Arial Rounded MT Bold","Avenir Next",sans-serif;font-size:.82rem;letter-spacing:.035em}.header-social{display:flex;gap:10px;padding-left:20px;border-left:1px solid #c9dceb;font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.header-social a:hover{color:#ec5fa2}.header-cta{background:#0d65bc;box-shadow:0 10px 26px #1268c838}
.hero{min-height:calc(100vh - 86px);background:#f7fcff;position:relative}.hero:before{content:"";position:absolute;width:360px;height:360px;left:-170px;top:8%;border:54px solid #78e2e4;border-radius:45% 55% 58% 42%;opacity:.14;transform:rotate(27deg)}.hero-copy{padding-top:110px;padding-bottom:100px}.hero h1,.section h2,.intro-band h2,.competition h2,.contact-section h2,.gallery-section h2,.dossier-banner h2{font-family:"Arial Rounded MT Bold","Avenir Next","Segoe UI",sans-serif;letter-spacing:-.055em}.hero h1{font-size:clamp(3.7rem,6.5vw,7.4rem);line-height:.86}.hero h1 span{color:#ec5fa2}.hero-lead{font-size:1.13rem;max-width:580px}.eyebrow{font-size:.77rem;letter-spacing:.16em}.button{border-radius:16px;min-height:54px}.button.primary{background:#0d65bc}.button.ghost{border:0;background:#dff8fa}.hero-social{display:flex;align-items:center;gap:16px;margin-top:30px;font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.hero-social span{color:#8498aa}.hero-social a{color:#0d65bc;border-bottom:1px solid #90cde2}.hero-facts{padding-top:25px;border-top:1px solid #d8e8f2}.hero-visual{margin:28px 28px 28px 0;min-height:650px;border-radius:54% 46% 48% 52%/37% 40% 60% 63%;background:radial-gradient(circle at 30% 20%,#8cf1ed 0,#38c7dc 25%,#176ec7 63%,#183f91 100%);isolation:isolate}.hero-logo-mark{position:absolute;width:65%;height:auto;left:18%;top:15%;mix-blend-mode:screen;opacity:.16;z-index:0;border-radius:50%}.orbit{position:absolute;border:1px solid #ffffff80;border-radius:50%;z-index:1;animation:orbit 14s linear infinite}.orbit-one{width:70%;height:70%;left:13%;top:12%}.orbit-two{width:90%;height:48%;left:5%;top:25%;animation-direction:reverse;animation-duration:10s}.hero-img{animation:float 5.5s ease-in-out infinite;will-change:transform}.hero-img-0{animation-delay:-1s}.hero-img-1{animation-delay:-3.2s}.hero-img-2{animation-delay:-4.6s}.floating-note{position:absolute;right:5%;top:8%;z-index:8;width:122px;height:122px;display:grid;place-content:center;text-align:center;background:#ff8fc3;color:#0b3268;border-radius:50%;font-weight:950;letter-spacing:.12em;transform:rotate(8deg);box-shadow:0 15px 35px #082b543d;animation:floatBadge 4s ease-in-out infinite}.floating-note span{font-size:.62rem;letter-spacing:.04em}.dance-marquee{display:flex;overflow:hidden;padding:16px 0;background:#0c3564;color:#7ce6e7;font-weight:900;letter-spacing:.08em;white-space:nowrap;transform:rotate(-1deg);margin:-8px -4px 0}.dance-marquee div{animation:marquee 26s linear infinite}
.intro-band{position:relative;overflow:hidden}.intro-band:after{content:"✿";position:absolute;right:3%;top:8%;font-size:12rem;line-height:1;color:#80e4e71f;transform:rotate(18deg)}.intro-band>p:first-child{color:#0d65bc}.intro-band h2{max-width:980px}.section{padding-top:110px}.section-heading{align-items:center}.class-grid{border:0;gap:14px}.class-card{border:0;min-height:250px;border-radius:26px;background:#effaff;position:relative;overflow:hidden}.class-card:nth-child(3n+2){background:#fcecf5}.class-card:nth-child(3n){background:#eaf7f3}.class-card:after{content:"";position:absolute;width:85px;height:85px;right:-35px;bottom:-35px;border:16px solid #5bd8dd;border-radius:42% 58% 47% 53%;opacity:.25}.class-card:hover{background:#dff9fb;transform:translateY(-8px) rotate(-.6deg)}.class-card h3{font-family:"Arial Rounded MT Bold","Avenir Next",sans-serif}.info-strip{box-shadow:none;gap:12px;background:transparent}.info-strip>div{border:0;border-radius:25px;background:#0d65bc;color:#fff}.info-strip svg,.info-strip strong,.info-strip span{color:#fff}
.schedule-section{background:linear-gradient(180deg,#e9fbfc,#f8fdff)}.schedule-card{max-width:900px;border-radius:38px;padding:15px;box-shadow:0 30px 80px #1c659c24;transform:rotate(-.5deg)}.schedule-card img{width:100%;border-radius:28px}.team-section{overflow:hidden}.team-grid{gap:18px}.person-card{border-radius:42% 42% 24px 24px/17% 17% 24px 24px;background:#eff9fe;transition:transform .3s}.person-card:nth-child(3n+2){transform:translateY(28px)}.person-card:hover{transform:translateY(-8px)}.person-card:nth-child(3n+2):hover{transform:translateY(18px)}.person-image{aspect-ratio:3/4;border-radius:42% 42% 4% 4%/18% 18% 4% 4%;background:#5b2aa4}.person-image img{width:100%;height:100%;object-fit:cover}.person-image span{position:absolute;left:17px;bottom:14px;width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#0d65bc;font-size:.75rem;font-weight:950;box-shadow:0 8px 20px #0b326833}.person-copy{padding:22px 23px 25px}.person-copy>p{color:#1268c8}.person-copy h3{font-family:"Arial Rounded MT Bold","Avenir Next",sans-serif}.person-copy button{color:#df4e94}
.competition{position:relative;overflow:hidden;background:linear-gradient(140deg,#082d5d,#125fae 52%,#13a8bd);border-radius:60px;margin:26px;min-height:680px}.competition:before,.competition:after{content:"✿";position:absolute;color:#ffffff14;font-size:28rem;line-height:1}.competition:before{right:-7%;top:-18%;transform:rotate(20deg)}.competition:after{left:-10%;bottom:-35%;font-size:20rem}.competition-copy,.competition-points{position:relative;z-index:2}.button.download{background:#fff;color:#0b3268;border:0;cursor:pointer}.soon-label{display:block;margin-top:12px;color:#a9d5ed}.competition-points span{backdrop-filter:blur(6px)}
.gallery-section{padding:120px clamp(25px,6vw,100px);display:grid;grid-template-columns:.36fr .64fr;gap:70px;background:#fff}.gallery-heading{position:sticky;top:130px;align-self:start}.gallery-section h2{margin:0;color:#082b54;font-size:clamp(3rem,5vw,5.5rem);line-height:.9}.gallery-heading>p:last-child{margin-top:25px;color:#638099;line-height:1.7}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:290px;gap:16px}.gallery-placeholder{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:25px;overflow:hidden;border-radius:38px;background:linear-gradient(135deg,#dff8fa,#c6e8fc);color:#0b3268}.gallery-placeholder:before{content:"✿";position:absolute;right:-20px;top:-48px;color:#ffffff8c;font-size:11rem;transform:rotate(18deg)}.gallery-placeholder:nth-child(2),.gallery-placeholder:nth-child(5){background:linear-gradient(135deg,#fce8f3,#ffd0e7)}.gallery-placeholder:nth-child(3){background:linear-gradient(135deg,#166fc4,#13adbd);color:#fff}.gallery-0{grid-row:span 2}.gallery-placeholder>span{position:absolute;left:25px;top:22px;font-size:.78rem;font-weight:900}.gallery-placeholder b{font-size:1.45rem;letter-spacing:.04em}.gallery-placeholder small{margin-top:5px;opacity:.65}.dossier-banner{margin:0 26px 26px;padding:70px clamp(30px,7vw,110px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:50px;border-radius:42px;background:#ff8fc3;color:#092e5a}.dossier-banner>div>span{font-size:.75rem;letter-spacing:.14em;font-weight:900}.dossier-banner h2{max-width:850px;margin:15px 0 0;font-size:clamp(2rem,4vw,4rem);line-height:1}.dossier-button{background:#092e5a;color:#fff}
.reviews-section{background:#f6fcff}.contact-section{margin:26px;border-radius:60px;background:linear-gradient(145deg,#092d5b,#0d5caa);position:relative;overflow:hidden}.contact-section:before{content:"✿";position:absolute;right:-3%;bottom:-20%;font-size:24rem;line-height:1;color:#ffffff0d}.contact-copy,.contact-form{position:relative;z-index:2}.contact-form{border-radius:34px}.contact-form input,.contact-form textarea,.contact-form select{border:0;background:#eff8fd;border-radius:15px}.footer-social-text{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:800;color:#0d65bc}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -15px}}@keyframes floatBadge{0%,100%{transform:rotate(8deg) translateY(0)}50%{transform:rotate(3deg) translateY(-12px)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-100%)}}
@media(max-width:1100px){.header-social{display:none}.gallery-section{grid-template-columns:1fr}.gallery-heading{position:static}.dossier-banner{grid-template-columns:1fr}.competition{margin:16px}.contact-section{margin:16px}.person-card:nth-child(3n+2){transform:none}}
@media(max-width:720px){.hero-visual{margin:0 14px 24px;min-height:430px;border-radius:48% 52% 30px 30px/30% 30% 30px 30px}.hero-logo-mark{width:78%;left:11%}.floating-note{width:92px;height:92px;font-size:.75rem}.dance-marquee{font-size:.78rem}.hero-social{flex-wrap:wrap}.class-grid{gap:10px}.team-grid{grid-template-columns:1fr}.person-card{border-radius:38% 38% 24px 24px/14% 14% 24px 24px}.gallery-section{padding-top:90px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:250px}.gallery-0{grid-row:span 1}.dossier-banner,.competition,.contact-section{margin:10px;border-radius:32px}.competition{padding-left:24px;padding-right:24px}.dossier-banner{padding:45px 25px}.contact-section{padding-left:24px;padding-right:24px}footer{gap:25px}.footer-social-text{text-align:center}}
@media(prefers-reduced-motion:reduce){.hero-img,.floating-note,.orbit,.dance-marquee div{animation:none!important}}

/* Editorial v3 */
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;letter-spacing:0}.site-header{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.desktop-nav{font-family:inherit;font-weight:650;letter-spacing:.01em}.header-social{padding-left:8px;border:0;gap:8px}.header-social a,.socials a{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;transition:transform .2s,box-shadow .2s}.header-social a:hover,.socials a:hover{transform:translateY(-3px);box-shadow:0 8px 18px #082b5429}.instagram-icon{background:radial-gradient(circle at 30% 105%,#ffd600 0 22%,#ff7a00 28%,#ff0169 49%,#d300c5 68%,#7638fa 100%);color:#fff}.youtube-icon{background:#ff0033;color:#fff}.instagram-icon svg,.youtube-icon svg{width:21px;height:21px}.instagram-icon rect,.instagram-icon circle{fill:none;stroke:currentColor;stroke-width:1.9}.instagram-icon .dot{fill:currentColor;stroke:none}.youtube-icon path{fill:currentColor}.youtube-icon .play{fill:#ff0033}
.hero-editorial{height:calc(100svh - 86px);min-height:710px;display:block;position:relative;isolation:isolate;overflow:hidden;background:#0875c4;color:#fff}.hero-editorial:before{display:none}.facade-back,.facade-front{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;object-position:center;will-change:transform}.facade-back{z-index:0;animation:heroPan 18s ease-in-out infinite alternate}.facade-front{z-index:4;clip-path:polygon(34% 20%,100% 10%,100% 100%,25% 100%,28% 56%);pointer-events:none;animation:foregroundDrift 9s ease-in-out infinite alternate}.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#043d7bd9 0%,#075a9f8f 29%,transparent 61%),linear-gradient(0deg,#031f44c9 0%,transparent 43%)}.hero-topline{position:absolute;z-index:6;left:clamp(25px,5vw,78px);right:clamp(25px,5vw,78px);top:36px;display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid #ffffff73;font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.hero-message{position:absolute;z-index:6;left:clamp(25px,5vw,78px);top:18%;max-width:285px}.hero-message p{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1.05rem;line-height:1.55;margin:0 0 25px}.hero-message a{display:inline-flex;align-items:center;gap:9px;padding-bottom:8px;border-bottom:2px solid #ff8fc3;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero-title{position:absolute;z-index:3;left:4%;right:2%;bottom:6%;display:flex;flex-direction:column;line-height:.72;color:#fff;pointer-events:none}.aloha-word{font-family:"Bodoni 72","Didot","Times New Roman",serif;font-size:clamp(8rem,22vw,23rem);font-weight:700;letter-spacing:-.09em;text-shadow:0 8px 30px #03295442}.dance-word{margin-left:5%;font-family:"Brush Script MT","Segoe Script",cursive;font-size:clamp(3.2rem,8vw,8rem);font-weight:400;color:#ff90c2;letter-spacing:-.04em;transform:rotate(-4deg);text-shadow:0 6px 24px #05265052}.hero-sticker{position:absolute;z-index:7;right:5%;top:16%;width:155px;height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#ff91c3;color:#06366c;text-align:center;transform:rotate(10deg);box-shadow:0 18px 35px #03254a52;animation:stickerSpin 7s ease-in-out infinite}.hero-sticker span{font-size:.61rem;font-weight:900;letter-spacing:.12em}.hero-sticker b{font-family:"Bodoni 72","Didot",serif;font-size:1.65rem;font-style:italic}.hero-scroll{position:absolute;z-index:7;right:5%;bottom:6%;display:flex;align-items:center;gap:12px;font-size:.71rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.hero-scroll svg{width:42px;height:42px;padding:11px;border:1px solid #fff;border-radius:50%;transform:rotate(45deg)}
.section h2,.intro-band h2,.competition h2,.contact-section h2,.gallery-section h2,.dossier-banner h2{font-family:"Bodoni 72","Didot","Times New Roman",serif;font-weight:600;letter-spacing:-.055em}.class-card h3,.person-copy h3{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:750;letter-spacing:-.025em}.intro-band h2{font-style:italic}.eyebrow{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:800}.dance-marquee{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.gallery-section h2{font-style:italic}.contact-section h2{font-style:italic}
@keyframes heroPan{0%{transform:scale(1.01) translate3d(-.5%,0,0)}100%{transform:scale(1.07) translate3d(1.5%,-1%,0)}}@keyframes foregroundDrift{0%{transform:scale(1.01) translateY(0)}100%{transform:scale(1.025) translateY(-5px)}}@keyframes stickerSpin{0%,100%{transform:rotate(10deg) translateY(0)}50%{transform:rotate(3deg) translateY(-13px)}}
@media(max-width:1100px){.hero-editorial{min-height:700px}.hero-title{bottom:10%}.aloha-word{font-size:clamp(8rem,24vw,16rem)}.facade-back,.facade-front{object-position:60% center}.hero-sticker{width:130px;height:130px}}
@media(max-width:720px){.hero-editorial{height:calc(100svh - 76px);min-height:690px}.hero-topline span:nth-child(2){display:none}.hero-message{top:13%;max-width:230px}.hero-message p{font-size:.94rem}.facade-back,.facade-front{inset:0;width:100%;height:100%;object-position:67% center}.facade-front{clip-path:polygon(20% 24%,100% 15%,100% 100%,12% 100%,18% 55%)}.hero-shade{background:linear-gradient(90deg,#04396fd9 0%,#075a9f47 56%,transparent 90%),linear-gradient(0deg,#031c3ee8 0%,transparent 53%)}.hero-title{left:4%;bottom:12%}.aloha-word{font-size:clamp(7.3rem,34vw,11rem);line-height:.76}.dance-word{font-size:clamp(3.1rem,15vw,5rem);margin-left:2%}.hero-sticker{right:4%;top:29%;width:105px;height:105px}.hero-sticker b{font-size:1.25rem}.hero-sticker span{font-size:.48rem}.hero-scroll{bottom:3%}.hero-scroll span{display:none}.hero-scroll svg{background:#fff;color:#073a74}.header-social{display:none}}
@media(prefers-reduced-motion:reduce){.facade-back,.facade-front,.hero-sticker{animation:none!important}}

/* Real-photo composition and downloadable resources */
.hero-editorial{background:#05080d}.facade-back,.facade-front{object-position:center 42%;filter:saturate(.92) contrast(1.05)}.facade-back{animation:stageZoom 16s ease-in-out infinite alternate}.facade-front{clip-path:polygon(12% 35%,25% 22%,34% 29%,43% 39%,53% 23%,64% 1%,75% 12%,83% 35%,94% 78%,91% 100%,13% 100%);filter:saturate(1.02) contrast(1.06);animation:stageFloat 8s ease-in-out infinite alternate}.hero-shade{background:linear-gradient(90deg,#02080fe0 0%,#06122185 33%,transparent 65%),linear-gradient(0deg,#02060dd9 0%,transparent 54%)}.hero-title{bottom:4%}.aloha-word{font-size:clamp(8rem,23vw,24rem);color:#fff;opacity:.94}.dance-word{color:#72e2e5}.hero-sticker{background:#ff89bb}.hero-message{top:19%}.hero-topline{z-index:8}.hero-scroll{z-index:8}@keyframes stageZoom{from{transform:scale(1.015)}to{transform:scale(1.085)}}@keyframes stageFloat{from{transform:scale(1.015) translateY(0)}to{transform:scale(1.035) translateY(-7px)}}
.person-bio{max-height:310px;overflow:auto;padding-right:8px;scrollbar-width:thin}.person-bio::-webkit-scrollbar{width:5px}.person-bio::-webkit-scrollbar-thumb{background:#9bcde6;border-radius:8px}.gallery-grid{grid-template-columns:1.15fr .85fr;grid-auto-rows:260px}.gallery-photo{position:relative;margin:0;overflow:hidden;border-radius:34px;background:#d9eef8}.gallery-photo:first-child{grid-row:span 2}.gallery-photo:nth-child(4){grid-row:span 2}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.gallery-photo:hover img{transform:scale(1.08);filter:saturate(1.1)}.gallery-photo:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#041d3aba)}.gallery-photo figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;align-items:center;justify-content:space-between;color:#fff}.gallery-photo figcaption span{width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;font-size:.7rem}.gallery-photo figcaption b{font-size:.78rem;letter-spacing:.12em}.gallery-photo:nth-child(2) img,.gallery-photo:nth-child(5) img{object-position:center 65%}
.downloads-section{padding:120px clamp(25px,6vw,100px);display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;background:#eaf9fb}.downloads-intro{align-self:start;position:sticky;top:125px}.downloads-intro h2{margin:0;font-family:"Bodoni 72","Didot","Times New Roman",serif;font-size:clamp(3rem,5vw,5.7rem);font-weight:600;line-height:.92;letter-spacing:-.055em;font-style:italic;color:#082b54}.downloads-intro>p:last-child{max-width:500px;margin-top:25px;color:#597793;line-height:1.7}.download-grid{display:grid;gap:14px}.download-card{min-height:170px;padding:27px 28px;display:grid;grid-template-columns:50px 1fr 58px;align-items:center;gap:20px;background:#fff;border-radius:28px;transition:transform .25s,box-shadow .25s}.download-card:hover{transform:translateX(8px);box-shadow:0 18px 40px #0c4b7f14}.download-card>span{align-self:start;color:#da4c91;font-size:.77rem;font-weight:900}.download-card h3{margin:0 0 10px;font-size:1.28rem;color:#082b54}.download-card p{margin:0;color:#688198;line-height:1.55}.download-card>a{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#0d65bc;color:#fff;transition:transform .25s}.download-card>a:hover{transform:rotate(-12deg) scale(1.08)}
@media(max-width:1100px){.downloads-section{grid-template-columns:1fr}.downloads-intro{position:static}.facade-back,.facade-front{object-position:center center}}
@media(max-width:720px){.facade-back,.facade-front{object-position:56% center}.facade-front{clip-path:polygon(0 28%,24% 20%,42% 37%,55% 17%,75% 3%,94% 34%,100% 100%,0 100%)}.hero-title{bottom:9%}.aloha-word{font-size:clamp(6.8rem,33vw,10.4rem)}.hero-message{top:14%}.hero-sticker{top:32%}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:300px}.gallery-photo:first-child,.gallery-photo:nth-child(4){grid-row:span 1}.downloads-section{padding-top:90px;padding-bottom:90px;gap:45px}.download-card{grid-template-columns:38px 1fr 48px;padding:22px 18px;gap:12px}.download-card>a{width:46px;height:46px}}
/* 2026 editorial redesign — sharp, photographic, stage-led */
:root{--ink:#08090b;--paper:#f7f7f3;--aloha-blue:#166cc4;--aloha-pink:#ff4fa3;--aloha-cyan:#55e0e3;--line:#bfc2c6;--radius:0}
body{background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.site-header{height:78px;padding:0 clamp(18px,4vw,64px);background:#f7f7f3f2;border-bottom:1px solid #161719;box-shadow:none}.brand{width:98px;height:70px}.desktop-nav{font-family:"Helvetica Neue",Arial,sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.desktop-nav a:after{height:2px;background:var(--aloha-pink)}.header-social{border-left:1px solid #151618}.header-social a{width:30px;height:30px}.header-cta{border-radius:0;background:var(--ink);box-shadow:none;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}
.hero-poster{position:relative;display:block;height:calc(100svh - 78px);min-height:690px;overflow:hidden;background:var(--ink);color:#fff;isolation:isolate}.hero-poster:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08090b 0 42%,transparent 66%),linear-gradient(0deg,#08090bcc,transparent 35%);z-index:2;pointer-events:none}.hero-poster-copy{position:absolute;left:clamp(22px,5.6vw,92px);top:50%;z-index:5;width:min(47vw,720px);transform:translateY(-50%)}.poster-kicker{margin:0 0 22px;padding-left:55px;position:relative;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.poster-kicker:before{content:"";position:absolute;left:0;top:50%;width:40px;height:2px;background:var(--aloha-pink)}.poster-title{display:flex;flex-direction:column;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(4rem,7.6vw,8.7rem);line-height:.78;letter-spacing:-.025em;text-transform:uppercase}.poster-title span:nth-child(2),.poster-title span:nth-child(4){color:var(--aloha-pink);margin-left:clamp(18px,4vw,74px)}.poster-title span:nth-child(3){margin-top:.13em}.poster-lead{width:min(520px,90%);margin:30px 0 25px;color:#e9e9e4;font-size:1.02rem;line-height:1.55}.poster-actions{display:flex;gap:0}.poster-actions a{min-height:54px;display:inline-flex;align-items:center;gap:14px;padding:0 22px;border:1px solid #fff;font-size:.76rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.poster-actions a:first-child{background:#fff;color:#08090b}.poster-actions a:hover{background:var(--aloha-pink);border-color:var(--aloha-pink);color:#08090b}.poster-image-wrap{position:absolute;inset:0 0 0 36%;z-index:1;overflow:hidden;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%)}.poster-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08090b99,transparent 38%),linear-gradient(180deg,transparent 55%,#08090b66)}.poster-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:54% center;filter:saturate(.88) contrast(1.08);animation:heroDrift 13s ease-in-out infinite alternate}.poster-word{position:absolute;right:-.025em;bottom:-.13em;z-index:3;color:transparent;-webkit-text-stroke:1px #ffffff73;font:clamp(9rem,23vw,27rem)/.75 Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;letter-spacing:-.05em;pointer-events:none}.poster-side{position:absolute;right:18px;top:18px;bottom:18px;z-index:6;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;color:#fff;font-size:.61rem;font-weight:800;letter-spacing:.13em;writing-mode:vertical-rl}.poster-scroll{position:absolute;right:0;bottom:0;z-index:7;width:74px;height:74px;display:grid;place-items:center;background:var(--aloha-pink);color:#08090b;transform:rotate(90deg)}
@keyframes heroDrift{from{transform:scale(1.01) translate3d(0,0,0)}to{transform:scale(1.07) translate3d(-1.2%,.5%,0)}}
.intro-band{padding:110px clamp(24px,8vw,130px);display:grid;grid-template-columns:.3fr 1fr .55fr;align-items:end;gap:45px;text-align:left;background:var(--paper);border-bottom:1px solid var(--ink)}.intro-band:after{display:none}.intro-band>p:first-child{align-self:start;margin:8px 0 0;color:var(--aloha-blue);font-size:.72rem;letter-spacing:.15em}.intro-band h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif!important;font-size:clamp(3.4rem,6.5vw,7rem);line-height:.84;letter-spacing:-.025em;text-transform:uppercase}.intro-band>p:last-child{margin:0;color:#34373b;font-size:1rem;line-height:1.65}
.section{padding:120px clamp(22px,5vw,82px);background:var(--paper)}.section-heading{max-width:1420px;margin-bottom:58px;grid-template-columns:1.45fr .55fr;border-top:1px solid var(--ink);padding-top:22px}.section h2,.gallery-section h2,.downloads-section h2,.dossier-banner h2,.competition h2,.contact-section h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif!important;letter-spacing:-.02em;text-transform:uppercase}.section h2{font-size:clamp(3.5rem,6vw,7rem);line-height:.84;color:var(--ink)}.section-heading>p{color:#34373b}.eyebrow{color:var(--aloha-blue);font-size:.7rem;letter-spacing:.16em}
.class-grid{max-width:1420px;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.class-card{min-height:290px;padding:25px;border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0!important;background:transparent!important}.class-card:after{display:none}.class-card:hover{transform:none;background:var(--aloha-pink)!important}.class-card h3{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:1.8rem;line-height:.95;text-transform:uppercase;color:var(--ink)}.class-card>b{color:var(--aloha-blue)}.class-card p{color:#3e4145}.info-strip{max-width:1420px;border-radius:0;gap:1px;background:var(--ink)}.info-strip>div{border-radius:0;background:var(--ink)}
.schedule-section{background:#e9e9e4}.schedule-card{max-width:970px;padding:0;border:1px solid var(--ink);border-radius:0;box-shadow:16px 16px 0 var(--aloha-blue);transform:none}.schedule-card img{border-radius:0}.button{border-radius:0!important;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}.button.primary{background:var(--ink);box-shadow:none}
.team-section{background:var(--paper)}.team-grid{max-width:1420px;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink)}.person-card,.person-card:nth-child(3n+2){border-radius:0;transform:none;background:var(--paper)}.person-card:hover,.person-card:nth-child(3n+2):hover{transform:none}.person-image{aspect-ratio:4/5;border-radius:0;background:#222}.person-image img{filter:grayscale(1) contrast(1.04);transition:filter .35s,transform .55s}.person-card:hover .person-image img{filter:grayscale(0);transform:scale(1.045)}.person-image span{left:0;bottom:0;border-radius:0;background:var(--aloha-pink);box-shadow:none}.person-copy{border-top:1px solid var(--ink)}.person-copy h3{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:1.65rem;text-transform:uppercase;color:var(--ink)}.person-copy button{color:var(--aloha-blue)}
.competition{min-height:760px;margin:0;border-radius:0;padding:110px clamp(24px,7vw,110px);background:linear-gradient(90deg,#08090bf2 0 48%,#08090b2e 80%),url('assets/gallery/escenario-grupo.jpg') center/cover no-repeat}.competition:before,.competition:after{display:none}.competition h2{font-size:clamp(4rem,7vw,8.5rem);line-height:.82}.competition-copy>p:not(.eyebrow){color:#eee}.competition-points span{border-radius:0;border:1px solid #fff;backdrop-filter:none;transform:none!important;text-align:left;background:#08090b80}.competition-points span:nth-child(2){background:var(--aloha-pink);color:var(--ink)}
.gallery-section{padding:120px clamp(22px,5vw,82px);grid-template-columns:.28fr .72fr;gap:48px;background:#0a0b0d;color:#fff}.gallery-section h2{color:#fff;font-size:clamp(4rem,6vw,7rem);line-height:.84}.gallery-heading>p:last-child{color:#c8c8c4}.gallery-grid{gap:3px;grid-auto-rows:330px}.gallery-photo{border-radius:0!important}.gallery-photo img{filter:saturate(.8);transition:transform .75s,filter .35s}.gallery-photo:hover img{transform:scale(1.06);filter:saturate(1.05)}.gallery-photo figcaption{background:linear-gradient(transparent,#000b)}
.dossier-banner{border-radius:0!important;background:var(--aloha-pink)!important;color:var(--ink)!important}.dossier-banner h2{color:var(--ink)!important}.dossier-button{background:var(--ink)!important;color:#fff!important}.downloads-section{background:var(--paper)!important}.downloads-intro h2{font-size:clamp(3.7rem,6vw,7rem);line-height:.86}.download-grid{gap:0;border-top:1px solid var(--ink)}.download-card{border-radius:0!important;border:0!important;border-bottom:1px solid var(--ink)!important;background:transparent!important}.download-card>a{border-radius:0!important;background:var(--ink)!important;color:#fff!important}
.reviews-section{background:var(--aloha-blue)}.reviews-section .section-heading{border-color:#fff}.reviews-section h2,.reviews-section .eyebrow,.reviews-section .section-heading>p{color:#fff}
.contact-section{background:var(--ink);grid-template-columns:.85fr 1.15fr}.contact-section h2{font-size:clamp(4rem,6.5vw,7.5rem);line-height:.84}.contact-form{border-radius:0;padding:clamp(28px,4vw,54px);box-shadow:15px 15px 0 var(--aloha-pink)}.contact-form h3{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:2.8rem;text-transform:uppercase}.contact-form input,.contact-form textarea,.contact-form select{border-radius:0;background:#fff;border:0;border-bottom:1px solid #777}
footer{background:var(--paper);border-top:1px solid var(--ink)}.socials a{border-radius:0;background:var(--ink);color:#fff}
@media(max-width:1100px){.hero-poster-copy{width:60vw}.poster-image-wrap{left:30%}.class-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(3,1fr)}.intro-band{grid-template-columns:1fr 2fr}.intro-band>p:last-child{grid-column:2}.gallery-section{grid-template-columns:1fr}.gallery-heading{position:static}.competition{grid-template-columns:1fr}.competition-points{display:grid;grid-template-columns:repeat(3,1fr)}.competition-points span{width:100%}}
@media(max-width:720px){.site-header{height:70px}.brand{height:62px}.hero-poster{height:auto;min-height:790px}.hero-poster:before{background:linear-gradient(0deg,#08090b 0 45%,transparent 78%),linear-gradient(90deg,#08090b4d,transparent)}.hero-poster-copy{left:20px;right:20px;top:auto;bottom:42px;width:auto;transform:none}.poster-title{font-size:clamp(3.75rem,17vw,6rem)}.poster-title span:nth-child(2),.poster-title span:nth-child(4){margin-left:8vw}.poster-lead{margin:22px 0 18px}.poster-image-wrap{inset:0 0 38% 0;clip-path:none}.poster-image-wrap img{object-position:52% center}.poster-word{top:34%;bottom:auto;font-size:35vw}.poster-side,.poster-scroll{display:none}.poster-actions a{padding:0 15px;font-size:.67rem}.intro-band{padding:80px 22px;display:block}.intro-band h2{margin:25px 0}.section{padding:90px 18px}.section-heading{grid-template-columns:1fr}.class-grid{grid-template-columns:1fr}.class-card{min-height:220px}.team-grid{grid-template-columns:1fr 1fr}.person-copy{padding:15px}.competition{padding:90px 20px;background-position:62% center}.competition-points{grid-template-columns:1fr}.gallery-section{padding:90px 18px}.gallery-grid{grid-auto-rows:230px;gap:2px}.dossier-banner{margin:0!important}.contact-section{grid-template-columns:1fr;padding:90px 20px}.contact-form{box-shadow:8px 8px 0 var(--aloha-pink)}}
@media(max-width:460px){.team-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-grid .gallery-photo{grid-column:auto!important;grid-row:auto!important}.poster-actions{flex-direction:column;align-items:flex-start}.poster-actions a{width:100%;justify-content:center}}

/* Final brand layer: loaded after legacy styles so the requested visual system wins. */
:root{--adc-blue:#176fc5;--adc-deep:#073f7d;--adc-aqua:#63dfe3;--adc-pink:#ef66aa;--adc-sky:#e7f8ff;--adc-white:#fff}
html,body{max-width:100%;overflow-x:hidden;background:#fff;color:#173f67}
*,*::before,*::after{box-sizing:border-box;min-width:0}
img{max-width:100%}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header{background:#fffffff5!important;border-bottom:1px solid #c9e6f2!important}.header-cta,.button.primary{background:var(--adc-blue)!important;color:#fff!important}.desktop-nav,.desktop-nav a{color:var(--adc-deep)!important}

.hero-dance{position:relative;height:calc(100svh - 82px);min-height:680px;overflow:hidden;isolation:isolate;background:linear-gradient(125deg,#eefaff 0%,#dff6fb 52%,#f8e5f0 100%);color:var(--adc-deep)}
.hero-dance::after{content:"";position:absolute;z-index:1;inset:auto 0 0;height:34%;background:linear-gradient(0deg,#d5f1fa 0%,transparent 100%);pointer-events:none}
.hero-dance-flower{position:absolute;z-index:0;right:-7vw;top:-13vw;width:min(54vw,740px);opacity:.09;transform:rotate(15deg)}
.hero-dance-kicker{position:absolute;z-index:5;left:clamp(22px,5vw,82px);top:clamp(25px,5vh,58px);margin:0;color:var(--adc-deep);font-size:clamp(.78rem,.9vw,.92rem);font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.hero-dance-photo{position:absolute;z-index:2;inset:3% 1% 0 18%;overflow:hidden;mix-blend-mode:multiply}
.hero-dance-photo img{width:100%;height:100%;object-fit:cover;object-position:center 62%;filter:saturate(.94) contrast(1.02);animation:adcPhotoMove 11s ease-in-out infinite alternate}
.hero-dance-word{position:absolute;left:3%;top:47%;transform:translateY(-50%);font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-size:clamp(8rem,22vw,24rem);font-weight:750;line-height:.72;letter-spacing:-.09em;white-space:nowrap;pointer-events:none}
.hero-dance-word-back{z-index:1;color:var(--adc-blue)}
.hero-dance-word-front{z-index:3;color:transparent;-webkit-text-stroke:2px #fff;text-shadow:0 8px 30px #0b5e9e13}
.hero-dance-copy{position:absolute;z-index:5;left:clamp(22px,5vw,82px);bottom:clamp(30px,7vh,72px);display:flex;align-items:end;gap:clamp(25px,5vw,72px)}
.hero-dance-copy>p{margin:0;color:var(--adc-deep);font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-size:clamp(1.5rem,2.35vw,2.65rem);font-weight:400;line-height:1.02;letter-spacing:-.04em}.hero-dance-copy strong{color:var(--adc-pink);font-weight:650}
.hero-dance-copy>div{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.hero-dance-copy a:first-child{min-height:54px;display:inline-flex;align-items:center;gap:12px;padding:0 24px;border-radius:999px;background:var(--adc-deep);color:#fff;font-weight:750}.hero-dance-copy a:last-child{padding:8px 0;border-bottom:2px solid var(--adc-pink);color:var(--adc-deep);font-weight:750}
.hero-dance-levels{position:absolute;z-index:5;right:clamp(20px,4vw,62px);top:clamp(22px,4vh,48px);display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.hero-dance-levels span{padding:9px 13px;border-radius:999px;background:#ffffffc9;box-shadow:0 8px 24px #0b548016;color:var(--adc-deep);font-size:.78rem;font-weight:700}
@keyframes adcPhotoMove{from{transform:scale(1.01) translateY(0)}to{transform:scale(1.045) translateY(-.6%)}}

.intro-band{border:0!important;background:linear-gradient(90deg,#fffffff2,#ffffffd9),url('assets/gallery/clase-flexibilidad.jpg') center/cover no-repeat!important}.intro-band h2,.section h2,.competition h2,.contact-section h2,.downloads-intro h2,.dossier-banner h2{font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif!important;font-weight:450!important;letter-spacing:-.048em!important;text-transform:none!important;color:var(--adc-deep)!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:auto}
.section-heading{border-top-color:#bddfeb!important}.section-heading>p,.intro-band>p:last-child{color:#456c8b!important}
.class-grid{border:0!important;gap:12px!important}.class-card{border:0!important;border-radius:24px!important;background:#edf9ff!important}.class-card:nth-child(3n+2){background:#fff0f7!important}.class-card:nth-child(3n){background:#e8faf9!important}.class-card h3{font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif!important;font-weight:650!important;text-transform:none!important;color:var(--adc-deep)!important}.class-card:hover{background:#d9f6f5!important;transform:translateY(-5px)!important}.info-strip{background:transparent!important;gap:12px!important}.info-strip>div{border:0!important;border-radius:24px!important;background:linear-gradient(135deg,var(--adc-blue),#1fb2c0)!important}
.schedule-section{background:var(--adc-sky)!important}.schedule-download-panel{background:#fff!important;color:var(--adc-deep)!important;border-radius:30px!important;box-shadow:14px 14px 0 var(--adc-aqua)!important}.schedule-download-panel>div:first-child{background:linear-gradient(145deg,#cbf4f2,#d5e9ff)!important;border:0!important}.schedule-download-panel p{color:#4c708d!important}.schedule-download-panel .schedule-download{background:var(--adc-pink)!important;color:#fff!important;border:0!important;border-radius:999px!important}
.team-grid{background:transparent!important;border:0!important;gap:12px!important}.person-card,.person-card:nth-child(3n+2){border-radius:25px!important;background:#f1faff!important;overflow:hidden!important}.person-copy{border-top:0!important}.person-copy h3{font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif!important;font-weight:650!important;text-transform:none!important;color:var(--adc-deep)!important}.person-image span{background:var(--adc-pink)!important;border-radius:0 14px 0 0!important}
.competition{margin:0!important;border-radius:0!important;min-height:670px!important;background:linear-gradient(90deg,#eefafff2 0 46%,#eefaffb8 66%,#eefaff55),url('assets/gallery/escenario-grupo.jpg') center/cover no-repeat!important;color:var(--adc-deep)!important}.competition::before,.competition::after{display:none!important}.competition-copy>p:not(.eyebrow){color:#365f80!important}.competition .eyebrow.light{color:var(--adc-blue)!important}.competition .button.download{background:var(--adc-blue)!important;color:#fff!important;border:0!important;border-radius:999px!important}.competition-points span{border:1px solid #fff!important;border-radius:999px!important;background:#ffffffd9!important;color:var(--adc-deep)!important;text-align:center!important;backdrop-filter:blur(11px)!important}.competition-points span:nth-child(2){background:var(--adc-pink)!important;color:#fff!important}
.gallery-slider-section{position:relative!important;isolation:isolate!important;padding:32px 0 76px!important;background:#eaf9ff!important;color:var(--adc-deep)!important;overflow:hidden!important}.gallery-slider-section::before{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:-2!important;background:url('assets/gallery/clase-movimiento.jpg') center/cover no-repeat!important;opacity:.13!important}.gallery-slider-section::after{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:-1!important;background:linear-gradient(110deg,#f9fefff2,#e6f8fadf 55%,#fff0f7df)!important}.gallery-slider-head{min-height:60px!important;margin:0 0 12px!important;padding:0 clamp(20px,6vw,92px)!important;display:flex!important;justify-content:flex-end!important;align-items:center!important}.gallery-controls{display:flex!important;gap:8px!important}.gallery-controls button{border:0!important;background:#fff!important;color:var(--adc-blue)!important;box-shadow:0 9px 24px #0a548319!important}.gallery-slider{gap:14px!important;padding:0 clamp(20px,6vw,92px) 24px!important}.gallery-slide,.gallery-slide:nth-child(3n+2),.gallery-slide:nth-child(3n){position:relative!important;flex:0 0 min(68vw,800px)!important;height:min(72vh,680px)!important;margin:0!important;border-radius:30px!important;overflow:hidden!important;background:#d9eff8!important;box-shadow:0 20px 48px #12486e24!important}.gallery-slide:nth-child(3n+2){flex-basis:min(44vw,510px)!important}.gallery-slide:nth-child(3n){flex-basis:min(55vw,630px)!important}.gallery-slide::after,.gallery-slide figcaption{display:none!important}.gallery-slide img{width:100%!important;height:100%!important;object-fit:cover!important}.gallery-swipe{margin:12px clamp(20px,6vw,92px) 0!important;color:#3f7198!important;font-size:.82rem!important;letter-spacing:.06em!important}
.dossier-banner{background:linear-gradient(135deg,var(--adc-aqua),#cff7f3)!important;color:var(--adc-deep)!important}.dossier-button{background:var(--adc-blue)!important;color:#fff!important;border-radius:999px!important}.downloads-section{background:#fff!important}.download-grid{border-top-color:#bddfeb!important}.download-card{border-bottom-color:#bddfeb!important}.download-card>a{background:var(--adc-blue)!important;border-radius:50%!important}.reviews-section{background:linear-gradient(135deg,var(--adc-blue),#24b8c4)!important}.reviews-section h2,.reviews-section .eyebrow,.reviews-section .section-heading>p{color:#fff!important}
.contact-section{width:100%!important;margin:0!important;border-radius:0!important;background:linear-gradient(125deg,#e4f7ff,#cdeeff 55%,#f7dfec)!important;color:var(--adc-deep)!important;overflow:hidden!important}.contact-section::before{display:none!important}.contact-copy,.contact-form{width:100%!important;max-width:100%!important}.contact-copy>p:not(.eyebrow){color:#456b89!important}.contact-list a,.contact-list>div{color:var(--adc-deep)!important;max-width:100%!important}.contact-list span{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important}.contact-list small{color:#5d7e98!important}.contact-list svg{color:var(--adc-blue)!important}.contact-form{border-radius:28px!important;box-shadow:12px 12px 0 var(--adc-aqua)!important}.contact-form h3{font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif!important;font-weight:550!important;text-transform:none!important;color:var(--adc-deep)!important}.contact-form label{font-size:.9rem!important}.contact-form input,.contact-form textarea,.contact-form select{max-width:100%!important;border:1px solid #d0e6f0!important;border-radius:13px!important;background:#f1f9fd!important}.contact-form .button.primary{border-radius:999px!important;white-space:normal!important;line-height:1.25!important;padding:14px 20px!important}footer{background:#fff!important;border-top-color:#c9e6f2!important}.socials a{background:var(--adc-blue)!important;border-radius:50%!important}

@media(max-width:1000px){.hero-dance-photo{inset:5% -9% 0 8%}.hero-dance-word{font-size:24vw}.hero-dance-copy{max-width:70vw}.team-grid{grid-template-columns:repeat(3,1fr)!important}.competition{grid-template-columns:1fr!important;background:linear-gradient(#eefaffe8,#eefaffb0),url('assets/gallery/escenario-grupo.jpg') center/cover no-repeat!important}.competition-points{align-items:flex-start!important}}
@media(max-width:720px){.site-header{height:72px!important;padding:0 14px!important}.brand{width:96px!important;height:68px!important}.mobile-nav{top:71px!important;max-height:calc(100svh - 71px)!important;overflow-y:auto!important}.hero-dance{height:auto!important;min-height:720px!important}.hero-dance-kicker{left:18px!important;right:18px!important;top:18px!important;font-size:.7rem!important;line-height:1.45!important}.hero-dance-photo{inset:58px 0 auto 0!important;height:290px!important;mix-blend-mode:multiply!important}.hero-dance-photo img{object-fit:contain!important;object-position:center center!important}.hero-dance-word{left:-2%!important;top:245px!important;font-size:30.5vw!important}.hero-dance-word-front{-webkit-text-stroke:1px #fff!important}.hero-dance-copy{left:20px!important;right:20px!important;bottom:34px!important;max-width:none!important;display:block!important}.hero-dance-copy>p{font-size:clamp(2rem,9vw,3rem)!important;line-height:1.02!important}.hero-dance-copy>div{margin-top:22px!important}.hero-dance-copy a:first-child{width:100%!important;justify-content:center!important}.hero-dance-copy a:last-child{margin:auto!important}.hero-dance-levels{left:16px!important;right:16px!important;top:370px!important;justify-content:flex-start!important}.hero-dance-levels span{font-size:.68rem!important;padding:7px 10px!important}.hero-dance-flower{width:92vw!important;right:-28vw!important;top:46%!important}.intro-band{display:block!important;padding:72px 20px!important}.intro-band h2{font-size:clamp(2.6rem,11vw,4.4rem)!important;line-height:.96!important;margin:22px 0!important}.section,.competition,.contact-section{padding-left:20px!important;padding-right:20px!important}.section-heading{display:block!important;border-top:0!important}.section-heading h2,.competition h2,.contact-section h2,.downloads-intro h2{font-size:clamp(2.55rem,10.5vw,4.25rem)!important;line-height:.96!important;max-width:100%!important}.section-heading>p{margin-top:20px!important;font-size:1rem!important;line-height:1.6!important}.class-grid,.info-strip,.team-grid{grid-template-columns:1fr!important}.schedule-download-panel{grid-template-columns:1fr!important;border-radius:22px!important;box-shadow:8px 8px 0 var(--adc-aqua)!important}.schedule-download-panel>div{min-height:0!important;padding:28px!important}.schedule-download-panel strong{font-size:clamp(4.5rem,22vw,6rem)!important}.competition{min-height:0!important;padding-top:78px!important;padding-bottom:78px!important}.competition-copy>p:not(.eyebrow){font-size:1rem!important;line-height:1.65!important}.competition-points{grid-template-columns:1fr!important}.competition-points span{width:100%!important;font-size:1.25rem!important}.gallery-slider-section{padding-top:18px!important}.gallery-slider-head{min-height:58px!important;padding:0 18px!important}.gallery-slide,.gallery-slide:nth-child(3n+2),.gallery-slide:nth-child(3n){flex-basis:86vw!important;height:58vh!important;border-radius:22px!important}.gallery-slider{padding-left:18px!important;padding-right:18px!important}.gallery-swipe{margin-left:18px!important;margin-right:18px!important}.dossier-banner{padding:56px 20px!important}.dossier-banner h2{font-size:clamp(2.35rem,10vw,3.9rem)!important;line-height:.98!important}.downloads-section{padding:78px 20px!important;grid-template-columns:1fr!important}.download-card{grid-template-columns:36px minmax(0,1fr) 48px!important;padding:20px 12px!important;gap:10px!important}.download-card h3,.download-card p{overflow-wrap:anywhere!important}.contact-section{grid-template-columns:1fr!important;gap:46px!important;padding-top:75px!important;padding-bottom:75px!important}.contact-list{width:100%!important}.contact-list a,.contact-list>div{align-items:flex-start!important}.contact-list span{font-size:1rem!important;line-height:1.45!important}.contact-form{padding:22px!important;box-shadow:7px 7px 0 var(--adc-aqua)!important}.form-row{grid-template-columns:1fr!important}.contact-form h3{font-size:2rem!important}.contact-form>small{font-size:.85rem!important;overflow-wrap:anywhere!important}}
@media(max-width:400px){.hero-dance{min-height:700px!important}.hero-dance-photo{height:250px!important}.hero-dance-word{top:218px!important}.hero-dance-levels{top:330px!important}.hero-dance-levels span:last-child{display:none!important}.hero-dance-copy{bottom:26px!important}.gallery-slide,.gallery-slide:nth-child(3n+2),.gallery-slide:nth-child(3n){height:50vh!important}.contact-section{padding-left:16px!important;padding-right:16px!important}.contact-form{padding:18px!important}.contact-list svg{width:23px!important;flex:0 0 23px!important}}
@media(prefers-reduced-motion:reduce){.hero-dance-photo img{animation:none!important}}

:root{--aloha-coral:#ff7d6f;--aloha-yellow:#ffd65a;--aloha-leaf:#58c98d}

.hero-approved{position:relative;width:100%;background:#eafaff;overflow:hidden}
.hero-approved>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.hero-approved-cta{position:absolute;z-index:3;left:13.5%;top:73%;width:24%;height:9%;border-radius:999px}
.hero-approved-cta:focus-visible{outline:4px solid var(--adc-pink);outline-offset:4px}
.hero-mobile-cta{display:none}

.intro-band{background:linear-gradient(90deg,#fffffff0,#ffffffce),url('assets/hero-facade-v3.png') center 49%/cover no-repeat!important}
.class-card:nth-child(5n+1){background:#e8f8ff!important}.class-card:nth-child(5n+2){background:#fff0f7!important}.class-card:nth-child(5n+3){background:#fff7d7!important}.class-card:nth-child(5n+4){background:#e7f9ef!important}.class-card:nth-child(5n){background:#f1edff!important}
.schedule-section{background:linear-gradient(135deg,#e8f8ff,#fff2f7 55%,#fff6d3)!important}
.team-section{background:linear-gradient(180deg,#fff,#effaff 55%,#fff)!important}

.championship-section{position:relative;display:grid;grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr);gap:clamp(30px,5vw,80px);align-items:center;padding:clamp(78px,9vw,130px) clamp(20px,6vw,96px);overflow:hidden;background:linear-gradient(135deg,#fff7cf 0%,#f9efff 46%,#daf8fa 100%);color:var(--adc-deep)}
.championship-section:before{content:"";position:absolute;right:-10%;bottom:-35%;width:56vw;height:56vw;background:url('assets/logo-transparent.png') center/contain no-repeat;opacity:.055;transform:rotate(-13deg);pointer-events:none}
.championship-copy,.championship-photos{position:relative;z-index:1}.championship-copy h2{margin:14px 0 26px;font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;font-size:clamp(3.3rem,6.5vw,7.6rem);font-weight:450;line-height:.86;letter-spacing:-.06em}.championship-copy>p:not(.eyebrow){max-width:580px;color:#365f80;font-size:1.05rem;line-height:1.75}.championship-badge{display:flex;align-items:center;gap:18px;margin-top:34px}.championship-badge strong{color:var(--adc-pink);font-size:clamp(4rem,7vw,7rem);line-height:.8}.championship-badge span{font-weight:750;line-height:1.35;text-transform:uppercase;letter-spacing:.06em}.championship-photos{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:center}.championship-photos figure{margin:0;overflow:hidden;border-radius:34px;box-shadow:0 25px 60px #20537629}.championship-photos figure:first-child{transform:rotate(-2deg)}.championship-photos figure:last-child{transform:translateY(8%) rotate(2deg)}.championship-photos img{display:block;width:100%;height:clamp(380px,52vw,690px);object-fit:cover}.championship-photos figure:first-child img{object-position:center}.championship-photos figure:last-child img{object-position:center}

.reviews-section{position:relative;isolation:isolate;min-height:580px;display:grid;place-items:center;padding:100px 20px!important;overflow:hidden;background:#e5f8ff!important}
.reviews-facade{position:absolute;inset:0;z-index:-2;background:url('assets/hero-facade-v3.png') center 48%/cover no-repeat;opacity:.28}
.reviews-section:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#e7f9fff0,#fff5f9d9 58%,#fff6d6d1)}
.reviews-content{width:min(1120px,100%);padding:clamp(32px,5vw,66px);border:1px solid #ffffffb8;border-radius:36px;background:#ffffffc7;backdrop-filter:blur(14px);box-shadow:0 24px 70px #134e7721;text-align:center}.reviews-content .eyebrow{justify-content:center}.reviews-content h2{margin:18px 0 36px;color:var(--adc-deep)!important;font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif!important;font-size:clamp(3rem,6vw,6rem);font-weight:450!important;line-height:.9;letter-spacing:-.055em}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:30px;text-align:left}.review-grid article{padding:25px;border-radius:22px;background:#fff;box-shadow:0 12px 28px #15517413}.review-grid article>div{color:#f6b600;letter-spacing:.12em}.review-grid blockquote{margin:16px 0;color:var(--adc-deep);font-size:1.05rem;line-height:1.55}.review-grid article>p{margin:0;color:#55758e;font-size:.85rem;font-weight:750}.google-reviews-link{border-radius:999px!important;background:linear-gradient(90deg,var(--adc-blue),#18a9bb)!important;color:#fff!important}

@media(max-width:900px){.championship-section{grid-template-columns:1fr}.championship-copy{max-width:720px}.championship-photos img{height:min(68vw,590px)}}
@media(max-width:720px){
 .hero-approved{padding-bottom:76px}.hero-approved>img{width:100%;height:auto;object-fit:contain}.hero-approved-cta{display:none}.hero-mobile-cta{position:absolute;left:18px;right:18px;bottom:17px;display:flex;min-height:48px;align-items:center;justify-content:center;gap:10px;border-radius:999px;background:var(--adc-blue);color:#fff;font-weight:750}
 .championship-section{padding:75px 18px}.championship-copy h2{font-size:clamp(3.1rem,15vw,5rem)}.championship-photos{gap:8px}.championship-photos figure{border-radius:18px}.championship-photos img{height:64vw}.championship-badge strong{font-size:5rem}
 .reviews-section{min-height:520px;padding:70px 18px!important}.reviews-content{padding:38px 20px;border-radius:24px}.reviews-content h2{font-size:clamp(2.8rem,13vw,4.5rem);overflow-wrap:normal;word-break:normal}.review-grid{grid-template-columns:1fr}.review-grid article{padding:21px}
}
@media(max-width:440px){.championship-photos{grid-template-columns:1fr}.championship-photos figure:first-child,.championship-photos figure:last-child{transform:none}.championship-photos img{height:80vw}}

:root{--aloha-round:"Avenir Next Rounded","Arial Rounded MT Bold","Trebuchet MS",sans-serif;--aloha-hand:"Segoe Print","Bradley Hand",cursive}

body{font-family:"Avenir Next","Trebuchet MS",Arial,sans-serif!important}
h1,h2,h3,.section h2,.intro-band h2,.competition h2,.contact-section h2,.downloads-intro h2,.dossier-banner h2,.championship-copy h2,.reviews-content h2{font-family:var(--aloha-round)!important;font-weight:600!important;letter-spacing:-.035em!important}
.eyebrow,.intro-band>p:first-child,.dossier-banner span,.schedule-download-panel span{font-family:var(--aloha-hand)!important;font-weight:600!important;letter-spacing:.025em!important;text-transform:none!important}
.class-card h3,.person-copy h3,.download-card h3{font-family:var(--aloha-round)!important;font-weight:650!important}

/* The approved artwork already contains a menu. Crop that strip so the real,
   accessible site navigation is the only menu shown. */
.hero-approved{aspect-ratio:1536/875!important;background:#eafaff!important}
.hero-approved>img{width:100%!important;height:auto!important;transform:translateY(-9.7%)!important}
.hero-approved-cta{top:68%!important}

.intro-band{background:linear-gradient(120deg,#dff8ff 0%,#fff0f8 49%,#fff5c7 100%)!important}
.facade-touch{position:relative;width:min(1160px,calc(100% - 44px));margin:-46px auto 76px;padding:12px;border-radius:34px;background:#fff;box-shadow:0 24px 64px #0b4e7d24;overflow:hidden;transform:rotate(-.8deg)}
.facade-touch img{display:block;width:100%;height:clamp(270px,43vw,540px);object-fit:cover;object-position:center 50%;border-radius:24px}
.facade-touch figcaption{position:absolute;left:32px;bottom:27px;display:flex;flex-direction:column;gap:2px;padding:13px 18px;border-radius:17px;background:#ffffffe9;backdrop-filter:blur(10px);color:var(--adc-deep)}
.facade-touch figcaption span{font-family:var(--aloha-hand);color:var(--adc-pink);font-size:1rem}
.facade-touch figcaption strong{font-family:var(--aloha-round);font-size:1rem}

.reviews-facade{display:none!important}
.reviews-section{background:linear-gradient(120deg,#ddf8ff,#fff0f8 52%,#fff5c8)!important}
.reviews-section:after{background:transparent!important}

.person-card img[src*="diego-pia-nuevo"]{object-position:center 18%!important}

@media(max-width:720px){
 .site-header{display:flex!important}
 .hero-approved{aspect-ratio:1536/875!important;padding-bottom:68px!important}
 .hero-approved>img{transform:translateY(-9.7%)!important}
 .hero-mobile-cta{bottom:13px!important}
 .facade-touch{width:calc(100% - 28px);margin:-24px auto 52px;padding:8px;border-radius:22px;transform:none}
 .facade-touch img{height:64vw;border-radius:16px}
 .facade-touch figcaption{left:18px;right:18px;bottom:17px;padding:10px 13px}
}

500;600&family=Kalam:wght@400;700&family=Nunito:wght@400;500;600;700&display=swap');

:root{
  --aloha-display:"Fredoka","Arial Rounded MT Bold",sans-serif;
  --aloha-body:"Nunito","Trebuchet MS",sans-serif;
  --aloha-script:"Kalam","Segoe Print",cursive;
}

html,body{overflow-x:hidden}
body,button,input,select,textarea{font-family:var(--aloha-body)!important}
h1,h2,h3,.section h2,.intro-band h2,.competition h2,.contact-section h2,
.downloads-intro h2,.dossier-banner h2,.championship-copy h2,.reviews-content h2,
.class-card h3,.person-copy h3,.download-card h3{
  font-family:var(--aloha-display)!important;
  font-weight:500!important;
  letter-spacing:-.025em!important;
  line-height:1.04!important;
  overflow-wrap:anywhere;
}
.eyebrow,.intro-band>p:first-child,.dossier-banner span,.schedule-download-panel span,
.facade-touch figcaption span{
  font-family:var(--aloha-script)!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* La portada enviada incluye una cabecera de ejemplo en los primeros 133 px.
   El marco muestra exclusivamente la ilustración aprobada. */
.hero-approved{
  position:relative!important;
  width:100%!important;
  aspect-ratio:1280/718!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#eefaff!important;
}
.hero-approved>img{
  position:absolute!important;
  inset:0 auto auto 0!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  transform:translateY(-15.63%)!important;
}
.hero-approved-cta{
  left:52.4%!important;
  top:66.8%!important;
  width:23.5%!important;
  height:8.6%!important;
}

/* Fondos luminosos y tropicales, sin grandes masas negras. */
.intro-band{background:linear-gradient(115deg,#dffaff 0%,#fff 40%,#fff0f7 72%,#fff2bd 100%)!important}
#clases{background:linear-gradient(150deg,#fff 0 50%,#e6fbff 50% 100%)!important}
.schedule-section{background:linear-gradient(135deg,#fff5ce,#ffe9f5 53%,#dffaff)!important}
.team-section{background:linear-gradient(180deg,#fff 0%,#edfaff 48%,#fff 100%)!important}
.championship-section{background:linear-gradient(135deg,#eefaff,#fff 48%,#fff0f7)!important}
.downloads-section{background:linear-gradient(130deg,#fff9db,#fff 48%,#e3fbff)!important}
.reviews-section{background:linear-gradient(120deg,#dff9ff,#fff 45%,#ffeaf5 72%,#fff3c9)!important}

@media(max-width:720px){
  h1,h2,h3,.section h2,.intro-band h2,.competition h2,.contact-section h2,
  .downloads-intro h2,.dossier-banner h2,.championship-copy h2,.reviews-content h2{
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:auto;
  }
  .hero-approved{
    aspect-ratio:auto!important;
    height:calc(56.1vw + 68px)!important;
    padding:0!important;
  }
  .hero-approved>img{transform:translateY(-15.63%)!important}
  .hero-approved-cta{display:none!important}
  .hero-mobile-cta{display:flex!important;bottom:12px!important}
}

:root{
  --aloha-blue:#2874c7;
  --aloha-aqua:#55d7dc;
  --aloha-pink:#ef68a6;
  --aloha-sun:#ffd85a;
  --aloha-navy:#123f72;
}

/* Nunca separar palabras con guiones ni forzar cortes artificiales. */
h1,h2,h3,p,a,button,span,strong,blockquote,label,
.section h2,.intro-band h2,.competition h2,.contact-section h2,
.downloads-intro h2,.dossier-banner h2,.championship-copy h2,.reviews-content h2,
.section-heading>p,.download-card p,.person-copy>p,.person-bio,.contact-list span{
  hyphens:none!important;
  -webkit-hyphens:none!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Titulares con la misma mezcla cromática de la portada. */
.intro-band h2,#clases .section-heading h2,.schedule-section .section-heading h2,
.team-section .section-heading h2,.championship-copy h2,
.downloads-intro h2,.reviews-content h2{
  color:var(--aloha-blue)!important;
  background:linear-gradient(98deg,var(--aloha-blue) 0 42%,var(--aloha-aqua) 58%,var(--aloha-pink) 82%,var(--aloha-blue) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.eyebrow{color:var(--aloha-pink)!important}
.eyebrow svg{color:var(--aloha-aqua)!important}
.class-card:nth-child(4n+1),.download-card:nth-child(4n+1){border-top-color:var(--aloha-aqua)!important}
.class-card:nth-child(4n+2),.download-card:nth-child(4n+2){border-top-color:var(--aloha-pink)!important}
.class-card:nth-child(4n+3),.download-card:nth-child(4n+3){border-top-color:var(--aloha-sun)!important}
.class-card:nth-child(4n),.download-card:nth-child(4n){border-top-color:var(--aloha-blue)!important}
.class-card{border-top:5px solid var(--aloha-aqua)!important}
.button.primary,.header-cta,.schedule-download,.dossier-button{
  background:linear-gradient(105deg,var(--aloha-blue),var(--aloha-aqua))!important;
  color:#fff!important;
  border:0!important;
}

/* Redes integradas en la identidad de Aloha. */
.header-social a,.socials a{
  background:#fff!important;
  color:var(--aloha-blue)!important;
  border:2px solid var(--aloha-aqua)!important;
  box-shadow:0 5px 14px #2874c724!important;
}
.header-social a:hover,.socials a:hover{
  color:#fff!important;
  background:linear-gradient(135deg,var(--aloha-blue),var(--aloha-aqua))!important;
  border-color:transparent!important;
}
.youtube-icon .play{fill:#fff!important}
.header-social .youtube-icon .play,.socials .youtube-icon .play{fill:var(--aloha-blue)!important}
.header-social .youtube-icon:hover .play,.socials .youtube-icon:hover .play{fill:#fff!important}
.footer-social-text a{color:var(--aloha-blue)!important;text-decoration-color:var(--aloha-aqua)!important}
.footer-social-text a:hover{color:var(--aloha-pink)!important}

@media(max-width:720px){
  h1,h2,h3,p,a,button,span,strong,blockquote,label{hyphens:none!important;-webkit-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}
  .section-heading h2,.intro-band h2,.competition h2,.contact-section h2,
  .downloads-intro h2,.dossier-banner h2,.championship-copy h2,.reviews-content h2{
    font-size:clamp(2.15rem,9.4vw,3.65rem)!important;
    line-height:1.03!important;
  }
  .download-card h3,.download-card p,.contact-list span,.person-copy>p,.person-bio{
    min-width:0!important;
    max-width:100%!important;
    font-size:clamp(.92rem,4vw,1rem)!important;
  }
  .download-card{grid-template-columns:30px minmax(0,1fr) 44px!important}
}

:root{--aloha-brush:"Knewave","Segoe Print","Arial Rounded MT Bold",cursive}

/* Trazo manual inspirado en el rótulo pintado de la portada. */
.intro-band h2,.section-heading h2,.competition h2,.championship-copy h2,
.dossier-banner h2,.downloads-intro h2,.reviews-content h2,.contact-section h2{
  font-family:var(--aloha-brush)!important;
  font-weight:400!important;
  letter-spacing:.005em!important;
  line-height:1.08!important;
}

/* Los bloques pueden crecer y envolver texto sin invadir el recuadro vecino. */
.section-heading>*,.class-card,.class-card>*,.info-strip>div,.info-strip>div>*,
.schedule-download-panel>div,.schedule-download-panel>div>*,.person-card,.person-copy,
.person-copy>*,.competition-copy,.competition-copy>*,.championship-copy,
.championship-copy>*,.dossier-banner>div,.dossier-banner>div>*,.download-card,
.download-card>div,.download-card>div>*,.review-grid article,.review-grid article>*,
.contact-copy,.contact-copy>*,.contact-form,.contact-form>*,.contact-list a,
.contact-list>div,.contact-list span,.footer-links,.footer-social-text{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

.class-card h3,.person-copy h3,.download-card h3,.contact-form h3,
.class-card p,.person-copy p,.person-bio,.download-card p,.review-grid blockquote,
.contact-list span,.footer-social-text a{
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  hyphens:none!important;
  -webkit-hyphens:none!important;
}

.class-card h3{font-size:clamp(1.45rem,2.3vw,2.15rem)!important}
.download-card h3{font-size:clamp(1.05rem,1.7vw,1.45rem)!important;line-height:1.18!important}
.person-copy h3{font-size:clamp(1.65rem,2.8vw,2.7rem)!important}
.contact-list a[href^="mailto"] span{overflow-wrap:anywhere!important}

@media(max-width:720px){
  .intro-band h2,.section-heading h2,.competition h2,.championship-copy h2,
  .dossier-banner h2,.downloads-intro h2,.reviews-content h2,.contact-section h2{
    font-size:clamp(2rem,9vw,3.25rem)!important;
    line-height:1.08!important;
  }
  .class-card,.person-copy,.download-card,.review-grid article{overflow:hidden!important}
  .class-card h3{font-size:clamp(1.45rem,7vw,2rem)!important}
  .person-copy h3{font-size:clamp(1.65rem,8vw,2.35rem)!important}
  .download-card{padding:18px 10px!important;gap:8px!important}
  .download-card h3{font-size:1.05rem!important}
  .download-card p{font-size:.9rem!important;line-height:1.4!important}
  .download-card>a{width:40px!important;height:40px!important}
}

.wedding-section{display:grid;grid-template-columns:minmax(280px, .72fr) minmax(0,1.28fr);align-items:center;gap:clamp(38px,7vw,110px);padding:clamp(75px,9vw,135px) clamp(22px,7vw,110px);background:radial-gradient(circle at 9% 15%,#ffd9ec 0 8%,transparent 29%),radial-gradient(circle at 94% 88%,#d6f8fa 0 12%,transparent 34%),#fff;color:var(--aloha-navy);overflow:hidden}
.wedding-poster{position:relative;max-width:470px;margin:auto;padding:10px;background:#fff;border-radius:28px;box-shadow:18px 18px 0 #70dce0,0 28px 70px #194a7b24;transform:rotate(-1.5deg)}
.wedding-poster:before{content:"";position:absolute;inset:-18px auto auto -18px;width:84px;height:84px;border-radius:50%;background:#ffd85a;z-index:-1}
.wedding-poster img{display:block;width:100%;height:auto;border-radius:20px}
.wedding-copy{min-width:0;max-width:760px}
.wedding-copy h2{margin:12px 0 24px;font-family:var(--aloha-brush)!important;font-size:clamp(3.3rem,6.4vw,7rem);font-weight:400;line-height:.9;color:var(--aloha-blue);background:linear-gradient(96deg,var(--aloha-blue),var(--aloha-aqua) 57%,var(--aloha-pink));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.wedding-copy>p{font-size:clamp(1rem,1.35vw,1.14rem);line-height:1.72;color:#365e81}
.wedding-copy .wedding-lead{font-size:clamp(1.22rem,1.8vw,1.52rem);font-weight:700;line-height:1.45;color:var(--aloha-navy)}
.wedding-copy h3{margin:30px 0 12px;font-family:var(--aloha-display)!important;font-size:1.55rem;color:var(--aloha-pink)}
.wedding-copy ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.wedding-copy li{position:relative;padding-left:29px;font-size:1.04rem;line-height:1.45}
.wedding-copy li:before{content:"✦";position:absolute;left:0;color:var(--aloha-aqua);font-size:1.2rem}
.wedding-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.wedding-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:14px 21px;text-align:center}
.wedding-contact{background:linear-gradient(105deg,var(--aloha-pink),#ff9ac8)!important;color:#fff!important}
.wedding-download{background:#fff!important;color:var(--aloha-blue)!important;border:2px solid var(--aloha-aqua)!important}
.wedding-phone{margin-top:17px!important;font-size:.98rem!important}.wedding-phone a{color:var(--aloha-blue);font-weight:800}
.download-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

@media(max-width:820px){.wedding-section{grid-template-columns:1fr;padding:70px 20px;gap:48px}.wedding-poster{width:min(86vw,440px);transform:none;box-shadow:10px 10px 0 #70dce0,0 22px 50px #194a7b20}.wedding-copy h2{font-size:clamp(3rem,15vw,5rem);line-height:.92}.wedding-actions{display:grid}.wedding-actions .button{width:100%}.download-grid{grid-template-columns:1fr!important}}

.site-footer{grid-template-columns:minmax(220px,1fr) minmax(260px,1.35fr) auto!important;align-items:start!important}
.footer-network{display:flex;align-items:center;gap:14px}.footer-bottom{grid-column:1/-1;width:100%;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:12px;padding-top:24px;border-top:1px solid #d9eaf2;color:#607a90;font-size:.79rem}.footer-bottom p{margin:0 0 9px}.legal-links{display:flex;flex-wrap:wrap;gap:10px 22px}.legal-links a{color:var(--aloha-blue);font-weight:750;text-decoration:underline;text-decoration-color:#63dce2;text-underline-offset:4px}.legal-links a:hover{color:var(--aloha-pink)}
.creator-credit{display:flex;align-items:center;gap:10px;flex:0 0 auto;color:#50687d;font-size:.74rem;font-weight:700}.creator-credit img{display:block;width:116px;height:52px;object-fit:contain;background:transparent}.creator-credit:hover{color:var(--aloha-pink)}
.legal-page{min-height:100vh;background:linear-gradient(145deg,#f8fdff,#fdf7fb);color:#173d62}.legal-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px clamp(18px,5vw,72px);background:#fffffff2;border-bottom:1px solid #d7eaf2;backdrop-filter:blur(15px)}.legal-header img{width:104px;height:68px;object-fit:contain}.legal-back{display:inline-flex;align-items:center;gap:8px;padding:11px 17px;border-radius:999px;background:#2476c9;color:#fff;font-size:.88rem;font-weight:800}.legal-content{width:min(860px,calc(100% - 36px));margin:0 auto;padding:clamp(62px,8vw,105px) 0 85px}.legal-content .eyebrow{color:#e74d9e}.legal-content h1{margin:10px 0 30px;font-family:var(--aloha-brush)!important;font-size:clamp(3.2rem,8vw,6rem);font-weight:400;line-height:.94;color:#2476c9}.legal-content h2{margin:36px 0 12px;font-family:var(--aloha-display)!important;font-size:clamp(1.35rem,3vw,1.8rem);color:#e74d9e}.legal-content p,.legal-content li{font-size:1rem;line-height:1.75;color:#456681}.legal-content ul{display:grid;gap:8px;padding-left:22px}.legal-content a{color:#1671c6;font-weight:750;text-decoration:underline;text-underline-offset:3px}.legal-updated{margin-bottom:34px!important;color:#7390a7!important;font-size:.86rem!important}.legal-card{margin:34px 0;padding:22px 24px;border:1px solid #cce7f0;border-radius:22px;background:#fff;box-shadow:8px 8px 0 #c9f3f2}.legal-card p{margin:4px 0}.legal-footer{padding:28px 18px;text-align:center;background:#eef9fc;color:#607a90;font-size:.82rem}
@media(max-width:820px){.site-footer{grid-template-columns:1fr!important;justify-items:center;text-align:center}.footer-network{flex-direction:column}.footer-bottom{flex-direction:column;text-align:center}.legal-links{justify-content:center}.creator-credit{flex-direction:column}.creator-credit img{width:135px;height:58px}}
@media(max-width:520px){.legal-header img{width:86px;height:58px}.legal-back{padding:10px 13px}.legal-content{width:min(100% - 28px,860px)}.legal-card{padding:19px 18px}}

/* WordPress integration */
[hidden]{display:none!important}body{margin:0}.aloha-alert{margin:16px auto;max-width:680px;padding:18px;border-radius:16px;background:#e8f9fc;color:#135888}.aloha-alert.error{background:#fff0f0;color:#9b2430}.contact-form .privacy-consent{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;font-size:.88rem;line-height:1.45}.privacy-consent input{width:18px!important;height:18px;margin:2px 0 0!important}.privacy-consent span{display:block;min-width:0}.privacy-consent a{display:inline;color:var(--aloha-blue);text-decoration:underline;text-underline-offset:2px}.contact-form label{min-width:0}.contact-form input[type="date"]{display:block;width:100%!important;min-width:0!important;max-width:100%!important;-webkit-appearance:none;appearance:none}.contact-form .aloha-honeypot{position:absolute!important;left:-9999px!important}.contact-form button[disabled]{opacity:.6}.site-header svg,.contact-section svg{flex-shrink:0}

/* Icono oficial de YouTube: pastilla roja y triángulo blanco. */
.header-social .youtube-icon svg,.socials .youtube-icon svg{overflow:visible}
.header-social .youtube-icon path:first-child,.socials .youtube-icon path:first-child{fill:#ff0000!important}
.header-social .youtube-icon .play,.socials .youtube-icon .play{fill:#fff!important}

/* Selección táctil de profesores: en móvil no existe el estado hover. */
.person-copy{transition:background-color .25s ease,color .25s ease}
.person-card.is-touch-active .person-copy{background:var(--aloha-pink)!important;color:#fff!important}
.person-card.is-touch-active .person-image img{filter:grayscale(0)!important;transform:scale(1.035)}
.person-card.is-touch-active .person-copy h3,
.person-card.is-touch-active .person-copy>p,
.person-card.is-touch-active .person-copy button,
.person-card.is-touch-active .person-bio{color:#fff!important}
.person-card.is-touch-active .person-copy button{border-color:#fff!important}

/* Escritorio: color al pasar el cursor. Móvil: color al tocar la tarjeta. */
.person-card:focus .person-image img,
.person-card:focus-within .person-image img,
.person-card.is-touch-active .person-image img{
  filter:grayscale(0)!important;
  -webkit-filter:grayscale(0)!important;
  transform:scale(1.035);
}
