/* ═══════════════════════════════════════════════════════════════════
   PROCESSO SELETIVO · página clara no sistema do site da JML
   Medidas tiradas da seção "Quem Somos" do index: título Manrope 800,
   rótulo 0.58rem/.42em, filete azul de 3rem, texto 300 com entrelinha
   1.9, números com separador fino e o botão azul retangular do site.
   Fundo chapado (branco e cinza-gelo), sem degradê. Carrega depois do
   jml-core.css.
   ═══════════════════════════════════════════════════════════════════ */

body.ps{
  --bg:#FFFFFF;
  --ink:#0A0B0D;
  --n-100:#1A1E28;
  --n-200:#3A4050;
  --n-700:#C9D0DB;
  --n-900:#FFFFFF;
  --dim:#646D82;
  --hair:rgba(10,11,13,.08);
  --hair-2:rgba(10,11,13,.16);
  --glass:#fff;
  --radius:0px;
  --gelo:#EFF2F6;
  --linha:rgba(10,11,13,.12);
  --linha-azul:rgba(32,143,255,.24);
  --ok:#208FFF;
  --surface:#FFFFFF;
  --tint:#EDF5FF;
  --tint-2:#DCEBFF;
  --grad:#208FFF;
  --brand-subtle:rgba(32,143,255,.08);
  background:#fff;color:var(--ink);
}
html:has(body.ps),body.ps{overflow-x:clip;}
.ps ::selection{background:var(--brand);color:#fff;}

/* ═══════════════ TIPOGRAFIA ═══════════════ */
.ps .w{max-width:1240px;margin:0 auto;padding:0 clamp(20px,5vw,56px);}
.ps .sec{padding:clamp(64px,8vw,112px) 0;}
.ps .sec.gelo{background:var(--gelo);}
.ps .rotulo{
  display:inline-block;font-family:var(--font-body);font-size:.58rem;font-weight:600;letter-spacing:.42em;text-transform:uppercase;
  background:linear-gradient(90deg,#0A0B0D 0%,#0A0B0D 35%,rgba(10,11,13,.45) 50%,#0A0B0D 65%,#0A0B0D 100%);
  background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:eyebrowShimmer 3.5s linear 2s infinite;
}
.ps .filete{width:3rem;height:1.5px;background:linear-gradient(90deg,var(--brand),rgba(32,143,255,.15));margin:1.5rem 0 1.6rem;position:relative;overflow:hidden;}
.ps .filete::after{content:"";position:absolute;top:0;left:0;width:35%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);
  animation:shimmer 3.5s ease-in-out 2.5s infinite;}
.ps .t1{font-family:var(--font-body);font-weight:800;letter-spacing:-.035em;line-height:1.03;font-size:clamp(2.6rem,4.5vw,4.25rem);color:var(--ink);text-wrap:balance;}
.ps .t1 .az{color:var(--brand);}
.ps .t2{font-family:var(--font-body);font-weight:800;letter-spacing:-.03em;line-height:1.06;font-size:clamp(2rem,3.6vw,3.3rem);color:var(--ink);text-wrap:balance;}
.ps .t3{font-family:var(--font-body);font-weight:700;letter-spacing:-.015em;line-height:1.25;font-size:1.15rem;color:var(--ink);}
.ps .txt{font-family:var(--font-body);font-weight:400;font-size:clamp(.95rem,1.15vw,1.05rem);line-height:1.85;color:var(--n-200);max-width:34em;text-wrap:pretty;}
.ps .txt strong{font-weight:600;color:var(--n-100);}
.ps .miudo{font-size:.6rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);}
.ps .tag-az{font-size:.6rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--brand);}

/* ═══════════════ BOTÕES · os do site ═══════════════ */
.ps .bt{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:1rem;overflow:hidden;cursor:pointer;
  padding:1.1rem 2.2rem;border:1px solid var(--brand);background:var(--brand);color:#fff;text-decoration:none;
  font-family:var(--font-body);font-size:.6rem;font-weight:600;letter-spacing:.36em;text-transform:uppercase;white-space:nowrap;
  transition:background .35s ease,border-color .35s ease,color .35s ease,transform .25s var(--ease-out-expo),box-shadow .35s ease;
}
.ps .bt::before{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;pointer-events:none;
  background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.38) 50%,transparent 80%);animation:btnShimmer 4s ease-in-out 2s infinite;}
