/* APEX · "Card de Luta" 2026 — Anton + Manrope, noite + amarelo, linguagem de tatame */
:root{
  --bg:#0A0D14; --bg2:#0D121D; --card:#121826; --card2:#1A2233;
  --line:rgba(243,241,235,.09); --line2:rgba(243,241,235,.18);
  --fg:#F3F1EB; --mut:#A8B0C0; --mut2:#8B94A7;
  --y:#FFC21A; --y2:#FFD24F; --on-y:#0A0D14;
  --g:#3DD68C; --b:#7FA6FF;
  --paper:#F3F1EB; --paper2:#E7E3D9; --ink:#0A0D14; --ink-mut:#4B5161;
  --fd:'Big Shoulders Display','Barlow Condensed','Arial Narrow',Impact,sans-serif;--fm:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --fb:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
  --fk:'Noto Serif JP','Noto Serif CJK JP','Hiragino Mincho ProN','Yu Mincho',serif;
  --r:4px; --r2:6px; --cut:22px; --wrap:1280px; --gut:clamp(20px,4.5vw,56px);
  --ease:cubic-bezier(.2,.7,.2,1); --skew:-7deg;
  --mat:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%;font-synthesis:none}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--fb);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
::selection{background:var(--y);color:var(--on-y)}
:focus-visible{outline:3px solid var(--y);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;z-index:999;background:var(--y);color:var(--on-y);padding:10px 16px;font-weight:800}
.skip:focus{left:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut);position:relative}
.sec{padding:clamp(72px,9vw,136px) 0;position:relative}
.sec--tight{padding:clamp(48px,6vw,88px) 0}
.sec--paper{background:var(--paper);color:var(--ink)}
.sec--alt{background:var(--bg2)}
.sec--mat,.mat{background-image:var(--mat);background-size:120px 120px}
.sec--y{background:var(--y);color:var(--on-y)}

