*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f2f0eb;color:#0a0a0a;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.nav{height:84px;position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;padding:0 4vw;color:#fff;border-bottom:1px solid #ffffff2b;background:#0a0a0a30;backdrop-filter:blur(8px)}.brand{display:flex;flex-direction:column;line-height:.8}.brand span{font-size:28px;font-weight:900;letter-spacing:-2px}.brand small{font-size:8px;letter-spacing:2px;margin-top:8px}.nav nav{display:flex;gap:26px;margin:auto;font-size:11px;letter-spacing:1px;text-transform:uppercase}.nav-cta{border:1px solid #fff;padding:13px 18px;font-size:10px;letter-spacing:1px}.menu{display:none}.hero{height:100svh;min-height:720px;position:relative;color:#fff;display:flex;align-items:flex-end;padding:8vw 5vw}.hero-media{position:absolute;inset:0;background:linear-gradient(120deg,#222,#555);background-image:url('assets/academia-hero.jpg');background-size:cover;background-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000b 0%,#0002 60%),linear-gradient(0deg,#0009 0%,transparent 50%)}.hero-copy{position:relative;z-index:2;margin-bottom:5vh}.eyebrow,.kicker{font-size:10px;letter-spacing:2.5px;font-weight:700}.hero h1{font-size:clamp(58px,9.5vw,145px);letter-spacing:-.07em;line-height:.78;margin:25px 0 42px;max-width:1100px}.actions{display:flex;gap:10px}.btn{display:inline-block;padding:17px 22px;border:1px solid;font-size:10px;letter-spacing:1.5px;font-weight:700;cursor:pointer}.btn.light{background:#fff;color:#000;border-color:#fff}.btn.ghost{color:#fff}.scroll{position:absolute;right:5vw;bottom:4vw;z-index:2;font-size:9px;letter-spacing:2px}.section{padding:120px 6vw}.kicker{margin:0 0 40px;color:#777}.intro h2,.section-head h2,.location h2{font-size:clamp(46px,6.5vw,100px);letter-spacing:-.06em;line-height:.9;margin:0}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;margin:70px 0 110px}.intro-grid p{font-size:18px;line-height:1.6}.intro-grid .lead{font-size:clamp(25px,3vw,44px);line-height:1.18;margin:0}.statement{font-size:clamp(55px,11vw,170px);font-weight:900;letter-spacing:-.08em;white-space:nowrap;overflow:hidden}.dark{background:#0a0a0a;color:#fff}.dark .kicker{color:#888}.section-head{display:grid;grid-template-columns:2fr 1fr;align-items:end;gap:40px;margin-bottom:65px}.section-head p{max-width:400px;line-height:1.6;color:#777}.dark .section-head p{color:#999}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#333}.card{height:620px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;background:#191919}.card:before,.portrait:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000c,transparent 60%),url('assets/programa.jpg') center/cover;opacity:.6;transition:.5s}.card:hover:before{transform:scale(1.04);opacity:.8}.card>*{position:relative;z-index:1}.card span,.card p{font-size:9px;letter-spacing:2px}.card h3{font-size:clamp(44px,5vw,80px);letter-spacing:-.06em;margin:10px 0}.card .desc{font-size:13px;line-height:1.5;letter-spacing:0;max-width:300px}.schedule{background:#fff}.tabs{display:flex;border-bottom:1px solid #ddd;margin-bottom:15px;overflow:auto}.tab{background:none;border:0;padding:20px 30px;cursor:pointer;font-weight:700;font-size:11px;color:#999}.tab.active{color:#000;border-bottom:2px solid #000}.class-row{display:grid;grid-template-columns:120px 1fr 1fr;padding:25px 10px;border-bottom:1px solid #ddd;align-items:center}.class-row strong{font-size:30px;letter-spacing:-1px}.class-row span{font-size:11px;letter-spacing:1px;color:#777}.teacher-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.portrait{height:700px;background:#222;position:relative;overflow:hidden}.portrait:before{background-image:linear-gradient(0deg,#0008,transparent),url('assets/professor.jpg')}.teacher p{font-size:9px;letter-spacing:2px;color:#888;margin-top:22px}.teacher h3{font-size:38px;margin:8px 0}.teacher span{font-size:12px;color:#aaa}.photo-note{color:#777;font-size:11px;margin-top:40px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #ccc}.price-grid article{min-height:300px;padding:35px;border-right:1px solid #ccc;position:relative}.price-grid article:last-child{border:0}.price-grid p{font-size:10px;letter-spacing:2px}.price-grid strong{font-size:90px;letter-spacing:-7px;display:block;margin-top:60px}.price-grid span{font-size:12px}.price-grid em{position:absolute;top:35px;right:25px;font-size:8px;letter-spacing:1px;font-style:normal}.featured{background:#111;color:#fff}.trial{padding:120px 6vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.trial h2{font-size:clamp(65px,8vw,125px);line-height:.82;letter-spacing:-.07em;margin:25px 0}.trial>div>p:last-child{color:#999;line-height:1.6;max-width:480px}.trial form{padding-top:40px}.trial label{display:block;font-size:9px;letter-spacing:1.5px;color:#888;margin-bottom:24px}.trial input,.trial select{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #444;color:#fff;padding:14px 0;font-size:18px;outline:none;border-radius:0}.trial select option{color:#000}.form-row{display:grid;grid-template-columns:1fr 2fr;gap:30px}.trial .btn{margin-top:20px}.form-msg{font-size:12px;color:#aaa}.location{display:grid;grid-template-columns:2fr 1fr;gap:70px}.contact{padding-top:50px}.contact p{line-height:1.7}.contact a{display:block;border-top:1px solid #bbb;padding:20px 0;font-size:10px;letter-spacing:1.5px}footer{background:#0a0a0a;color:#fff;padding:60px 5vw;display:flex;justify-content:space-between;align-items:end}footer p{font-size:9px;letter-spacing:1.5px;color:#777}
@media(max-width:800px){.nav{height:70px}.nav nav,.nav-cta{display:none}.menu{display:block;margin-left:auto;background:none;border:0;color:#fff;font-size:10px;letter-spacing:1px}.nav.open nav{display:flex;position:absolute;top:70px;left:0;right:0;background:#0a0a0a;flex-direction:column;padding:35px 5vw;gap:25px}.hero{padding:100px 5vw 60px;min-height:680px}.hero h1{font-size:16vw}.actions{flex-direction:column;align-items:flex-start}.scroll{display:none}.section{padding:85px 5vw}.intro-grid,.section-head,.trial,.location{grid-template-columns:1fr}.intro-grid{gap:30px;margin:50px 0 80px}.statement{white-space:normal}.cards,.price-grid{grid-template-columns:1fr}.card{height:480px}.class-row{grid-template-columns:85px 1fr}.class-row span:last-child{display:none}.teacher-grid{grid-template-columns:1fr}.portrait{height:520px}.price-grid article{border-right:0;border-bottom:1px solid #ccc}.trial{gap:40px}.location{gap:20px}footer{align-items:flex-start;gap:30px;flex-direction:column}}
.teacher-group{margin-top:70px}
.teacher-group:first-of-type{margin-top:0}
.teacher-group-title{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #333;padding-bottom:20px;margin-bottom:28px}
.teacher-group-title span{font-size:9px;letter-spacing:2px;color:#888}
.teacher-group-title h3{font-size:28px;letter-spacing:-1px;margin:0}
.teacher-grid-3{grid-template-columns:repeat(3,1fr)}
.kids-support{margin-top:110px}
@media(max-width:800px){
  .teacher-grid-3{grid-template-columns:1fr}
  .teacher-group-title{align-items:start;flex-direction:column;gap:10px}
  .kids-support{margin-top:80px}
}

.academy-gallery{background:#e8e6e1}
.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:320px 320px;gap:6px}
.gallery-grid figure{margin:0;overflow:hidden;background:#222;position:relative}
.gallery-grid .gallery-main{grid-row:1/3}
.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%);transition:transform .7s ease,filter .7s ease}
.gallery-grid figure:hover img{transform:scale(1.025);filter:grayscale(0%)}
.gallery-note{font-size:10px;letter-spacing:1.5px;color:#777;margin-top:18px}
@media(max-width:800px){
 .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:360px 210px 210px}
 .gallery-grid .gallery-main{grid-column:1/3;grid-row:auto}
}

/* Fotografias reais Focus RDL */
.gallery-grid img{filter:none}
.gallery-grid figure:hover img{filter:none}
.hero-media{background-position:center center}

/* Imagens reais por programa */
.card:before{background-image:linear-gradient(0deg,#000d 0%,#0002 65%),var(--program-img,url('assets/programa.jpg'));background-position:center;background-size:cover}
.card.kids:before{background-position:center 35%}
.card.adults:before{background-position:center 45%}
.card.nogi:before{background-position:center 30%}

/* V9 — secção Academia mais equilibrada e totalmente legível */
.intro{
  overflow:hidden;
}
.intro h2{
  font-size:clamp(42px,5vw,78px);
  line-height:.94;
  max-width:1050px;
}
.intro-grid{
  margin:55px 0 72px;
  gap:7vw;
}
.intro-grid .lead{
  font-size:clamp(24px,2.55vw,38px);
  line-height:1.2;
}
.intro-grid p{
  font-size:16px;
  line-height:1.55;
}
.statement{
  font-size:clamp(48px,7.4vw,112px);
  line-height:.9;
  letter-spacing:-.065em;
  white-space:normal;
  overflow:visible;
  max-width:100%;
}

@media (min-width:801px) and (max-width:1300px){
  .intro{padding-top:95px;padding-bottom:95px}
  .intro h2{font-size:clamp(40px,4.6vw,62px)}
  .intro-grid{margin:45px 0 62px}
  .intro-grid .lead{font-size:clamp(23px,2.7vw,34px)}
  .statement{font-size:clamp(52px,7vw,88px)}
}

@media(max-width:800px){
  .intro h2{font-size:clamp(40px,12vw,62px)}
  .intro-grid{margin:42px 0 58px}
  .intro-grid .lead{font-size:25px}
  .statement{font-size:clamp(44px,14vw,72px);line-height:.9}
}


/* V10 — Equipa Kids: instrutoras e novo elemento Vitória Dias */
.teacher-grid-kids{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
@media(max-width:1200px){.teacher-grid-kids{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.teacher-grid-kids{grid-template-columns:1fr}}


/* V12 — fotografias reais da equipa */
.portrait:before{opacity:1;background-image:linear-gradient(0deg,#0006,transparent 45%),var(--teacher-img);background-size:cover;background-position:var(--teacher-pos,center);}
.p1{--teacher-img:url('assets/ulisses-dias.jpeg');--teacher-pos:center 32%}
.p2{--teacher-img:url('assets/jose-henrique.jpeg');--teacher-pos:center 28%}
.p3{--teacher-img:url('assets/filipe-matos.jpeg');--teacher-pos:center 25%}
.p8{--teacher-img:url('assets/fernando-pena.jpeg');--teacher-pos:center 25%}
.p4{--teacher-img:url('assets/dinis-pires.jpeg');--teacher-pos:center 24%}
.p5{--teacher-img:url('assets/miriam-henriques.jpeg');--teacher-pos:center 22%}
.p6{--teacher-img:url('assets/barbara-ribeiro.jpeg');--teacher-pos:center 20%}
.p7{--teacher-img:url('assets/vitoria-dias.jpeg');--teacher-pos:center 25%}
.teacher-grid-3{grid-template-columns:repeat(4,1fr)}
@media(max-width:1200px){.teacher-grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.teacher-grid-3{grid-template-columns:1fr}}

/* V13 — equipa única de professores e instrutores */
.teacher-grid-team{grid-template-columns:repeat(4,1fr);gap:28px 2px}
.teacher-grid-team .portrait{height:520px}
.teacher-grid-team .teacher h3{margin-top:18px;margin-bottom:7px}
.teacher-grid-team .teacher p{margin:0 0 7px}
@media(max-width:1200px){.teacher-grid-team{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.teacher-grid-team{grid-template-columns:1fr}.teacher-grid-team .portrait{height:520px}}

/* V14 — galeria completa RDL */
.rdl-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:70px}
.rdl-gallery figure{margin:0;height:330px;overflow:hidden;background:#222}
.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){grid-column:span 2}
.rdl-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.rdl-gallery figure:hover img{transform:scale(1.025)}
@media(max-width:1000px){.rdl-gallery{grid-template-columns:repeat(2,1fr)}.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){grid-column:span 1}}
@media(max-width:600px){.rdl-gallery{grid-template-columns:1fr}.rdl-gallery figure{height:300px}}


/* V15 — Galeria separada das imagens principais da academia */
.gallery-section-head{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:end;margin-top:85px;padding-top:55px;border-top:1px solid #c9c6bf}
.gallery-section-head .kicker{margin:0}
.gallery-section-head h3{font-size:clamp(38px,4.6vw,72px);letter-spacing:-.055em;line-height:.95;margin:0 0 14px}
.gallery-section-head>div>p{margin:0;color:#777;line-height:1.6;max-width:480px}
.rdl-gallery{margin-top:38px}
@media(max-width:800px){.gallery-section-head{grid-template-columns:1fr;gap:18px;margin-top:65px;padding-top:42px}.gallery-section-head h3{font-size:clamp(38px,11vw,58px)}}

.physical-pack{margin-top:18px;background:#111;color:#fff;min-height:230px;padding:34px 38px;display:grid;grid-template-columns:180px 1fr 280px;gap:40px;align-items:center;position:relative;overflow:hidden}.physical-pack:after{content:"EXTRA";position:absolute;right:-20px;bottom:-45px;font-size:150px;font-weight:900;letter-spacing:-10px;color:#ffffff08;pointer-events:none}.physical-pack-label{align-self:start;border:1px solid #555;width:max-content;padding:10px 13px;font-size:8px;letter-spacing:2px;font-weight:700}.physical-pack-copy p{font-size:10px;letter-spacing:2px;color:#999;margin:0 0 16px}.physical-pack-copy h3{font-size:clamp(34px,4vw,58px);line-height:.95;letter-spacing:-.05em;margin:0 0 18px}.physical-pack-copy span{display:block;max-width:600px;color:#aaa;font-size:13px;line-height:1.6}.physical-pack-cta{border-left:1px solid #444;padding-left:30px;position:relative;z-index:1}.physical-pack-cta small{display:block;color:#888;font-size:8px;letter-spacing:1.5px;margin-bottom:16px}.physical-pack-cta strong{display:block;font-size:20px;line-height:1.15;letter-spacing:-.02em}
@media(max-width:800px){.physical-pack{grid-template-columns:1fr;gap:25px;padding:30px 25px}.physical-pack-cta{border-left:0;border-top:1px solid #444;padding:24px 0 0}.physical-pack:after{font-size:100px}}

/* V20 — Galeria em carrossel compacto */
.rdl-gallery-wrap{position:relative;margin-top:38px;padding:0 54px}
.rdl-gallery{display:flex!important;grid-template-columns:none!important;gap:10px!important;margin-top:0!important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}
.rdl-gallery::-webkit-scrollbar{display:none}
.rdl-gallery figure,.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){flex:0 0 calc((100% - 20px)/3);height:360px!important;grid-column:auto!important;scroll-snap-align:start;border-radius:2px}
.gallery-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid #aaa;background:#111;color:#fff;border-radius:50%;font-size:26px;line-height:1;cursor:pointer;z-index:2;display:grid;place-items:center;transition:transform .2s ease,background .2s ease}
.gallery-carousel-btn:hover{background:#333;transform:translateY(-50%) scale(1.05)}
.gallery-carousel-btn.prev{left:0}.gallery-carousel-btn.next{right:0}
.gallery-carousel-hint{text-align:center;margin:14px 0 0;color:#777;font-size:10px;letter-spacing:1.4px;text-transform:uppercase}
@media(max-width:900px){.rdl-gallery-wrap{padding:0 46px}.rdl-gallery figure,.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){flex-basis:calc((100% - 10px)/2);height:330px!important}}
@media(max-width:600px){.rdl-gallery-wrap{padding:0 38px}.rdl-gallery figure,.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){flex-basis:100%;height:390px!important}.gallery-carousel-btn{width:34px;height:34px;font-size:22px}}

/* V21 — Quem te acompanha: apresentação editorial premium */
.teachers{position:relative;overflow:hidden;padding-top:135px;padding-bottom:145px}
.teachers:before{content:"FOCUS";position:absolute;right:-1vw;top:58px;font-size:clamp(110px,20vw,330px);font-weight:900;letter-spacing:-.09em;line-height:.75;color:#fff;opacity:.025;pointer-events:none}
.teachers>.kicker{position:relative;margin-bottom:24px;color:#777}
.teachers>.section-head{position:relative;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);padding-bottom:48px;margin-bottom:58px;border-bottom:1px solid #292929}
.teachers>.section-head h2{font-size:clamp(58px,7.3vw,112px);max-width:850px}
.teachers>.section-head p{font-size:15px;line-height:1.7;color:#aaa;max-width:430px;padding-left:30px;border-left:1px solid #3b3b3b}
.teacher-grid-team{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 18px}
.teacher-grid-team .teacher{position:relative;min-width:0;padding-bottom:24px;border-bottom:1px solid #292929}
.teacher-grid-team .portrait{height:auto;aspect-ratio:4/5;background:#171717;border-radius:2px}
.teacher-grid-team .portrait:after{content:"";position:absolute;inset:0;border:1px solid #ffffff12;pointer-events:none}
.teacher-grid-team .teacher h3{font-size:clamp(25px,2.1vw,35px);line-height:1;margin:20px 0 9px;letter-spacing:-.035em}
.teacher-grid-team .teacher p{font-size:9px;letter-spacing:1.8px;color:#888;margin:0 0 9px}
.teacher-grid-team .teacher span{display:block;font-size:12px;line-height:1.5;color:#c0c0c0;padding-right:10px}
.teacher-grid-team .teacher:before{content:"";display:block;position:absolute;left:0;bottom:-1px;width:42px;height:2px;background:#fff;transition:width .35s ease}
.teacher-grid-team .teacher:hover:before{width:100%}
.teacher-grid-team .teacher:hover .portrait:before{transform:scale(1.025)}
.teacher-grid-team .portrait:before{transition:transform .55s ease}
@media(max-width:1200px){
 .teacher-grid-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 18px}
 .teachers>.section-head{grid-template-columns:1fr 1fr}
}
@media(max-width:800px){
 .teachers{padding-top:95px;padding-bottom:100px}
 .teachers:before{top:45px;right:-10vw}
 .teachers>.section-head{grid-template-columns:1fr;gap:28px;padding-bottom:35px;margin-bottom:40px}
 .teachers>.section-head h2{font-size:clamp(52px,15vw,78px)}
 .teachers>.section-head p{padding-left:18px;margin:0}
 .teacher-grid-team{grid-template-columns:1fr 1fr;gap:34px 10px}
 .teacher-grid-team .teacher h3{font-size:25px}
 .teacher-grid-team .teacher span{font-size:11px}
}
@media(max-width:520px){
 .teacher-grid-team{grid-template-columns:1fr}
 .teacher-grid-team .portrait{aspect-ratio:4/4.7}
}

/* V22 — cabeçalho da Galeria centrado e alinhado com o carrossel */
.gallery-section-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:12px;
  max-width:1100px;
  margin:85px auto 0;
  padding-top:55px;
}
.gallery-section-head .kicker{margin:0 0 8px}
.gallery-section-head>div{width:100%}
.gallery-section-head h3{margin:0 auto 14px;max-width:900px}
.gallery-section-head>div>p{margin:0 auto;max-width:620px}
@media(max-width:800px){
  .gallery-section-head{gap:10px;margin:65px auto 0;padding-top:42px}
}

/* V23 — Programas centrados + Iniciados/Avançados separados */
.programs{position:relative;overflow:hidden;padding-top:135px;padding-bottom:145px}
.programs:before{content:"JIU JITSU";position:absolute;left:50%;top:62px;transform:translateX(-50%);font-size:clamp(90px,17vw,260px);font-weight:900;letter-spacing:-.08em;white-space:nowrap;color:#fff;opacity:.022;pointer-events:none}
.programs>.kicker{text-align:center;margin-bottom:24px;position:relative}
.programs .programs-head{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;max-width:1050px;margin:0 auto 62px;padding-bottom:44px;border-bottom:1px solid #292929}
.programs .programs-head h2{font-size:clamp(58px,7.2vw,108px);max-width:950px}
.programs .programs-head p{max-width:620px;margin:0;color:#aaa;font-size:15px;line-height:1.7}
.programs-cards{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:transparent;max-width:1320px;margin:0 auto}
.programs-cards .card{height:560px;border:1px solid #ffffff12;border-radius:3px;padding:32px}
.programs-cards .card:before{opacity:.68}
.programs-cards .card:hover:before{opacity:.86;transform:scale(1.035)}
.programs-cards .card h3{font-size:clamp(45px,5vw,78px)}
.programs-cards .card .desc{font-size:13px;max-width:390px;color:#e0e0e0}
.card.iniciados:before{background-position:center 45%}
.card.avancados:before{background-position:center 48%}
@media(max-width:800px){.programs{padding-top:95px;padding-bottom:100px}.programs .programs-head{margin-bottom:38px;padding-bottom:32px}.programs .programs-head h2{font-size:clamp(50px,15vw,76px)}.programs-cards{grid-template-columns:1fr;gap:10px}.programs-cards .card{height:480px}}

/* V23 — Pack Extra com dois serviços */
.extra-pack{grid-template-columns:150px minmax(0,1fr) 280px;align-items:stretch;padding:38px}
.extra-pack-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #ffffff18;position:relative;z-index:1}
.extra-service{padding:28px 30px;min-height:220px;display:flex;flex-direction:column;justify-content:center}
.extra-service+ .extra-service{border-left:1px solid #ffffff18}
.extra-service p{font-size:9px;letter-spacing:1.8px;color:#999;margin:0 0 15px}
.extra-service h3{font-size:clamp(28px,2.7vw,44px);line-height:.98;letter-spacing:-.045em;margin:0 0 16px}
.extra-service span{color:#aaa;font-size:12px;line-height:1.65;max-width:480px}
.extra-pack .physical-pack-cta{align-self:center}
@media(max-width:1050px){.extra-pack{grid-template-columns:1fr}.extra-pack-services{grid-template-columns:1fr}.extra-service+ .extra-service{border-left:0;border-top:1px solid #ffffff18}.extra-pack .physical-pack-cta{align-self:auto;border-left:0;border-top:1px solid #444;padding:24px 0 0}}

/* V24 — Hero: texto mais contido para libertar o logótipo da parede + toque de sol */
.hero-media{
  background-image:url('assets/academia-hero.jpg');
  background-position:center center;
}
.hero-media:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 78% 34%,rgba(255,225,170,.24),transparent 27%),linear-gradient(112deg,transparent 48%,rgba(255,220,155,.12) 68%,transparent 86%);
  mix-blend-mode:screen;
}
.hero-shade{
  background:linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.52) 30%,rgba(0,0,0,.12) 49%,rgba(0,0,0,.02) 72%),linear-gradient(0deg,rgba(0,0,0,.62) 0%,transparent 46%);
}
.hero-copy{width:min(47vw,720px);margin-bottom:7vh}
.hero h1{font-size:clamp(54px,6.9vw,106px);line-height:.82;max-width:720px;margin:22px 0 34px;letter-spacing:-.065em}
.hero .eyebrow{margin:0}
@media(min-width:1200px){.hero-copy{margin-left:1vw}}
@media(max-width:800px){
 .hero-copy{width:92%;margin-bottom:5vh}
 .hero h1{font-size:clamp(52px,15vw,82px);line-height:.82}
 .hero-media:after{background:radial-gradient(circle at 75% 30%,rgba(255,225,170,.18),transparent 30%)}
}


/* V25 — Programa All Levels */
.card.all-levels:before{background-position:center 43%}
@media(min-width:801px){.programs-cards .card.nogi:last-child{grid-column:1 / -1;max-width:654px;width:100%;justify-self:center}}

/* V26 — Hero mais editorial: preserva a fotografia e deixa o lettering da parede respirar */
@media(min-width:801px){
  .hero{align-items:flex-end;padding:8vw 5vw 5.5vw}
  .hero-media{background-position:center center}
  .hero-copy{width:min(38vw,560px);margin:0 0 1.5vh 0}
  .hero h1{font-size:clamp(50px,5.45vw,82px);line-height:.84;max-width:560px;margin:18px 0 30px;letter-spacing:-.06em}
  .hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.58) 25%,rgba(0,0,0,.16) 42%,rgba(0,0,0,0) 61%),linear-gradient(0deg,rgba(0,0,0,.56) 0%,transparent 44%)}
  .hero-media:after{background:radial-gradient(circle at 82% 32%,rgba(255,225,170,.22),transparent 25%),linear-gradient(115deg,transparent 54%,rgba(255,220,155,.10) 70%,transparent 88%)}
}

/* V26 — Programas mais compactos, centrados e premium */
.programs{padding-top:105px;padding-bottom:115px}
.programs:before{top:34px;font-size:clamp(76px,13vw,190px)}
.programs>.kicker{margin-bottom:16px}
.programs .programs-head{max-width:820px;margin:0 auto 42px;padding-bottom:30px;gap:15px}
.programs .programs-head h2{font-size:clamp(48px,5.5vw,78px);max-width:780px}
.programs .programs-head p{max-width:560px;font-size:14px;line-height:1.6}
.programs-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:1180px}
.programs-cards .card{height:390px;padding:24px;border-radius:4px}
.programs-cards .card h3{font-size:clamp(34px,3.5vw,52px);margin:8px 0}
.programs-cards .card .desc{font-size:12px;line-height:1.45;max-width:330px}
.programs-cards .card span,.programs-cards .card p{font-size:8px}
@media(min-width:801px){
 .programs-cards .card.nogi:last-child{grid-column:auto;max-width:none;width:auto;justify-self:stretch}
 .programs-cards .card:nth-child(4){grid-column:1 / 2;margin-left:50%}
 .programs-cards .card:nth-child(5){grid-column:2 / 3;margin-left:50%}
}
@media(max-width:800px){
 .programs{padding-top:82px;padding-bottom:88px}
 .programs .programs-head{margin-bottom:30px;padding-bottom:26px}
 .programs .programs-head h2{font-size:clamp(46px,13vw,68px)}
 .programs-cards{grid-template-columns:1fr;max-width:560px}
 .programs-cards .card{height:400px}
}

/* V27 — All Levels + NoGi em formato panorâmico, alinhados com a grelha */
@media(min-width:801px){
  .programs-cards .card.all-levels,
  .programs-cards .card.nogi{
    height:300px;
    margin-left:0;
    width:auto;
    max-width:none;
  }
  .programs-cards .card.all-levels{grid-column:1 / 3;}
  .programs-cards .card.nogi{grid-column:3 / 4;}
  .programs-cards .card.all-levels:before,
  .programs-cards .card.nogi:before{
    background-size:cover;
    background-repeat:no-repeat;
  }
  .programs-cards .card.all-levels:before{background-position:center 44%;}
  .programs-cards .card.nogi:before{background-position:center 38%;}
}

/* V31 — Programa Juvenis */
.card.juvenis:before{background-position:center 48%}
@media(min-width:801px){
  .programs-cards .card:nth-child(4){grid-column:auto;margin-left:0}
  .programs-cards .card:nth-child(5){grid-column:auto;margin-left:0}
  .programs-cards .card.all-levels{grid-column:1 / 3}
  .programs-cards .card.nogi{grid-column:3 / 4}
}

/* V32 — Programas: 3 cartões em cima + 3 cartões em baixo */
@media(min-width:801px){
  .programs-cards{grid-template-columns:repeat(3,minmax(0,1fr));}
  .programs-cards .card,
  .programs-cards .card.all-levels,
  .programs-cards .card.nogi{
    grid-column:auto;
    height:390px;
    margin-left:0;
    width:auto;
    max-width:none;
    justify-self:stretch;
  }
}

/* V37 — logotipo oficial no cabeçalho */
.brand{display:block;line-height:normal}
.brand img{display:block;width:240px;max-width:32vw;height:auto}
@media(max-width:800px){.brand img{width:205px;max-width:58vw}}

/* V38 — logotipo oficial também no rodapé */
.footer-logo img{display:block;width:min(360px,70vw);height:auto;object-fit:contain;object-position:left center}
@media(max-width:800px){.footer-logo img{width:min(300px,78vw)}}

/* Footer V39 */
.site-footer{padding:72px 6vw 42px;display:block;background:#080808;color:#fff}
.footer-main{display:grid;grid-template-columns:minmax(240px,420px) 1fr;gap:8vw;align-items:center;padding-bottom:54px;border-bottom:1px solid #242424}
.footer-logo img{width:min(360px,100%);height:auto}
.footer-phrase{margin:0!important;color:#fff!important;font-size:clamp(24px,3vw,44px)!important;line-height:1.08;letter-spacing:-.035em!important;font-weight:700;max-width:650px}
.footer-meta{display:flex;justify-content:space-between;align-items:center;padding-top:28px}
.footer-meta p{margin:0;font-size:9px;letter-spacing:1.8px;color:#777}
@media(max-width:800px){.site-footer{padding:56px 5vw 34px}.footer-main{grid-template-columns:1fr;gap:34px;padding-bottom:38px}.footer-logo img{width:min(300px,82vw)}.footer-phrase{font-size:clamp(26px,8vw,38px)!important}.footer-meta{align-items:flex-start;gap:16px;flex-direction:column}}

/* V40 - refinamento exclusivo do rodape em telemovel */
@media (max-width:800px){
  .site-footer{padding:48px 5vw 30px;overflow:hidden}
  .footer-main{display:flex;flex-direction:column;align-items:flex-start;gap:30px;padding-bottom:34px}
  .footer-logo{width:100%;display:flex;justify-content:center}
  .footer-logo img{width:min(270px,72vw);max-width:100%;margin:0 auto}
  .footer-phrase{width:100%;max-width:620px;font-size:clamp(28px,7.2vw,34px)!important;line-height:1.08!important;letter-spacing:-.04em!important;text-wrap:balance}
  .footer-meta{width:100%;padding-top:24px;gap:12px}
  .footer-meta p{font-size:8px;line-height:1.45;letter-spacing:1.55px}
}
@media (max-width:430px){
  .site-footer{padding-left:5vw;padding-right:5vw}
  .footer-logo img{width:min(250px,68vw)}
  .footer-phrase{font-size:clamp(27px,7vw,31px)!important;max-width:92%}
}

/* V41 — mobile: fundos escuros full-bleed, sem risca lateral no Safari/iPhone */
@media (max-width:800px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  .trial,
  .site-footer{
    width:100vw;
    max-width:none;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    border-left:0;
    border-right:0;
  }
  .site-footer{background:#080808}
  .trial{background:#0a0a0a}
}

/* V42 — Momentos Focus RDL: carrossel cinematográfico */
.rdl-gallery-wrap{margin-top:34px;padding:0;overflow:hidden;position:relative}
.rdl-gallery{gap:18px!important;padding:18px max(7vw,72px) 24px!important;scroll-padding-inline:max(7vw,72px);align-items:center}
.rdl-gallery figure,.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){position:relative;flex:0 0 min(58vw,760px)!important;height:auto!important;aspect-ratio:16/9;overflow:hidden;border-radius:12px!important;background:#111;scroll-snap-align:center!important;box-shadow:0 18px 44px rgba(0,0,0,.16);opacity:.68;transform:scale(.955);transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s ease,box-shadow .45s ease}
.rdl-gallery figure.is-active{opacity:1;transform:scale(1);box-shadow:0 24px 58px rgba(0,0,0,.25)}
.rdl-gallery figure::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.18));opacity:.7}
.rdl-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.rdl-gallery figure.is-active img{transform:scale(1.018)}
.gallery-carousel-btn{top:50%;width:52px;height:52px;border:1px solid rgba(255,255,255,.5);background:rgba(12,12,12,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:30px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.gallery-carousel-btn.prev{left:22px}.gallery-carousel-btn.next{right:22px}
.gallery-carousel-meta{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:4px;color:#777;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}
.gallery-carousel-progress{width:110px;height:1px;background:#c8c5bf;position:relative;overflow:hidden}
.gallery-carousel-progress span{position:absolute;inset:0 auto 0 0;width:0;background:#111;transition:width .35s ease}
.gallery-carousel-count{font-variant-numeric:tabular-nums;color:#333;min-width:48px}
@media(max-width:900px){.rdl-gallery{padding:14px 48px 20px!important;scroll-padding-inline:48px}.rdl-gallery figure,.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){flex-basis:78vw!important;aspect-ratio:16/10}.gallery-carousel-btn{width:44px;height:44px}.gallery-carousel-btn.prev{left:10px}.gallery-carousel-btn.next{right:10px}}
@media(max-width:600px){.rdl-gallery{gap:12px!important;padding:10px 24px 18px!important;scroll-padding-inline:24px}.rdl-gallery figure,.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){flex-basis:86vw!important;height:auto!important;aspect-ratio:4/3;border-radius:9px!important}.gallery-carousel-btn{width:38px;height:38px;font-size:24px}.gallery-carousel-btn.prev{left:6px}.gallery-carousel-btn.next{right:6px}.gallery-carousel-hint{margin-top:8px}.gallery-carousel-meta{gap:10px}.gallery-carousel-progress{width:82px}}

/* V44 — Galeria: preservar a fotografia inteira dentro do formato retangular */
.rdl-gallery figure,.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){background:#0d0d0d}
.rdl-gallery img{object-fit:contain!important;object-position:center center;background:#0d0d0d}
.rdl-gallery figure.is-active img{transform:none}
@media(max-width:900px){.rdl-gallery figure,.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){aspect-ratio:16/10}}
@media(max-width:600px){.rdl-gallery figure,.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){aspect-ratio:16/10!important}}

/* V45 — Fotos ajustadas integralmente ao rectângulo do carrossel, sem recorte */
.rdl-gallery img{
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  object-position:center center!important;
}

/* V46 — Galeria: proporção original de cada fotografia, sem corte nem deformação */
.rdl-gallery figure,.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){
  flex:0 0 auto!important;
  height:min(34vw,430px)!important;
  width:auto;
  aspect-ratio:var(--photo-ratio,16/9)!important;
  background:#111;
}
.rdl-gallery img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:transparent!important;
  image-rendering:auto;
}
.rdl-gallery figure.is-active img{transform:none!important}
@media(max-width:900px){
  .rdl-gallery figure,.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){height:min(52vw,390px)!important;aspect-ratio:var(--photo-ratio,16/9)!important}
}
@media(max-width:600px){
  .rdl-gallery figure,.rdl-gallery figure:nth-child(1),.rdl-gallery figure:nth-child(5){height:min(68vw,360px)!important;aspect-ratio:var(--photo-ratio,16/9)!important}
}


/* V53 — Hierarquia editorial do título da galeria */
.gallery-section-head .moments-title{margin-bottom:10px!important;}
.gallery-section-head .moments-location{margin:0 0 14px!important;font-size:11px!important;line-height:1.2!important;font-weight:600!important;letter-spacing:.28em!important;color:#777!important;text-transform:uppercase;}
@media(max-width:600px){
  .gallery-section-head .moments-title{font-size:clamp(46px,13vw,64px)!important;line-height:.92!important;letter-spacing:-.055em!important;text-wrap:balance;}
  .gallery-section-head .moments-location{font-size:9px!important;letter-spacing:.23em!important;margin-top:12px!important;margin-bottom:16px!important;}
}

/* V54 — alinhamento e peso do subtítulo Momentos Focus */
.gallery-section-head .moments-title{
  display:block;
  width:100%;
  margin:0 auto 12px!important;
  text-align:center!important;
  font-weight:800!important;
}
.gallery-section-head .moments-location{
  display:block;
  width:100%;
  max-width:none!important;
  margin:0 auto 16px!important;
  text-align:center!important;
  font-weight:800!important;
  letter-spacing:.24em!important;
  padding-left:.24em;
  box-sizing:border-box;
}
@media(max-width:600px){
  .gallery-section-head .moments-location{
    margin:10px auto 16px!important;
    font-weight:800!important;
    letter-spacing:.18em!important;
    padding-left:.18em;
  }
}

/* V55 — Academia sem título introdutório; conteúdo reenquadrado */
.intro > .kicker{margin-bottom:30px}
.intro > .intro-grid{margin-top:0}
@media(max-width:800px){.intro > .kicker{margin-bottom:24px}.intro > .intro-grid{margin-top:0}}