.ps .bt:hover{background:var(--brand-dark);border-color:var(--brand-dark);transform:translateY(-2px);box-shadow:0 10px 36px rgba(32,143,255,.35);}
.ps .bt:focus{outline:none;}
.ps .bt:focus-visible{outline:2px solid var(--brand);outline-offset:3px;}
.ps .bt .seta{display:inline-block;font-size:1.1em;line-height:1;transition:transform .35s var(--ease-out-expo);}
.ps .bt:hover .seta{transform:translateX(5px);}
.ps .bt.linha{background:transparent;color:var(--ink);border-color:rgba(10,11,13,.22);}
.ps .bt.linha::before{display:none;}
.ps .bt.linha:hover{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:none;}
.ps .bt.branco{background:#fff;border-color:#fff;color:var(--brand-dark);}
.ps .bt.branco::before{background:linear-gradient(105deg,transparent 20%,rgba(32,143,255,.16) 50%,transparent 80%);}
.ps .bt.branco:hover{background:#fff;color:var(--ink);box-shadow:0 10px 36px rgba(0,0,0,.18);}
.ps .bt.vazado{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;}
.ps .bt.vazado::before{display:none;}
.ps .bt.vazado:hover{background:#fff;color:var(--brand-dark);border-color:#fff;box-shadow:none;}
.ps .bts{display:flex;flex-wrap:wrap;gap:12px;}

/* ═══════════════ NAVEGAÇÃO CLARA ═══════════════ */
.ps .jml-nav{padding:1.15rem clamp(20px,5vw,56px);}
.ps .jml-nav::before{background:rgba(255,255,255,.96);border-bottom:1px solid var(--linha);opacity:1;}
.ps .jml-nav .logo img{filter:brightness(0);}
.ps .jml-nav .links a{color:var(--ink);}
.ps .jml-nav .links a::after{background:var(--brand);}
.ps .jml-nav .cta{color:var(--ink);border:1px solid rgba(10,11,13,.6);}
.ps .jml-nav .cta:hover{background:var(--ink);color:#fff;}

/* ═══════════════ HERÓI · texto à esquerda, foto sangrando à direita ═══════════════ */
.h-heroi{display:grid;grid-template-columns:1.12fr .88fr;min-height:min(100svh,900px);background:#fff;}
.h-heroi .txtcol{display:flex;flex-direction:column;justify-content:center;
  padding:clamp(110px,14vh,140px) clamp(28px,5vw,80px) clamp(48px,7vh,72px) max(clamp(20px,5vw,56px),calc((100vw - 1240px)/2 + 56px));}
.h-heroi .sub{margin-bottom:2rem;}
.h-stats{display:flex;align-items:flex-start;padding:1.6rem 0;margin-bottom:2rem;border-top:1px solid var(--linha-azul);border-bottom:1px solid var(--linha-azul);}
.h-stat{display:flex;flex-direction:column;gap:.45rem;padding-right:clamp(1rem,2vw,2rem);margin-right:clamp(1rem,2vw,2rem);border-right:1px solid var(--linha-azul);}
.h-stat:last-child{border-right:0;margin-right:0;padding-right:0;}
.h-stat b{font-family:var(--font-body);font-weight:700;font-size:clamp(1.45rem,2.2vw,2.2rem);letter-spacing:-.015em;line-height:1;color:var(--ink);white-space:nowrap;}
.h-stat b small{font-size:.5em;font-weight:600;color:var(--dim);margin-right:.25em;letter-spacing:0;}
.h-heroi .nota{margin-top:1.1rem;font-size:.8rem;color:var(--dim);font-weight:400;}
.h-heroi .fotocol{position:relative;overflow:hidden;background:#0A0B0D;}
.h-heroi .fotocol img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;}
.h-heroi .fotocol::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,transparent,rgba(10,11,13,.55));pointer-events:none;}
.h-selo{position:absolute;left:clamp(20px,3vw,36px);bottom:clamp(20px,3vw,36px);z-index:2;display:flex;align-items:center;gap:.7rem;
  padding:.75rem 1.1rem;background:rgba(10,11,13,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);}
.h-selo i{width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 0 rgba(32,143,255,.6);animation:pulseDot 2.2s infinite;}
.h-selo span{font-size:.55rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:#fff;}

/* ═══════════════ CABEÇALHO DE SEÇÃO ═══════════════ */
.cab{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(36px,5vw,60px);}
.cab .filete{margin-bottom:1.4rem;}
.cab.so{grid-template-columns:1fr;max-width:46rem;}
.cab .txt{justify-self:end;}

/* ═══════════════ AS VAGAS ═══════════════ */
.vagas{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,24px);}
.vaga{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linha);transition:border-color .4s ease,box-shadow .5s ease;}
.vaga:hover{border-color:rgba(32,143,255,.35);box-shadow:0 24px 60px rgba(10,11,13,.07);}
.vaga .img{aspect-ratio:16/9;overflow:hidden;background:#0A0B0D;}
.vaga .img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out-expo);}
.vaga:hover .img img{transform:scale(1.04);}
.vaga .corpo{display:flex;flex-direction:column;flex:1;padding:clamp(24px,3vw,40px);}
.vaga .t3{font-size:clamp(1.4rem,2vw,1.75rem);font-weight:800;letter-spacing:-.025em;margin:.9rem 0 .7rem;}
.vaga .txt{font-size:.98rem;}
.vaga dl{margin:1.6rem 0 2rem;border-top:1px solid var(--linha);}
.vaga dl div{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--linha);}
.vaga dt{font-size:.55rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);padding-top:.25rem;}
.vaga dd{font-size:.92rem;font-weight:500;color:var(--n-100);line-height:1.5;}
.vaga .bt{margin-top:auto;align-self:flex-start;}