/* ---------- type ---------- */
.kick{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-family:var(--fb);font-size:12.5px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--y)}
.kick b{font-family:var(--fb);font-weight:800;letter-spacing:.24em}
.kick b::after{content:'—';margin-left:12px}
.sec--paper .kick{color:#8A6400}
.sec--y .kick{color:var(--on-y)}
.d1,.d2,.d3{font-family:var(--fd);font-weight:900;text-transform:uppercase;margin:0;letter-spacing:.004em}
.d1,.d2{transform:skewX(var(--skew));transform-origin:0 100%}
.d1{font-size:clamp(50px,8.4vw,124px);line-height:.94}
.d2{font-size:clamp(40px,6.2vw,92px);line-height:.94}
.d3{font-size:clamp(28px,3vw,40px);line-height:.98}
.hl{color:var(--y)}
.o{color:transparent;-webkit-text-stroke:2px currentColor}
.d1 .o,.d2 .o{color:transparent;-webkit-text-stroke:2px var(--fg)}
.sec--paper .hl{color:var(--ink);background:linear-gradient(transparent 62%,var(--y) 62%,var(--y) 94%,transparent 94%);padding:0 .06em}
.sec--y .hl{color:var(--on-y);-webkit-text-stroke:0;background:none;padding:0}
.it{font-style:normal}
.lead{font-size:clamp(17.5px,1.55vw,20px);line-height:1.58;color:var(--mut);max-width:58ch;margin:0}
.sec--paper .lead{color:var(--ink-mut)}
.mut{color:var(--mut)}
.sec--paper .mut{color:var(--ink-mut)}
.head{display:flex;flex-direction:column;gap:18px;margin-bottom:clamp(36px,5vw,60px)}
.head--row{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}

/* ---------- buttons (paralelogramo) ---------- */
.btn{--bh:58px;--bb:var(--y);--bc:var(--on-y);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:var(--bh);padding:0 30px;border:0;cursor:pointer;background:none;
  font-family:var(--fd);font-weight:800;font-size:20px;letter-spacing:.05em;text-transform:uppercase;line-height:1;white-space:nowrap;color:var(--bc);transition:transform .2s var(--ease),color .2s}
.btn::before{content:'';position:absolute;inset:0 4px;z-index:-1;background:var(--bb);transform:skewX(-12deg);transition:background .2s,box-shadow .2s}
.btn svg{width:20px;height:20px;transition:transform .2s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:hover::before{--bb:var(--y2);box-shadow:6px 6px 0 rgba(255,194,26,.25)}
.btn:hover svg{transform:translateX(4px)}
.btn:active{transform:translateY(0)}
.btn:disabled{opacity:.6;cursor:default}
.btn--ghost{--bb:transparent;--bc:var(--fg)}
.btn--ghost::before{box-shadow:inset 0 0 0 2px var(--fg)}
.btn--ghost:hover::before{--bb:rgba(243,241,235,.08);box-shadow:inset 0 0 0 2px var(--y)}
.btn--ink{--bb:var(--on-y);--bc:var(--y)}
.btn--ink:hover::before{--bb:#000;box-shadow:6px 6px 0 rgba(10,13,20,.25)}
.btn--sm{--bh:44px;padding:0 20px;font-size:17px}
.btn--lg{--bh:64px;padding:0 38px;font-size:22px}
.btn--block{width:100%}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:800;border-bottom:2px solid var(--y);padding-bottom:3px;transition:color .2s}
.link:hover{color:var(--y)}
.trust{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px;font-weight:600;color:var(--mut);margin:0;padding:0;list-style:none}
.trust li{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.trust svg{width:16px;height:16px;color:var(--y);flex:none}
.sec--y .trust,.sec--y .trust svg{color:var(--on-y)}

/* ---------- faixa (belt) ---------- */
.beltbar{position:relative;height:22px;background:var(--y);overflow:hidden}
.beltbar::before{content:'';position:absolute;right:12%;top:0;bottom:0;width:150px;background:#050608}
.beltbar::after{content:'';position:absolute;right:calc(12% + 22px);top:0;bottom:0;width:96px;background:repeating-linear-gradient(90deg,#fff 0 12px,transparent 12px 24px)}
.bstrip{display:block;height:10px;background:linear-gradient(90deg,var(--bc,var(--y)) 0 74%,#050608 74% 92%,var(--bc,var(--y)) 92%);position:relative}
.bstrip::after{content:'';position:absolute;top:0;bottom:0;left:calc(74% + 10px);width:34px;background:repeating-linear-gradient(90deg,#fff 0 5px,transparent 5px 10px)}

/* ---------- announcement + header ---------- */
.ann{background:var(--y);color:var(--on-y);font-size:14px;font-weight:700;text-align:center;padding:9px 16px}
.ann a{font-weight:800;text-decoration:underline;text-underline-offset:3px}
.hdr{position:sticky;top:0;z-index:80;background:rgba(10,13,20,.86);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.hdr__in{height:74px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;line-height:1;flex:none}
.brand__k{font-family:var(--fk);font-weight:700;font-size:13px;line-height:1.05;writing-mode:vertical-rl;color:var(--y);letter-spacing:.05em}
.brand>span:last-child{display:flex;flex-direction:column}
.brand b{font-family:var(--fd);font-weight:800;font-size:30px;letter-spacing:.03em}
.brand b i{font-style:normal;color:var(--y)}
.brand small{font-size:9.5px;font-weight:800;letter-spacing:.32em;color:var(--mut2);margin-top:4px}
.brand--prog b{font-size:24px}
.nav{display:flex;gap:26px;margin-left:auto;font-size:13.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.nav a{position:relative;padding:6px 0;transition:color .2s}
.nav a::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--y);transform:scaleX(0) skewX(-20deg);transform-origin:left;transition:transform .25s var(--ease)}
.nav a:hover{color:var(--fg)}
.nav a:hover::after{transform:scaleX(1) skewX(-20deg)}
.hdr .btn{margin-left:8px}
.menu-btn{display:none;margin-left:auto;width:48px;height:46px;border:2px solid var(--line2);background:transparent;cursor:pointer;align-items:center;justify-content:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:20px;height:2px;background:var(--fg);position:relative;transition:transform .25s,opacity .2s}
.menu-btn span::before,.menu-btn span::after{content:'';position:absolute;left:0}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px;width:13px}
.menu-open .menu-btn span{background:transparent}
.menu-open .menu-btn span::before{transform:translateY(6px) rotate(45deg)}
.menu-open .menu-btn span::after{width:20px;transform:translateY(-6px) rotate(-45deg)}
.drawer{display:none}
@media (max-width:960px){
  .nav,.hdr .btn--hide-m{display:none}
  .menu-btn{display:inline-flex}
  .hdr .btn{margin-left:0}
  .drawer{display:block;position:fixed;inset:74px 0 auto 0;z-index:79;background:var(--bg);background-image:var(--mat);background-size:96px 96px;border-bottom:4px solid var(--y);padding:12px var(--gut) 28px;transform:translateY(-110%);transition:transform .3s var(--ease);visibility:hidden}
  .menu-open .drawer{transform:none;visibility:visible}
  .drawer a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-family:var(--fd);font-size:30px;text-transform:uppercase;letter-spacing:.02em;font-weight:800}
  .drawer .btn{margin-top:22px;width:100%;border:0}
}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(32px,5vw,72px) 0 0;background-image:var(--mat);background-size:120px 120px}
.kanji{position:absolute;right:-30px;top:10px;font-family:var(--fk);font-weight:700;font-size:clamp(260px,38vw,540px);line-height:.86;writing-mode:vertical-rl;color:transparent;-webkit-text-stroke:2px rgba(255,194,26,.15);pointer-events:none;user-select:none;z-index:0}
.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(28px,4vw,56px);align-items:end}
.hero__copy{display:flex;flex-direction:column;gap:26px;padding-bottom:clamp(40px,5vw,72px)}
.hero__copy .kick::before{content:'';width:46px;height:12px;flex:none;background:linear-gradient(90deg,var(--y) 0 62%,#050608 62% 100%);box-shadow:inset -6px 0 0 #050608}
.hero--home .d1{font-size:clamp(50px,7.8vw,120px)}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;margin-top:4px}
.price-tease{display:flex;flex-direction:column;line-height:1.15;padding-left:16px;border-left:3px solid var(--y)}
.price-tease small{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--mut2)}
.price-tease b{font-family:var(--fd);font-weight:800;font-size:26px;letter-spacing:.02em}
.hero__media{position:relative;align-self:stretch;min-height:clamp(420px,46vw,660px)}
.frame{position:absolute;inset:0;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);overflow:hidden;background:var(--card)}
.frame img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05)}
.frame::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,13,20,.85))}
.badge{position:absolute;z-index:2;left:10%;bottom:30px;display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--fg);color:var(--ink);transform:rotate(-3deg);box-shadow:8px 8px 0 var(--y)}
.badge i{display:none}
.badge b{display:block;font-family:var(--fd);font-weight:800;font-size:34px;line-height:1;letter-spacing:.01em}
.badge span{display:block;font-size:12.5px;font-weight:800;line-height:1.25;max-width:12ch;text-transform:uppercase;letter-spacing:.06em}
.badge>div{display:flex;align-items:center;gap:12px}
@media (max-width:900px){
  .hero__grid{grid-template-columns:1fr}
  .hero__copy{padding-bottom:8px}
  .hero__media{min-height:0;aspect-ratio:4/4.2;margin:0 calc(-1 * var(--gut))}
  .frame{clip-path:polygon(0 8%,100% 0,100% 100%,0 100%)}
  .badge{left:var(--gut)}
  .kanji{font-size:300px;right:-60px;top:-20px}
}

