/* KSA Coach · site (dojos e atletas). Letras alojadas aqui: a app não carrega nada de fora. */
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/barlow-condensed-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/barlow-condensed-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:900;font-display:swap;src:url(fonts/barlow-condensed-latin-900-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:900;font-display:swap;src:url(fonts/barlow-condensed-latin-ext-900-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/inter-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/inter-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/inter-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url(fonts/inter-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Layout: faixas largas de cor (preto, vermelho KSA, papel) com o ensō da KSA em grande como pano de fundo; tipografia condensada enorme; a app a funcionar dentro de telemóveis desenhados à medida. */
:root{
  --ink:#050506; --s1:#0E0E11; --s2:#16161B; --s3:#1F1F26; --line:#26262D; --paper:#F6F5F2; --paper2:#ECEAE5; --soft:#D6D3DA; --mute:#9B98A2; --ink2:#5F5C66;
  --red:#FF001E; --red2:#FF3B4E; --reddeep:#B10015; --redbg:rgba(255,0,30,.12);
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif; --body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:20;background:var(--ink)}
a{color:inherit}
img{max-width:100%}
.wrap{position:relative;max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
section{position:relative;padding-block:110px;overflow:hidden}
h1,h2,h3{font-family:var(--display);font-weight:900;text-transform:uppercase;line-height:.88;letter-spacing:-.005em;margin:0;text-wrap:balance}
h1{font-size:clamp(54px,8.2vw,132px)}
h2{font-size:clamp(44px,7vw,104px)}
h3{font-size:clamp(24px,2.6vw,32px);line-height:.98;font-weight:800}
p{margin:0}
.kick{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--red2);font-weight:600}
.kick::before{content:"";width:28px;height:2px;background:currentColor}
.lead{font-size:clamp(17px,1.9vw,21px);color:var(--soft);max-width:56ch}
.mute{color:var(--mute)}
.red{color:var(--red)}
.stroke{-webkit-text-stroke:2px var(--paper);color:transparent}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:58px;padding:0 30px;border-radius:999px;font-weight:800;font-size:16.5px;text-decoration:none;border:0;cursor:pointer;font-family:var(--body);letter-spacing:.01em;transition:transform .15s,box-shadow .2s}
.btn:hover{transform:translateY(-1px)}
.btn.red{background:var(--red);color:#fff;box-shadow:0 14px 40px rgba(255,0,30,.35)}
.btn.ghost{background:rgba(255,255,255,.06);color:var(--paper);border:1px solid rgba(255,255,255,.16)}
.btn.black{background:var(--ink);color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
.enso{position:absolute;pointer-events:none;user-select:none}

/* telemóvel desenhado */
.device{--w:290px;position:relative;width:calc(var(--w) + 22px);max-width:100%;padding:11px;border-radius:calc(var(--w) * .18);background:linear-gradient(145deg,#2d2d33,#0b0b0d 42%,#1b1b1f);box-shadow:inset 0 0 0 1.5px #40404a,0 0 0 1px #000,0 50px 100px rgba(0,0,0,.7)}
.device::before,.device::after{content:"";position:absolute;width:3px;border-radius:2px;background:#2c2c32}
.device::before{left:-3px;top:22%;height:9%;box-shadow:0 calc(var(--w) * .2) 0 #2c2c32}
.device::after{right:-3px;top:28%;height:14%}
.screen{position:relative;width:100%;aspect-ratio:390/891;border-radius:calc(var(--w) * .145);overflow:hidden;background:#000;display:grid;grid-template-rows:47fr 844fr}
.sbar{position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 8% 0 10%;font:600 calc(var(--w) * .044) var(--body);color:#fff}
.sbar .island{position:absolute;left:50%;top:22%;transform:translateX(-50%);width:32%;height:62%;border-radius:999px;background:#000;box-shadow:0 0 0 1px #111}
.sbar svg{height:calc(var(--w) * .04);width:auto;display:block}
.sbar .ic{display:flex;gap:5px;align-items:center}
.screen video,.screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.cap{font-family:var(--mono);font-size:11.5px;color:var(--mute);letter-spacing:.08em;text-transform:uppercase;text-align:center;margin-top:16px}

/* topo */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:19;background:rgba(5,5,6,.78);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav{display:flex;align-items:center;gap:26px;height:68px}
.logo{display:flex;align-items:center;gap:10px;white-space:nowrap;font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:.05em;text-decoration:none}
.logo img{width:38px;height:38px}
.nav nav{display:flex;gap:24px;margin-left:auto;font-size:14.5px;color:var(--soft);font-weight:500}
.nav nav a{text-decoration:none}.nav nav a:hover{color:#fff}
.nav .btn{height:44px;padding:0 20px;font-size:14px}
@media (max-width:960px){.nav nav{display:none}.nav .btn{margin-left:auto}}
@media (max-width:520px){.nav .long{display:none}.logo{font-size:21px}.logo img{width:34px;height:34px}}

/* abertura */
.hero{padding-block:70px 60px;min-height:min(880px,100vh);display:flex;align-items:center}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:900px;height:900px;background:radial-gradient(circle,rgba(255,0,30,.35),transparent 62%);filter:blur(10px)}
.hero .enso{right:-160px;top:50%;width:min(1000px,95vw);transform:translateY(-50%);opacity:.95}
.hero .grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center;width:100%}
.hero h1 .l2{display:block;color:var(--red)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.ticks{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:24px;font-size:14.5px;color:var(--soft)}
.ticks span::before{content:"✓ ";color:var(--red2);font-weight:800}
.fan{position:relative;height:640px}
.fan .device{position:absolute}
.fan .d1{left:50%;top:10px;transform:translateX(-50%);z-index:3;--w:290px}
.fan .d2{left:-4%;top:90px;transform:rotate(-9deg);z-index:1;--w:230px;filter:brightness(.72)}
.fan .d3{right:-4%;top:90px;transform:rotate(9deg);z-index:2;--w:230px;filter:brightness(.72)}
@media (max-width:980px){.hero{min-height:0}.hero .grid{grid-template-columns:1fr}.fan{height:600px;max-width:520px;margin:20px auto 0;width:100%}.hero .enso{right:-35vw;top:auto;bottom:-60px;transform:none;width:130vw;opacity:.6}}
@media (max-width:520px){.fan{height:520px}.fan .d1{--w:240px}.fan .d2,.fan .d3{--w:180px;top:80px}.fan .d2{left:-14%}.fan .d3{right:-14%}}

/* faixa vermelha em movimento */
.marquee{background:var(--red);color:#fff;overflow:hidden;border-block:1px solid #ff3348}
.marquee .track{display:flex;width:max-content;gap:0;animation:mq 34s linear infinite}
.marquee .item{display:flex;align-items:center;gap:26px;padding:20px 26px 20px 0;font-family:var(--display);font-weight:900;font-size:clamp(30px,4vw,52px);text-transform:uppercase;letter-spacing:.01em;white-space:nowrap}
.marquee .item img{width:44px;height:44px;filter:brightness(0) invert(1)}
@keyframes mq{to{transform:translateX(-50%)}}

/* o dia do sensei */
.day{display:grid;gap:26px;margin-top:56px}
.moment{position:relative;display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:center;padding:40px;border-radius:34px;background:linear-gradient(160deg,var(--s2),var(--s1));border:1px solid var(--line);overflow:hidden}
.moment.alt{grid-template-columns:300px 1fr}
.moment.alt .txt{order:2}
.moment .big{position:absolute;right:-10px;bottom:-30px;font-family:var(--display);font-weight:900;font-size:clamp(110px,16vw,230px);line-height:.8;text-transform:uppercase;-webkit-text-stroke:1.5px rgba(255,255,255,.09);color:transparent;pointer-events:none}
.moment.alt .big{right:auto;left:-10px}
.moment .when{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--red2);font-weight:600}
.moment h3{font-size:clamp(32px,4vw,52px);margin-top:10px}
.moment ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:10px;color:var(--soft);font-size:16px;max-width:52ch}
.moment li{display:grid;grid-template-columns:22px 1fr;gap:8px}
.moment li::before{content:"";width:12px;height:12px;margin-top:6px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px var(--redbg)}
.moment .device{--w:250px;justify-self:center;z-index:1}
@media (max-width:900px){.moment,.moment.alt{grid-template-columns:1fr;padding:28px}.moment.alt .txt{order:0}}

/* calculadora (faixa vermelha) */
.calc{background:var(--red);color:#fff}
.calc .enso{left:-200px;top:50%;transform:translateY(-50%);width:720px;opacity:.16;filter:brightness(0)}
.calc .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.calc .kick{color:#fff}
.calc .lead{color:rgba(255,255,255,.9)}
.calc .box{padding:32px;border-radius:30px;background:var(--ink);display:grid;gap:24px;box-shadow:0 30px 80px rgba(80,0,10,.45)}
.field{display:grid;gap:10px}
.field label{display:flex;justify-content:space-between;gap:12px;font-weight:700;font-size:15.5px}
.field label output{font-family:var(--mono);color:var(--red2);font-size:18px}
input[type=range]{width:100%;accent-color:var(--red);height:28px}
.result{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--line)}
.result .bignum{font-family:var(--display);font-weight:900;font-size:clamp(72px,10vw,120px);line-height:.9;font-variant-numeric:tabular-nums;color:#fff}
.result .bignum small{font-size:.38em;color:var(--red2);margin-left:6px}
.result .note{font-size:12.5px;color:var(--mute)}
@media (max-width:880px){.calc .grid{grid-template-columns:1fr}}

/* aula pronta */
.dark-enso .enso{left:-260px;top:40px;width:760px;opacity:.12}
.split{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.split.rev .phones{order:-1}
.phones{display:grid;justify-items:center}
.feats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}
.feat{padding:20px;border-radius:22px;background:var(--s1);border:1px solid var(--line);display:grid;gap:8px;align-content:start}
.feat .ic{width:44px;height:44px;border-radius:14px;background:var(--red);color:#fff;display:grid;place-items:center}
.feat b{font-size:17px}
.feat span{color:var(--soft);font-size:14.5px}
@media (max-width:900px){.split{grid-template-columns:1fr}.split.rev .phones{order:0}}
@media (max-width:520px){.feats{grid-template-columns:1fr}}

/* Academia (faixa clara) */
.light{background:var(--paper);color:var(--ink);color-scheme:light}
.light .kick{color:var(--red)}
.light .lead{color:#3D3A43}
.light .mute{color:var(--ink2)}
.light .enso{right:-220px;top:-120px;width:820px;opacity:.1}
.ksawm{height:46px;width:auto;margin-bottom:22px}
.acadgrid{display:grid;grid-template-columns:.95fr 1.05fr;gap:56px;align-items:center;margin-top:50px}
.light .device{box-shadow:inset 0 0 0 1.5px #40404a,0 0 0 1px #000,0 50px 90px rgba(20,10,10,.35)}
.course.main{padding:30px;border-radius:30px;background:var(--ink);color:var(--paper);display:grid;gap:14px}
.course .meta{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--red2);text-transform:uppercase}
.course h3{font-size:clamp(34px,4vw,54px)}
.mods{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-top:6px}
.mods div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #26262D;font-size:15px;font-weight:600}
.mods div i{font-style:normal;font-family:var(--mono);font-size:12.5px;color:var(--mute);white-space:nowrap;font-weight:500}
.others{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.others .course{padding:22px;border-radius:24px;background:#fff;border:1px solid #DDD9D2;display:grid;gap:8px}
.others h3{font-size:26px}
@media (max-width:900px){.acadgrid{grid-template-columns:1fr}}
@media (max-width:520px){.mods,.others{grid-template-columns:1fr}}
.pdfrow{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;margin-top:90px}
.stack{position:relative;width:min(520px,100%);aspect-ratio:1/1;justify-self:center}
.stack img{position:absolute;width:60%;border-radius:12px;box-shadow:0 30px 70px rgba(20,10,10,.28);border:1px solid #DDD9D2;background:#fff}
.stack img:nth-child(1){left:0;top:10%;transform:rotate(-7deg)}
.stack img:nth-child(2){left:20%;top:0;transform:rotate(1deg);z-index:2}
.stack img:nth-child(3){left:40%;top:12%;transform:rotate(8deg);z-index:1}
.lpoints{display:grid;gap:18px;margin-top:26px}
.lpoint{display:grid;grid-template-columns:46px 1fr;gap:14px}
.lpoint .ic{width:46px;height:46px;border-radius:14px;background:var(--ink);color:#fff;display:grid;place-items:center}
.lpoint b{display:block;font-size:17px}
.lpoint span{color:#3D3A43;font-size:15px}
@media (max-width:900px){.pdfrow{grid-template-columns:1fr}}

/* gestão do dojo */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:50px}
.tile{position:relative;padding:28px;border-radius:28px;background:var(--s1);border:1px solid var(--line);display:grid;gap:12px;align-content:start;overflow:hidden}
.tile:hover{border-color:rgba(255,0,30,.5)}
.tile .ic{width:52px;height:52px;border-radius:16px;background:var(--redbg);color:var(--red2);display:grid;place-items:center}
.tile h3{font-size:30px}
.tile p{color:var(--soft);font-size:15.5px}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.tiles{grid-template-columns:1fr}}

/* competidores */
.comp{background:radial-gradient(70% 90% at 100% 50%,rgba(255,0,30,.18),transparent 60%),var(--ink)}

/* proposta */
.quiz{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.qcard{padding:32px;border-radius:32px;background:linear-gradient(165deg,var(--s2),var(--s1));border:1px solid rgba(255,0,30,.35);box-shadow:0 0 0 6px rgba(255,0,30,.06),0 40px 90px rgba(0,0,0,.5);display:grid;gap:18px;min-width:0}
.qprog{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.qprog i{display:block;height:100%;background:var(--red);transition:width .3s}
.qcard h3{font-size:clamp(30px,3.4vw,42px)}
.qopts{display:grid;gap:10px}
.qopts button{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:17px 18px;border-radius:18px;background:var(--s3);border:1px solid var(--line);color:var(--paper);font:700 15.5px var(--body);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.qopts button:hover{border-color:var(--red);background:#24141a}
.qopts button::after{content:"→";color:var(--red2);font-size:18px}
.qres{display:grid;gap:14px}
.qres .big{font-family:var(--display);font-weight:900;font-size:clamp(44px,5vw,64px);text-transform:uppercase;line-height:.9}
.qres ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:var(--soft);font-size:15.5px}
.qres li{display:grid;grid-template-columns:22px 1fr;gap:6px}
.qres li::before{content:"✓";color:var(--red2);font-weight:800}
.qform{display:flex;gap:8px;flex-wrap:wrap}
.qform input{flex:1;min-width:200px;height:58px;border-radius:999px;border:1px solid var(--line);background:var(--ink);color:var(--paper);padding:0 20px;font:16px var(--body)}
.qnote{font-size:13px;color:var(--mute)}
@media (max-width:880px){.quiz{grid-template-columns:1fr}}

/* preços */
.tog{display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:var(--s2);border:1px solid var(--line);margin-top:30px}
.tog button{height:42px;padding:0 18px;border-radius:999px;border:0;background:none;color:var(--mute);font:700 14px var(--body);cursor:pointer}
.tog button[aria-pressed="true"]{background:var(--paper);color:#000}
.prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px;align-items:stretch}
.price{padding:30px;border-radius:30px;background:var(--s1);border:1px solid var(--line);display:grid;gap:16px;align-content:start;min-width:0}
.price.rec{background:var(--red);border-color:var(--red);box-shadow:0 30px 80px rgba(255,0,30,.3);transform:translateY(-10px)}
.price.rec li::before,.price.rec .tag{color:#fff}
.price .tag{justify-self:start;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:rgba(0,0,0,.25)}
.price h3{font-size:40px}
.price .amt{font-family:var(--display);font-weight:900;font-size:70px;line-height:.9;font-variant-numeric:tabular-nums}
.price .amt small{font-family:var(--body);font-size:15px;font-weight:600;opacity:.7;margin-left:4px}
.price ul{margin:0;padding:0;list-style:none;display:grid;gap:9px;font-size:15.5px}
.price li{display:grid;grid-template-columns:22px 1fr;gap:4px}
.price li::before{content:"✓";color:var(--red2);font-weight:800}
.price.rec ul{color:#fff}.price ul{color:var(--soft)}
.athlete{margin-top:18px;padding:24px 28px;border-radius:26px;border:1px solid var(--line);background:var(--s1);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
@media (max-width:900px){.prices{grid-template-columns:1fr}.price.rec{transform:none}}

/* perguntas */
.faq{margin-top:36px;display:grid;gap:10px}
.faq details{border-radius:20px;background:var(--s1);border:1px solid var(--line);padding:0 22px}
.faq details[open]{border-color:rgba(255,0,30,.45)}
.faq summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:700;font-size:17px;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red2);font-size:24px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 20px;color:var(--soft);max-width:72ch}

/* fecho */
.final{text-align:center;padding-block:150px}
.final .enso{left:50%;top:50%;width:min(900px,120vw);transform:translate(-50%,-50%);opacity:.9}
.final .wrap{display:grid;justify-items:center;gap:22px}
.final h2{font-size:clamp(52px,8.6vw,128px);max-width:14ch;text-shadow:0 10px 60px rgba(0,0,0,.6)}
footer{padding-block:40px;border-top:1px solid var(--line);font-size:14px;color:var(--mute)}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;align-items:center}
footer img{height:34px;width:auto}
footer nav{display:flex;flex-wrap:wrap;gap:12px 22px}
footer a{text-decoration:none}

@media (prefers-reduced-motion:no-preference){
  .fan .d1{animation:bob 7s ease-in-out infinite}
  .hero .enso{animation:spin 90s linear infinite}
  @keyframes bob{50%{translate:0 -12px}}
  @keyframes spin{to{rotate:360deg}}
}
@media (prefers-reduced-motion:reduce){.marquee .track{animation:none}}
.hero h1 .l2.sub{font-size:.5em;line-height:1;margin-top:14px}
@media (max-width:520px){.slotin{padding:10px;margin:6px;border-radius:20px;gap:6px}.slotin b{font-size:18px}.slotin span{font-size:10.5px}.slotin svg{width:30px;height:30px}}
.countries{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.countries span{font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #DDD9D2;color:#3D3A43}
.nav nav a,.btn{white-space:nowrap}
@media (max-width:1300px){.nav nav{display:none}.aud{margin-left:auto}}
/* troca dojo/atleta */
.aud{display:inline-flex;gap:2px;padding:4px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);flex:none}
.aud a{padding:7px 14px;border-radius:999px;font-size:13.5px;font-weight:700;text-decoration:none;color:var(--soft)}
.aud a[aria-current]{background:var(--paper);color:#000}
@media (max-width:960px){.aud{margin-left:auto}.nav .btn{margin-left:0}}
@media (max-width:600px){.nav .btn{display:none}.nav{gap:12px}}
/* atletas */
.ink{color:var(--ink)}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}
.pillar{position:relative;padding:30px;border-radius:28px;background:linear-gradient(160deg,var(--s2),var(--s1));border:1px solid var(--line);overflow:hidden;min-height:270px}
.pillar .pn{position:absolute;right:18px;top:-14px;font:900 160px/1 var(--display);-webkit-text-stroke:2px rgba(255,0,30,.65);color:transparent}
.pillar h3{font-size:36px;margin-top:84px}
.pillar p{color:var(--soft);margin-top:12px;font-size:15.5px}
.tgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;margin-top:44px}
.tphones{display:flex;gap:18px;justify-content:center}
.tphones figure{margin:0;display:grid;justify-items:center;gap:12px}
.tphones .device{--w:236px}
.tphones figcaption{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.9);text-align:center}
.slot .screen{background:repeating-linear-gradient(135deg,#0d0d0f 0 14px,#151518 14px 28px)}
.slotin{grid-row:1/-1;display:grid;place-content:center;justify-items:center;text-align:center;gap:10px;padding:22px;color:#fff;border:2px dashed rgba(255,255,255,.35);border-radius:28px;margin:10px}
.slotin b{font-family:var(--display);font-size:26px;text-transform:uppercase}
.slotin span{font-size:13.5px;color:#cfcfd4;line-height:1.45}
.tlist{display:grid;gap:12px}
.tcard{display:grid;grid-template-columns:58px 1fr;gap:14px;padding:20px 22px;border-radius:22px;background:var(--ink)}
.tcard .tn{font:900 42px/1 var(--display);color:var(--red)}
.tcard h3{font-size:28px}
.tcard p{color:var(--soft);font-size:15px;margin-top:6px}
.how{padding:18px 20px;border-radius:22px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.3)}
.how b{font-size:15.5px}.how p{font-size:14.5px;margin-top:6px;color:#fff}
.champs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}
.champ{padding:26px;border-radius:26px;background:var(--s1);border:1px solid var(--line)}
.champ .flag{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--red2)}
.champ h3{font-size:38px;margin:8px 0 16px}
.champ ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:15px;color:var(--soft)}
.champ li{display:flex;gap:10px;align-items:center}
.md{width:14px;height:14px;border-radius:50%;background:var(--s3);border:2px solid #45454d;flex:none}
.md.g{background:#E8B931;border-color:#F6D873}.md.s{background:#B9BDC6;border-color:#E0E3E8}.md.b{background:#C07A3A;border-color:#E2A066}
.feats2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.buts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:44px}
.but{padding:28px;border-radius:26px;background:var(--s1);border:1px solid var(--line);border-top:4px solid var(--red)}
.but h3{font-size:30px;line-height:1}
.but p{color:var(--soft);margin-top:14px;font-size:15.5px}
.kstats{display:flex;gap:44px;margin-top:22px}
.kstats b{display:block;font:900 76px/.9 var(--display);color:var(--red)}
.kstats span{font-weight:700;color:var(--ink2);text-transform:uppercase;letter-spacing:.12em;font-size:13px}
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}
.quotes blockquote{margin:0;padding:26px;border-radius:24px;background:#fff;border:1px solid #DDD9D2;display:grid;gap:18px;align-content:space-between}
.quotes p{font-size:16px;line-height:1.55;color:#24222A}
.quotes footer{padding:0;border:0;font-size:13.5px;color:var(--ink2);display:grid;gap:2px}
.quotes footer b{color:var(--ink);font-size:15px}
.solo{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;margin-top:26px;align-items:stretch}
.solo .price:not(.rec){align-content:center}
@media (max-width:900px){.pillars,.champs,.feats2,.buts,.quotes,.solo,.tgrid{grid-template-columns:1fr}.pillar{min-height:0}.pillar h3{margin-top:64px}}
@media (max-width:520px){.tphones .device{--w:146px}.tphones{gap:10px}.kstats b{font-size:60px}}
/* cabeçalho: o logótipo, a troca dojo/atleta e o botão nunca encolhem; o menu só aparece quando cabe */
.logo,.aud,.nav > .btn{flex:none}
.nav{gap:22px}
.nav nav{gap:20px;font-size:14px}
@media (max-width:1480px){.nav .long{display:none}}
@media (max-width:1300px){.nav nav{display:none}.aud{margin-left:auto}}
/* fecho: ensō sem brilho, maior e a desvanecer para as bordas */
.final .enso{width:min(1250px,160vw);opacity:.22;-webkit-mask-image:radial-gradient(closest-side,#000 40%,transparent 100%);mask-image:radial-gradient(closest-side,#000 40%,transparent 100%)}
/* botão fixo das perguntas e janela */
.fab{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:30;display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 24px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(14,14,17,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font:800 15.5px var(--body);white-space:nowrap;box-shadow:0 18px 50px rgba(0,0,0,.6),0 0 0 1px rgba(255,0,30,.3);cursor:pointer;transition:opacity .25s,transform .25s}
.fab:hover{border-color:var(--red)}
.fab .dot{width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(255,0,30,.25)}
.fab.off{opacity:0;pointer-events:none;transform:translate(-50%,24px)}
body.has-fab footer{padding-bottom:100px}
.qdlg{border:0;padding:0;background:transparent;width:min(560px,calc(100vw - 24px));max-width:none;color:var(--paper);overflow:visible}
.qdlg::backdrop{background:rgba(5,5,6,.75);backdrop-filter:blur(5px)}
.qdlg .qcard{max-height:calc(100dvh - 40px);overflow:auto;padding-top:56px}
.qdlg .qx{position:absolute;right:14px;top:14px;z-index:1;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--s3);color:#fff;font:700 16px var(--body);cursor:pointer}
@media (max-width:440px){.nav{gap:8px}.logo{font-size:17px;gap:7px;letter-spacing:.03em}.logo img{width:30px;height:30px}.aud a{padding:7px 10px;font-size:13px}.fab{font-size:14.5px;padding:0 18px}}
@media (max-width:368px){.logo .lt{display:none}}
@media (prefers-reduced-motion:reduce){.fab{transition:none}}
/* ---------- língua: bolinha com bandeiras no topo, menu e janela da primeira visita ---------- */
.flag{display:block;border-radius:50%;flex:none}
.lng{position:relative;flex:none}
.lng summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;height:42px;padding:3px 10px 3px 3px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);transition:border-color .15s}
.lng summary::-webkit-details-marker{display:none}
.lng summary::marker{content:""}
.lng summary .flag{width:34px;height:34px}
.lng summary .chev{width:10px;height:10px;color:var(--mute);transition:transform .2s}
.lng[open] summary .chev{transform:rotate(180deg)}
.lng[open] summary,.lng summary:hover{border-color:rgba(255,0,30,.7)}
.lng .menu{position:absolute;right:0;top:52px;width:268px;padding:8px;border-radius:20px;background:#121216;border:1px solid #2a2a31;box-shadow:0 30px 70px rgba(0,0,0,.65);display:grid;gap:2px;z-index:40}
.lng .menu::before{content:"";position:absolute;right:22px;top:-6px;width:12px;height:12px;background:#121216;border-left:1px solid #2a2a31;border-top:1px solid #2a2a31;transform:rotate(45deg)}
.lrow{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:14px;background:none;color:var(--paper);font:inherit;text-align:left;cursor:pointer}
.lrow:hover{background:#1c1c22}
.lrow .flag{width:36px;height:36px}
.lrow .lt2{display:grid;gap:1px;flex:1;min-width:0}
.lrow .lt2 b{font-size:15.5px;font-weight:700}
.lrow .lt2 small{font-size:12.5px;color:var(--mute)}
.lrow .tick{width:22px;height:22px;border-radius:50%;border:2px solid #3a3a42;flex:none;display:grid;place-items:center}
.lrow[aria-checked="true"] .tick,.lrow[aria-current="true"] .tick{background:var(--red);border-color:var(--red)}
.lrow[aria-checked="true"] .tick::after,.lrow[aria-current="true"] .tick::after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.lpick{position:fixed;inset:auto 0 0 0;margin:0 auto;width:min(460px,100%);max-width:100%;max-height:none;border:0;padding:0;background:transparent;color:var(--paper);overflow:visible}
.lpick::backdrop{background:rgba(5,5,6,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.lpick .sheet{position:relative;background:#0f0f13;border:1px solid #26262d;border-bottom:0;border-radius:28px 28px 0 0;padding:14px 20px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:0 -30px 80px rgba(0,0,0,.6);animation:lpUp .32s cubic-bezier(.2,.8,.2,1)}
.lpick .grab{width:40px;height:5px;border-radius:3px;background:#34343c;margin:0 auto 18px}
.lpick .lhead{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.lpick .lhead img{width:26px;height:26px}
.lpick .lhead span{font:800 12px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.lpick h2{font-size:34px;line-height:1;margin-top:10px}
.lpick .sub{color:var(--mute);font-size:14px;margin-top:8px}
.lpick .rows{display:grid;gap:8px;margin-top:20px}
.lpick .lrow{padding:14px 14px;border:1px solid #26262d;background:#16161b;border-radius:18px}
.lpick .lrow:hover{border-color:#3a3a42}
.lpick .lrow[aria-checked="true"]{border-color:rgba(255,0,30,.8);background:#1d1217}
.lpick .lrow .flag{width:44px;height:44px}
.lpick .lrow .lt2 b{font-size:17px}
.lpick .go{width:100%;margin-top:16px;height:56px}
.lpick .note{color:var(--mute);font-size:12.5px;text-align:center;margin-top:12px}
.lpick .lx{position:absolute;right:16px;top:16px;width:36px;height:36px;border-radius:50%;border:1px solid #2a2a31;background:#18181d;color:#cfcfd4;font:700 14px var(--body);cursor:pointer}
@keyframes lpUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media (min-width:700px){.lpick{inset:0;margin:auto;height:fit-content}.lpick .sheet{border-radius:28px;border-bottom:1px solid #26262d;padding:26px 26px 22px}.lpick .grab{display:none}}
@media (max-width:440px){.lng summary{padding:3px;gap:0}.lng summary .chev{display:none}}
@media (prefers-reduced-motion:reduce){.lpick .sheet{animation:none}}
