:root {
  --night:#111113;
  --panel:#1c1c20;
  --white:#faf9f7;
  --red:#c0202a;
  --bright:#ff545e;
  --rule:#424247;
  --muted:#c4c3c6;
  --display:Oswald,Impact,"DIN Condensed","Arial Narrow",sans-serif;
  --body:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--white);font:16px/1.5 var(--body)}
figure,p,h1,h2,h3{margin:0}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible,video:focus-visible{outline:3px solid #ffadac;outline-offset:3px}
img,video{display:block;width:100%}
.wrap{width:min(1240px,90%);margin:auto}
.label,.film-head,.module-name small{font:700 .78rem/1.4 var(--body);text-transform:uppercase;letter-spacing:.09em}
.skip{position:absolute;top:-100px;z-index:8;background:white;color:#111;padding:12px}
.skip:focus{top:0}
header{border-bottom:1px solid var(--rule)}
nav,.menu,.brand,.actions,.buy,.module-name,.links,.film-head,.film-head span{display:flex;align-items:center}
nav{min-height:65px;justify-content:space-between}
.brand{font:700 1.45rem/1 var(--display);text-transform:uppercase;gap:11px}
.brand i{width:37px;height:11px;transform:skew(-14deg);background:repeating-linear-gradient(90deg,transparent 0 7px,#eee 7px 9px),var(--red);border-left:9px solid #444}
.menu,.links{gap:28px;font-size:.88rem}
.menu a:hover,.links a:hover,.watch:hover{text-decoration:underline;text-underline-offset:4px}
.nav-offer{border-bottom:2px solid var(--red);padding:7px 0}
.cover{background:linear-gradient(118deg,#111113 57%,#1f181b 100%)}
.cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;padding-block:clamp(35px,5.8vw,92px)}
.serie,.marker{display:flex;align-items:center;gap:10px}
.serie:before,.marker:before{content:"";background:var(--red);width:24px;height:5px;transform:skew(-16deg)}
h1,h2,h3,.price strong,.film figcaption strong,.facts b{font-family:var(--display);font-weight:700;line-height:1.04;text-transform:uppercase;letter-spacing:-.035em}
em{font-style:normal;color:inherit}
h1{font-size:clamp(2.85rem,4.6vw,4.9rem);text-wrap:balance;margin:18px 0 20px}
h1 em,.offer em{color:var(--bright)}
.intro{font-size:clamp(1rem,1.2vw,1.14rem);max-width:49ch;color:#ddd}
.intro + .intro { margin-top: 12px; }
.actions{gap:20px;flex-wrap:wrap;margin-top:24px}
.buy{background:var(--red);color:white;padding:14px 20px;gap:22px;width:fit-content;justify-content:space-between;font-weight:700}
.buy:hover{background:#a71923}
.watch{font-weight:600;font-size:.91rem}
.fine{font-size:.77rem;color:var(--muted);margin-top:12px}
.film{border:1px solid var(--rule);border-top:4px solid var(--red);background:#19191b;box-shadow:8px 8px 0 #080808}
.film-head{justify-content:space-between;padding:9px 15px;font-size:.67rem;color:#ddd}.film-head span{gap:8px}
.film-head i{width:8px;height:8px;background:var(--bright);border-radius:50%}
.film video{aspect-ratio:16/9;background:#080808}
.film figcaption{padding:14px 17px 18px}.film figcaption strong{font-size:1.35rem;letter-spacing:0}.film figcaption strong span{color:var(--bright)}
.film figcaption p{font-size:.9rem;color:var(--muted);margin-top:6px;max-width:55ch}
.facts{background:var(--red);color:white}
.facts .wrap{display:flex;align-items:center;gap:5%;min-height:62px}.facts b{font-size:1.8rem;margin-right:4px}.facts .label{margin-left:auto}
.program,.bio,.offer,.faq{padding-block:clamp(48px,6.5vw,94px)}
.marker{margin-bottom:16px}
h2{font-size:clamp(2.5rem,4.3vw,4.6rem)}
h2+p,.bio p+p{margin-top:18px}
.section-intro,.modules article p,.split p:not(.label){color:var(--muted);max-width:56ch}
.section-intro{margin-block:16px 30px}
.modules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.still{position:relative;border-bottom:3px solid var(--red)}
.still img{aspect-ratio:1.67;object-fit:cover}.still span{position:absolute;top:0;left:0;background:var(--night);color:white;padding:5px 9px;font-size:.66rem}
.module-name{margin:14px 0 8px;justify-content:space-between;gap:8px}.module-name small{font-size:.63rem;white-space:nowrap;color:var(--muted)}
.module-name h3{font-size:clamp(1.4rem,2vw,2rem)}
.modules article p{font-size:.94rem}
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;align-items:center}
.bio{border-top:1px solid var(--rule)}.bio figure{border-left:6px solid var(--red)}
.bio img{max-height:405px;object-fit:cover;object-position:50% 28%}.bio em{color:var(--bright)}
.offer{background:var(--panel);border-block:1px solid var(--rule)}
.offer .split{grid-template-columns:1.25fr .75fr}.offer h2{margin-top:18px}
.price{border-left:3px solid var(--red);padding-left:30px}.price strong{display:block;font-size:clamp(3.2rem,5vw,5rem);margin:8px 0}
.price strong small{font:1rem var(--body);letter-spacing:0;text-transform:none}.price .buy{margin:16px 0 8px}
.faq{align-items:start}.questions details{border-top:1px solid var(--rule)}details:last-child{border-bottom:1px solid var(--rule)}summary{cursor:pointer;list-style:none;font-weight:700;padding:16px 25px 16px 0;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:4px;color:var(--bright)}details[open] summary:after{content:"−"}details p{padding-bottom:18px}
footer{border-top:1px solid var(--rule)}footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-block:30px}footer small{width:100%;color:var(--muted)}footer small a{text-decoration:underline}.mobile-buy{display:none}
@media(max-width:950px){.modules{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-grid{gap:4%}}
@media(max-width:740px){
  .wrap{width:89%}nav{min-height:56px}.brand{font-size:1.2rem}.menu>a:not(.nav-offer){display:none}
  .cover-grid,.split,.offer .split{grid-template-columns:1fr;gap:25px}.cover-grid{padding-block:29px}
  h1{font-size:clamp(2.4rem,8.5vw,3.8rem);margin:12px 0 14px}.actions{margin-top:17px;gap:14px}.buy{padding:12px 16px}
  .facts .wrap{justify-content:space-between;min-height:52px;gap:8px}.facts span{font-size:.8rem}.facts b{font-size:1.35rem}.facts .label{display:none}
  .modules{gap:24px 14px}.module-name{flex-wrap:wrap}.bio img{max-height:320px}.bio figure{max-width:330px}.bio>div{grid-row:1}.price{padding-left:18px}
  .links{flex-wrap:wrap;gap:14px}footer{padding-bottom:64px}.mobile-buy.visible:not(.reading-story){display:flex;align-items:center;justify-content:space-between;position:fixed;z-index:4;bottom:0;left:0;right:0;padding:8px 5.5% max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:var(--night)}
  .mobile-buy span{font:700 1.35rem var(--display)}.mobile-buy .buy{font-size:.85rem;padding:9px 14px}
}
@media(max-width:380px){.modules{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.watch {
  display: inline-flex;
  align-items: center;
  gap: .45em;
}
.watch-arrow {
  display: inline-block;
  line-height: 1;
  color: var(--bright);
  font-size: 1.3em;
}
@media (max-width: 740px) {
  .watch-arrow { transform: rotate(90deg); }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes step-in {
    from { opacity: .3; transform: translateY(18px); }
    to { opacity: 1; transform: none; }
  }
  @keyframes belt-sweep {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
  }
  .cover-copy h1 { animation: step-in .5s cubic-bezier(.18,.72,.22,1) both; }
  .in-view { animation: step-in .5s cubic-bezier(.18,.72,.22,1) both; }
  .modules article:nth-child(even) { animation-delay: 75ms; }
  .film { position: relative; }
  .film.in-view::before {
    content: "";
    position: absolute;
    top: -4px;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--bright);
    transform-origin: left;
    animation: belt-sweep .65s ease-out both;
    pointer-events: none;
  }
  .buy b, .watch-arrow { transition: translate .18s ease-out; }
  .watch:is(:hover,:focus-visible) .watch-arrow,
  .buy:is(:hover,:focus-visible) b { translate: 3px 0; }
  @media (max-width: 740px) {
    .watch:is(:hover,:focus-visible) .watch-arrow { translate: 0 3px; }
  }
  @media (hover: hover) and (pointer: fine) {
    .still { overflow: hidden; }
    .still img { transition: transform .35s ease-out; }
    .modules article:hover img { transform: scale(1.045); }
  }
}


/* The teaser keeps the full lesson and its native controls one tap away. */
.mat-player { position: relative; background: #080808; }
.mat-teaser { position: absolute; inset: 0; }
.mat-teaser[hidden] { display: none; }
.mat-teaser button {
  position: absolute; inset: 0; width: 100%; height: 100%;
  display: flex; align-items: flex-end; gap: 10px;
  padding: 18px; border: 0; cursor: pointer;
  background: linear-gradient(transparent 55%, #000b); color: white;
  font: 700 1rem var(--body); text-shadow: 0 1px 3px #000;
}
.mat-teaser button span {
  display: grid; place-items: center; width: 31px; height: 31px;
  background: var(--red); border-radius: 50%; font-size: .8rem;
  margin-bottom: -5px; text-shadow: none;
}
.mat-teaser button small { margin-left: auto; }
.mat-teaser button:focus-visible { outline: 3px solid white; outline-offset: -4px; }

.student-story { padding-block: clamp(42px, 5vw, 76px); background: #edeae4; color: #19191b; }
.student-story .marker { margin-bottom: 25px; }
.relato {
  display: grid; grid-template-columns: minmax(180px, .74fr) 1.5fr;
  grid-template-rows: 1fr auto; align-items: center; gap: 18px clamp(24px, 5vw, 74px);
}
.student-photo { grid-row: 1 / 3; position: relative; isolation: isolate; }
.student-photo::before {
  content: ""; position: absolute; inset: 7px -7px -7px 7px; background: var(--red); z-index: -1;
}
.student-photo img { height: auto; }
.student-quote { align-self: end; }
.student-quote h2 em { color: var(--red); }
.student-quote blockquote { margin: 18px 0 0; max-width: 46ch; font-size: clamp(1.05rem, 1.65vw, 1.55rem); line-height: 1.45; }
.relato figcaption { align-self: start; border-top: 1px solid #c4bdb7; padding-top: 12px; }
.relato figcaption strong { display: block; font: 700 1.4rem var(--display); text-transform: uppercase; }
.relato figcaption span { color: #555052; font-size: .89rem; }
@media (max-width: 740px) {
  .relato { grid-template-columns: 102px 1fr; grid-template-rows: auto auto; gap: 24px 18px; }
  .student-photo { grid-row: 1; }
  .student-quote { grid-column: 1 / -1; grid-row: 2; }
  .relato figcaption { grid-column: 2; grid-row: 1; align-self: center; border-top: 0; padding-top: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  @keyframes portrait-reveal {
    from { clip-path: inset(0 100% 0 0); }
    to { clip-path: inset(0); }
  }
  .relato.in-view .student-photo img { animation: portrait-reveal .65s cubic-bezier(.2,.7,.2,1) both; }
  .relato.in-view .student-quote { animation: step-in .55s .12s both; }
}

.sales-film video {display:block;width:100%;aspect-ratio:4/3}
.sales-film figcaption .buy {display:inline-flex;margin-top:12px}
.vsl-play {position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);border:1px solid #fff9;border-radius:4px;background:#111113ed;color:white;padding:12px 18px;white-space:nowrap;font:700 1rem var(--body);cursor:pointer}
.vsl-play span {color:#ff545e;margin-right:5px}
.vsl-play[hidden] {display:none}
.drill-preview {padding:16px 0;margin-bottom:20px;border-block:1px solid var(--rule)}
.drill-preview summary {cursor:pointer;font-weight:700}
.drill-preview video {width:100%;max-width:660px;display:block;margin:15px 0 10px;aspect-ratio:16/9}
.drill-preview p {max-width:65ch}

/* Página de treino: o movimento acompanha a pegada e a escolha de posição. */
.cover {position:relative;isolation:isolate;background:radial-gradient(ellipse at 86% 38%,#3a2025 0,transparent 52%),#111113}
.cover::before {content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:repeating-linear-gradient(118deg,transparent 0 32px,#faf9f705 32px 33px);mask-image:linear-gradient(90deg,transparent 30%,black)}
.sales-film {position:relative}
.sales-film .motion-poster {position:absolute;inset:0;height:100%;width:100%;object-fit:cover;pointer-events:none}
.sales-film [hidden],.training [hidden]{display:none}
.vsl-play {top:auto;left:18px;bottom:22px;transform:none;display:inline-flex;align-items:center;gap:10px;min-height:48px;border:1px solid #fff6;border-radius:2px;background:#111113f2}
.vsl-play span {display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-size:13px;background:var(--red);color:#fff}
.chapter-nav {display:grid;grid-template-columns:repeat(3,1fr);background:#111113;border-block:1px solid var(--rule)}
.chapter-nav button,.training-options button {font:700 .9rem var(--body);color:var(--white);background:transparent;border:0;cursor:pointer;min-height:46px}
.chapter-nav button {position:relative;text-align:left;padding:9px 12px;border-right:1px solid var(--rule)}
.chapter-nav button:last-child {border:0}
.chapter-nav small {display:block;color:#c4c3c6;font:600 .72rem var(--body)}
.chapter-nav button::after {content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--bright);transform:scaleX(0);transform-origin:left}
.chapter-nav button[aria-current=true]::after,.chapter-nav button:hover::after {transform:scaleX(1)}
button:focus-visible {outline:3px solid #ffadac;outline-offset:-4px}
.facts .wrap {justify-content:space-around}
.training {margin-top:38px;border-top:1px solid var(--rule);padding-top:20px}
.training>.label {color:var(--muted)}
.training-options {display:flex;flex-wrap:wrap;margin:12px 0 0;gap:6px}
.training-options button {border:1px solid #58585d;padding:8px 19px}
.training-options button[aria-selected=true] {background:var(--white);color:var(--night);border-color:var(--white)}
.training-panel {display:grid;grid-template-columns:1.06fr 1fr;background:#1b1b1f;margin-top:15px;border:1px solid var(--rule);align-items:start}
.training-photo {position:relative;background:#151515;overflow:hidden}
.training-photo img {aspect-ratio:1.65;object-fit:cover;width:100%}
.training-photo span {position:absolute;bottom:0;left:0;background:#111113ed;border-left:5px solid var(--red);padding:9px 15px;font:700 1.65rem/1 var(--display)}
.training-photo i {font:600 .73rem var(--body);color:var(--muted);margin-left:.4em}
.training-copy {padding:clamp(18px,3vw,44px)}
.training-copy>.label {color:var(--bright)}
.training-copy h3 {font-size:clamp(2rem,3.7vw,3.8rem);margin:.2em 0}
.training-copy>p:not(.label) {color:var(--muted);max-width:42ch}
.training-copy details {margin-top:15px;border-block:1px solid var(--rule)}
.training-copy ol {margin:0 0 14px;padding-left:22px}
.training-copy li {padding:5px 0}
.training-copy li::marker {color:var(--bright);font-weight:700}
@media(max-width:740px){
  .training-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .training-options button {padding:8px}
  .training-panel {grid-template-columns:1fr}
  .chapter-nav button {padding:9px 7px;font-size:.81rem}
  .vsl-play {left:12px;bottom:14px}
}
@media(prefers-reduced-motion:no-preference){
  .intro,.actions {animation:step-in .45s .08s both}
  .actions {animation-delay:.16s}
  .training-panel:not([hidden]) .training-photo img {animation:mat-focus .48s cubic-bezier(.22,.72,.24,1) both}
  .training-panel:not([hidden]) .training-copy {animation:step-in .36s both}
  .chapter-nav button::after,.training-options button,.vsl-play span {transition:transform .18s ease,background-color .18s,color .18s}
  .vsl-play:hover span {transform:scale(1.1)}
  @keyframes mat-focus {from {transform:scale(1.055);opacity:.65} to {transform:scale(1);opacity:1}}
}

@font-face {
  font-family: Oswald;
  src: url("imagens/oswald-bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}
::selection {color:white;background:#9d1b29}
.nav-program {display:inline-flex;align-items:center;min-height:44px;gap:.6em;font-weight:700}
.cover {background:#171719}
.cover::before,.film.in-view::before {display:none}
.cover-grid {
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  grid-template-areas:"copy film" "order film";
  align-items:end;gap:24px 6%;padding-block:clamp(42px,6vw,100px);
}
.cover-copy {grid-area:copy}
.cover h1 {font-size:clamp(3.35rem,5.6vw,5.8rem);line-height:1.02;letter-spacing:-.037em;margin:0 0 22px;text-wrap:initial}
.cover h1 em {color:var(--white);text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:.07em;text-underline-offset:.09em}
.intro {max-width:44ch;line-height:1.52;color:#d5d2d2}
.intro strong {color:var(--white)}
.hero-order {grid-area:order;align-self:start}
.hero-order .actions {margin:0}
.hero-order .buy {min-height:52px}
.hero-order .fine {font-size:.85rem;line-height:1.5}
.sales-film {grid-area:film;align-self:center;box-shadow:none;border:0;background:var(--night)}
.chapter-nav small {font-variant-numeric:tabular-nums;font-size:.75rem}
.vsl-play {min-height:44px;padding:8px 13px 8px 8px;border-radius:32px}
.vsl-play span {background:var(--white);color:var(--night);margin:0}
.training-photo video {aspect-ratio:1.65;object-fit:cover;background:var(--night)}
.training-copy .raspagem-list {border-top:1px solid var(--rule);margin:18px 0 0;padding-top:10px}
.training-options button[aria-selected=true] {box-shadow:inset 0 -3px var(--red)}
@media(max-width:740px){
  .menu>a.nav-program {display:inline-flex}
  .cover-grid {width:90%;grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "film" "order";gap:18px;padding-block:25px 30px}
  .cover h1 {font-size:clamp(1.95rem,9.25vw,4.1rem);line-height:1.05;margin:0 0 13px}
  .cover .intro {font-size:1rem}
  .hero-order .buy {width:100%;min-height:50px;gap:8px}
  .hero-order .fine {font-size:.79rem;margin-top:8px}
  .mobile-buy.visible .buy {min-height:44px}
}
@media(max-width:355px){
  .hero-order .buy {padding-inline:10px;font-size:.91rem}
}

.chapter-status:not(:empty) {padding:10px 14px}
.chapter-nav[aria-busy=true] button {cursor:progress}