/* ---------- stats (ficha de pesagem) + marquee-faixa ---------- */
.stats{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));border-bottom:1px solid var(--line)}
.stat{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;padding:28px clamp(14px,2.2vw,30px);border-left:1px solid var(--line);text-align:left;background:none;border-top:0;border-right:0;border-bottom:0;color:inherit;font:inherit}
.stat:first-child{border-left:0;padding-left:0}
button.stat{cursor:pointer;transition:background .2s}
button.stat:hover{background:rgba(255,194,26,.05)}
button.stat:hover span{color:var(--fg)}
.stat b{font-family:var(--fd);font-weight:900;font-size:clamp(44px,5.2vw,74px);line-height:.92;color:var(--y);letter-spacing:.005em}
.stat span{font-size:12.5px;letter-spacing:.18em;color:var(--mut);text-transform:uppercase;font-weight:800;max-width:14ch;line-height:1.45;transition:color .2s}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{border-left:0;border-top:1px solid var(--line);padding-left:0;flex-direction:column;gap:8px}.stat:nth-child(-n+2){border-top:0}.stat:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}}
.marq{position:relative;overflow:hidden;background:var(--y);color:var(--on-y)}
.marq::after{content:'';position:absolute;right:10%;top:0;bottom:0;width:160px;background:#050608 repeating-linear-gradient(90deg,transparent 0 22px,#fff 22px 34px,transparent 34px 46px) no-repeat;background-size:96px 100%;background-position:24px 0;z-index:1}
.marq__track{display:flex;width:max-content;animation:marq 40s linear infinite}
.marq span{font-family:var(--fd);font-size:clamp(20px,2vw,28px);text-transform:uppercase;letter-spacing:.04em;padding:10px 22px;white-space:nowrap;display:inline-flex;align-items:center;gap:22px;font-weight:800}
.marq span::after{content:'';width:10px;height:10px;background:var(--on-y);transform:skewX(-20deg)}
@keyframes marq{to{transform:translateX(-50%)}}
@media (max-width:760px){.marq::after{right:6%;width:110px;background-size:66px 100%;background-position:18px 0}}

/* ---------- program fight cards (home) ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pcard{position:relative;display:flex;flex-direction:column;background:var(--card);clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%);transition:transform .3s var(--ease),background .3s;isolation:isolate}
.pcard__img{position:relative;aspect-ratio:4/3.1;overflow:hidden}
.pcard__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.pcard__img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,20,.15),transparent 30%,transparent 55%,var(--card))}
.pcard__n{position:absolute;top:12px;left:16px;z-index:1;font-family:var(--fd);font-size:60px;line-height:1;color:var(--y);text-shadow:0 2px 20px rgba(0,0,0,.4);font-weight:800}
.pcard__tag{position:absolute;top:20px;right:16px;z-index:1;padding:6px 10px;background:var(--bg);font-size:11px;font-weight:800;letter-spacing:.2em;color:var(--fg)}
.pcard__body{display:flex;flex-direction:column;gap:10px;padding:20px 24px 36px;flex:1}
.pcard__name{font-family:var(--fd);font-size:clamp(32px,2.8vw,40px);line-height:.95;text-transform:uppercase;letter-spacing:.01em;font-weight:800}
.pcard__body p{margin:0;color:var(--mut);font-size:15.5px;line-height:1.55;flex:1}
.pcard__go{display:inline-flex;align-items:center;gap:10px;margin-top:8px;font-size:13.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--y)}
.pcard__go i{display:inline-grid;place-items:center}
.pcard__go svg{width:18px;height:18px;transition:transform .25s var(--ease)}
.pcard:hover{transform:translateY(-6px);background:var(--card2)}
.pcard:hover .pcard__img img{transform:scale(1.06)}
.pcard:hover .pcard__go svg{transform:translateX(5px)}
@media (max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.cards{grid-template-columns:1fr}}

/* ---------- testimonials ---------- */
.tgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tcard{display:flex;flex-direction:column;background:var(--card);clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%)}
.tcard__img{aspect-ratio:4/3.4;overflow:hidden;background:var(--card2);position:relative}
.tcard__img img{width:100%;height:100%;object-fit:cover}
.tcard__body{display:flex;flex-direction:column;gap:18px;padding:26px 26px 34px;flex:1;border-top:6px solid var(--y)}
.tcard q{quotes:none;font-size:16.5px;line-height:1.62;flex:1}
.tcard q::before{content:'“';display:block;font-family:var(--fd);font-size:70px;line-height:.6;color:var(--y);margin-bottom:6px;font-weight:800}
.who{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;padding-top:16px;border-top:1px solid var(--line)}
.who b{font-family:var(--fd);font-weight:800;font-size:24px;text-transform:uppercase;letter-spacing:.02em}
.who span{font-size:12.5px;font-weight:800;color:var(--y);letter-spacing:.1em;text-transform:uppercase}
@media (max-width:980px){.tgrid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(82vw,380px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;margin-right:calc(-1 * var(--gut));padding-right:var(--gut)}.tcard{scroll-snap-align:start}}

