@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--red:#e62c3c;--paper:#f5f3ed;--ink:#191919}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ee8d12;outline-offset:5px}header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:12px 5%;background:var(--paper);position:relative;z-index:5}.logo{width:130px;height:60px;object-fit:contain}nav{display:flex;align-items:center;gap:36px;font-size:13px;font-weight:600}.nav-contact{border:1px solid #bbb8b0;padding:13px 22px;border-radius:30px}.menu{display:none}.hero{height:720px;max-height:calc(100svh - 90px);min-height:610px;position:relative;color:white;overflow:hidden}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center 57%}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.83),rgba(0,0,0,.33) 65%,rgba(0,0,0,.1))}.hero-content{position:relative;padding:62px 6%}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.1px;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;letter-spacing:-1px;font-weight:700;line-height:.99}h1{font-size:clamp(64px,7.5vw,108px);margin-bottom:24px}em{font-style:normal;color:var(--red)}.hero-copy{font-size:16px;line-height:1.7;color:#e1e0dd}.button{display:inline-flex;gap:40px;align-items:center;padding:17px 24px;border-radius:3px;font-weight:600;font-size:13px;transition:transform .2s}.button:hover{transform:translateY(-3px)}.red{background:var(--red);color:white}.hero-bottom{position:absolute;bottom:27px;left:6%;right:6%;display:flex;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:22px;font-size:10px;letter-spacing:1.7px}.anniversary{position:absolute;right:6%;top:52px;display:flex;align-items:center;gap:12px}.anniversary strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:75px;line-height:1}.anniversary span{font-size:10px;letter-spacing:2px;line-height:1.5}.ticker{display:flex;justify-content:space-around;align-items:center;gap:24px;padding:19px 4%;background:var(--red);color:white;overflow:hidden;white-space:nowrap;font-family:'Barlow Condensed',Impact,sans-serif;font-size:25px;letter-spacing:.5px}.ticker b{font-size:30px}.section{padding:95px 6%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}h2{font-size:70px;margin-bottom:0}.section-heading>p{font-size:14px;line-height:1.8;color:#64635e;margin-bottom:4px}.filters{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.filters button{border:1px solid #c9c6bf;padding:11px 18px;border-radius:25px;font-size:12px;background:transparent}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.dance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px}.dance-card{min-width:0}.dance-card[hidden]{display:none}.dance-photo{height:270px;overflow:hidden;background:#d9d6ce;position:relative}.dance-photo img{height:100%;width:100%;object-fit:cover;transition:transform .5s;filter:saturate(.65)}.dance-card:hover img{transform:scale(1.05)}.dance-photo a{position:absolute;right:14px;bottom:14px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--paper);font-size:22px}.dance-card h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:30px;margin:14px 0 7px}.dance-card p{font-size:12px;line-height:1.7;color:#67645e}.small-note{font-size:11px;color:#77746d;margin:28px 0 0}.about{display:grid;grid-template-columns:1fr 1fr;gap:7%;background:#e9e6de;align-items:center}.about-photo{position:relative;min-width:0}.about-photo img{width:100%;height:530px;object-fit:cover;object-position:65%;display:block}.about-photo span{position:absolute;bottom:24px;left:25px;color:white;font-size:10px;letter-spacing:2px}.about h2{font-size:62px;margin-bottom:30px}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#5e5a54}.year{border-top:1px solid #bebbb4;margin-top:30px;padding-top:23px;display:flex;flex-direction:column;gap:8px}.year strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:36px}.year span{font-size:12px;color:#666}.text-link{display:inline-block;font-size:13px;font-weight:700;margin-top:25px;border-bottom:1px solid;padding-bottom:6px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px}.steps article{border-top:1px solid #c6c3bb;padding-top:25px}.steps span{font-size:12px;color:var(--red);font-weight:700}.steps h3{font-size:20px;margin:24px 0 14px}.steps p{font-size:14px;line-height:1.8;color:#68645e}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;background:#e9e6de}.faq h2{font-size:60px}details{border-bottom:1px solid #c3c0b8;padding:22px 0}details:first-child{padding-top:0}summary{font-size:14px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{font-size:22px;font-weight:400}details[open] summary span{transform:rotate(45deg)}details p{margin:16px 30px 0 0;font-size:13px;line-height:1.8;color:#625f58}.contact{background:var(--red);color:white}.contact h2{font-size:clamp(90px,12vw,170px);line-height:.85}.contact h2 em{color:#1a1918}.contact h2>span{float:right;font-size:180px;font-family:Arial;font-weight:400}.contact-row{display:flex;justify-content:space-between;margin-top:45px;gap:30px}.contact-row p{font-size:15px}.black{background:var(--ink);color:white}.contact address{font-style:normal;font-size:13px;line-height:1.9}.contact address a{display:inline-block;margin-top:6px;text-decoration:underline;text-underline-offset:4px}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px 6%;font-size:12px}footer small{color:#777}.skip{position:absolute;left:20px;top:-100px;z-index:10;background:white;padding:15px}.skip:focus{top:10px}@media(min-width:1500px){.hero-content{padding-top:60px}.hero{max-height:800px}}@media(max-width:900px){.dance-grid{grid-template-columns:repeat(2,1fr)}.section{padding:65px 6%}h2{font-size:60px}.section-heading{gap:25px}.anniversary{display:none}.about{gap:30px}.about h2{font-size:50px}.about-photo img{height:480px}nav{gap:20px}.faq{gap:30px}}@media(max-width:600px){header{height:76px}.logo{width:105px;height:50px}.menu{display:block;border:0;background:transparent;font-size:25px}nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--paper);padding:25px 6%;flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero{min-height:640px;max-height:none;height:calc(90svh - 76px)}.hero-content{padding-top:60px}.hero-image{object-position:62%}.hero-shade{background:linear-gradient(90deg,#000c,#0005)}h1{font-size:64px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.hero-copy{font-size:14px}.hero-bottom{font-size:8px;gap:15px}.hero-bottom a{white-space:nowrap}.ticker{font-size:18px;justify-content:flex-start;padding:14px 6%;gap:20px}.ticker b{font-size:20px}.section-heading{display:block}.section-heading>p{margin-top:23px}.section{padding:55px 6%}h2{font-size:55px}.filters{gap:6px}.filters button{font-size:10px;padding:10px 12px}.dance-grid{gap:25px 14px}.dance-photo{height:210px}.dance-card h3{font-size:26px}.dance-card p{font-size:11px}.about,.faq{grid-template-columns:1fr;gap:35px}.about-photo img{height:340px}.about h2,.faq h2{font-size:52px}.steps{grid-template-columns:1fr;gap:20px;margin-top:30px}.steps h3{margin:15px 0 12px}.steps p{margin-bottom:0}.contact h2{font-size:100px}.contact h2>span{font-size:90px;margin-top:30px}.contact-row{flex-direction:column;gap:35px}.contact-row .button{font-size:12px;padding:17px 18px}footer{flex-wrap:wrap;padding:25px 6%;gap:15px}footer span{font-size:10px}footer small{font-size:10px}footer>a:last-child{margin-left:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Modalidades, grade e comunidade */
.dance-open{display:block;text-align:left;width:100%;padding:0;border:0;background:transparent;color:inherit}.card-arrow{position:absolute;right:14px;bottom:14px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--paper);font-size:22px}.card-more{font-size:11px;font-weight:700;border-bottom:1px solid #bbb;padding-bottom:4px}.baby-art{height:100%;padding:25px;background:#e9b9af;display:flex;flex-direction:column;justify-content:space-between;color:#65252c}.baby-art>span{font-size:10px;letter-spacing:1px}.baby-art>span:last-child{font-size:34px}.baby-art strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:35px;line-height:1.05}.schedule{background:#e9e6de}.schedule-controls{display:flex;gap:24px;margin-bottom:25px}.schedule-controls label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:600;flex:1;max-width:330px}select{font:inherit;background:var(--paper);border:1px solid #bdb8ad;padding:14px 35px 14px 14px;color:var(--ink);border-radius:3px;width:100%}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}thead{background:var(--ink);color:white}th,td{padding:17px 19px;line-height:1.5}tbody th{font-weight:600}tbody tr{border-bottom:1px solid #cdc8bd}tbody tr:nth-child(even){background:#ffffff45}.schedule-count{font-size:12px;color:#605d55}.empty-schedule{padding:30px;background:var(--paper);line-height:1.7}.trial{display:flex;gap:35px;justify-content:space-between;align-items:center;background:#1b1b1b;color:white}.trial h2{font-size:58px}.trial p:not(.eyebrow){margin:25px 0 0;font-size:14px;line-height:1.8;color:#ccc}.trial .button{flex-shrink:0}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.review-grid figure{margin:0;padding:32px 0;border-top:1px solid #c5c0b5}.stars{color:#b5212f;letter-spacing:4px}.review-grid blockquote{margin:25px 0;font-size:23px;line-height:1.5;max-width:480px}.review-grid figcaption{display:flex;flex-direction:column;gap:7px;font-size:13px}.review-grid figcaption span{font-size:11px;color:#6a665e}.social-links{border-top:1px solid #ffffff55;margin-top:45px;padding-top:25px;display:flex;align-items:center;gap:30px}.social-links span{font-size:10px;letter-spacing:1.5px;margin-right:auto}.social-links a{font-size:14px;text-decoration:underline;text-underline-offset:5px}.dialog-open{overflow:hidden}dialog{width:min(850px,92vw);max-height:90svh;border:0;padding:48px;background:var(--paper);color:var(--ink);border-radius:6px}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.dialog-close{position:sticky;top:0;float:right;width:38px;height:38px;border:1px solid #c9c4bb;border-radius:50%;background:var(--paper);font-size:26px;line-height:1;z-index:2}dialog h2{font-size:55px;margin-bottom:18px;clear:both}.dialog-lead{font-size:17px;color:var(--red);font-weight:600}.dialog-description{font-size:15px;line-height:1.85;margin-bottom:30px}dialog h3{font-size:18px}dialog table{font-size:12px}dialog td,dialog th{padding:12px 10px}.dialog-trial{background:#e8e4db;padding:22px;margin-top:26px}.dialog-trial p{font-size:13px;line-height:1.6;margin:10px 0 18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){nav{gap:17px}.trial{align-items:flex-start;flex-direction:column}.review-grid blockquote{font-size:20px}}@media(max-width:600px){.schedule-controls{flex-direction:column;gap:18px}.schedule-controls label{max-width:none}.table-wrap table{min-width:570px}.schedule th,.schedule td{padding:13px 12px}.review-grid{grid-template-columns:1fr;gap:8px}.trial h2{font-size:48px}.social-links{flex-wrap:wrap;gap:20px}.social-links span{width:100%}dialog{padding:23px 18px;max-height:92svh}dialog h2{font-size:42px;overflow-wrap:anywhere}.dialog-description{font-size:14px}.dialog-trial{padding:18px}.baby-art{padding:18px}.baby-art strong{font-size:27px}.baby-art>span{font-size:8px}.baby-art>span:last-child{font-size:25px}}

/* Responsive layout: compact screens get readable class cards. */
section,header,footer,.section-heading>*{min-width:0}
img{max-width:100%}.button{max-width:100%;gap:16px;line-height:1.5}
.social-icon{width:24px;height:24px;object-fit:contain;flex-shrink:0}
.social-links a{display:inline-flex;align-items:center;gap:10px;min-height:44px}
.social-links{flex-wrap:wrap}.whatsapp{gap:12px}
.dance-card h3{overflow-wrap:break-word}
.dance-photo img[src*="primeira-formacao"]{object-position:48% center;filter:none}
.about-photo img{height:auto;aspect-ratio:4/3;object-position:center}
.about-photo span{background:#000a;padding:9px 12px;left:12px;bottom:12px;max-width:calc(100% - 24px)}
.ticker{flex-wrap:wrap;white-space:normal;gap:12px 24px}
.schedule-table{table-layout:fixed}.schedule-table th,.schedule-table td{overflow-wrap:break-word}
.hero .button{gap:25px}
@media(max-width:1050px){header{padding-inline:4%}nav{gap:16px;font-size:12px}.nav-contact{padding:12px}.hero h1{font-size:clamp(56px,8vw,90px)}.about h2{font-size:clamp(42px,5vw,62px)}}
@media(max-width:760px){
 header{height:76px}.logo{width:105px;height:50px}.menu{display:block;border:0;background:transparent;font-size:25px;min-width:44px;min-height:44px}
 nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--paper);padding:25px 6%;flex-direction:column;align-items:stretch;font-size:14px}nav.open{display:flex}nav a{padding:10px}
 .about,.faq{grid-template-columns:1fr;gap:35px}.about-photo img{height:auto}.section-heading{display:block}.section-heading>p{margin-top:22px}
 .contact-row{flex-direction:column}.contact h2>span{font-size:90px}.contact h2{font-size:clamp(72px,14vw,110px)}
 .table-wrap{overflow:visible}.table-wrap .schedule-table{min-width:0;width:100%;display:block}
 .schedule-table caption{position:absolute}.schedule-table thead{display:none}.schedule-table tbody{display:grid;grid-template-columns:1fr;gap:12px}
 .schedule-table tr{display:grid;grid-template-columns:1fr;gap:6px;border:1px solid #cec9bf;padding:18px;background:var(--paper);border-radius:5px}
 .schedule-table tbody tr:nth-child(even){background:var(--paper)}
 .schedule-table th,.schedule-table td{display:block;padding:0!important;border:0;line-height:1.55}
 .schedule-table th{font-size:20px;font-family:'Barlow Condensed',Impact,sans-serif}
 .schedule-table td{font-size:13px}.schedule-table td::before{content:attr(data-label) ': ';font-weight:700}
 dialog{padding:25px 20px;max-width:94vw}dialog h2{font-size:clamp(32px,7vw,48px);overflow-wrap:break-word}
 .ticker{display:grid;grid-template-columns:1fr;gap:10px;text-align:center;padding:18px 6%;font-size:19px}.ticker b{display:none}
 .schedule-controls{flex-direction:column;gap:16px}.schedule-controls label{max-width:none}
}
@media(max-width:600px){
 .hero{height:auto;min-height:640px;max-height:none}.hero-content{padding:48px 6% 125px}.hero h1{font-size:clamp(45px,10.7vw,64px);letter-spacing:-.6px}
 .hero-bottom{flex-wrap:wrap;gap:12px;line-height:1.5;font-size:9px}.hero .eyebrow{line-height:1.6}
 .hero-copy br{display:none}.hero-copy{max-width:30ch}.hero-copy{line-height:1.7}
 .dance-grid{gap:28px 14px}.dance-photo{height:auto;aspect-ratio:4/5}.dance-card h3{font-size:clamp(23px,5.7vw,29px);line-height:1.1}.dance-card p{font-size:12px}
 .about h2,.faq h2,h2{font-size:clamp(42px,11vw,55px)}.trial h2{font-size:clamp(40px,10.5vw,48px)}
 .contact h2{font-size:clamp(72px,20vw,100px)}.contact h2>span{font-size:60px;float:none;display:inline-block;margin:0}
 .social-links{gap:14px 24px}.social-links span{width:100%}.social-links a{font-size:13px}
 .filters button{font-size:11px;min-height:44px}.button{font-size:12px;padding:15px 17px;white-space:normal}
 footer{align-items:flex-start}.review-grid blockquote{font-size:20px}
}
@media(max-width:350px){.dance-grid{grid-template-columns:1fr}.dance-photo{aspect-ratio:4/3}.hero-content{padding-top:36px}.hero .eyebrow{letter-spacing:1px}.contact h2>span{display:none}}


.modal-teachers{margin:0 0 30px;padding:20px 0;border-top:1px solid #d3cfc6;border-bottom:1px solid #d3cfc6}
.modal-teachers h3{font-size:13px;letter-spacing:.5px;margin:0 0 16px;color:#625f58}
.teacher-list{display:flex;flex-wrap:wrap;gap:18px 32px}
.teacher-thumb{display:flex;align-items:center;gap:13px;min-width:0}
.teacher-thumb img,.director-credit img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center 30%;filter:grayscale(1);border:2px solid white;box-shadow:0 0 0 1px #d2cdc3;flex-shrink:0}
.teacher-thumb span{font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.director-credit{display:flex;gap:14px;align-items:center;margin-top:25px}.director-credit div{display:flex;flex-direction:column;gap:5px}.director-credit strong{font-size:14px}.director-credit span{font-size:12px;color:#625f58}
.space{background:#e9e6de}.space-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.space-card{margin:0;min-width:0;background:var(--paper)}.space-card>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block}.space-card figcaption{padding:24px}.space-card h3{font-family:'Barlow Condensed',Impact,sans-serif;font-size:28px;line-height:1.1;margin:0 0 12px}.space-card p{font-size:13px;line-height:1.7;color:#625f58;margin:0}
@media(min-width:761px) and (max-width:1100px){nav{gap:12px;font-size:11px}.nav-contact{padding:10px}}
@media(max-width:760px){.space-grid{grid-template-columns:1fr;gap:24px}.space-card figcaption{padding:20px}.teacher-list{flex-direction:column;gap:16px}.teacher-thumb span{font-size:13px}.teacher-thumb img{width:58px;height:58px}}

/* Readable, color portraits with an accessible enlarged view. */
.teacher-thumb{border:1px solid #d8d3c9;border-radius:6px;background:#fff;padding:10px;text-align:left;color:var(--ink);flex:1;min-width:220px;gap:16px}
.teacher-thumb img{width:96px;height:120px;border-radius:4px;filter:none;object-fit:cover;object-position:50% 32%;border:0;box-shadow:none}
.teacher-thumb small,.director-credit small{display:block;font-size:11px;font-weight:400;margin-top:8px;color:#625f58;text-decoration:underline;text-underline-offset:3px}
.teacher-thumb:hover,.director-credit:hover{border-color:var(--red)}
.director-credit{border:1px solid #d3cfc6;background:transparent;border-radius:6px;padding:12px;text-align:left;color:inherit;max-width:100%}.director-credit img{width:80px;height:100px;border-radius:4px;filter:none;object-position:50% 35%}
#profile-dialog{width:min(650px,94vw);padding:22px;max-height:94svh;background:var(--paper)}
.profile-close{position:sticky;top:0;margin-left:auto;display:block;z-index:2;width:44px;height:44px;border:1px solid #bdb8ad;border-radius:50%;background:var(--paper);color:var(--ink);font-size:28px;line-height:1;float:none}
.profile-photo{display:block;width:100%;height:auto;max-height:65svh;object-fit:contain;margin:12px auto 22px;border-radius:4px}
#profile-title{font-size:36px;margin:0 0 10px;line-height:1.1}.profile-role{font-size:14px;line-height:1.6;margin:0}.profile-bio{font-size:14px;line-height:1.8;margin-top:20px}
.space-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.space-card>img[src*="terceira-sala"]{object-position:center 56%}
@media(max-width:760px){.space-grid{grid-template-columns:1fr}.teacher-thumb{min-width:0;width:100%;flex:auto}.teacher-thumb img{width:90px;height:112px}.teacher-thumb span{font-size:14px}#profile-dialog{padding:16px}.profile-photo{max-height:60svh}#profile-title{font-size:30px}}