/* ═══════════════ FAIXA DE FOTO · onde isso leva ═══════════════ */
.desejo{position:relative;min-height:clamp(520px,76vh,720px);display:flex;align-items:center;overflow:hidden;background:#0A0B0D;
  padding:clamp(88px,10vw,136px) 0;}
.desejo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;}
.desejo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,11,13,.86) 0%,rgba(10,11,13,.62) 42%,rgba(10,11,13,.08) 78%);}
.desejo .w{position:relative;z-index:1;width:100%;}
.desejo .caixa{max-width:34rem;}
.desejo .t2{font-size:clamp(2rem,3.3vw,3rem);}
.desejo .rotulo{background:linear-gradient(90deg,#fff 0%,#fff 35%,rgba(255,255,255,.45) 50%,#fff 65%,#fff 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;}
.desejo .t2{color:#fff;}
.desejo .txt{color:rgba(240,242,245,.78);}

/* ═══════════════ O QUE A JML BANCA ═══════════════ */
.banca{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);}
.banca > div{padding:clamp(24px,3vw,36px) clamp(18px,2.4vw,32px) clamp(24px,3vw,36px) 0;}
.banca > div + div{padding-left:clamp(18px,2.4vw,32px);border-left:1px solid var(--linha);}
.banca svg{width:26px;height:26px;stroke:var(--brand);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-bottom:1.4rem;}
.banca b{display:block;font-weight:700;font-size:clamp(1.5rem,2.2vw,2rem);letter-spacing:-.015em;line-height:1;color:var(--ink);margin-bottom:.6rem;}
.banca .t3{font-size:1rem;margin-bottom:.4rem;}
.banca p{font-size:.88rem;font-weight:400;line-height:1.7;color:var(--n-200);}

/* ═══════════════ CARREIRA ═══════════════ */
.carreira{display:grid;grid-template-columns:5fr 7fr;gap:clamp(32px,6vw,96px);align-items:start;}
.carreira .lado{position:sticky;top:120px;}
.abas{display:inline-flex;border:1px solid var(--hair-2);margin:2rem 0 0;}
.abas button{border:0;background:transparent;cursor:pointer;padding:1rem 1.4rem;font-family:var(--font-body);font-size:.58rem;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;color:var(--n-200);transition:background .3s ease,color .3s ease;}
.abas button + button{border-left:1px solid var(--hair-2);}
.abas button.on{background:var(--ink);color:#fff;}
.abas button:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}
.carreira .lado .bt{margin-top:1.6rem;}
.escada{position:relative;}
.escada ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha);}
.escada .viva{position:absolute;left:0;top:0;width:2px;height:0;background:var(--brand);z-index:1;}
.degrau{display:grid;grid-template-columns:4.2rem 1fr auto;gap:1rem;align-items:baseline;padding:1.5rem 0 1.5rem 1.2rem;border-bottom:1px solid var(--linha);
  transition:background .35s ease;}
.degrau .n{font-family:var(--font-display);font-weight:700;font-size:.85rem;color:#9AA3B5;transition:color .45s ease;}
.degrau .t3{font-size:1.08rem;}
.degrau p{grid-column:2/4;font-size:.9rem;font-weight:400;line-height:1.7;color:var(--n-200);margin-top:-.4rem;}
.degrau .val:empty{display:none;}
.degrau .val{font-size:.55rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--brand);white-space:nowrap;}
.degrau.aceso .n{color:var(--brand);}
.degrau.topo{background:var(--ink);padding-right:1.2rem;border-bottom-color:var(--ink);}
.degrau.topo .t3{color:#fff;}
.degrau.topo p{color:rgba(240,242,245,.72);}
.degrau.topo .n{color:var(--brand);}
.trilha{display:none;}
.trilha.on{display:block;}
.semana{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--linha);}
.semana > div{padding:1.8rem clamp(16px,2.4vw,32px) 0 0;}
.semana > div + div{padding-left:clamp(16px,2.4vw,32px);border-left:1px solid var(--linha);}
.semana .tag-az{display:block;margin-bottom:.9rem;}
.semana .t3{font-size:1.02rem;margin-bottom:.45rem;}
.semana p{font-size:.9rem;font-weight:400;line-height:1.75;color:var(--n-200);}
.semana-tit{grid-column:1/-1;}