/* ---------- method = rounds ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:6px solid var(--y)}
.step{position:relative;padding:34px 30px 30px 0;display:flex;flex-direction:column;gap:14px}
.step+.step{padding-left:30px;border-left:1px solid var(--line)}
.step__n{display:flex;align-items:baseline;gap:10px;font-family:var(--fd);font-size:96px;line-height:.85;color:var(--y);margin-bottom:6px;font-weight:900}
.step__n small{font-family:var(--fb);font-size:12.5px;font-weight:800;letter-spacing:.24em;color:var(--mut)}
.step h3{font-family:var(--fd);font-weight:800;font-size:32px;text-transform:uppercase;line-height:1;margin:0;letter-spacing:.01em}
.step p{margin:0;color:var(--mut);font-size:16px}
@media (max-width:860px){.steps{grid-template-columns:1fr}.step,.step+.step{padding:28px 0;border-left:0;border-bottom:1px solid var(--line)}}

/* ---------- app ---------- */
.app{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,96px);align-items:center}
.phone{position:relative;width:min(320px,78vw);aspect-ratio:330/660;margin:0 auto;border-radius:44px;padding:12px;background:#05070C;box-shadow:0 0 0 1px var(--line2),18px 18px 0 var(--y),0 50px 90px rgba(0,0,0,.6)}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:34px;background:#fff}
.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.checks li{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--line);font-size:17px}
.checks li:last-child{border-bottom:1px solid var(--line)}
.ck{flex:none;width:26px;height:26px;background:var(--y);color:var(--on-y);display:grid;place-items:center;transform:skewX(-10deg)}
.ck svg{width:16px;height:16px;transform:skewX(10deg)}
.sec--paper .checks li{border-color:rgba(10,13,20,.12)}
@media (max-width:900px){.app{grid-template-columns:1fr}}

/* ---------- about (kimono / paper) ---------- */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,6vw,96px);align-items:start}
.about__img{position:sticky;top:100px;aspect-ratio:4/5;background:var(--paper2);box-shadow:16px 16px 0 var(--ink)}
.about__img img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.about__img::after{content:'';position:absolute;left:0;right:0;bottom:-16px;height:16px}
.about__txt{display:flex;flex-direction:column;gap:20px;font-size:17.5px;line-height:1.72;color:#262B36}
.about__txt p{margin:0}
.creds{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 6px;padding:0;list-style:none}
.creds li{padding:8px 14px;background:var(--ink);color:var(--fg);font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.creds li:nth-child(1){box-shadow:inset 4px 0 0 var(--y)}
.more summary{display:inline-flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-weight:800;color:var(--ink);border-bottom:3px solid var(--y);padding-bottom:3px;width:max-content;max-width:100%}
.more summary::-webkit-details-marker{display:none}
.more[open] summary{display:none}
.more>div{display:flex;flex-direction:column;gap:20px}
.quote{margin:12px 0 0;padding:28px 30px;background:var(--ink);color:var(--fg);font-family:var(--fd);font-size:clamp(26px,2.6vw,36px);font-weight:800;line-height:1.1;text-transform:uppercase;border-left:8px solid var(--y)}
.quote em{font-style:normal;color:var(--y)}
@media (max-width:900px){.about{grid-template-columns:1fr}.about__img{position:relative;top:0;max-width:480px;margin-right:16px}}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,80px);align-items:start}
.acc{border-top:2px solid var(--fg)}
.acc details{border-bottom:1px solid var(--line2)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:clamp(17.5px,1.5vw,20px);font-weight:800}
.acc summary::-webkit-details-marker{display:none}
.acc summary i{flex:none;width:38px;height:38px;border:2px solid var(--line2);display:grid;place-items:center;transition:transform .25s var(--ease),background .25s,border-color .25s}
.acc summary i::before{content:'+';font-style:normal;font-family:var(--fd);font-size:24px;line-height:1;color:var(--y);font-weight:800}
.acc summary:hover i{border-color:var(--y)}
.acc details[open] summary i{transform:rotate(45deg);background:var(--y);border-color:var(--y)}
.acc details[open] summary i::before{color:var(--on-y)}
.acc p{margin:0;padding:0 56px 26px 0;color:var(--mut);font-size:16.5px}
.sec--paper .acc{border-color:var(--ink)}
.sec--paper .acc details{border-color:rgba(10,13,20,.16)}
.sec--paper .acc p{color:var(--ink-mut)}
@media (max-width:860px){.faq{grid-template-columns:1fr}.acc p{padding-right:0}}

