*{box-sizing:border-box}body{margin:0;font:16px/1.7 Inter,Arial,sans-serif;background:#101014;color:#fff}a{color:inherit;text-decoration:none}.wrap{width:min(1100px,calc(100% - 40px));margin:auto}.header{height:84px;padding:0 max(20px,calc((100% - 1100px)/2));display:flex;justify-content:space-between;align-items:center;background:#101014}.logo{font:900 34px 'Barlow Condensed',Impact,sans-serif}.logo b,footer em{color:#ff2d75}.header nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:700;text-transform:uppercase}.btn{display:inline-block;background:#ff2d75;color:white!important;padding:14px 23px;font-weight:800;font-size:13px;border:0;cursor:pointer;letter-spacing:.04em}.btn:hover{background:#e52335}.toggle{display:none}.hero{min-height:650px;display:flex;align-items:center;background:linear-gradient(90deg,#08080bef,#08080b33),var(--bg) center/cover}.hero .wrap{padding:85px 0}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;color:#ff2d75}.hero .eyebrow{color:#fff}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;line-height:.98}h1{font-size:clamp(60px,9vw,122px);margin:20px 0}h2{font-size:clamp(52px,7vw,90px);margin:20px 0 32px}h3{font-size:32px}em{color:#ff2d75;font-style:normal}.lead{font-size:19px;max-width:530px;margin-bottom:30px}.stripe{background:#ff2d75;color:#101014;text-align:center;padding:18px;font-weight:900;letter-spacing:.1em}.section{padding:100px 0}.light{background:#f5f5f5;color:#17171b}.dark{background:#101014;color:white}.pink{background:#ff2d75;color:#101014}.pink em,.pink .eyebrow{color:white}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#ddd;margin-top:50px}.cards article{background:white;padding:30px;min-height:215px}.cards article span{color:#ff2d75;font-weight:800}.cards article h3{margin:22px 0 8px}.cards article p{color:#555;font-size:14px}.intro{font-size:20px;max-width:740px;margin-bottom:30px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tiles a{min-height:390px;background:linear-gradient(0deg,#09090bdf,#09090b22),var(--bg) center/cover;padding:28px;display:flex;flex-direction:column;justify-content:end;color:white}.tiles strong{font:900 80px 'Barlow Condensed',Impact,sans-serif}.tiles span{font-weight:700}.darkbtn{background:#101014}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:50px}.contact-grid aside{background:#101014;color:white;padding:30px;align-self:start}.bc-form label{display:block;margin:0 0 16px;font-weight:700}.bc-form input,.bc-form textarea,.bc-form select{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #bbb;font:inherit}.bc-form textarea{height:120px}.bc-form .check{display:flex;gap:10px;align-items:start}.bc-form .check input{width:auto}.bc-status{background:#dff5e5;color:#14542b;padding:10px}.bc-error{background:#ffe1e1;color:#8c1515}footer{background:#08080b;padding:65px 0;color:#aaa}footer h2{font-size:54px;color:white}footer em{font-style:normal}@media(max-width:800px){.header{height:70px}.toggle{display:block;background:none;border:0;color:white;font-size:30px}.header nav{display:none;position:absolute;top:70px;left:0;right:0;background:#101014;padding:25px;z-index:5;flex-direction:column;align-items:stretch}.header nav.open{display:flex}.hero{min-height:550px}.cards{grid-template-columns:1fr 1fr}.tiles,.contact-grid{grid-template-columns:1fr}.section{padding:70px 0}}@media(max-width:520px){.cards{grid-template-columns:1fr}.hero h1{font-size:56px}.tiles strong{font-size:60px}.stripe{font-size:11px}}.contact-form-section{background:#f5f5f5;color:#101014;padding:30px 20px 90px}.contact-form-section>.wp-block-heading{font-size:42px}.contact-form-section a{color:#e52335}
/* v1.2: hero com atletas mais visíveis, contraste e leitura acessível */
.hero--v12{position:relative;isolation:isolate;overflow:hidden;min-height:690px;background-image:linear-gradient(90deg,rgba(8,8,11,.97) 0%,rgba(8,8,11,.88) 33%,rgba(8,8,11,.43) 65%,rgba(8,8,11,.15) 100%),var(--bg);background-position:center,center 43%;background-size:cover}
.hero--v12::after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(0deg,rgba(8,8,11,.52),transparent);z-index:-1;pointer-events:none}
.hero--v12 .wrap{position:relative;z-index:1}
.hero--v12 h1{max-width:800px;font-size:clamp(64px,7.4vw,110px);letter-spacing:-.015em;text-wrap:balance;text-shadow:0 3px 26px rgba(0,0,0,.3)}
.hero--v12 .lead{max-width:480px;color:#f7f7f7}
.light .eyebrow{color:#9d1748}.light h2{color:#17171b}
.btn:focus-visible,.header a:focus-visible,.toggle:focus-visible{outline:3px solid #fff;outline-offset:4px}
.light .btn:focus-visible{outline-color:#101014}
@media(max-width:800px){.hero--v12{min-height:620px;background-position:center,62% center;background-image:linear-gradient(90deg,rgba(8,8,11,.92),rgba(8,8,11,.58)),var(--bg)}.hero--v12 h1{font-size:clamp(56px,11vw,85px)}}
@media(max-width:520px){.hero--v12{min-height:610px}.hero--v12 .wrap{padding:65px 0}.hero--v12 h1{font-size:clamp(51px,12vw,66px)}.hero--v12 .lead{font-size:17px}}

/* v1.3: identidade e hero */
.header .logo{display:flex;flex-direction:column;align-items:flex-start;line-height:1;gap:3px}.header .logo small{font:800 9px/1 Inter,Arial,sans-serif;letter-spacing:.34em;color:#fff}.header .logo span{display:block}.hero--v13{min-height:570px;background-image:linear-gradient(90deg,rgba(8,8,11,.94) 0%,rgba(8,8,11,.78) 36%,rgba(8,8,11,.22) 100%),var(--bg);background-position:center,center 43%;background-size:cover}.hero--v13 .wrap{padding:65px 0}.hero--v13 h1{font-size:clamp(60px,7.5vw,108px)}@media(max-width:700px){.hero--v13{min-height:570px;background-image:linear-gradient(90deg,rgba(8,8,11,.9),rgba(8,8,11,.5)),var(--bg);background-position:center,58% center}.hero--v13 .wrap{padding:65px 0}.hero--v13 h1{font-size:clamp(54px,12vw,82px)}}

/* v1.4: marca com duas linhas e sem sobreposicao */
.header a.logo{display:inline-flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center;gap:5px;line-height:1!important;white-space:nowrap;flex-shrink:0}
.header a.logo small{display:block!important;font-family:Inter,Arial,sans-serif!important;font-size:10px!important;line-height:1.2!important;letter-spacing:.24em!important;font-weight:800!important}
.header a.logo span{display:block!important;font-size:32px!important;line-height:1!important;letter-spacing:0!important}
@media(max-width:520px){.header a.logo span{font-size:27px!important}}

/* v1.5: home revisada; CSS do logo incorporado ao tema */
.header a.logo{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important;text-decoration:none;line-height:1!important}
.header a.logo small{display:block!important;font:700 10px/1.2 Inter,Arial,sans-serif!important;letter-spacing:2px!important;color:#fff!important}
.header a.logo span{display:block!important;font:900 26px/1 'Barlow Condensed',Impact,sans-serif!important;white-space:nowrap;color:#fff!important}
.header a.logo b{color:#ff2d75!important}
.hero--v15{min-height:590px;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(8,8,11,.97) 0%,rgba(8,8,11,.87) 34%,rgba(8,8,11,.36) 74%,rgba(8,8,11,.12) 100%),var(--bg);background-position:center,center 40%;background-size:cover;background-color:#101014}
.hero--v15 .wrap{padding:65px 0;position:relative}.hero--v15 h1{font-size:clamp(60px,7.5vw,108px);max-width:760px}.hero--v15 .lead{max-width:480px}
.boxing-everyone{background:#101014}.split-feature{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.feature-photo{min-height:490px;background:linear-gradient(0deg,rgba(8,8,11,.14),rgba(8,8,11,.14)),url('https://images.pexels.com/photos/4761792/pexels-photo-4761792.jpeg?auto=compress&cs=tinysrgb&w=1100') center/cover;background-color:#27272d}.feature-copy .intro{line-height:1.65}.cards article{transition:transform .2s ease,box-shadow .2s ease}.cards article:hover{transform:translateY(-4px);box-shadow:0 12px 30px #00000015;position:relative;z-index:1}.tiles a{transition:transform .2s ease}.tiles a:hover{transform:translateY(-5px)}.luva-highlight{position:relative;overflow:hidden}.luva-highlight .wrap{position:relative;z-index:1}.luva-highlight::after{content:'✳';position:absolute;right:7%;top:0;font-size:clamp(160px,26vw,400px);font-weight:900;line-height:1;color:#10101412;pointer-events:none}.final-cta{background:#18181e;color:white;text-align:center}.final-cta .intro{margin:0 auto 30px}.final-cta .eyebrow{color:#ff2d75}
@media(max-width:800px){.split-feature{grid-template-columns:1fr;gap:30px}.feature-photo{min-height:350px}.hero--v15{min-height:560px;background-image:linear-gradient(90deg,rgba(8,8,11,.9),rgba(8,8,11,.5)),var(--bg);background-position:center,62% center}}
@media(max-width:520px){.header a.logo span{font-size:24px!important}.hero--v15 h1{font-size:clamp(50px,12vw,66px)}.hero--v15 .wrap{padding:60px 0}.feature-photo{min-height:280px}}
@media(prefers-reduced-motion:reduce){.cards article,.tiles a{transition:none}}

/* v1.6: regras restritas aos benefícios e ao novo hero. */
.light .cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  background: transparent;
  margin-top: 40px;
}
.light .cards article {
  min-width: 0;
  padding: 28px 24px;
  min-height: 230px;
  background: #fff;
  color: #17171b;
  border: 1px solid #e0e0e5;
  border-top: 4px solid #ff2d75;
  border-radius: 12px;
}
.light .cards article span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #ffedf3;
  color: #9d1748;
  font-size: 13px;
}
.light .cards article h3 {
  color: #17171b;
  font-size: clamp(24px, 2.4vw, 30px);
  line-height: 1.15;
  overflow-wrap: anywhere;
  margin: 22px 0 12px;
}
.light .cards article p { color: #4b4b53; line-height: 1.65; margin: 0; }
@media (max-width: 800px) {
  .light .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .light .cards { grid-template-columns: 1fr; gap: 16px; }
  .light .cards article { min-height: 0; padding: 24px; }
  .light .cards article h3 { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .light .cards article:hover { transform: none; }
}

/* v1.7: fotografia full bleed; estilos isolados da home e dos benefícios. */
.hero--v17 {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: none;
  min-height: clamp(620px, 48vw, 760px);
  background: #08080b url('../images/boxing-training.jpg') center 15% / cover no-repeat;
}
.hero--v17::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(8,8,11,.94) 0%, rgba(8,8,11,.8) 28%, rgba(8,8,11,.38) 51%, rgba(8,8,11,.06) 75%, rgba(8,8,11,.04) 100%);
}
.hero--v17 .hero-layout { display: block; padding: 80px 0; }
.hero--v17 .hero-copy { max-width: 540px; }
.hero--v17 h1 { font-size: clamp(48px, 5.2vw, 76px); line-height: 1.02; }
.hero--v17 .lead { max-width: 460px; font-size: 18px; color: #fff; }
@media (max-width: 800px) {
  .hero--v17 { min-height: 700px; align-items: flex-end; background-position: 62% top; }
  .hero--v17::before { background: linear-gradient(0deg, rgba(8,8,11,.98) 0%, rgba(8,8,11,.84) 32%, rgba(8,8,11,.32) 62%, rgba(8,8,11,.04) 100%); }
  .hero--v17 .hero-layout { padding: 260px 0 44px; }
  .hero--v17 h1 { font-size: clamp(40px, 7.2vw, 60px); }
}
@media (max-width: 520px) {
  .hero--v17 { min-height: 740px; background-position: 65% top; }
  .hero--v17 .hero-layout { padding: 310px 0 40px; }
  .hero--v17 h1 { font-size: clamp(32px, 9.8vw, 51px); }
  .hero--v17 .lead { font-size: 16px; }
  .hero--v17 .eyebrow { font-size: 10px; }
}


/* v1.8: compatibilidade com a Home v1.6 salva no banco do WordPress.
   A imagem fica no fundo do HERO, nunca como um card lateral. */
.hero.hero--v16,
.hero.hero--v17,
.hero:has(> .hero-layout > .hero-photo) {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  width: 100%;
  max-width: none;
  min-height: clamp(620px, 48vw, 760px);
  background: #08080b url('../images/boxing-training.jpg') center 38% / cover no-repeat;
  overflow: hidden;
}
.hero.hero--v16::before,
.hero.hero--v17::before,
.hero:has(> .hero-layout > .hero-photo)::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg,rgba(8,8,11,.88) 0%,rgba(8,8,11,.72) 30%,rgba(8,8,11,.24) 63%,rgba(8,8,11,.08) 100%);
}
.hero.hero--v16 > .hero-layout,
.hero.hero--v17 > .hero-layout,
.hero:has(> .hero-layout > .hero-photo) > .hero-layout {
  position: relative;
  z-index: 1;
  display: block;
  width: min(1100px,calc(100% - 40px));
  padding: 90px 0;
}
.hero.hero--v16 .hero-copy,
.hero.hero--v17 .hero-copy { max-width: 560px; }
.hero.hero--v16 .hero-photo,
.hero.hero--v17 .hero-photo { display: none !important; }
.hero.hero--v16 h1,
.hero.hero--v17 h1 { font-size: clamp(54px,6vw,90px); line-height: 1.02; }
@media (max-width:800px) {
  .hero.hero--v16,.hero.hero--v17 { min-height: 680px; align-items: flex-end; background-position: 60% center; }
  .hero.hero--v16::before,.hero.hero--v17::before { background: linear-gradient(0deg,rgba(8,8,11,.96) 0%,rgba(8,8,11,.76) 42%,rgba(8,8,11,.12) 100%); }
  .hero.hero--v16 > .hero-layout,.hero.hero--v17 > .hero-layout { padding: 260px 0 46px; }
  .hero.hero--v16 h1,.hero.hero--v17 h1 { font-size: clamp(43px,8vw,67px); }
}
@media (max-width:520px) {
  .hero.hero--v16,.hero.hero--v17 { min-height: 700px; background-position: 61% center; }
  .hero.hero--v16 > .hero-layout,.hero.hero--v17 > .hero-layout { padding: 280px 0 36px; }
  .hero.hero--v16 h1,.hero.hero--v17 h1 { font-size: clamp(38px,10vw,53px); }
}

/* v2.0: Hero mais compacto e com contraste visivelmente reforçado. */
.hero.hero--v16,
.hero.hero--v17,
.hero:has(> .hero-layout > .hero-photo) {
  min-height: 540px;
  background-position: center 38%;
}
.hero.hero--v16::before,
.hero.hero--v17::before,
.hero:has(> .hero-layout > .hero-photo)::before {
  background: linear-gradient(90deg,
    rgba(5,5,8,.98) 0%,
    rgba(5,5,8,.94) 25%,
    rgba(5,5,8,.77) 43%,
    rgba(5,5,8,.30) 65%,
    rgba(5,5,8,.04) 88%);
}
.hero.hero--v16 > .hero-layout,
.hero.hero--v17 > .hero-layout,
.hero:has(> .hero-layout > .hero-photo) > .hero-layout {
  padding-top: 48px;
  padding-bottom: 48px;
}
@media (max-width: 800px) {
  .hero.hero--v16,.hero.hero--v17,.hero:has(> .hero-layout > .hero-photo) { min-height: 620px; }
  .hero.hero--v16::before,.hero.hero--v17::before,.hero:has(> .hero-layout > .hero-photo)::before {
    background: linear-gradient(0deg,rgba(5,5,8,.98) 0%,rgba(5,5,8,.88) 43%,rgba(5,5,8,.16) 100%);
  }
  .hero.hero--v16 > .hero-layout,.hero.hero--v17 > .hero-layout,.hero:has(> .hero-layout > .hero-photo) > .hero-layout {
    padding-top: 205px;
    padding-bottom: 38px;
  }
}
@media (max-width: 520px) {
  .hero.hero--v16,.hero.hero--v17,.hero:has(> .hero-layout > .hero-photo) { min-height: 650px; }
  .hero.hero--v16 > .hero-layout,.hero.hero--v17 > .hero-layout,.hero:has(> .hero-layout > .hero-photo) > .hero-layout {
    padding-top: 235px;
    padding-bottom: 30px;
  }
}

/* v2.1: benefícios com ícones e títulos alinhados */
.light .cards article { min-height: 245px; }
.light .cards .benefit-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 17px; }
.light .cards .benefit-icon { display: inline-flex; flex: 0 0 48px; width: 48px; height: 48px; align-items: center; justify-content: center; background: #ffedf3; color: #ff2d75; border-radius: 12px; }
.light .cards .benefit-icon svg { display: block; width: 27px; height: 27px; }
.light .cards .benefit-heading h3 { margin: 0; font-size: clamp(23px, 2.1vw, 28px); line-height: 1.1; }
.light .cards article p { font-size: 14px; line-height: 1.7; }
@media(max-width:520px) { .light .cards article { min-height: 0; } }

/* v2.2: acabamento da fotografia na seção Para todo mundo */
.boxing-everyone .feature-photo {
  border-radius: 24px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 13%, #000 91%, rgba(0,0,0,.8) 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 13%, #000 91%, rgba(0,0,0,.8) 100%);
  box-shadow: 0 18px 55px rgba(0,0,0,.22);
}
@media (max-width:800px) {
  .boxing-everyone .feature-photo {
    border-radius: 18px;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
  }
}

/* v2.3: modalidades, alinhamento e contraste */
.section.modalidades-section .modalidades-heading { text-align:center; }
.section.modalidades-section .modalidades-heading h2 { margin-bottom:36px; }
.section.modalidades-section .tiles a { border-radius:22px; overflow:hidden; isolation:isolate; transition:transform .2s ease,box-shadow .2s ease; }
.section.modalidades-section .tiles a:hover { transform:translateY(-5px); box-shadow:0 16px 32px rgba(0,0,0,.15); }
.section.modalidades-section .tiles strong { color:#ff2d75; text-shadow:0 2px 12px rgba(0,0,0,.5); line-height:1; }
.section.modalidades-section .tiles span { color:#fff; font-weight:800; letter-spacing:.025em; text-shadow:0 2px 8px rgba(0,0,0,.8); }
@media(max-width:520px){.section.modalidades-section .tiles a{border-radius:16px;min-height:320px}.section.modalidades-section .tiles strong{font-size:62px}}

/* v2.4: CTA final coeso e botões arredondados em todo o site */
.final-cta .final-cta-title { font-size: clamp(38px, 5.4vw, 76px); line-height: 1.08; letter-spacing: -.012em; margin: 0 auto 28px; max-width: 1050px; text-wrap: balance; }
.final-cta .final-cta-title em { color: #ff2d75; }
.btn, button.btn, a.btn, .bc-form button, .bc-form input[type="submit"] { border-radius: 12px; }
@media(max-width:520px) { .final-cta .final-cta-title { font-size: clamp(34px, 9vw, 48px); line-height: 1.08; } .btn, button.btn, a.btn, .bc-form button, .bc-form input[type="submit"] { border-radius: 10px; } }

/* v2.6 - Rodapé em três colunas */
.bc-footer .bc-footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);align-items:start;gap:32px}
.bc-footer .bc-footer-brand h2{margin:0 0 14px;line-height:1.05}
.bc-footer .bc-footer-brand small{font-size:12px;color:#aaa}
.bc-footer .bc-footer-values,.bc-footer .bc-footer-links{display:flex;flex-direction:column;gap:13px;padding-top:9px;font-size:15px;line-height:1.5}
.bc-footer .bc-footer-values{color:#e7e7e9;font-weight:700;letter-spacing:.06em}
.bc-footer .bc-footer-links{align-items:flex-end;text-align:right}
.bc-footer .bc-footer-links a{color:#e7e7e9;text-decoration:none}
.bc-footer .bc-footer-links a:hover,.bc-footer .bc-footer-links a:focus-visible{color:#ff2d75}
@media(max-width:700px){.bc-footer .bc-footer-grid{grid-template-columns:1fr 1fr;gap:26px}.bc-footer .bc-footer-brand{grid-column:1/-1}.bc-footer .bc-footer-links{align-items:flex-start;text-align:left}}
@media(max-width:380px){.bc-footer .bc-footer-grid{grid-template-columns:1fr}.bc-footer .bc-footer-brand{grid-column:auto}}

/* v2.7: subtle animated underline for header navigation links only */
.header nav > a:not(.btn) {
  position: relative;
  display: inline-block;
  padding-bottom: 6px;
  transition: color .2s ease;
}
.header nav > a:not(.btn)::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background-color: #FF2D75;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .22s ease;
}
.header nav > a:not(.btn):hover,
.header nav > a:not(.btn):focus-visible { color: #FF8AB0; }
.header nav > a:not(.btn):hover::after,
.header nav > a:not(.btn):focus-visible::after { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) {
  .header nav > a:not(.btn),
  .header nav > a:not(.btn)::after { transition: none; }
}