/* ═══════════════ EQUIPE ═══════════════ */
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px);}
.vid{position:relative;overflow:hidden;background:#0A0B0D;}
.vid video{width:100%;aspect-ratio:9/14;object-fit:cover;display:block;cursor:pointer;}
.vid .som{position:absolute;top:14px;right:14px;z-index:2;pointer-events:none;display:inline-flex;align-items:center;gap:.6rem;padding:.6rem .9rem;
  background:rgba(10,11,13,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);
  font-size:.5rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#fff;transition:opacity .3s ease;}
.vid .som::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand);animation:pulseDot 2.2s infinite;}
.vid.com-som .som{opacity:0;}
.vid-caixa .leg{padding:1.2rem 0 0;}
.vid-caixa .leg .t3{font-size:1rem;}
.vid-caixa .leg p{font-size:.85rem;font-weight:300;color:var(--n-200);margin-top:.25rem;line-height:1.6;}
.vid-caixa{display:flex;flex-direction:column;}

/* ═══════════════ GALERIA ═══════════════ */
.galeria{display:grid;grid-template-columns:1.15fr 1fr 1fr .8fr;grid-template-rows:240px 240px;gap:8px;}
.galeria figure{margin:0;overflow:hidden;background:#0A0B0D;}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out-expo);}
.galeria figure:hover img{transform:scale(1.04);}
.galeria .g1{grid-row:1 / span 2;}
.galeria .g2{grid-column:2 / span 2;}
.galeria .g5{grid-column:4;grid-row:1 / span 2;}

/* ═══════════════ O QUE DIZEM × NA JML ═══════════════ */
.mitos{border-top:1px solid var(--linha);}
.mitos .lin{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--linha);}
.mitos .lin > *{padding:1.4rem 0;}
.mitos .lin > * + *{padding-left:clamp(20px,4vw,56px);border-left:1px solid var(--linha);}
.mitos .cab-lin > *{padding-top:1.1rem;padding-bottom:1.1rem;}
.mitos .dizem{position:relative;align-self:center;font-size:1.02rem;font-weight:400;color:var(--dim);padding-right:clamp(20px,4vw,56px);}
.mitos .aqui{align-self:center;display:flex;gap:.9rem;align-items:flex-start;font-size:1.02rem;font-weight:600;color:var(--ink);line-height:1.5;}
.mitos .aqui svg{flex-shrink:0;width:18px;height:18px;margin-top:.2rem;stroke:var(--brand);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;}

/* ═══════════════ REQUISITOS E COMO FUNCIONA ═══════════════ */
.req{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:start;}
.lista{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha);}
.lista li{display:flex;gap:1rem;align-items:flex-start;padding:1.15rem 0;border-bottom:1px solid var(--linha);font-size:1rem;font-weight:500;color:var(--ink);line-height:1.5;}
.lista li small{display:block;font-size:.85rem;font-weight:400;color:var(--n-200);margin-top:.2rem;}
.lista svg{flex-shrink:0;width:18px;height:18px;margin-top:.2rem;stroke:var(--brand);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.passos{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha);counter-reset:p;}
.passos li{display:grid;grid-template-columns:3.4rem 1fr;gap:.6rem;padding:1.15rem 0;border-bottom:1px solid var(--linha);}
.passos .n{font-family:var(--font-display);font-weight:700;font-size:.8rem;color:var(--brand);padding-top:.2rem;}
.passos .t3{font-size:1rem;}
.passos p{font-size:.88rem;font-weight:400;line-height:1.7;color:var(--n-200);margin-top:.2rem;}
.req-nota{margin-top:1.2rem;font-size:.8rem;font-weight:400;line-height:1.7;color:var(--dim);}
.sub-tit{margin-bottom:1.4rem;}
.ficha{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);}
.ficha > div{padding:1.5rem clamp(16px,2.4vw,32px) 1.5rem 0;}
.ficha > div + div{padding-left:clamp(16px,2.4vw,32px);border-left:1px solid var(--linha);}
.ficha dt{font-size:.6rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);margin-bottom:.6rem;}
.ficha dd{font-size:.92rem;font-weight:500;line-height:1.55;color:var(--n-100);}
.ficha a{color:var(--brand);text-decoration:none;font-weight:600;}
.ficha a:hover{text-decoration:underline;}