/* ---------- CTA band ---------- */
.sec--y.cta-sec{clip-path:polygon(0 48px,100% 0,100% 100%,0 100%);padding-top:clamp(110px,12vw,170px);overflow:hidden}
.cta{text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px;position:relative;z-index:1}
.cta .d1,.cta .d2{max-width:14ch;transform-origin:50% 100%}
.cta .trust{justify-content:center}
.sec--y .lead{color:rgba(10,13,20,.8)}
.sec--y .kanji{-webkit-text-stroke:2px rgba(10,13,20,.12);top:auto;bottom:-60px;left:-40px;right:auto}

/* ---------- footer ---------- */
.ftr{background:var(--bg);background-image:var(--mat);background-size:120px 120px;border-top:6px solid var(--y);padding:clamp(56px,7vw,96px) 0 32px;overflow:hidden}
.ftr__top{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(36px,6vw,96px)}
.ftr h3{font-family:var(--fd);font-weight:800;font-size:clamp(30px,3vw,44px);text-transform:uppercase;line-height:.98;margin:0 0 20px;max-width:16ch;transform:skewX(var(--skew));transform-origin:0 100%}
.nl{display:flex;flex-wrap:wrap;gap:10px;max-width:580px}
.nl input{flex:1 1 180px;min-width:0;height:56px;border:2px solid var(--line2);border-radius:0;background:rgba(10,13,20,.6);color:var(--fg);font:inherit;font-size:16px;padding:0 18px;transition:border-color .2s,background .2s}
.nl input::placeholder{color:var(--mut2)}
.nl input:focus{outline:none;border-color:var(--y)}
.nl .btn{--bh:56px}
.nl-msg{margin-top:12px;font-size:15px;font-weight:700}
.nl-msg.ok{color:var(--y)} .nl-msg.err{color:#FF9B8A}
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cols nav{display:flex;flex-direction:column;gap:12px;font-size:15.5px;color:var(--mut)}
.cols nav span{font-size:11.5px;font-weight:800;letter-spacing:.26em;color:var(--y);margin-bottom:4px}
.cols a{transition:color .2s;width:max-content;max-width:100%}
.cols a:hover{color:var(--fg)}
.giant{display:flex;align-items:flex-end;gap:.08em;font-family:var(--fd);font-size:clamp(110px,24vw,360px);line-height:.8;padding-bottom:.04em;letter-spacing:.01em;color:transparent;-webkit-text-stroke:2px rgba(243,241,235,.14);margin:clamp(40px,6vw,80px) 0 0;user-select:none;white-space:nowrap;font-weight:900}
.giant small{font-family:var(--fk);font-weight:700;font-size:.2em;line-height:1.05;writing-mode:vertical-rl;-webkit-text-stroke:0;color:var(--y);margin-bottom:.12em}
.ftr__bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--mut2)}
.ftr__bot nav{display:flex;flex-wrap:wrap;gap:22px}
.ftr__bot a:hover{color:var(--fg)}
@media (max-width:860px){.ftr__top{grid-template-columns:1fr}.cols{grid-template-columns:1fr 1fr}}

