/* ALVO PRF · site de divulgação. Linguagem: "um filme, não uma página". Cor só para estado e marca. */
@font-face{font-family:Anton;src:url(../fonts/anton-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Instrument Serif";font-style:italic;src:url(../fonts/instrument-serif-latin-400-italic.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:400;src:url(../fonts/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";font-weight:700;src:url(../fonts/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"IBM Plex Mono";font-weight:400;src:url(../fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"IBM Plex Mono";font-weight:600;src:url(../fonts/ibm-plex-mono-latin-600-normal.woff2) format("woff2");font-display:swap}
:root{
  --bg:#0C0D0F;--fg:#F2F1EC;--mute:#8C8E96;--dim:#5A5C63;--line:rgba(255,255,255,.12);
  --mark:#FFC21A;--ok:#1FB86A;--ok-t:#5BE59A;--no:#F0384B;--no-t:#ff8b96;--info:#4D7BFF;
  --read:#D9D8D2;
  --title:Anton,Impact,"Arial Narrow",sans-serif;--serif:"Instrument Serif",Georgia,serif;
  --sans:"Atkinson Hyperlegible",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:400 18px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,p,dl,dd,ol,ul,figure{margin:0;padding:0}ol,ul{list-style:none}
:focus-visible{outline:2px solid var(--fg);outline-offset:3px}

/* efeitos de filme */
body::before{content:"";position:fixed;inset:-50%;z-index:50;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grao 1s steps(6) infinite}
@keyframes grao{0%{transform:translate(0,0)}17%{transform:translate(-3%,2%)}34%{transform:translate(2%,-4%)}51%{transform:translate(-4%,-1%)}68%{transform:translate(3%,3%)}85%{transform:translate(-1%,4%)}100%{transform:translate(0,0)}}
body::after{content:"";position:fixed;inset:0;z-index:49;pointer-events:none;background:radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.55))}
#pista{position:fixed;inset:0;width:100%;height:100%;z-index:-1}

.wrap{width:min(1180px,90vw);margin-inline:auto}
.scene{position:relative;padding:10vh 0}
.tc{font:400 11px/1.4 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.T{font:400 clamp(56px,9vw,140px)/.92 var(--title);text-transform:uppercase;letter-spacing:.005em}
.T.sm{font-size:clamp(26px,3vw,40px);line-height:1.05}
.cap{font:400 clamp(20px,2vw,26px)/1.3 var(--serif);color:var(--read);max-width:34ch}
.outline{color:transparent;-webkit-text-stroke:1.5px var(--fg)}

/* foco de câmera */
.shot{opacity:0;filter:blur(14px);transform:scale(1.04);transition:opacity 1.4s ease,filter 1.6s ease,transform 2.2s cubic-bezier(.2,.7,.2,1)}
.shot.in{opacity:1;filter:none;transform:none}

/* topo */
.top{position:fixed;inset:0 0 auto 0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 5vw;transition:background .4s ease}
.top.rolou{background:linear-gradient(rgba(12,13,15,.92),rgba(12,13,15,.72) 70%,transparent)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 22px/1 var(--title);letter-spacing:.06em;text-transform:uppercase}
.brand svg{color:var(--mark)}.brand b{font-weight:400;color:var(--mark)}
.top nav{display:flex;gap:28px;align-items:center}
.top nav a{font:400 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);text-decoration:none;padding:10px 0;transition:color .2s ease}
.top nav a:hover{color:var(--fg)}
.top nav a.go{color:var(--fg);border-bottom:1px solid var(--fg)}

/* botão */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:1px solid var(--fg);border-radius:2px;font:700 15px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--fg);background:transparent;transition:background .2s ease,color .2s ease}
.btn:hover,.btn.solid{background:var(--fg);color:#0C0D0F}
.btn.solid:hover{background:transparent;color:var(--fg)}

/* abertura */
.hero{min-height:100svh;padding:16vh 0 6vh;display:flex;flex-direction:column;justify-content:center;gap:7vh;overflow:hidden}
.bars i{position:fixed;left:0;right:0;height:12vh;background:#000;z-index:45;animation:barra 1.6s cubic-bezier(.7,0,.2,1) .5s forwards}
.bars i:first-child{top:0;transform-origin:top}.bars i:last-child{bottom:0;transform-origin:bottom}
@keyframes barra{to{transform:scaleY(0)}}
.hero-g{display:grid;grid-template-columns:1.2fr .8fr;gap:3vw;align-items:center}
.hero-t{font-size:clamp(60px,10vw,156px);line-height:.95;margin:18px 0 28px;white-space:nowrap}
.hero-cap{max-width:30ch}
.acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.hero-ph{position:relative;height:min(74vh,660px)}
.phone{position:relative;border-radius:34px;background:#16171B;padding:9px;box-shadow:0 50px 90px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.08);overflow:hidden}
.phone img,.phone video{width:100%;height:auto;border-radius:26px;filter:grayscale(.15) contrast(1.05);background:#08090A}
.hero-ph .phone{position:absolute;width:min(280px,62%)}
.hero-ph .p1{left:4%;top:0;transform:rotate(-5deg);z-index:2}
.hero-ph .p2{right:0;top:13%;transform:rotate(6deg);opacity:.9}
.slate{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}
.slate div{padding:18px 18px 0 0;border-right:1px solid var(--line)}
.slate div+div{padding-left:18px}.slate div:last-child{border-right:0}
.slate dt{font:400 11px/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.slate dd{font:400 clamp(30px,3.6vw,52px)/1.1 var(--title);margin-top:6px}

/* entreato */
.inter{min-height:90vh;display:grid;align-items:center}
.phrase{font:400 clamp(30px,4.6vw,64px)/1.15 var(--serif);max-width:22ch}
.phrase em{font-style:italic;color:var(--mark)}

.head2{display:grid;gap:22px;margin-bottom:6vh}
.note{font:400 clamp(18px,1.6vw,22px)/1.4 var(--serif);color:var(--read);max-width:52ch;margin-top:6vh;padding-left:18px;border-left:2px solid var(--fg)}

/* tira de filme */
.strip{background:#060607;padding:26px 0;position:relative;overflow-x:auto;scrollbar-width:none}
.strip::-webkit-scrollbar{display:none}
.strip::before,.strip::after{content:"";position:sticky;left:0;display:block;height:14px;min-width:100%;background:repeating-linear-gradient(90deg,transparent 0 14px,rgba(255,255,255,.14) 14px 30px,transparent 30px 44px);-webkit-mask:linear-gradient(#000,#000);opacity:.8}
.strip::before{margin-bottom:22px}.strip::after{margin-top:22px}
.strip-in{display:flex;gap:2px;width:max-content;padding:0 5vw;margin-inline:auto}
.fr{width:230px;padding:22px 20px 24px;background:#121316;display:grid;gap:10px;align-content:start;min-height:250px}
.fr .n,.fr .min{font:400 11px/1 var(--mono);letter-spacing:.2em;color:var(--mute);text-transform:uppercase}
.fr svg{color:var(--fg);margin-top:8px}
.fr h3{font:400 30px/1 var(--title);text-transform:uppercase}
.fr p{font-size:15px;line-height:1.45;color:var(--read)}
.fr .min{margin-top:auto;padding-top:14px;color:var(--mark)}

/* demonstração */
.demo-g{display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw;align-items:center}
.takes{display:grid}
.take{display:grid;grid-template-columns:44px 1fr;gap:4px 14px;text-align:left;padding:20px 0;border-top:1px solid var(--line);color:var(--mute);transition:color .3s ease}
.take:last-child{border-bottom:1px solid var(--line)}
.take .n{font:400 11px/1 var(--mono);letter-spacing:.2em;padding-top:9px}
.take h3{font:400 clamp(26px,3vw,40px)/1 var(--title);text-transform:uppercase}
.take p{grid-column:2;font:400 19px/1.3 var(--serif);color:var(--read);max-height:0;overflow:hidden;opacity:0;transition:max-height .5s ease,opacity .4s ease}
.take[aria-selected="true"]{color:var(--fg)}
.take[aria-selected="true"] p{max-height:120px;opacity:1}
.take[aria-selected="true"] .n{color:var(--mark)}
.take:hover{color:var(--fg)}
.stage{display:grid;justify-items:center;gap:22px}
.phone.big{width:min(330px,74vw)}
.phone.big video{aspect-ratio:390/844;object-fit:cover}
.osd{position:absolute;left:24px;right:24px;bottom:22px;display:flex;justify-content:space-between;font:600 10px/1 var(--mono);letter-spacing:.2em;color:#fff;mix-blend-mode:difference;pointer-events:none}
.rec::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--no);margin-right:7px;animation:pisca 1.2s steps(2) infinite}
@keyframes pisca{50%{opacity:0}}
.ctl{display:grid;grid-template-columns:38px 1fr auto;gap:14px;align-items:center;width:min(330px,74vw)}
.rnd{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:border-color .2s ease}
.rnd:hover{border-color:var(--fg)}
.prog{height:2px;background:var(--line)}.prog i{display:block;height:100%;width:0;background:var(--fg)}

/* exercício respondível */
.ex{display:grid;grid-template-columns:1.25fr .75fr;gap:5vw;border-top:1px solid var(--line);padding-top:5vh}
.ex-item{font:400 clamp(24px,2.6vw,34px)/1.25 var(--serif);margin:18px 0 30px;min-height:4.5em}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choices button{display:flex;align-items:center;gap:14px;min-height:60px;padding:0 20px;border:1px solid var(--line);background:rgba(255,255,255,.02);font:700 16px/1 var(--sans);text-align:left;transition:border-color .2s ease,background .2s ease}
.choices button:hover:not(:disabled){border-color:var(--fg)}
.choices .k{font:600 12px/1 var(--mono);color:var(--mute);width:16px}
.choices .blank{grid-column:1/-1;min-height:48px;font-weight:400;color:var(--mute)}
.choices button:disabled{cursor:default}
.choices button.ok{border-color:rgba(31,184,106,.7);background:rgba(31,184,106,.12);color:var(--ok-t)}
.choices button.no{border-color:rgba(240,56,75,.7);background:rgba(240,56,75,.1);color:var(--no-t);animation:treme .4s}
.choices button.gab{border-color:rgba(31,184,106,.7)}
@keyframes treme{20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
.fb{margin-top:22px;padding:16px 20px;border-left:2px solid var(--fg);background:rgba(255,255,255,.03);animation:sobe .4s ease}
.fb b{display:block;font:600 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px}
.fb.ok b{color:var(--ok-t)}.fb.no b{color:var(--no-t)}.fb.br b{color:var(--mute)}
.fb p{font-size:16px;color:var(--read)}
@keyframes sobe{from{opacity:0;transform:translateY(8px)}}
#ex-prox{margin-top:22px}
.ex-side{border-left:1px solid var(--line);padding-left:4vw}
.score{font:400 clamp(90px,11vw,160px)/.9 var(--title);margin:10px 0 22px;font-variant-numeric:tabular-nums}
.score.pos{color:var(--ok-t)}.score.neg{color:var(--no-t)}
.tally div{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}
.tally dt{font:400 11px/1.6 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.tally dd{font:600 14px/1.3 var(--mono)}
.side-n{font-size:15px;color:var(--mute);margin-top:18px;border-top:1px solid var(--line);padding-top:16px}

/* diferenciais */
.asks li{display:grid;grid-template-columns:110px 1fr;gap:2vw;padding:30px 0;border-top:1px solid var(--line);align-items:start}
.asks li:last-child{border-bottom:1px solid var(--line)}
.asks .num{font:400 46px/1 var(--title);color:var(--dim)}
.asks h3{font:400 clamp(26px,3vw,40px)/1.05 var(--title);text-transform:uppercase}
.asks p{color:var(--read);max-width:58ch;margin-top:10px}

/* capítulos */
.chap{min-height:100vh;display:grid;align-items:center;overflow:hidden}
.ghost{position:absolute;left:-2vw;top:50%;transform:translateY(-50%);font:400 clamp(160px,30vw,460px)/.8 var(--title);text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.06);white-space:nowrap;pointer-events:none;user-select:none}
.chap-g{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;position:relative}
.chap .T{font-size:clamp(64px,9vw,140px);margin:18px 0 24px}
.chap.alt .chap-g>div:first-child{order:2}
.facts{margin-top:36px}
.facts div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.facts div:last-child{border-bottom:1px solid var(--line)}
.facts dt{font:400 11px/1.7 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.facts dd{font-size:16px;color:var(--read)}
.phones{position:relative;height:min(78vh,680px)}
.phones .phone{position:absolute;width:min(280px,54%)}
.phones .a{left:6%;top:0;transform:rotate(-4deg);z-index:2}
.phones .b{right:2%;top:14%;transform:rotate(5deg)}
.chap.alt .phones .a{left:auto;right:6%;transform:rotate(4deg)}
.chap.alt .phones .b{right:auto;left:2%;transform:rotate(-5deg)}

/* computador */
.desk{border:1px solid var(--line);background:#121316;box-shadow:0 50px 90px rgba(0,0,0,.7)}
.win{display:flex;align-items:center;gap:16px;height:38px;padding:0 14px;border-bottom:1px solid var(--line)}
.dots{display:flex;gap:6px}.dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.14)}
.url{font:400 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.desk img{width:100%;height:auto;filter:grayscale(.12) contrast(1.04)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:3vw;margin-top:8vh}
.steps li{border-top:1px solid var(--fg);padding-top:16px}
.steps h3{font:400 26px/1.05 var(--title);text-transform:uppercase}
.steps p{font-size:15px;color:var(--read);margin-top:8px}

/* acesso */
.plans{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.plan{padding:40px 4vw 44px 0;display:grid;gap:14px;align-content:start}
.plan+.plan{padding-left:4vw;padding-right:0;border-left:1px solid var(--line)}
.plan h3{font:400 clamp(40px,5vw,72px)/1 var(--title);text-transform:uppercase}
.plan.feat .tc{color:var(--mark)}
.price{display:flex;align-items:center;gap:14px;font:400 22px/1.2 var(--serif);color:var(--read);margin:6px 0 10px}
.price .dash{width:64px;height:10px;background:repeating-linear-gradient(90deg,rgba(255,194,26,.5) 0 6px,transparent 6px 11px)}
.plan ul{display:grid;margin-bottom:18px}
.plan li{padding:12px 0;border-top:1px solid var(--line);font-size:16px;color:var(--read)}
.plan .btn{justify-self:start}
.faq{margin-top:12vh;max-width:820px}
.faq h3{margin-bottom:22px}
.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font:400 clamp(20px,2vw,26px)/1.25 var(--serif)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 18px/1.4 var(--mono);color:var(--mute);transition:transform .3s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--read);padding:0 0 22px;max-width:62ch}

.foot{border-top:1px solid var(--line);padding:48px 0 64px;position:relative}
.foot-g{display:grid;grid-template-columns:auto 1fr auto;gap:4vw;align-items:start}
.foot p:not(.tc){font-size:14px;color:var(--mute);max-width:64ch}

.dlg{width:min(480px,90vw);padding:36px;border:1px solid rgba(255,255,255,.2);border-top:3px solid var(--mark);border-radius:2px;background:rgba(10,11,13,.94);color:var(--fg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.dlg::backdrop{background:rgba(0,0,0,.7)}
.dlg .T{margin:12px 0 14px}.dlg .cap{font-size:20px;margin-bottom:26px}
.dlg[open]{animation:pop .3s ease}
@keyframes pop{from{opacity:0;transform:scale(.94)}}

@media (max-width:900px){
  .chap-g,.demo-g{grid-template-columns:1fr;gap:7vh}
  .chap.alt .chap-g>div:first-child{order:0}
  .phones{height:min(110vw,560px)}
  .takes{order:2}
}
@media (max-width:860px){
  .hero-g,.ex{grid-template-columns:1fr}
  .hero-ph{height:min(118vw,560px);margin-top:2vh}
  .ex-side{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}
  .slate{grid-template-columns:repeat(2,1fr)}
  .slate div{border-right:0;border-bottom:1px solid var(--line);padding:16px 0!important}
  .steps{grid-template-columns:1fr 1fr;gap:28px 5vw}
  .plans{grid-template-columns:1fr}
  .plan+.plan{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .plan{padding-right:0}
  .foot-g{grid-template-columns:1fr;gap:22px}
}
@media (max-width:760px){
  body{font-size:17px}
  .top nav a:not(.go){display:none}
  .scene{padding:9vh 0}
  .asks li{grid-template-columns:64px 1fr}
  .asks .num{font-size:34px}
  .facts div{grid-template-columns:112px 1fr}
}
@media (max-width:520px){
  .acts .btn{flex:1 1 100%}
  .choices{grid-template-columns:1fr}
  .fr{width:200px}
  .dlg{padding:26px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body::before{animation:none}
  .shot{opacity:1;filter:none;transform:none;transition:none}
  .bars{display:none}
  .rec::before,.choices button.no,.fb,.dlg[open]{animation:none}
}