/* ═══════════════ INSCRIÇÃO ═══════════════ */
.final{background:var(--brand);color:#fff;padding:clamp(64px,8vw,104px) 0;overflow:hidden;}
.final .grade{display:grid;grid-template-columns:7fr 5fr;gap:clamp(32px,6vw,96px);align-items:center;}
.final .rotulo{background:linear-gradient(90deg,#fff 0%,#fff 35%,rgba(255,255,255,.5) 50%,#fff 65%,#fff 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;}
.final .filete{background:linear-gradient(90deg,#fff,rgba(255,255,255,.25));}
.final .t2{color:#fff;font-size:clamp(2.2rem,4.2vw,3.8rem);}
.final .txt{color:rgba(255,255,255,.86);margin:1.2rem 0 1.8rem;}
.final .fatos{display:flex;flex-wrap:wrap;gap:0;margin-bottom:2rem;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);}
.final .fatos span{padding:1rem 1.4rem 1rem 0;margin-right:1.4rem;border-right:1px solid rgba(255,255,255,.22);font-size:.55rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:#fff;}
.final .fatos span:last-child{border-right:0;margin-right:0;}
.final .legal{margin-top:1.4rem;font-size:.78rem;font-weight:300;line-height:1.7;color:rgba(255,255,255,.75);max-width:38em;}
.final .legal a{color:#fff;}
.cel{justify-self:center;display:block;width:min(290px,100%);aspect-ratio:9/18.5;border-radius:40px;background:#0A0B0D;padding:10px;text-decoration:none;color:var(--ink);
  box-shadow:0 40px 80px rgba(6,40,90,.45);transition:transform .7s var(--ease-out-expo);}
.cel:hover{transform:translateY(-6px);}
.cel .tela{position:relative;height:100%;border-radius:31px;background:#fff;overflow:hidden;padding:44px 16px 18px;display:flex;flex-direction:column;gap:9px;}
.cel .tela::before{content:"";position:absolute;top:10px;left:50%;width:80px;height:22px;margin-left:-40px;border-radius:999px;background:#0A0B0D;}
.cel .prog{display:flex;gap:4px;margin-bottom:10px;}
.cel .prog i{flex:1;height:3px;background:#E3E8EF;}
.cel .prog i.m{background:linear-gradient(90deg,var(--brand) 14%,#E3E8EF 14%);}
.cel .tg{display:block;font-size:8.5px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--brand);}
.cel .q{display:block;font-size:17px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:2px 0 6px;}
.cel .op{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--hair-2);font-size:12.5px;font-weight:600;}
.cel .op b{width:26px;height:26px;display:grid;place-items:center;background:#EDF5FF;color:var(--brand);flex-shrink:0;}
.cel .op b svg{width:15px;height:15px;}
.cel .op.sel{border-color:var(--brand);background:#F3F8FF;box-shadow:0 0 0 1px var(--brand);}
.cel .op.sel b{background:var(--brand);color:#fff;}
.cel .toque{margin-top:auto;display:block;text-align:center;font-size:8.5px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--brand);}

/* ═══════════════ RODAPÉ ═══════════════ */
.rodape{background:#0A0B0D;color:#C2CAD6;padding:clamp(48px,6vw,72px) 0 clamp(96px,9vw,110px);}
.rodape .w{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-start;}
.rodape img{height:26px;width:auto;filter:brightness(0) invert(1);margin-bottom:1rem;}
.rodape p{font-size:.85rem;font-weight:300;line-height:1.85;color:#8A93A6;}
.rodape nav{display:flex;flex-direction:column;gap:.8rem;}
.rodape a{color:#E6EAF0;text-decoration:none;font-size:.58rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;}
.rodape a:hover{color:var(--brand);}

/* barra fixa do celular */
.ps-sticky{display:none;position:fixed;left:0;right:0;bottom:0;z-index:95;padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--linha);
  transform:translateY(110%);transition:transform .5s var(--ease-out-expo);}
.ps-sticky.on{transform:none;}
.ps-sticky .bt{width:100%;}
body.jml-cookie-aberto .ps-sticky{display:none !important;}
.ps .jml-whats.ps-some{opacity:0;pointer-events:none;transform:scale(.6);}
.ps .jml-cookie{background:rgba(255,255,255,.96);border-top:1px solid var(--linha);}
.ps .jml-cookie p{color:var(--n-200);}
.ps .jml-cookie p a{color:var(--brand);}
.ps .jml-cookie button{color:var(--ink);border-color:rgba(10,11,13,.3);}
.ps .jml-cookie button:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.ps .jml-cookie button.aceitar{color:#fff;}

/* ═══════════════ RESPONSIVO ═══════════════ */
@media(max-width:1080px){
  .banca{grid-template-columns:1fr 1fr;}
  .banca > div:nth-child(3){padding-left:0;border-left:0;}
  .banca > div:nth-child(-n+2){border-bottom:1px solid var(--linha);}
}
@media(max-width:900px){
  .h-heroi{grid-template-columns:1fr;min-height:0;}
  .h-heroi .txtcol{padding:104px 20px 40px;}
  .h-heroi .fotocol{aspect-ratio:4/3.4;}
  .cab{grid-template-columns:1fr;gap:0;}
  .cab .txt{justify-self:start;margin-top:1.2rem;}
  .vagas,.carreira,.req,.final .grade{grid-template-columns:1fr;}
  .carreira .lado{position:static;}
  .semana{grid-template-columns:1fr;border-top:0;}
  .semana > div,.semana > div + div{padding:1.4rem 0;border-left:0;border-top:1px solid var(--linha);}
  .videos{grid-template-columns:repeat(3,78%);overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 6px;scrollbar-width:none;}
  .videos::-webkit-scrollbar{display:none;}
  .vid-caixa{scroll-snap-align:start;}
  .galeria{grid-template-columns:repeat(5,76%);grid-template-rows:320px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px 6px;scrollbar-width:none;}
  .galeria::-webkit-scrollbar{display:none;}
  .galeria figure{scroll-snap-align:start;grid-row:auto !important;grid-column:auto !important;}
  .desejo::after{background:linear-gradient(180deg,rgba(10,11,13,.25) 0%,rgba(10,11,13,.82) 62%);}
  .desejo{align-items:flex-end;min-height:0;padding:clamp(200px,52vw,280px) 0 64px;}
  .final .cel{display:none;}
}
@media(min-width:560px) and (max-width:900px){
  .videos{grid-template-columns:repeat(3,46%);}
  .galeria{grid-template-columns:repeat(5,46%);}
}
@media(max-width:767px){
  .ps-sticky{display:block;}
  body.ps{padding-bottom:84px;}
  .ps .jml-whats{bottom:100px;transition:opacity .35s ease,transform .35s var(--ease-out-expo);}
  body.ps.barra-on .jml-whats{opacity:0;pointer-events:none;transform:scale(.6);}
  .ps .jml-nav .cta{display:none;}
  .h-stats{justify-content:space-between;}
  .h-stat{padding-right:0;margin-right:0;border-right:0;}
  .h-stat b{font-size:1.35rem;}
  .ps .bts .bt{width:100%;}
  .vaga .bt{align-self:stretch;}
  .vaga dl div{grid-template-columns:1fr;gap:.35rem;}
  .banca{grid-template-columns:1fr 1fr;}
  .banca > div,.banca > div + div,.banca > div:nth-child(3){padding:1.4rem 1rem 1.4rem 0;border-left:0;border-bottom:1px solid var(--linha);}
  .banca > div:nth-child(even){padding-left:1rem;padding-right:0;border-left:1px solid var(--linha);}
  .banca > div:nth-child(n+3){border-bottom:0;}
  .banca svg{margin-bottom:.9rem;width:22px;height:22px;}
  .banca b{font-size:1.4rem;}
  .banca .t3{font-size:.92rem;}
  .banca p{font-size:.82rem;line-height:1.55;}
  .degrau{grid-template-columns:3rem 1fr;padding-left:1rem;}
  .degrau .val:empty{display:none;}
.degrau .val{grid-column:2;}
  .degrau p{grid-column:2;margin-top:-.2rem;}
  .degrau{row-gap:.5rem;}
  .mitos .lin{grid-template-columns:1fr;}
  .mitos .lin > * + *{padding-left:0;border-left:0;padding-top:0;}
  .mitos .dizem{padding-bottom:.5rem;}
  .mitos .cab-lin{display:none;}
  .mitos .aqui::before{content:"";}
  .ficha{grid-template-columns:1fr;}
  .ficha > div,.ficha > div + div,.ficha > div:nth-child(3){padding:1.2rem 0;border-left:0;border-bottom:1px solid var(--linha);}
  .ficha > div:last-child{border-bottom:0;}
  .final .fatos{flex-wrap:nowrap;}
  .final .fatos span{padding:.9rem .8rem .9rem 0;margin-right:.8rem;letter-spacing:.2em;white-space:nowrap;font-size:.52rem;}
  .abas{display:flex;}
  .abas button{flex:1;padding:1rem .6rem;letter-spacing:.18em;}
}
@media(prefers-reduced-motion:reduce){
  .ps .rotulo,.ps .filete::after,.ps .bt::before,.h-selo i{animation:none;}
  .ps .rotulo{-webkit-text-fill-color:currentColor;}
}

/* ═══════════════ EFEITOS · só com JS ligado e sem "reduzir movimento" ═══════════════ */
/* barra de progresso da leitura, colada embaixo da navegação */
.ps-prog{position:fixed;left:0;right:0;top:0;height:2px;z-index:101;background:var(--brand);transform-origin:left center;transform:scaleX(0);pointer-events:none;}
/* link da navegação acende na seção em que a pessoa está */
.ps .jml-nav .links a.atual::after{transform:scaleX(1);}
.ps .jml-nav .links a.atual{color:var(--brand);}

/* títulos sobem palavra por palavra, por trás de uma máscara */
.pal{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em;}
.pal > span{display:inline-block;will-change:transform;}

/* marca-texto: a frase que importa ganha um traço azul por baixo quando aparece */
.realce{background-image:linear-gradient(transparent 64%,rgba(32,143,255,.22) 64%,rgba(32,143,255,.22) 92%,transparent 92%);
  background-repeat:no-repeat;background-size:0% 100%;transition:background-size 1.1s var(--ease-out-expo);color:var(--ink);font-weight:600;}
.realce.on{background-size:100% 100%;}
.desejo .realce,.final .realce{color:#fff;background-image:linear-gradient(transparent 64%,rgba(32,143,255,.55) 64%,rgba(32,143,255,.55) 92%,transparent 92%);}
.final .realce{background-image:linear-gradient(transparent 64%,rgba(255,255,255,.28) 64%,rgba(255,255,255,.28) 92%,transparent 92%);}

/* o que dizem: a frase é riscada quando a linha entra na tela */
.mitos .dizem span{position:relative;}
.mitos .dizem span::after{content:"";position:absolute;left:0;top:55%;height:1.5px;width:0;background:rgba(10,11,13,.45);transition:width .9s .15s var(--ease-out-expo);}
.mitos .lin.riscado .dizem span::after{width:100%;}
.mitos .aqui svg path{stroke-dasharray:24;stroke-dashoffset:0;}
.jml-js .mitos .lin:not(.riscado) .aqui{opacity:0;transform:translateX(16px);}
.mitos .aqui{transition:opacity .7s .35s ease,transform .9s .35s var(--ease-out-expo);}
.jml-js .mitos .lin:not(.riscado) .aqui svg path{stroke-dashoffset:24;}
.mitos .aqui svg path{transition:stroke-dashoffset .5s .8s ease;}

/* escada: o degrau ativo ganha destaque */
.degrau .t3{transition:color .45s ease;}
.degrau.aceso .t3{color:var(--ink);}
.degrau:not(.aceso):not(.topo) .t3{color:#2A2F3A;}

/* foto revelada por cortina */
.cortina{clip-path:inset(0 0 0 0);}
@media(prefers-reduced-motion:reduce){
  .realce{transition:none;background-size:100% 100%;}
  .mitos .dizem span::after{transition:none;}
  .jml-js .mitos .lin:not(.riscado) .aqui{opacity:1;transform:none;}
  .ps-prog{display:none;}
}
.h-stat b span + small{margin:0 0 0 .3em;}

/* ═══ leitura: menos texto corrido, mais coisa que se entende batendo o olho ═══ */
/* caminho da vaga: três passos lado a lado, no lugar da lista */
.rota{list-style:none;margin:1.6rem 0 2rem;padding:1.1rem 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);}
.rota li{position:relative;display:flex;flex-direction:column;gap:.3rem;padding-right:1.2rem;}
.rota li + li{padding-left:1.2rem;border-left:1px solid var(--linha);}
.rota li + li::before{content:"";position:absolute;left:-5px;top:50%;width:9px;height:9px;margin-top:-4.5px;background:#fff;border-top:1px solid var(--linha);border-right:1px solid var(--linha);transform:rotate(45deg);}
.rota span{font-size:.6rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);}
.rota b{font-size:1rem;font-weight:700;color:var(--ink);letter-spacing:-.01em;line-height:1.2;}
.rota small{font-size:.78rem;font-weight:400;color:var(--n-200);line-height:1.4;}
.rota li:last-child b{color:var(--brand);}
@media(max-width:767px){
  .rota li{padding-right:.6rem;}
  .rota li + li{padding-left:.8rem;}
  .rota b{font-size:.92rem;}
  .rota small{font-size:.72rem;}
}

/* requisitos: o que não precisa vira uma linha só */
.req-sem{margin-top:1.1rem;font-size:.95rem;font-weight:400;color:var(--n-200);}
.req-sem b{color:var(--brand);font-weight:700;}

/* escada: o topo aceso continua branco (antes sumia: texto preto no fundo preto) */
.degrau.topo.aceso .t3,.degrau.topo .t3{color:#fff;}
.mais{display:none;}
@media(max-width:900px){
  /* no celular, a escada mostra o começo e o topo; o meio abre num toque */
  .trilha:not(.aberta) .degrau.meio{display:none;}
  .trilha:not(.aberta) .mais{display:block;padding:.9rem 0 .9rem 1rem;border-bottom:1px solid var(--linha);}
  .bt-mais{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:1px dashed rgba(32,143,255,.45);padding:.85rem 1rem;
    font:600 .6rem/1 var(--font-body);letter-spacing:.3em;text-transform:uppercase;color:var(--brand);cursor:pointer;}
  .bt-mais span{font-size:1rem;letter-spacing:0;}
  /* primeira semana: cartões de lado, como os vídeos */
  .semana{display:grid;grid-template-columns:repeat(3,80%);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:clamp(40px,8vw,64px) -20px 0;padding:0 20px 6px;border-top:0;scrollbar-width:none;}
  .semana::-webkit-scrollbar{display:none;}
  .semana > div,.semana > div + div{scroll-snap-align:start;padding:1.3rem 1.2rem;border:1px solid var(--linha);background:#fff;}
}
@media(min-width:560px) and (max-width:900px){ .semana{grid-template-columns:repeat(3,46%);} }
@media(max-width:767px){
  .mitos .lin > *{padding:1.1rem 0;}
  .mitos .dizem{padding-bottom:.35rem;font-size:.92rem;}
  .mitos .lin > * + *{padding-top:0;}
  .mitos .aqui{font-size:.98rem;}
}

/* ═══ contraste: nada disfarçado. Números grandes e à mostra, cinzas mais firmes ═══ */
/* herói: os três números mandam */
.h-stat b{font-size:clamp(1.9rem,3vw,2.8rem);}
.h-stat:last-child b span{color:var(--brand);}
.h-stat .miudo{color:var(--n-200);}
@media(max-width:767px){ .h-stat b{font-size:1.6rem;} .h-stat .miudo{font-size:.52rem;letter-spacing:.2em;} }

/* faixa escura: o que a JML banca */
.ps .sec.escuro{background:#0A0B0D;color:#F0F2F5;}
.sec.escuro .rotulo{background:linear-gradient(90deg,#fff 0%,#fff 35%,rgba(255,255,255,.45) 50%,#fff 65%,#fff 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;}
.sec.escuro .t2,.sec.escuro .t3{color:#fff;}
.sec.escuro .txt{color:rgba(240,242,245,.78);}
.sec.escuro .realce{color:#fff;background-image:linear-gradient(transparent 64%,rgba(32,143,255,.55) 64%,rgba(32,143,255,.55) 92%,transparent 92%);}
.sec.escuro .banca{border-color:rgba(255,255,255,.14);}
.sec.escuro .banca > div{border-color:rgba(255,255,255,.14) !important;}
.sec.escuro .banca b{color:var(--brand);font-size:clamp(2.4rem,3.8vw,3.6rem);letter-spacing:-.03em;margin-bottom:.8rem;}
.sec.escuro .banca p{color:rgba(240,242,245,.66);}
.sec.escuro .banca svg{stroke:rgba(240,242,245,.55);}
@media(max-width:767px){ .sec.escuro .banca b{font-size:2rem;} }

/* vagas: o caminho com cara de dado */
.rota b{font-size:1.08rem;}
.rota span{color:var(--n-200);}

/* celular: o botão flutuante do WhatsApp brigava com os números e o botão do herói.
   A dúvida continua no rodapé ("Tirar dúvida no WhatsApp") */
@media(max-width:767px){ body.ps .jml-whats{display:none !important;} }

/* carrosséis (vídeos, galeria, primeira semana): o encaixe respeita a margem da página.
   Sem isso o cartão grudava na borda da tela e a legenda ficava colada no canto. */
@media(max-width:900px){
  .videos,.galeria,.semana{scroll-padding-inline:20px;}
}