/* ---------- WhatsApp + sticky buy bar ---------- */
.wa{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:999px;background:#25D366;color:#04230F;font-weight:800;font-size:15px;box-shadow:0 12px 30px rgba(37,211,102,.35);transition:transform .2s var(--ease)}
.wa:hover{transform:translateY(-3px)}
.wa i{width:36px;height:36px;border-radius:50%;background:rgba(4,35,15,.12);display:grid;place-items:center}
.wa svg{width:20px;height:20px;fill:#04230F}
.buybar{display:none}
@media (max-width:860px){
  .buybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:75;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(10,13,20,.97);backdrop-filter:blur(10px);border-top:4px solid var(--y);transform:translateY(110%);transition:transform .3s var(--ease)}
  .buybar.on{transform:none}
  .buybar b{display:block;font-family:var(--fd);font-weight:800;font-size:26px;line-height:1}
  .buybar small{font-size:12px;color:var(--mut)}
  .buybar .btn{--bh:48px;padding:0 20px;font-size:17px}
  .has-buybar .wa{bottom:86px}
  .has-buybar{padding-bottom:76px}
}

/* ---------- program page ---------- */
.mani-sec{position:relative;overflow:hidden}
.mani-sec::after{content:'';position:absolute;right:9%;top:0;bottom:0;width:clamp(90px,12vw,170px);background:#050608}
.mani-sec::before{content:'';position:absolute;right:calc(9% + clamp(14px,2vw,26px));top:0;bottom:0;width:clamp(50px,7vw,100px);z-index:1;background:repeating-linear-gradient(90deg,#fff 0 12px,transparent 12px 24px)}
.mani{display:flex;flex-direction:column;gap:26px;padding-right:clamp(0px,16vw,230px);position:relative;z-index:2}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.pills li{padding:9px 16px;background:var(--on-y);color:var(--y);font-weight:800;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;transform:skewX(-10deg)}
@media (max-width:760px){.mani-sec::after{top:auto;height:22px;width:auto;left:0;right:0;bottom:0}.mani-sec::before{display:none}.mani{padding-right:0}}
.mods{display:grid;grid-template-columns:290px 1fr;gap:clamp(28px,4vw,64px);align-items:start}
.mods__nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:0;border-left:2px solid var(--line2)}
.mods__nav a{display:flex;align-items:center;gap:14px;padding:11px 16px;color:var(--mut);font-weight:700;font-size:15px;margin-left:-2px;border-left:2px solid transparent;transition:background .2s,color .2s,border-color .2s}
.mods__nav a b{font-family:var(--fd);font-weight:800;font-size:20px;color:var(--mut2);min-width:26px;transition:color .2s}
.mods__nav a:hover{color:var(--fg)}
.mods__nav a.on{background:linear-gradient(90deg,rgba(255,194,26,.1),transparent);color:var(--fg);border-left-color:var(--y)}
.mods__nav a.on b{color:var(--y)}
.mods__list{display:flex;flex-direction:column;gap:18px}
.mod{scroll-margin-top:96px;background:var(--card);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:18px;position:relative;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%);box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .3s}
.mod.flash{box-shadow:inset 0 0 0 2px var(--y)}
.mod__top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.mod__n{font-family:var(--fd);font-weight:800;font-size:54px;line-height:.82;color:var(--y)}
.mod__tag{font-size:11.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--on-y);background:var(--fg);padding:6px 10px}
.mod h3{font-family:var(--fd);font-weight:800;font-size:clamp(30px,3vw,44px);text-transform:uppercase;line-height:.98;margin:0;letter-spacing:.01em}
.mod>p{margin:0;color:var(--mut);max-width:62ch}
.ilist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.ilist li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line);font-size:15.5px;line-height:1.45}
.ilist li::before{content:'';flex:none;width:12px;height:6px;margin-top:8px;background:var(--y);transform:skewX(-20deg)}
.ilist .xtra{display:none}
.mod.open .ilist .xtra{display:flex}
.mod__more{align-self:flex-start;background:none;border:0;padding:0 0 3px;cursor:pointer;font-weight:800;color:var(--fg);border-bottom:3px solid var(--y)}
.mod.open .mod__more{display:none}
.note{margin:0;padding:14px 16px;background:rgba(255,194,26,.08);border-left:4px solid var(--y);font-size:15px;color:var(--fg)}
.feats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.feat{display:flex;gap:14px;align-items:flex-start;padding:16px;background:var(--card2)}
.feat i{flex:none;width:40px;height:40px;background:var(--y);color:var(--on-y);display:grid;place-items:center;font-style:normal;font-weight:800}
.feat b{display:block;font-family:var(--fd);font-weight:800;font-size:20px;text-transform:uppercase;line-height:1.05;letter-spacing:.01em;margin-bottom:2px}
.feat span{font-size:14.5px;color:var(--mut);line-height:1.45}
.appmod{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start}
.appmod .phone{width:200px;border-radius:32px;padding:8px;box-shadow:0 0 0 1px var(--line2),10px 10px 0 var(--y)}
.appmod .phone img{border-radius:25px}
.ngrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px}
.ngrid h4{margin:0 0 4px;font-size:12.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--y)}
.ngrid .ilist{grid-template-columns:1fr}
.logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.logo{display:flex;align-items:center;gap:12px;padding:12px;background:var(--card2);font-weight:700;font-size:15px;min-width:0}
.logo img{width:44px;height:44px;border-radius:10px;background:#fff;object-fit:contain;flex:none}
@media (max-width:1000px){.mods{grid-template-columns:1fr}.mods__nav{position:relative;top:0;flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:6px;scrollbar-width:none;border-left:0}.mods__nav a{white-space:nowrap;border:1px solid var(--line2);margin-left:0}.mods__nav a.on{border-color:var(--y)}.logos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.ilist,.feats,.ngrid{grid-template-columns:1fr}.appmod{grid-template-columns:1fr}.appmod .phone{margin:0 auto}}

.forwho{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,80px);align-items:start}
.forwho__h{position:sticky;top:100px;display:flex;flex-direction:column;gap:20px}
.olist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.olist li{display:flex;gap:14px;align-items:flex-start;padding:18px;background:#fff;box-shadow:5px 5px 0 var(--ink);font-weight:700;font-size:16px;line-height:1.4;color:var(--ink)}
@media (max-width:900px){.forwho{grid-template-columns:1fr}.forwho__h{position:relative;top:0}}
@media (max-width:600px){.olist{grid-template-columns:1fr}}

.testi{display:grid;grid-template-columns:1fr 1.1fr;background:var(--card);clip-path:polygon(0 0,100% 0,100% calc(100% - 34px),calc(100% - 34px) 100%,0 100%)}
.testi__img{min-height:440px;background:var(--card2);position:relative}
.testi__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.testi figure{margin:0;padding:clamp(28px,4.5vw,64px);display:flex;flex-direction:column;justify-content:center;gap:24px;border-left:6px solid var(--y)}
.testi blockquote{margin:0;font-family:var(--fd);font-weight:800;font-size:clamp(25px,2.4vw,34px);line-height:1.14;text-transform:uppercase;letter-spacing:.005em}
.testi blockquote::before{content:'“';display:block;font-size:100px;line-height:.5;color:var(--y);margin-bottom:10px}
@media (max-width:860px){.testi{grid-template-columns:1fr}.testi__img{min-height:360px}.testi figure{border-left:0;border-top:6px solid var(--y)}}

/* ---------- oferta = ingresso de inscrição ---------- */
.offer{position:relative;display:grid;grid-template-columns:1.18fr .82fr;background:var(--paper);color:var(--ink);filter:drop-shadow(0 30px 60px rgba(0,0,0,.5))}
.offer__inc{position:relative;padding:clamp(26px,4vw,52px);display:flex;flex-direction:column;gap:14px;border-right:3px dashed rgba(10,13,20,.3)}
.offer__inc::before,.offer__inc::after{content:'';position:absolute;right:-22px;width:40px;height:40px;border-radius:50%;background:var(--bg);z-index:2}
.offer__inc::before{top:-20px}.offer__inc::after{bottom:-20px}
.offer__inc .kick{color:#6A6F7A}
.offer__ttl{font-family:var(--fd);font-weight:800;font-size:clamp(36px,4vw,56px);line-height:.95;text-transform:uppercase;margin:0 0 6px;letter-spacing:.01em}
.inc{list-style:none;margin:0;padding:0}
.inc li{display:flex;gap:16px;padding:16px 0;border-top:1px solid rgba(10,13,20,.12)}
.inc b{display:block;font-size:16.5px;font-weight:800}
.inc span{font-size:15px;color:var(--ink-mut);line-height:1.5}
.inc .ck{margin-top:1px}
.offer__buy{position:relative;padding:clamp(26px,4vw,52px) clamp(24px,3.4vw,44px);background:var(--y);color:var(--on-y);display:flex;flex-direction:column;justify-content:center;gap:14px}
.offer__buy .kick{color:var(--on-y)}
.offer__old{font-size:15px;font-weight:700;opacity:.75}
.offer__price{font-family:var(--fd);font-weight:900;font-size:clamp(80px,8.4vw,124px);line-height:.84;letter-spacing:.005em}
.offer__parc{font-size:16.5px;font-weight:700}
.offer__buy .btn{margin-top:6px}
.barcode{height:42px;background:repeating-linear-gradient(90deg,var(--on-y) 0 3px,transparent 3px 5px,var(--on-y) 5px 6px,transparent 6px 10px,var(--on-y) 10px 14px,transparent 14px 16px,var(--on-y) 16px 17px,transparent 17px 21px)}
.offer__safe{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.guar{display:flex;gap:16px;align-items:center;margin-top:4px;padding-top:16px;border-top:2px solid rgba(10,13,20,.18)}
.guar__seal{flex:none;width:64px;height:64px;border-radius:50%;border:3px solid var(--on-y);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--fd);line-height:.9;transform:rotate(-8deg);font-weight:800}
.guar__seal b{font-size:28px;font-weight:400}.guar__seal small{font-family:var(--fb);font-weight:800;font-size:10px;letter-spacing:.1em}
.guar p{margin:0;font-size:14px;line-height:1.5}
.ribbon{position:absolute;top:0;right:24px;padding:9px 12px 10px;background:var(--on-y);color:var(--y);font-size:11px;font-weight:800;letter-spacing:.16em}
.offer-note{margin:28px auto 0;max-width:70ch;text-align:center;color:var(--mut);font-size:15px}
@media (max-width:900px){
  .offer{grid-template-columns:1fr}
  .offer__buy{order:-1;padding-top:56px}
  .offer__inc{border-right:0;border-top:3px dashed rgba(10,13,20,.3)}
  .offer__inc::before,.offer__inc::after{top:-22px;bottom:auto}
  .offer__inc::before{left:-20px;right:auto}.offer__inc::after{right:-20px}
}

.hsteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:6px solid var(--y)}
.hstep{padding:32px 28px 8px 0;display:flex;flex-direction:column;gap:12px}
.hstep+.hstep{padding-left:28px;border-left:1px solid var(--line)}
.hstep b{font-size:12.5px;font-weight:800;color:var(--y);letter-spacing:.24em}
.hstep h3{margin:0;font-family:var(--fd);font-weight:800;font-size:34px;text-transform:uppercase;line-height:.98;letter-spacing:.01em}
.hstep p{margin:0;color:var(--mut)}
@media (max-width:860px){.hsteps{grid-template-columns:1fr}.hstep,.hstep+.hstep{padding:26px 0;border-left:0;border-bottom:1px solid var(--line)}}

/* BJJ belts */
.belts{position:fixed;top:0;bottom:0;z-index:60;display:flex;flex-direction:column;pointer-events:none}
.belts--l{left:0}.belts--r{right:0;align-items:flex-end}
.belts i{flex:1;width:6px;transition:width .3s var(--ease),box-shadow .3s}
.belts i.on{width:12px}
.beltnow{position:fixed;left:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;background:rgba(10,13,20,.94);border:1px solid var(--line2);font-size:11.5px;font-weight:800;letter-spacing:.16em;pointer-events:none}
.beltnow i{width:30px;height:9px;border:1px solid rgba(255,255,255,.35);position:relative}
.beltnow i::after{content:'';position:absolute;right:3px;top:-1px;bottom:-1px;width:9px;background:#050608}
@media (max-width:860px){.beltnow{bottom:86px;left:12px}.belts i{width:4px}.belts i.on{width:8px}}

/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
.d1.rv.in,.d2.rv.in{transform:skewX(var(--skew))}
.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none}
  .d1.rv,.d2.rv{transform:skewX(var(--skew))}
}
.sec--y .d1 .o,.sec--y .d2 .o{-webkit-text-stroke-color:var(--on-y)}
.offer>*,.hero__grid>*,.forwho>*,.faq>*,.about>*,.app>*{min-width:0}
.kick{max-width:100%}
.pcard__name{margin:0}
.offer__inc .kick{color:#555B67}
.acc summary i::before{content:'';width:14px;height:14px;background:linear-gradient(var(--y),var(--y)) center/14px 2.5px no-repeat,linear-gradient(var(--y),var(--y)) center/2.5px 14px no-repeat;font-size:0}
.acc details[open] summary i::before{background:linear-gradient(var(--on-y),var(--on-y)) center/14px 2.5px no-repeat,linear-gradient(var(--on-y),var(--on-y)) center/2.5px 14px no-repeat}
@media (max-width:520px){
  .hdr__in{gap:12px}
  .brand--prog .brand__k{display:none}
  .brand--prog b{font-size:21px}
  .hdr .btn--sm{padding:0 14px;font-size:16px}
}
@media (max-width:440px){.brand--prog b{font-size:19px}.brand--prog small{letter-spacing:.24em}}
@media (max-width:400px){.brand--prog~.btn--sm{display:none}}
.cta-sec .d2{font-size:clamp(34px,5.2vw,78px)}
.ftr{background-position:0 60px}

/* .com: mesma tipografia da landing (Big Shoulders + Barlow + IBM Plex Mono) */
.kick,.kick b,.hstep b,.offer__safe,.ribbon,.beltnow,.cols nav span,.ngrid h4,.stat span,.step__n small,.mod__tag,.pcard__tag,.price-tease small,.creds li,.brand small,.ann{font-family:var(--fm);font-weight:500}
.kick{letter-spacing:.16em}.stat span{letter-spacing:.12em}
.d1{font-weight:900}.d2{font-weight:900}
/* .com: letras e botões iguais aos da página principal */
:root{--skew:0deg}
.d1,.d2,.d1.rv.in,.d2.rv.in,.ftr h3{transform:none}
.d1,.d2{line-height:.95}
.nav{font-family:var(--fb);font-weight:600;font-size:15px;letter-spacing:0;text-transform:none;gap:26px}
.nav a::after{height:2px;transform:scaleX(0)}
.nav a:hover::after{transform:scaleX(1)}
.btn{--bh:54px;border:2px solid transparent;border-radius:999px;background:var(--y);color:var(--on-y);font-family:var(--fb);font-weight:700;font-size:16.5px;letter-spacing:0;text-transform:none;padding:0 28px;box-shadow:0 10px 30px -10px rgba(255,194,26,.55)}
.btn::before{display:none}
.btn:hover{background:var(--y2);box-shadow:0 14px 36px -10px rgba(255,194,26,.7)}
.btn--ghost,.btn-dark{background:transparent;color:var(--fg);border-color:var(--line2);box-shadow:none}
.btn--ghost:hover,.btn-dark:hover{background:transparent;border-color:var(--fg);box-shadow:none}
.btn--ink{background:var(--on-y);color:var(--y);box-shadow:none}
.btn--ink:hover{background:#000;color:var(--y2);box-shadow:none}
.btn--sm{--bh:46px;padding:0 20px;font-size:15px;box-shadow:none}
.btn--lg{--bh:58px;padding:0 32px;font-size:17px}
.hdr .btn{box-shadow:none}
.buybar .btn{--bh:46px;font-size:15px}
.kick{font-family:var(--fm);font-weight:400;font-size:12.5px;letter-spacing:.14em;color:var(--b);gap:10px}
.kick::before,.hero__copy .kick::before{content:'';width:22px;height:2px;flex:none;background:currentColor;box-shadow:none}
.kick b{font-family:var(--fm);font-weight:400;letter-spacing:.14em}
.sec--y .kick,.offer__buy .kick{color:var(--on-y)}
.sec--paper .kick{color:#3655A8}
.offer__inc .kick{color:#4B5161}
.pills li{transform:none;border-radius:999px;font-family:var(--fb);font-weight:700;letter-spacing:.02em}
.opt b{font-family:var(--fb)!important;font-weight:700!important;font-size:19px!important;text-transform:none!important;letter-spacing:0!important;line-height:1.25!important}
.eyebrow{font-family:var(--fm)!important;font-weight:400!important;letter-spacing:.14em!important;color:var(--b)!important}
.progs button{font-family:var(--fb)!important;font-weight:700!important;font-size:16.5px!important;text-transform:none!important}
