/* =========================================================
   1. CORES, FONTES E TOKENS DA MARCA
   ---------------------------------------------------------
   Redesign visual "Revista" (25/09/2026, design/BRIEFING-REDESIGN.md).
   Estrutura da Uber + fluidez da ALSO, com as cores de sempre.

   Cores (papéis)
     --ink / --text   #0E1420  quase preto: texto, rodapé, botão escuro
     --page           fundo das telas (branco no claro)
     --surface        cartões e campos
     --ground         "cinza névoa": cartões sem borda, faixas de seção
     --sunk / --line  divisórias finas de 1px
     --muted          texto secundário
     --orange         COR DE AÇÃO: botão de conversão, aba ativa, foco
     --blue           marca (Volante Q), links, seção invertida azul
     --ok / --wa      sucesso / só o WhatsApp
     --hard           cor da sombra dura (azul-escuro derivado da marca)
     --edge           borda de campo (1,5px)
   Tipografia
     Sora (títulos: peso 600, tracking negativo que aperta com o tamanho)
     Figtree (texto) · IBM Plex Mono (etiquetas e botões, CAIXA ALTA, +0.05em)
   Formas
     --r-pill 999px (botões e etiquetas) · --r-card 12px (cartões e campos)
     --shadow-hard: 0 2px 0 var(--hard) (sombra dura, sem desfoque)
   Movimento
     --ease-out (entradas e toques) · --ease-in-out (movimento na tela)
     --ease-drawer (janelas que sobem) · UI até 300ms
   ========================================================= */
:root{
  --blue:#1F4FE0; --blue-ink:#1F4FE0; --blue-soft:#E4EBFD;
  --orange:#FF6A2B; --ink:#0E1420;
  --ground:#F2F4F9; --surface:#FFFFFF; --sunk:#E9EDF5; --line:#D6DCE8;
  --text:#0E1420; --muted:#586177; --ok:#138A52;
  --wa:#25D366; --wa-ink:#0B3D22;
  --page:#FFFFFF; --edge:#7A8397; --hard:#0B1F66;
  --band:#0E1420; --on-band:#FFFFFF; --on-band-muted:#A9B2C6;
  --r-pill:999px; --r-card:12px;
  --shadow-hard:0 2px 0 var(--hard);
  --display:"Sora",ui-sans-serif,system-ui,sans-serif;
  --body:"Figtree",ui-sans-serif,system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --header-h:60px;
  --tabbar-h:78px;
  --safe-b:env(safe-area-inset-bottom,0px);
  --ease:cubic-bezier(.2,.8,.2,1);
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-in-out:cubic-bezier(0.77,0,0.175,1);
  --ease-drawer:cubic-bezier(0.32,0.72,0,1);
}
@media (prefers-color-scheme:dark){
  :root{
    --blue:#3D6BFF; --blue-ink:#8AA6FF; --blue-soft:#1B2750;
    --ground:#0A0F1B; --surface:#131B2D; --sunk:#1B2439; --line:#27324B;
    --text:#E9EDF6; --muted:#98A2B8; --ok:#3CC985;
    --page:#0A0F1B; --edge:#56627E; --hard:#000000; --band:#05080F;
  }
}
/* Espaço do instrutor: sempre escuro, para ficar claramente separado */
body[data-space="instrutor"]{
  --ground:#0E1420; --surface:#161F32; --sunk:#1E2840; --line:#2A3550;
  --text:#EEF1F8; --muted:#9AA5BD; --blue-ink:#8AA6FF; --blue-soft:#1B2750; --ok:#3CC985;
  --page:#0E1420; --edge:#56627E; --hard:#000000; --band:#070B14;
}

/* =========================================================
   2. BASE
   ========================================================= */
*{box-sizing:border-box}
html,body{height:100%}
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow:hidden;transition:background-color .35s}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;margin:0;letter-spacing:-.02em;text-wrap:balance}
p{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button,a,label,summary{touch-action:manipulation}
button,.btn,.tab,.chip,.switch a,.topnav a{-webkit-user-select:none;user-select:none}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:6px}
/* etiqueta que abre cada seção (ALSO): mono, caixa alta, tracking positivo */
.eyebrow{font-family:var(--mono);font-weight:500;font-size:12px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.muted{color:var(--muted)}

/* botões: pílula com borda e sombra dura; "afundam" ao apertar */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border:2px solid var(--text);border-radius:var(--r-pill);padding:12px 24px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-hard);font-family:var(--mono);font-weight:500;font-size:13px;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;text-align:center;text-decoration:none;transition:transform 120ms var(--ease-out),box-shadow 120ms var(--ease-out),background-color 150ms ease}
.btn:active{transform:translateY(2px);box-shadow:0 0 0 var(--hard)}
.btn svg{width:18px;height:18px;flex:none}
.btn-wa{background:var(--wa);color:var(--wa-ink)}
.btn-blue{background:var(--blue);color:#fff}
.btn-orange{background:var(--orange);color:#0E1420}
.btn-ghost{background:transparent}
.btn-full{width:100%}
.actions{display:flex;flex-wrap:wrap;gap:12px}
@media (hover:hover) and (pointer:fine){
  .btn-wa:hover{background:#3BE07A}
  .btn-blue:hover{background:#1942C2}
  .btn-orange:hover{background:#FF7F47}
  .btn-ghost:hover{background:var(--ground)}
}
@media (min-width:960px){.btn{font-size:14px}}

/* =========================================================
   3. CABEÇALHO (logo + troca de espaço)
   ========================================================= */
.head{position:fixed;top:0;left:0;right:0;z-index:30;height:calc(var(--header-h) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--page);border-bottom:1px solid var(--line);transition:background-color .35s}
.head-in{max-width:1200px;margin-inline:auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-inline:16px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;flex:none}
.brand svg{width:30px;height:30px}
.wordmark{font-family:var(--display);font-weight:800;line-height:.95;font-size:14px;letter-spacing:-.02em}
.wordmark b{display:block;color:var(--blue-ink)}
.topnav{display:none}
.switch{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--text);border-radius:var(--r-pill);padding:3px;position:relative;flex:none}
.switch a{position:relative;z-index:1;border:0;background:none;padding:7px 9px;font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text);border-radius:var(--r-pill);transition:color .25s;text-decoration:none;text-align:center;white-space:nowrap}
.switch a[aria-current="true"]{color:var(--page)}
.switch .knob{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);background:var(--text);border-radius:var(--r-pill);transition:transform .35s var(--ease-out)}
body[data-space="instrutor"] .switch .knob{transform:translateX(100%);background:var(--orange)}
body[data-space="instrutor"] .switch a[aria-current="true"]{color:#0E1420}
@media (min-width:400px){.switch a{padding:8px 11px;font-size:11px}}

/* =========================================================
   4. TELAS COM TRANSIÇÃO
   ========================================================= */
.stage{position:fixed;left:0;right:0;top:calc(var(--header-h) + env(safe-area-inset-top,0px));bottom:0;overflow:hidden}
.screen{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;background:var(--page);will-change:transform;transition:background-color .35s}
.screen[hidden]{display:none!important}
.screen.shadow{box-shadow:0 0 40px rgba(14,20,32,.18)}
.space-in{animation:spaceIn .42s var(--ease)}
@keyframes spaceIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.page{max-width:1200px;margin-inline:auto;padding:28px 16px calc(var(--tabbar-h) + var(--safe-b) + 40px)}
.block{margin-top:64px}
.block h2{font-weight:600;font-size:clamp(30px,5vw,56px);line-height:1;letter-spacing:-.04em;margin-top:12px}
.intro{color:var(--muted);margin-top:14px;max-width:58ch;font-size:17px}
.page-title{font-weight:600;font-size:clamp(38px,7.5vw,84px);line-height:.96;letter-spacing:-.045em;margin-top:14px}

/* ---- hero ---- */
.kicker{display:inline-block;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--text);background:var(--blue-soft);padding:6px 12px;border-radius:10px;border-left:4px solid var(--orange)}
.hero{display:grid;gap:28px;align-items:center}
.hero h1{font-weight:800;font-size:38px;line-height:1.28;letter-spacing:-.04em;margin-top:16px}
.hero h1 .q{color:var(--blue-ink)}
.hero h1 .tail{background:linear-gradient(var(--orange),var(--orange)) 0 82%/100% .12em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.1em}
.hero .feats{grid-template-columns:1fr 1fr}
.byline{display:flex;align-items:center;gap:8px;margin-top:14px;font-family:var(--display);font-weight:600;font-size:18px;color:var(--muted)}
.byline svg{width:1.4em;height:1.4em;flex:none}
.byline b{color:var(--blue-ink);font-weight:800}
.lede{margin-top:16px;color:var(--muted);font-size:16px;max-width:54ch}
.hero .actions{margin-top:22px}
.hero .actions .btn{flex:1 1 200px}
.trust{margin-top:16px;display:grid;gap:4px;font-size:14px;color:var(--muted)}
.trust span{display:flex;gap:8px;align-items:center}
.trust i{width:6px;height:6px;border-radius:50%;background:var(--ok);flex:none}

/* foto real do hero (redesign "Revista", 26/09/2026) */
.foto-band{position:relative;margin-top:8px;overflow:hidden;border-radius:var(--r-card);aspect-ratio:4/5;max-width:420px;width:100%;justify-self:center;background:var(--ground)}
.foto-band img{width:100%;height:100%;object-fit:cover;display:block}
.foto-band .rotulo{position:absolute;left:14px;top:14px;padding:7px 11px;border-radius:999px;background:var(--page);color:var(--text);font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 1px 3px rgba(14,20,32,.15)}
.foto-band .rotulo b{color:var(--ok);font-weight:600}
@media (min-width:960px){.foto-band{max-width:480px}}

.plate{display:inline-grid;border-radius:5px;overflow:hidden;border:2px solid #0E1420;background:#fff;color:#0E1420;font-family:var(--mono);font-size:13px;letter-spacing:.1em}
.plate::before{content:"BRASIL";background:#1F4FE0;color:#fff;font-family:var(--display);font-size:7px;letter-spacing:.2em;text-align:center;padding:1px 0}
.plate span{padding:1px 8px}

/* ---- tabela comparativa ---- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.compare{width:100%;border-collapse:separate;border-spacing:0;margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;font-size:14px}
.compare th,.compare td{padding:14px;text-align:left;vertical-align:top}
.compare thead th{font-family:var(--display);font-weight:600;font-size:14px;background:var(--sunk);color:var(--text);border-bottom:1px solid var(--line)}
.compare thead th.win{background:var(--blue);color:#fff}
.compare thead th small{display:block;font-family:var(--body);font-weight:500;font-size:12px;opacity:.8}
.compare tbody th{font-family:var(--display);font-weight:600;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.compare tbody tr + tr > *{border-top:1px solid var(--line)}
.compare td b{display:block;font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:-.01em}
.compare td span{display:block;color:var(--muted);margin-top:2px}
.compare td.win{background:color-mix(in srgb,var(--blue) 7%,var(--surface))}
.compare td.win b{color:var(--blue-ink)}
.compare .price{font-size:17px!important;font-variant-numeric:tabular-nums;white-space:nowrap}
.compare-note{font-size:12.5px;color:var(--muted);margin-top:8px}
@media (max-width:599px){
  .compare thead tr{display:grid;grid-template-columns:1fr 1fr}
  .compare thead th:first-child{display:none}
  .compare tbody tr{display:grid;grid-template-columns:1fr 1fr}
  .compare tbody th{grid-column:1/-1;padding:12px 14px 0;border-top:1px solid var(--line)}
  .compare tbody tr:first-child th{border-top:0}
  .compare tbody tr + tr > *{border-top:0}
  .compare tbody tr + tr th{border-top:1px solid var(--line)}
  .compare td{padding:8px 14px 14px}
  .compare td.win{background:color-mix(in srgb,var(--blue) 7%,var(--surface))}
  .compare .price{white-space:normal;font-size:16px!important}
}
@media (min-width:960px){
  .compare{font-size:15px}
  .compare th,.compare td{padding:18px 22px}
  .compare tbody th{width:18%}
}

/* ---- AULAS: localização e resultados ---- */
.locbox{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px;display:grid;gap:10px}
.loc-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.loc-or::before,.loc-or::after{content:"";flex:1;height:1px;background:var(--line)}
.loc-form{display:grid;grid-template-columns:1fr auto;gap:8px}
.loc-form input{height:52px;border-radius:var(--r-card);border:1.5px solid var(--edge);background:var(--surface);padding:0 14px;font-size:16px;outline:none;min-width:0}
.loc-form input:focus{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange)}
.loc-status{font-size:14px;color:var(--muted);min-height:0}
.loc-status:empty{display:none}
.loc-status b{color:var(--text)}
.loc-status.bad{color:#E5484D}
.results-area{margin-top:26px}
.res-head h2{font-weight:800;font-size:22px;letter-spacing:-.02em}
.chips{display:flex;gap:6px;overflow-x:auto;padding:12px 0 4px;scrollbar-width:none;align-items:center}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;border:1.5px solid var(--line);background:var(--surface);border-radius:var(--r-pill);padding:8px 14px;font-size:14px;font-weight:600;color:var(--text)}
.chip[aria-pressed="true"]{background:var(--text);border-color:var(--text);color:var(--ground)}
.sort{margin-left:auto;flex:none}
.sort select{height:38px;border-radius:var(--r-pill);border:1.5px solid var(--edge);background:var(--surface);padding:0 10px;font-size:13.5px;font-weight:600}
.inst-list{display:grid;gap:10px;margin-top:8px}
.icard{display:grid;grid-template-columns:auto 1fr;gap:14px;text-align:left;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;transition:border-color .15s,transform .15s}
.icard:hover{border-color:var(--blue)}
.icard:active{transform:scale(.99)}
.i-photo{width:60px;height:60px;border-radius:50%;background:var(--sunk) center/cover;display:grid;place-items:center;font-family:var(--display);font-weight:800;color:#fff;font-size:19px;flex:none;position:relative}
.i-photo.premium{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--orange)}
.icard h3{font-size:16px;font-weight:600;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.i-meta{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:13px;color:var(--muted);margin-top:2px}
.i-meta .dist{color:var(--blue-ink);font-weight:700}
.i-foot{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-top:8px;flex-wrap:wrap}
.i-price b{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:-.02em}
.i-price small{color:var(--muted);font-size:12px}
.i-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.i-tags i{font-style:normal;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:99px;border:1.5px solid var(--orange);color:var(--text)}
.b-premium{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--orange);color:#0E1420;padding:2px 7px;border-radius:99px}
.b-ok{font-size:11.5px;font-weight:700;color:var(--ok)}
.see{font-family:var(--display);font-weight:600;font-size:13.5px;color:var(--blue-ink);display:inline-flex;gap:4px;align-items:center}
.see svg{width:16px;height:16px}
.demo-note{font-size:12px;color:var(--muted);margin-top:10px;text-align:center}
.empty-state{background:var(--surface);border:1.5px dashed var(--edge);border-radius:var(--r-card);padding:22px;text-align:center;display:grid;gap:8px;justify-items:center}
.empty-state b{font-family:var(--display);font-size:17px}
.empty-state p{color:var(--muted);font-size:14.5px;max-width:40ch}

.my-lessons{margin-top:18px;display:grid;gap:8px}
.my-lessons > .eyebrow{margin-bottom:2px}
.lesson-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px}
.dbox{width:50px;border-radius:12px;background:var(--blue-soft);color:var(--blue-ink);text-align:center;padding:5px 0;font-family:var(--display)}
.dbox small{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.dbox b{font-size:19px;font-weight:800;line-height:1.1}
.lesson-row h4{font-size:14.5px;font-weight:600}
.lesson-row p{font-size:12.5px;color:var(--muted)}
.st{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:99px;white-space:nowrap}
.st-pendente{background:color-mix(in srgb,var(--orange) 18%,transparent);color:var(--orange)}
.st-confirmada{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}
.st-recusada,.st-cancelada{background:var(--sunk);color:var(--muted)}

/* ---- painel que sobe (perfil do instrutor / agendamento) ---- */
.sheet-scrim{position:fixed;inset:0;z-index:54;background:rgba(5,8,15,.5);animation:fadeIn .24s ease}
.sheet-scrim[hidden],.sheet[hidden]{display:none}
@keyframes fadeIn{from{opacity:0}}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:55;max-height:92dvh;background:var(--page);border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:sheetUp .42s var(--ease-drawer);box-shadow:0 -1px 0 var(--line)}
@keyframes sheetUp{from{transform:translateY(100%)}}
.sheet-bar{flex:none;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:6px 8px 0}
.sheet-grab{grid-column:2;justify-self:center;width:44px;height:5px;border-radius:99px;background:var(--line)}
.sheet-bar .wiz-icon{grid-column:3}
.sheet-body{overflow-y:auto;padding:4px 18px calc(24px + var(--safe-b))}
@media (min-width:760px){
  .sheet{left:50%;bottom:auto;top:50%;width:min(680px,94vw);max-height:88dvh;border-radius:24px;transform:translate(-50%,-50%);animation:sheetPop .3s var(--ease)}
  @keyframes sheetPop{from{opacity:0;transform:translate(-50%,-46%)}}
  .sheet-grab{visibility:hidden}
}
.sp-head{display:flex;gap:14px;align-items:center}
.sp-head .i-photo{width:76px;height:76px;font-size:24px}
.sp-head h2{font-weight:800;font-size:23px;letter-spacing:-.02em;line-height:1.1}
.sp-kv{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:14px;overflow:hidden;margin-top:14px}
.sp-kv div{background:var(--surface);padding:10px;text-align:center}
.sp-kv b{display:block;font-family:var(--display);font-weight:800;font-size:17px}
.sp-kv small{font-size:11.5px;color:var(--muted)}
.sp-sec{margin-top:18px}
.sp-sec h3{font-size:15px;font-weight:600;margin-bottom:6px}
.sp-sec p,.sp-sec li{font-size:14px;color:var(--muted)}
.sp-sec ul{margin:0;padding-left:18px;display:grid;gap:2px}
.sp-note{font-size:13px;color:var(--muted);background:var(--sunk);border-radius:12px;padding:10px 12px;margin-top:10px}
.slots-days{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.slots-days::-webkit-scrollbar{display:none}
.sday{flex:none;width:58px;border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:8px 0;text-align:center;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}
.sday b{display:block;font-family:var(--display);font-size:19px;color:var(--text)}
.sday[aria-pressed="true"]{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-ink)}
.sday[aria-pressed="true"] b{color:var(--blue-ink)}
.sday:disabled{opacity:.35;cursor:not-allowed}
.slots-times{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.stime{border:1.5px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 0;font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}
.stime[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.stime:disabled{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.book-form{display:grid;gap:10px;margin-top:12px}
.book-done{text-align:center;display:grid;gap:10px;justify-items:center;padding:20px 0}
.book-done svg{width:64px;height:64px;color:var(--ok)}
.book-done h2{font-weight:800;font-size:24px}

/* ---- PERFIL DO INSTRUTOR ---- */
.narrow{max-width:520px;margin-inline:auto}
.prof{max-width:880px;margin-inline:auto}
.prof-head{display:flex;gap:16px;align-items:center}
.prof-photo{width:84px;height:84px;border-radius:50%;background:var(--sunk) center/cover;flex:none;position:relative;cursor:pointer;border:3px solid var(--orange)}
.prof-photo-edit{position:absolute;right:-4px;bottom:-4px;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#0E1420;display:grid;place-items:center;border:3px solid var(--ground)}
.prof-photo-edit svg{width:15px;height:15px}
.prof-id h1{font-weight:800;font-size:26px;letter-spacing:-.03em;line-height:1.1;margin-top:2px}
.prof-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.prof-badges span{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:99px;background:var(--sunk);color:var(--muted)}
.prof-badges .b-on{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}
.prof-badges .b-wait{background:color-mix(in srgb,var(--orange) 18%,transparent);color:var(--orange)}
.prof-activate{margin-top:18px;display:grid;grid-template-columns:auto 1fr;gap:14px;background:var(--surface);border:2px solid var(--orange);border-radius:18px;padding:16px}
.prof-activate b{font-family:var(--display);font-size:16px}
.prof-activate p{color:var(--muted);font-size:14px;margin:4px 0 12px}
.prof-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.prof-stats div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px}
.prof-stats b{display:block;font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.prof-stats span{font-size:12px;color:var(--muted)}
.prof-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--sunk);border-radius:14px;padding:4px;margin-top:18px;position:sticky;top:0;z-index:2}
.prof-tabs button{border:0;background:none;border-radius:10px;padding:10px 4px;font-family:var(--display);font-weight:600;font-size:13px;color:var(--muted)}
.prof-tabs button[aria-selected="true"]{background:var(--surface);color:var(--text);box-shadow:0 2px 6px -2px rgba(14,20,32,.3)}
.ppanel{margin-top:16px;animation:fadeIn .25s}
.ppanel[hidden]{display:none}
.req{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:14px;display:grid;gap:10px}
.req + .req{margin-top:10px}
.req-top{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}
.req-top h4{font-size:15px;font-weight:600}
.req-top p{font-size:13px;color:var(--muted)}
.req-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.req-actions .btn{padding:11px}
.p-preview{margin-top:8px;margin-bottom:18px;pointer-events:none}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:16px}
.pcard + .pcard{margin-top:10px}
.pcard-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pcard-head h3{font-size:16px;font-weight:600}
.pcard-head .linkbtn{text-decoration:none;padding:0}
.pcard-view{margin-top:8px;font-size:14.5px;color:var(--muted);display:grid;gap:6px}
.pcard-view b{color:var(--text);font-weight:600}
.pcard-form{display:grid;gap:10px;margin-top:12px}
.pcard-form[hidden]{display:none}
.pcard-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.item-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.item-row:first-child{border-top:0}
.item-row .linkbtn{color:var(--muted);font-size:13px;padding:0}
.daypick{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:12px}
.daypick button{border:1.5px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 0;font-weight:700;font-size:13px;color:var(--muted)}
.daypick button[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#0E1420}
@media (min-width:960px){
  .prof-id h1{font-size:34px}
  .prof-panels-wide .ppanel{margin-top:22px}
}

/* ---- alerta: carro próprio sem condições (página Prova) ---- */
.alert-car{margin-top:22px;position:relative;background:var(--surface);border:2px solid var(--orange);border-radius:22px;padding:28px 20px 20px;overflow:hidden;display:grid;gap:16px}
.alert-car::before{content:"";position:absolute;top:0;left:0;right:0;height:10px;background:repeating-linear-gradient(-45deg,var(--orange) 0 14px,#0E1420 14px 28px)}
.alert-top{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.alert-ic{width:48px;height:48px;border-radius:14px;background:var(--orange);color:#0E1420;display:grid;place-items:center}
.alert-ic svg{width:28px;height:28px}
.alert-car h2{font-weight:800;font-size:22px;line-height:1.1;letter-spacing:-.02em}
.alert-car p{color:var(--muted);margin-top:6px;font-size:15px}
.alert-car p b{color:var(--text)}
.alert-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.alert-list li{display:flex;gap:8px;align-items:center;background:color-mix(in srgb,#E5484D 10%,var(--surface));border:1px solid color-mix(in srgb,#E5484D 35%,transparent);border-radius:12px;padding:10px 12px;font-weight:600;font-size:14px;line-height:1.2}
.alert-list li::before{content:"✕";flex:none;width:20px;height:20px;border-radius:50%;background:#E5484D;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}
.alert-foot{display:grid;gap:12px;border-top:1px dashed var(--line);padding-top:16px}
.alert-foot p{margin:0;font-size:16px;color:var(--text)}
.alert-foot b{color:var(--orange)}
@media (min-width:960px){
  .alert-car{padding:36px 36px 28px;gap:20px}
  .alert-car h2{font-size:28px}
  .alert-list{grid-template-columns:repeat(4,1fr)}
  .alert-foot{grid-template-columns:1fr auto;align-items:center}
}
.kit-ilustra{display:block;width:100%;height:auto;background:var(--sunk);border-radius:16px;padding:8px}

/* ---- ilustração compartilhada #ilustra-faixas (usada no Kit da prova) ---- */
.car-body{fill:var(--blue)}
.car-glass{fill:var(--sunk);opacity:.85}
.car-wheel{fill:var(--ink)}
.car-hub{fill:#C7CFDF}
.strip-fill{fill:#fff;stroke:var(--orange);stroke-width:3}
.strip-text{fill:#0E1420;font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:2px}
.dim{fill:none;stroke:var(--text);stroke-width:1.5}
.dim-text{fill:var(--text);font-family:var(--mono);font-size:12px}

/* ---- instrutor: quem cuida do quê ---- */
.deal{display:grid;gap:10px}
.deal-col{border-radius:20px;padding:20px}
.deal-col ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.deal-col li{display:flex;gap:10px;align-items:center;font-family:var(--display);font-weight:600;font-size:15.5px}
.deal-col li::before{content:"✓";flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:13px}
.deal-us{background:var(--surface);border:1px solid var(--line)}
.deal-us li::before{background:var(--blue-soft);color:var(--blue-ink)}
.deal-you{background:var(--orange);color:#0E1420}
.deal-you .eyebrow{color:rgba(14,20,32,.7)}
.deal-you li{font-size:18px}
.deal-you li::before{background:#0E1420;color:var(--orange)}

/* ---- blocos de serviço (atalhos) ---- */
.tiles{display:grid;gap:10px;margin-top:16px}
.tile{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-align:left;background:var(--ground);border:0;border-radius:var(--r-card);padding:18px;transition:background-color .15s,transform 160ms var(--ease-out)}
.tile:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.tile:hover{background:var(--sunk)}}
.tile .ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center}
.tile .ic svg{width:26px;height:26px}
.tile b{font-family:var(--display);font-weight:600;font-size:16px;display:block;line-height:1.25}
.tile small{color:var(--muted);font-size:13.5px;display:block;margin-top:2px}
.tile .chev{width:20px;height:20px;color:var(--muted)}
.ic-blue{background:var(--blue-soft);color:var(--blue-ink)}
.ic-orange{background:color-mix(in srgb,var(--orange) 16%,transparent);color:var(--orange)}
.ic-ink{background:var(--sunk);color:var(--text)}


/* ---- passos numerados ---- */
.steps{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:14px;background:var(--ground);border-radius:var(--r-card);padding:18px}
.steps li::before{content:counter(s);width:44px;height:44px;border-radius:50%;border:2px solid var(--text);background:var(--surface);color:var(--text);box-shadow:var(--shadow-hard);display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:18px}
.steps b{font-family:var(--display);font-weight:600;font-size:15.5px;display:block}
.steps p{color:var(--muted);font-size:14.5px;margin-top:2px}

/* ---- lista de benefícios ---- */
.feats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.feat{background:var(--ground);border-radius:var(--r-card);padding:16px}
.feat svg{width:24px;height:24px;color:var(--blue-ink)}
.feat b{display:block;font-family:var(--display);font-weight:600;font-size:14.5px;margin-top:8px;line-height:1.25}
.feat small{display:block;color:var(--muted);font-size:13px;margin-top:3px}

.checks{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:0;background:var(--ground);border-radius:var(--r-card);padding-inline:18px}
.checks li{display:grid;grid-template-columns:24px 1fr;gap:12px;padding-block:14px;align-items:start}
.checks li + li{border-top:1px solid var(--line)}
.checks svg{width:22px;height:22px;color:var(--ok);margin-top:1px}
.checks b{font-family:var(--display);font-weight:600;font-size:15px;display:block}
.checks small{color:var(--muted);font-size:13.5px}

/* ---- visual do carro / faixas ---- */
.showcase{margin-top:20px;border-radius:22px;padding:22px;background:var(--ink);color:#EEF1F8;display:grid;gap:14px}
body[data-space="instrutor"] .showcase{background:var(--surface);border:1px solid var(--line)}
@media (prefers-color-scheme:dark){.showcase{box-shadow:inset 0 0 0 1px var(--line)}}
.showcase .eyebrow{color:#9AA5BD}
.laudo{border:1px dashed rgba(238,241,248,.3);border-radius:12px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px;margin:0}
.laudo dt{opacity:.65}
.laudo dd{margin:0;font-family:var(--mono);font-size:12.5px;text-align:right}
.laudo .okc{color:#3CC985}
.kitvis{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:24px 20px;display:grid;gap:18px}
.kitvis .strips{display:grid;gap:9px;transform:rotate(-2deg)}
.kitvis .strip.sm{height:30px;font-size:11px;width:66%;justify-self:end}
.kitparts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;font-size:13px;color:var(--muted)}
.kitparts b{display:block;font-family:var(--display);font-size:24px;color:var(--text);font-weight:800}
.fine{font-size:13px;color:var(--muted);margin-top:14px;padding-left:12px;border-left:3px solid var(--line)}
#s-equipamentos .split{margin-top:28px}

/* Equipamentos: reserva do kit da prova (estoque por clínica + agenda de entrega) */
.price-area{display:flex;gap:10px;align-items:flex-start;background:color-mix(in srgb,var(--orange) 12%,transparent);border-radius:14px;padding:12px 14px;font-size:14px}
.price-area svg{width:20px;height:20px;flex:none;color:var(--orange);margin-top:2px}
.kr{margin-top:28px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px 16px;display:grid;gap:16px;min-width:0}
.kr-head h2{font-weight:800;font-size:26px;line-height:1.06;letter-spacing:-.03em;margin-top:6px}
.kr-head .intro{margin-top:6px;font-size:15px}
.kr-head .price-area{margin-top:14px}
.kr-minhas{margin-top:0}
.kr-minhas .lesson-row{background:var(--ground)}
.kr-form{display:grid;counter-reset:kr;min-width:0}
.kr-step{padding:18px 0;border-top:1px solid var(--line);display:grid;gap:12px;min-width:0}
.kr-step[hidden]{display:none}
.kr-step:not([hidden]){counter-increment:kr}
.kr-step h3{font-size:17px;font-weight:600;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.kr-step h3::before{content:counter(kr);width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;display:inline-grid;place-items:center;font-size:14px;font-weight:800;flex:none}
.kr-step h3 em,.fld label em{font-style:normal;font-weight:400;font-size:13px;color:var(--muted)}
.kr-label{font-size:13px;font-weight:600;color:var(--muted)}
.kr-hint{font-size:13.5px;color:var(--muted)}
.kr-hint:empty{display:none}
.kr-hint b{color:var(--text)}
.kr-opts{display:grid;gap:8px}
.kr-opt{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1.5px solid var(--line);border-radius:16px;padding:12px 14px;background:var(--ground);cursor:pointer;transition:border-color .15s,background .15s}
.kr-opt input{position:absolute;opacity:0;pointer-events:none}
.kr-opt:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}
.kr-opt:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px}
.kr-opt:has(input:disabled){opacity:.5;cursor:not-allowed}
.kr-opt b{font-family:var(--display);font-weight:600;font-size:15px;display:block;line-height:1.25}
.kr-opt small{display:block;color:var(--muted);font-size:13px;line-height:1.4;margin-top:2px}
.kr-ic{width:40px;height:40px;border-radius:12px;background:var(--surface);display:grid;place-items:center;color:var(--blue-ink);flex:none}
.kr-ic svg{width:20px;height:20px}
.kr-preco{font-family:var(--display);font-weight:800;font-size:17px;text-align:right;white-space:nowrap;line-height:1.15}
.kr-preco small{font-family:var(--body);font-weight:600;font-size:11.5px}
.b-ex{font-family:var(--body);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1.5px solid var(--line);color:var(--muted);padding:0 6px;border-radius:99px;vertical-align:2px;white-space:nowrap}
.kr-livre{display:inline-block;margin-top:4px;font-size:12px;font-weight:700;color:var(--ok)}
.kr-livre.zero{color:var(--muted)}
.kr-zonas{display:flex;flex-wrap:wrap;gap:6px}
.kr-zona{position:relative;border:1.5px solid var(--line);background:var(--surface);border-radius:99px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer}
.kr-zona input{position:absolute;opacity:0;pointer-events:none}
.kr-zona:has(input:checked){background:var(--text);border-color:var(--text);color:var(--ground)}
.kr-zona:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px}
.kr-days .sday{position:relative;padding-bottom:6px}
.kr-days .sday i{display:block;font-style:normal;font-size:10px;font-weight:600;text-transform:none;opacity:.8}
.kr-days .sday .kr-tag{position:absolute;top:-1px;left:50%;transform:translate(-50%,-50%);font-size:9px;font-weight:800;letter-spacing:.04em;padding:1px 6px;border-radius:99px;background:var(--orange);color:#0E1420;white-space:nowrap}
.kr-days .sday .kr-tag.sug{background:var(--blue);color:#fff}
.kr-days{padding-top:10px}
.kr-jans{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kr-jans[hidden]{display:none}
.kr-jan{border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:10px 12px;text-align:left;display:grid;gap:2px;min-width:0}
.kr-jan b{font-family:var(--display);font-size:15px;font-weight:600}
.kr-jan small{font-size:12.5px;color:var(--muted)}
.kr-jan[aria-pressed="true"]{border-color:var(--blue);background:var(--blue);color:#fff}
.kr-jan[aria-pressed="true"] small{color:rgba(255,255,255,.85)}
.kr-jan:disabled{opacity:.45;cursor:not-allowed}
.kr-jan:disabled b{text-decoration:line-through}
.kr-prazo{background:var(--sunk);border-radius:14px;padding:12px 14px;font-size:14px;display:grid;gap:4px}
.kr-prazo[hidden]{display:none}
.kr-prazo b{font-family:var(--display);font-weight:600}
.kr-prazo small{color:var(--muted);font-size:12.5px}
.kr-aviso{color:#C2410C;font-weight:600;font-size:13.5px}
@media (prefers-color-scheme:dark){.kr-aviso{color:var(--orange)}}
.kr-resumo{margin-top:6px;background:var(--ink);color:#EEF1F8;border-radius:18px;padding:18px;display:grid;gap:12px}
.kr-resumo[hidden]{display:none}
@media (prefers-color-scheme:dark){.kr-resumo{box-shadow:inset 0 0 0 1px var(--line)}}
.kr-resumo .eyebrow{color:#9AA5BD}
.kr-resumo dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:14px}
.kr-resumo dt{opacity:.7}
.kr-resumo dd{margin:0;text-align:right;overflow-wrap:anywhere}
.kr-resumo dd.falta{opacity:.55}
.kr-resumo .kr-sep{grid-column:1/-1;border-top:1px dashed rgba(238,241,248,.3);margin:4px 0}
.kr-resumo .kr-tot dt,.kr-resumo .kr-tot dd{font-family:var(--display);font-weight:800;font-size:18px;opacity:1}
.kr-resumo p{font-size:12.5px;color:#B7C0D4}
.kr-feito{display:grid;gap:12px;justify-items:center;text-align:center;padding:8px 0}
.kr-feito[hidden]{display:none}
.kr-feito > svg{width:56px;height:56px;color:var(--ok)}
.kr-feito h3{font-size:24px;font-weight:800}
.kr-feito .intro{margin-top:0;text-align:center}
.kr-feito .kr-resumo{width:100%;text-align:left}
.kr-code{font-family:var(--mono);font-size:26px;letter-spacing:.08em;background:var(--sunk);border-radius:12px;padding:8px 18px;user-select:all}
.st-reservado{background:color-mix(in srgb,var(--orange) 18%,transparent);color:#C2410C}
.st-retirado,.st-entregue{background:var(--blue-soft);color:var(--blue-ink)}
.st-devolvido{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}
.st-cancelado{background:var(--sunk);color:var(--muted)}
@media (prefers-color-scheme:dark){.st-reservado{color:var(--orange)}}
@media (min-width:720px){
  .kr{padding:28px}
  .kr-two{grid-template-columns:1fr 1fr}
  .kr-two .kr-opt{grid-template-columns:auto 1fr;grid-template-rows:auto auto}
  .kr-two .kr-preco{grid-column:2;text-align:left}
  .kr-jans{max-width:520px}
}

/* ---- chamada para contato ---- */
.cta{margin-top:48px;background:var(--blue);color:#fff;border-radius:var(--r-card);padding:28px 22px;display:grid;gap:16px}
.cta h3{font-size:clamp(24px,3.4vw,36px);font-weight:600;line-height:1.02;letter-spacing:-.03em}
.cta p{color:rgba(255,255,255,.82);font-size:15px}
body[data-space="instrutor"] .cta{background:var(--orange);color:#0E1420}
body[data-space="instrutor"] .cta p{color:rgba(14,20,32,.75)}

/* ---- dúvidas ---- */
.faq{margin-top:18px}
details{border-top:1px solid var(--line);padding-block:16px}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";display:grid;place-items:center;width:32px;height:32px;border:1.5px solid var(--text);border-radius:50%;color:var(--text);font-family:var(--body);font-size:20px;line-height:1;transition:transform 200ms var(--ease-out),background-color .15s;flex:none}
details[open] summary::after{background:var(--orange);border-color:var(--text);color:#0E1420}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:10px;color:var(--muted);font-size:16px;max-width:64ch}
.contact{margin-top:28px;background:var(--ground);border:0;border-radius:var(--r-card);padding:20px;display:grid;gap:12px}
.contact .row{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:14.5px}
.contact .row svg{width:18px;height:18px;flex:none}
.crossover{margin-top:16px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border:0;border-block:1px solid var(--text);border-radius:0;padding:20px 0;text-align:left;background:none;width:100%;color:inherit}
.crossover b{font-family:var(--display);font-weight:600;font-size:clamp(19px,2.4vw,26px);line-height:1.1;letter-spacing:-.025em;display:block}
.crossover small{display:block;margin-top:6px;color:var(--muted);font-size:15px}
.crossover svg{box-sizing:content-box;width:20px;height:20px;padding:12px;border:2px solid var(--text);border-radius:50%;background:var(--orange);color:#0E1420;box-shadow:var(--shadow-hard);transition:transform 160ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.crossover:hover svg{transform:translateX(4px)}}
/* rodapé: faixa escura de ponta a ponta, com a marca grande */
/* o gerador põe o rodapé logo depois do bloco .page, direto na tela: a faixa ocupa a largura toda
   e o conteúdo fica alinhado com a página (máx. 1200px, margem de 16px ou 32px) */
.foot{--text:#FFFFFF;--muted:var(--on-band-muted);--line:rgba(255,255,255,.14);--hard:#000000;padding:48px max(16px,calc((100% - 1168px) / 2)) calc(var(--tabbar-h) + var(--safe-b) + 28px);background:var(--band);color:#DDE2EC;font-size:14px;display:grid;gap:28px}
.page:has(+ .foot){padding-bottom:72px}
@media (min-width:960px){.foot{padding-inline:max(32px,calc((100% - 1136px) / 2))}.page:has(+ .foot){padding-bottom:96px}}
.foot-cols{display:grid;gap:24px;align-items:start}
.foot-t{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-band-muted);margin-bottom:10px}
.foot nav{display:grid;align-content:start;gap:2px;font-size:15px;color:#DDE2EC}
.foot nav a{text-decoration:none;padding:6px 0}
.foot-big{font-family:var(--display);font-weight:800;font-size:clamp(56px,14vw,176px);line-height:.86;letter-spacing:-.06em;color:#FFFFFF}
.foot-big b{display:block;color:#8AA6FF}
.foot-c{padding-top:18px;border-top:1px solid rgba(255,255,255,.14);color:var(--on-band-muted);font-size:14px}
@media (hover:hover) and (pointer:fine){.foot nav a:hover{color:#FFFFFF;text-decoration:underline;text-underline-offset:3px}}
@media (min-width:760px){.foot-cols{grid-template-columns:1fr 1fr auto}}

/* ---- formulário (instrutor) ---- */
.form{margin-top:18px;display:grid;gap:12px}
.fld{display:grid;gap:6px}
.fld label{font-size:14px;font-weight:600;color:var(--text)}
/* campos: borda de 1,5px; o foco troca a cor da borda (sem brilho) */
.fld input,.fld select{height:52px;border-radius:var(--r-card);border:1.5px solid var(--edge);background:var(--surface);padding:0 14px;font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}
.fld input:focus,.fld select:focus{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange)}
.fld input::placeholder{color:var(--muted);opacity:1}
select option{color:#0E1420;background:#FFFFFF}   /* lista sempre clara: no tema escuro o fundo dela ficava escuro com letra escura */
.radios{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.radios label{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:var(--r-card);border:1.5px solid var(--edge);background:var(--surface);font-weight:600;font-size:14.5px;color:var(--text);cursor:pointer}
.radios input{position:absolute;opacity:0;pointer-events:none}
.radios label:has(input:checked){border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text);background:color-mix(in srgb,var(--orange) 16%,var(--surface))}
.radios label:has(input:focus-visible){outline:3px solid var(--orange);outline-offset:2px}
.consent{display:grid;grid-template-columns:auto 1fr;gap:10px;font-size:13.5px;color:var(--muted);align-items:start}
.consent input{width:20px;height:20px;accent-color:var(--orange);margin:1px 0 0}
.hidden-field{position:absolute;left:-9999px}
.sent{display:grid;gap:10px;background:var(--surface);border:2px solid var(--text);box-shadow:0 4px 0 var(--hard);border-radius:var(--r-card);padding:24px;margin-top:18px;text-align:center;justify-items:center}
.sent svg{width:48px;height:48px;color:var(--ok)}
.sent h3{font-size:26px;font-weight:600;letter-spacing:-.03em}

.err{color:#E5484D;font-size:13px;font-weight:600;margin-top:4px}
body[data-space="instrutor"] .err{color:#FF8589}
.fine.ok-msg{color:var(--ok);border-left-color:var(--ok)}
.linkbtn{border:0;background:none;color:var(--blue-ink);font-weight:600;font-size:14px;padding:6px 0;justify-self:center;text-decoration:underline;text-underline-offset:3px}
.form-single{grid-template-columns:1fr!important}
.steps-compact li{padding:12px 14px;grid-template-columns:34px 1fr;gap:12px;align-items:center}
.steps-compact li::before{width:34px;height:34px;font-size:15px;background:var(--orange);color:#0E1420}
.steps-compact p{font-size:13.5px;margin-top:0}
@media (min-width:600px){.steps-compact{grid-template-columns:1fr}.steps-compact li{grid-template-columns:34px 1fr}}

/* ---- conta do instrutor ---- */
.acc-head{display:flex;gap:14px;align-items:center;margin-top:12px}
.acc-photo{width:64px;height:64px;border-radius:50%;background:var(--sunk) center/cover;flex:none;border:2px solid var(--orange)}
.acc-status{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;gap:8px}
.acc-status b{font-family:var(--display);font-size:20px}
.pill-status{justify-self:start;font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;background:color-mix(in srgb,var(--orange) 20%,transparent);color:var(--orange)}

/* =========================================================
   CADASTRO EM ETAPAS
   ========================================================= */
.wiz{position:fixed;inset:0;z-index:60;background:var(--ground);display:flex;flex-direction:column;animation:wizIn .38s var(--ease)}
.wiz[hidden]{display:none}

/* Termos de uso e Política de privacidade (tela cheia, acima de tudo) */
.legal{position:fixed;inset:0;z-index:65;background:var(--ground);display:flex;flex-direction:column;animation:wizIn .38s var(--ease)}
.legal[hidden]{display:none}
.legal-top{flex:none;border-bottom:1px solid var(--line);background:var(--ground)}
.legal-seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-width:420px;margin:0 auto 12px;padding:4px;background:var(--sunk);border-radius:12px;width:calc(100% - 36px)}
.legal-seg button{border:0;background:none;border-radius:9px;padding:8px 6px;font-family:var(--display);font-weight:600;font-size:13px;color:var(--muted)}
.legal-seg button[aria-pressed="true"]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(14,20,32,.15)}
.legal-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.legal-doc{max-width:720px;margin-inline:auto;padding:24px 18px calc(56px + var(--safe-b))}
.legal-doc[hidden]{display:none}
.legal-doc h1{font-weight:800;font-size:clamp(26px,5vw,34px);line-height:1.1;letter-spacing:-.03em}
.legal-date{display:block;font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-top:10px}
.legal-sum{margin-top:20px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:16px;padding:16px 18px}
.legal-sum b{font-family:var(--display);font-size:15px}
.legal-sum ul{margin:8px 0 0;padding-left:18px;display:grid;gap:4px;font-size:14.5px}
.legal-doc h2{font-size:18px;font-weight:600;margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}
.legal-doc h3{font-size:15px;font-weight:600;margin-top:18px}
.legal-doc p,.legal-doc li{font-size:15px;max-width:66ch}
.legal-doc p{margin-top:10px}
.legal-doc .legal-sum ul li{font-size:14.5px}
.legal-doc ul:not(.legal-sum ul){margin:10px 0 0;padding-left:20px;display:grid;gap:6px}
.legal-doc a{color:var(--blue-ink);font-weight:600}
.legal-table{overflow-x:auto;margin-top:14px}
.legal-table table{width:100%;min-width:480px;border-collapse:collapse;font-size:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
.legal-table th{font-family:var(--display);font-weight:600;font-size:13px;background:var(--sunk)}
.legal-table tr:last-child td{border-bottom:0}
.legal-contact{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:grid;gap:4px;font-size:14.5px}
/* dado da empresa ainda não preenchido no bloco CONFIGURAÇÃO */
.fill{background:color-mix(in srgb,var(--orange) 18%,transparent);border-bottom:1.5px dashed var(--orange);border-radius:4px;padding:0 4px;font-family:var(--mono);font-size:.9em}
.consent a,.book-legal a{color:var(--blue-ink);font-weight:600}
.book-legal{font-size:12.5px;color:var(--muted);margin-top:10px;text-align:center}
@keyframes wizIn{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.wiz-head{flex:none;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;padding:calc(8px + env(safe-area-inset-top,0px)) 10px 8px;max-width:760px;width:100%;margin-inline:auto}
.wiz-icon{width:44px;height:44px;border-radius:12px;border:0;background:none;display:grid;place-items:center;color:var(--text)}
.wiz-icon:hover{background:var(--sunk)}
.wiz-icon svg{width:22px;height:22px}
.wiz-icon:disabled{visibility:hidden}
.wiz-meta{text-align:center;display:grid}
.wiz-meta .eyebrow{font-size:10.5px}
.wiz-meta b{font-family:var(--display);font-weight:600;font-size:16px}
.wiz-bar{flex:none;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px 18px 0;max-width:760px;width:100%;margin-inline:auto}
.wiz-bar i{height:5px;border-radius:99px;background:var(--line);position:relative;overflow:hidden}
.wiz-bar i::after{content:"";position:absolute;inset:0;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.wiz-bar i.on::after{transform:none}
.wiz-track{flex:1;position:relative;overflow:hidden;margin:0}
.wiz-step{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:transform .36s var(--ease),opacity .36s;will-change:transform}
.wiz-step[hidden]{display:none}
.wiz-in{max-width:640px;margin-inline:auto;padding:22px 18px 40px}
.wiz-h{font-weight:800;font-size:24px;line-height:1.1;letter-spacing:-.03em}
.wiz-sep{height:1px;background:var(--line);margin:30px 0}
.wiz-foot{flex:none;display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px 18px calc(12px + var(--safe-b));border-top:1px solid var(--line);background:var(--surface);max-width:100%}
.wiz-foot .btn{padding-block:15px}
.wiz-foot[hidden]{display:none}
@media (min-width:760px){.wiz-foot{padding-inline:calc(50% - 322px)}}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.grid2 .wide{grid-column:1/-1}
@media (max-width:420px){.grid2{grid-template-columns:1fr}}
.fld textarea{border-radius:14px;border:1.5px solid var(--line);background:var(--surface);padding:12px 14px;font-size:16px;outline:none;resize:vertical;min-height:110px}
.fld textarea:focus{border-color:var(--orange)}
.fld em{font-style:normal;font-weight:500;opacity:.75}
.fld .count{justify-self:end;color:var(--muted);font-size:12px}
.fld.invalid input,.fld.invalid select,.fld.invalid textarea,.money.invalid{border-color:#E5484D}
.lbl-s{font-size:13px;font-weight:600;color:var(--muted)}

.photo-pick{display:flex;gap:16px;align-items:center;margin-top:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px}
.photo-pick b{font-family:var(--display);font-weight:600;display:block}
.photo-pick small{color:var(--muted);font-size:13px;display:block;margin-bottom:8px}
.photo{width:84px;height:84px;border-radius:50%;flex:none;background:var(--sunk) center/cover no-repeat;border:2px dashed var(--line);display:grid;place-items:center;cursor:pointer;color:var(--muted)}
.photo svg{width:30px;height:30px}
.photo.has{border:3px solid var(--orange)}
.photo.has svg{display:none}
.btn-sm-w{padding:9px 14px;font-size:14px;border-radius:10px;cursor:pointer}

.choice{border:0;margin:0;padding:0;display:grid;gap:8px}
.choice legend{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:8px;padding:0}
.opt-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:14px;cursor:pointer}
.opt-card:has(input:checked){border-color:var(--orange);background:color-mix(in srgb,var(--orange) 10%,var(--surface))}
.opt-card input{width:20px;height:20px;accent-color:var(--orange);margin:0}
.opt-card b{font-family:var(--display);font-weight:600;display:block}
.opt-card small{color:var(--muted);font-size:13px}

.tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:52px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);padding:8px 10px}
.tags:focus-within{border-color:var(--orange)}
.tags input{border:0!important;height:34px!important;padding:0 4px!important;flex:1;min-width:140px;background:transparent!important}
.chip-x{display:inline-flex;align-items:center;gap:6px;background:var(--blue-soft);color:var(--blue-ink);border:0;border-radius:99px;padding:6px 10px;font-weight:600;font-size:13.5px}
.chip-x::after{content:"×";font-size:16px;line-height:1}
.fld label output{float:right;font-family:var(--display);color:var(--text)}
input[type="range"]{accent-color:var(--orange);width:100%;height:auto!important;border:0!important;padding:0!important;background:none!important}
.maps-note{margin-top:18px;display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--muted);border:1.5px dashed var(--line);border-radius:14px;padding:12px 14px}
.maps-note svg{width:20px;height:20px;flex:none;color:var(--orange)}

.cars{display:grid;gap:10px;margin-top:16px}
.car{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px}
.car-head{display:flex;justify-content:space-between;align-items:center}
.car-head b{font-family:var(--display);font-weight:600}
.car .grid2{margin-top:10px}
.car-del{padding:0;font-size:13px;color:var(--muted)}
.money{display:flex;align-items:center;gap:8px;height:52px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);padding:0 14px}
.money:focus-within{border-color:var(--orange)}
.money span{font-family:var(--display);font-weight:600;color:var(--muted)}
.money input{border:0!important;height:auto!important;padding:0!important;background:transparent!important;flex:1;font-size:18px!important;font-family:var(--display);font-weight:600}

.plans{border:0;margin:16px 0 0;padding:0;display:grid;gap:12px}
.plan{display:block;cursor:pointer;position:relative}
.plan input{position:absolute;opacity:0}
.plan-in{display:grid;gap:4px;background:var(--surface);border:2px solid var(--line);border-radius:20px;padding:18px;transition:border-color .2s,transform .2s}
.plan input:checked + .plan-in{border-color:var(--orange);box-shadow:0 0 0 4px color-mix(in srgb,var(--orange) 22%,transparent)}
.plan input:focus-visible + .plan-in{outline:3px solid var(--orange);outline-offset:3px}
.plan-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.plan-top b{font-family:var(--display);font-weight:800;font-size:22px}
.plan small{color:var(--muted);font-size:13.5px}
.plan ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:7px;font-size:14.5px}
.plan li{display:flex;gap:8px}
.plan li::before{content:"✓";color:var(--ok);font-weight:800}
.plan-price{display:block;margin-top:2px;font-size:14px;color:var(--muted)}
.plan-price b{font-family:var(--display);font-weight:800;font-size:26px;color:var(--text);letter-spacing:-.02em}
.plan-price small{display:block;font-size:13px}
.tag-free{font-size:12px;font-weight:800;background:#3CC985;color:#0B3D22;padding:4px 10px;border-radius:99px;white-space:nowrap}
.tag-pro{font-size:12px;font-weight:800;background:var(--orange);color:#0E1420;padding:4px 10px;border-radius:99px;white-space:nowrap}
.plan-premium .plan-in{background:linear-gradient(160deg,color-mix(in srgb,var(--orange) 12%,var(--surface)),var(--surface) 55%)}
.spec-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.spec-tags i{font-style:normal;font-size:12px;font-weight:600;border:1.5px solid var(--orange);color:var(--text);padding:3px 9px;border-radius:99px}
.pay-note{margin-top:12px;font-size:13px;color:var(--muted)}
.wiz-done{text-align:center;display:grid;justify-items:center;gap:10px;padding-top:12vh}
.done-ic{width:72px;height:72px;color:var(--ok)}
@media (min-width:760px){.plans{grid-template-columns:1fr 1fr}}

/* =========================================================
   5. BARRA DE ABAS (celular) E BOTÃO WHATSAPP
   ========================================================= */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--tabbar-h) + var(--safe-b));padding:6px 4px calc(10px + var(--safe-b));display:grid;grid-template-columns:repeat(5,1fr);background:var(--page);border-top:1px solid var(--line);transition:background-color .35s}
.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:none;padding:0;font-size:11px;letter-spacing:-.01em;font-weight:600;color:var(--muted);min-width:0;-webkit-tap-highlight-color:transparent}
.tab .pill{width:58px;height:32px;border-radius:var(--r-pill);display:grid;place-items:center;position:relative;transition:background .25s,transform 120ms var(--ease-out)}
.tab .pill::before{content:"";position:absolute;inset:0;border-radius:var(--r-pill);background:color-mix(in srgb,var(--orange) 22%,transparent);transform:scaleX(.3);opacity:0;transition:transform .3s var(--ease-out),opacity .2s}
.tab:active .pill,.tab-q:active .qbtn{transform:scale(.92)}
.tab svg{width:23px;height:23px;position:relative}
.tab span.lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tab[aria-current="true"]{color:var(--text)}
.tab[aria-current="true"] .pill::before{transform:none;opacity:1}
.tab[aria-current="true"] svg{color:var(--text)}
.tab-q .qbtn{width:54px;height:54px;border-radius:50%;background:var(--orange);border:2px solid #0E1420;display:grid;place-items:center;margin-top:-20px;box-shadow:0 3px 0 #0E1420;transition:transform .35s var(--ease-out),background .25s}
.tab-q .qbtn svg{width:34px;height:34px;transition:transform .35s var(--ease)}
.tab-q[aria-current="true"] .qbtn{transform:rotate(-20deg)}
.tab-q[aria-current="true"] .qbtn svg{transform:rotate(20deg);color:inherit}
body[data-space="instrutor"] .tab-q .qbtn{background:var(--orange);border-color:#000;box-shadow:0 3px 0 #000}
body[data-space="instrutor"] .tab-q[aria-current="true"] .qbtn{background:var(--orange)}
@media (prefers-color-scheme:dark){.tab-q .qbtn{border-color:#000;box-shadow:0 3px 0 #000}}

/* aba Login em destaque */
.tab-login{color:var(--orange)}
.tab-login .pill{background:color-mix(in srgb,var(--orange) 16%,transparent);box-shadow:inset 0 0 0 1.5px var(--orange)}
.tab-login svg{color:var(--orange)}
.tab-login .pill::before{background:var(--orange)}
.tab-login[aria-current="true"]{color:var(--orange)}
.tab-login[aria-current="true"] svg{color:#0E1420}
/* Cadastro em destaque, logo antes do Login */
.tab-cta{color:var(--orange)}
.tab-cta .pill{background:var(--orange);box-shadow:none}
.tab-cta svg{color:#0E1420}
.tab-cta[aria-current="true"] .pill::before{background:#0E1420}
.topnav .nav-cta{background:var(--orange)!important;color:#0E1420!important;margin-left:auto;display:inline-flex;align-items:center;gap:6px;border:2px solid var(--text)!important;box-shadow:var(--shadow-hard);font-family:var(--mono)!important;font-weight:500!important;font-size:13px!important;letter-spacing:.05em;text-transform:uppercase}
.topnav .nav-cta svg{width:18px;height:18px}
.topnav .nav-login{background:none!important;color:var(--orange)!important;box-shadow:inset 0 0 0 2px var(--orange);display:inline-flex;align-items:center;gap:6px;font-family:var(--mono)!important;font-weight:500!important;font-size:13px!important;letter-spacing:.05em;text-transform:uppercase}
.topnav .nav-main{display:inline-flex;align-items:center;gap:8px;margin-inline:6px;background:var(--orange)!important;color:#0E1420!important;border:2px solid var(--text)!important;box-shadow:var(--shadow-hard);font-family:var(--mono)!important;font-weight:500!important;font-size:13px!important;letter-spacing:.05em;text-transform:uppercase}
.topnav .nav-main svg{width:20px;height:20px}
.topnav .nav-main[aria-current="true"]{background:var(--ink)!important;color:#fff!important}
.topnav .nav-main:active,.topnav .nav-cta:active{transform:translateY(2px);box-shadow:none}
.topnav .nav-login svg{width:18px;height:18px}

.fab{position:fixed;right:16px;bottom:calc(var(--tabbar-h) + var(--safe-b) + 14px);z-index:29;width:56px;height:56px;border-radius:50%;background:var(--wa);color:var(--wa-ink);border:2px solid #0E1420;display:grid;place-items:center;box-shadow:0 2px 0 #0E1420;transition:transform 220ms var(--ease-out),opacity .25s}
.fab svg{width:30px;height:30px}
.fab:active{transform:translateY(2px);box-shadow:none}

.toast{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + var(--safe-b) + 20px);transform:translate(-50%,12px);background:var(--text);color:var(--page);border-radius:var(--r-card);padding:12px 18px;font-weight:600;font-size:15px;z-index:70;opacity:0;transition:transform 250ms var(--ease-out),opacity 200ms ease;pointer-events:none;width:max-content;max-width:calc(100% - 32px)}
.toast.on{transform:translate(-50%,0);opacity:1}

/* =========================================================
   6. TELAS MAIORES (tablet e computador)
   ========================================================= */
@media (min-width:600px){
  .tiles{grid-template-columns:repeat(3,1fr)}
  .tile{grid-template-columns:1fr;align-content:start;gap:12px;padding:20px}
  .tile .chev{display:none}
  .feats{grid-template-columns:repeat(4,1fr)}
  .steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
  .steps li{grid-template-columns:1fr;gap:12px}
}
@media (min-width:960px){
  :root{--header-h:72px;--tabbar-h:0px}
  .tabbar{display:none}
  .topnav{display:flex;gap:4px;flex:1;justify-content:center}
  .topnav a{position:relative;border:0;background:none;padding:10px 14px;border-radius:var(--r-pill);font-weight:500;font-size:16px;color:var(--text);text-decoration:none;white-space:nowrap;transition:background-color .15s,transform 120ms var(--ease-out),box-shadow 120ms var(--ease-out)}
  .topnav a:hover{background:var(--ground)}
  .topnav a[aria-current="true"]::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:var(--orange)}
  .brand svg{width:36px;height:36px}
  .wordmark{font-size:16px}
  .switch a{font-size:12px;padding:9px 14px}
  .page{padding:56px 32px 96px}
  .hero{grid-template-columns:1.1fr .9fr;gap:56px}
  .hero h1{font-size:clamp(48px,5vw,68px)}
  .kicker{font-size:18px}
  .byline{font-size:22px}
  .lede{font-size:18px}
  .hero .actions .btn{flex:0 0 auto}
  .trust{display:flex;gap:6px 22px;flex-wrap:wrap}
  .block{margin-top:96px}
  .eyebrow{font-size:13px}
  .split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
  .split > .showcase,.split > .kitvis{margin-top:0}
  .cta{grid-template-columns:1fr auto;align-items:center;padding:32px 36px}
  .fab{bottom:28px;right:28px}
  .toast{bottom:32px}
  .form{grid-template-columns:1fr 1fr}
  .form .wide{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* =========================================================
   SITE EM PÁGINAS (19/09/2026)
   ========================================================= */
a.tab,a.tile,a.crossover,a.nav-cta,a.nav-login,a.nav-main{text-decoration:none}

/* texto corrido das páginas de conteúdo (guias, kit, seja instrutor) */
.artigo{max-width:760px}
.artigo h2{font-weight:800;font-size:clamp(22px,4vw,28px);line-height:1.1;letter-spacing:-.03em;margin-top:40px}
.artigo h3{font-weight:600;font-size:17px;margin-top:22px}
.artigo p{margin-top:10px;max-width:66ch}
.artigo ul,.artigo ol{margin:12px 0 0;padding-left:22px;display:grid;gap:6px;max-width:66ch}
.artigo a{color:var(--blue-ink);font-weight:600}
.artigo a.btn{color:inherit}
.artigo .btn-blue,.artigo .btn-orange{color:#fff}
.artigo .btn-orange{color:#0E1420}
.atualizado{display:block;font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-top:10px}
.tabela{overflow-x:auto;margin-top:14px}
.tabela table{width:100%;min-width:320px;border-collapse:collapse;font-size:15px;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.tabela th,.tabela td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line)}
.tabela thead th{font-family:var(--display);font-weight:600;font-size:13px;background:var(--sunk)}
.tabela tr:last-child td,.tabela tr:last-child th{border-bottom:0}
.tabela td:last-child{white-space:nowrap}
.passos-num{counter-reset:p;list-style:none;padding-left:0!important}
.passos-num>li{counter-increment:p;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}
.passos-num>li::before{content:counter(p);width:30px;height:30px;border-radius:10px;background:var(--blue-soft);color:var(--blue-ink);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:14px}
.acoes-artigo{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.fontes{margin-top:36px;font-size:13px;color:var(--muted)}
.fontes ul{padding-left:18px;display:grid;gap:4px;margin-top:6px}
.fontes a{color:var(--muted);font-weight:500;word-break:break-word}
/* trecho que ainda depende de decisão do Vinícius (colchetes) */
.pend{display:block;margin-top:12px;background:color-mix(in srgb,var(--orange) 14%,transparent);border:1.5px dashed var(--orange);border-radius:12px;padding:10px 14px;font-family:var(--mono);font-size:13px;line-height:1.5}
span.pend{display:inline;margin:0;padding:0 4px;border-radius:4px;border-width:0 0 1.5px}
.legal-seg a{border:0;background:none;border-radius:9px;padding:8px 6px;font-family:var(--display);font-weight:600;font-size:13px;color:var(--muted);text-align:center;text-decoration:none}
.legal-seg a[aria-current="true"]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px rgba(14,20,32,.15)}

/* =========================================================
   VALOR DO INSTRUTOR (19/09/2026): selo, avaliações, vitrine do carro,
   painel de resultados, link e QR code
   ========================================================= */
.fld-dica{display:block;font-size:12.5px;color:var(--muted);margin-top:4px}
.preco-cheio{color:var(--muted);font-size:15px;font-weight:600;margin-right:4px}
/* cartão da busca */
.i-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.cambio-tag{display:inline-block;font-family:var(--display);font-size:11.5px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;padding:2px 8px;border-radius:99px;background:var(--ink);color:#fff}
body[data-space="instrutor"] .cambio-tag{background:var(--blue)}
.vtag{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:99px;background:var(--sunk);color:var(--text)}
.b-cred{font-size:11.5px;font-weight:700;color:var(--ok);white-space:nowrap}
.b-cred-wait{font-size:11.5px;font-weight:600;color:var(--muted)}
/* vitrine do carro */
.vcar{display:grid;gap:8px;padding:10px 0;border-top:1px solid var(--line)}
.vcar:first-child{border-top:0;padding-top:0}
.vcar-fotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}
.vcar-fotos img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;background:var(--sunk)}
.vcar-info b{font-family:var(--display);font-weight:600;color:var(--text)}
.vcar-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.sp-aprov{margin-top:12px;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;background:color-mix(in srgb,var(--ok) 12%,transparent);border-radius:12px;padding:8px 12px}
.sp-aprov svg{width:18px;height:18px;color:var(--ok);flex:none}
/* avaliações */
.stars{color:var(--orange);letter-spacing:1px;font-size:14px;white-space:nowrap}
.av-crit{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.av-crit div{background:var(--sunk);border-radius:12px;padding:8px;text-align:center}
.av-crit small{display:block;font-size:11.5px;color:var(--muted)}
.av-crit b{font-family:var(--display);font-weight:800;font-size:18px;color:var(--text)}
.av-lista{display:grid;gap:8px;margin-top:10px}
.av-item{display:grid;gap:4px}
.sp-sec .av-item{background:var(--sunk);border-radius:14px;padding:10px 12px}
.av-top{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.av-top b{color:var(--text);font-size:14.5px}
.av-top small{color:var(--muted);font-size:12px;margin-left:auto}
.av-item p{font-size:14px;color:var(--text)}
.av-resp{border-left:3px solid var(--orange);padding-left:10px;color:var(--muted)!important}
.av-form{display:grid;gap:12px;padding:6px 0}
.estrelas{border:0;margin:0;padding:0;display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.estrelas legend{float:left;width:110px;font-weight:600;font-size:14.5px;padding:0}
.estrelas label{cursor:pointer;font-size:30px;line-height:1;color:var(--line);padding:2px;border-radius:8px}
.estrelas label.on{color:var(--orange)}
.estrelas label:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:1px}
.lesson-acts{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:6px 0 0 4px}
.lesson-acts .btn{padding:9px 14px;font-size:14px}
.lesson-acts .nota-dada{font-size:13px;color:var(--muted)}
.st-realizada{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}
/* painel: abas com rolagem quando não cabem */
.prof-tabs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(max-content,1fr);overflow-x:auto;scrollbar-width:none}
.prof-tabs::-webkit-scrollbar{display:none}
.prof-tabs button{padding-inline:10px;white-space:nowrap}
.res-h{font-size:14px;font-weight:600;margin-top:16px}
.res-orig{display:grid;gap:6px;margin-top:8px}
.res-orig div{position:relative;display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:var(--sunk);overflow:hidden;font-size:14px}
.res-orig div i{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--blue) 18%,transparent);z-index:0}
.res-orig span,.res-orig b{position:relative;z-index:1}
.res-upsell{margin-top:14px;display:grid;gap:4px;border:1.5px dashed var(--orange);border-radius:14px;padding:12px 14px;font-size:14px}
.res-upsell span{color:var(--muted)}
.link-box{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.link-box code{flex:1 1 220px;font-family:var(--mono);font-size:13px;background:var(--sunk);border-radius:10px;padding:10px 12px;word-break:break-all}
.link-box .btn{padding:10px 14px}
.qr-box{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:14px}
.qr-box canvas{width:160px;height:160px;border-radius:12px;border:1px solid var(--line);background:#fff}
.qr-box div{display:grid;gap:6px}
.slug-in{display:flex;align-items:stretch;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.slug-in span{font-family:var(--mono);font-size:13px;color:var(--muted);padding:12px 4px 12px 12px;background:var(--sunk)}
.slug-in input{border:0!important;flex:1;min-width:0;font-family:var(--mono);font-size:14px;padding:12px 10px;background:none;box-shadow:none!important}
.car-fotos-edit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.car-fotos-edit img{width:64px;height:44px;object-fit:cover;border-radius:8px}
.car-fotos-edit label{font-size:13px;font-weight:600;color:var(--blue-ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tags-pick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tags-pick label{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;border:1.5px solid var(--line);border-radius:99px;padding:6px 12px;cursor:pointer}
.tags-pick label:has(input:checked){border-color:var(--orange);background:color-mix(in srgb,var(--orange) 14%,transparent)}
.tags-pick input{accent-color:var(--orange)}
@media (max-width:420px){.av-crit{grid-template-columns:repeat(2,1fr)}.estrelas legend{width:100%}}

/* ---------- tipos de aula (19/09/2026): carro ou moto · tirando a CNH ou já tem CNH ---------- */
.tipo-aula,.wiz-tipos,.tipos-aula fieldset,.book-tipo{border:0;margin:0;padding:0;min-width:0;display:grid;gap:6px}
.tipo-aula{margin-top:18px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px;gap:12px}
.tipo-aula fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:6px}
.tipo-aula .fine{margin:0}
.wiz-tipos{margin-top:16px}
.tipos-aula{display:grid;gap:12px;margin-top:10px}
.book-tipo{margin-top:10px}
.radios label{text-align:center;line-height:1.2;padding:0 8px}
.sp-tipos{margin-top:6px;font-size:14px;color:var(--muted)}

/* rodapé: chamada para instrutor e redes sociais */
.foot .foot-inst{margin:0 0 6px}
.foot-redes{display:flex;gap:10px}
.foot-redes a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.08);color:#FFFFFF}
@media (hover:hover) and (pointer:fine){.foot-redes a:hover{background:rgba(255,255,255,.16)}}
.foot-redes svg{width:20px;height:20px}

/* painel do instrutor: aviso de aulas para marcar como realizadas · 4 números nos resultados */
.prof-activate[hidden],.my-lessons[hidden],.jor-link[hidden]{display:none}
.prof-aviso{border-color:var(--orange)}
.prof-stats.quatro{grid-template-columns:repeat(2,1fr)}
@media (min-width:600px){.prof-stats.quatro{grid-template-columns:repeat(4,1fr)}}

/* MINHA JORNADA DA CNH (/minha-jornada/) */
.jor-link{display:flex;align-items:center;gap:12px;margin-top:18px;padding:14px 16px;border-radius:16px;background:var(--blue-soft);color:var(--text);text-decoration:none;border:1px solid transparent}
.jor-link:hover{border-color:var(--blue)}
.jor-link span{display:grid;gap:2px;flex:1}
.jor-link b{font-family:var(--display);font-size:16px}
.jor-link small{color:var(--muted);font-size:13.5px}
.jor-link svg{width:20px;height:20px;color:var(--blue-ink);flex:none}
.jornada{margin-top:18px}
.jor-perfil{grid-template-columns:repeat(3,1fr)}
.jor-hab{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;display:grid;gap:8px;justify-items:start}
.jor-hab b{font-family:var(--display);font-size:17px}
.jor-hab p{color:var(--muted);font-size:14.5px}
.jor-prog{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px 16px}
.jor-prog-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.jor-prog-top b{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em}
.jor-prog-top span{color:var(--muted);font-size:13.5px}
.jor-barra{margin-top:10px;height:10px;border-radius:99px;background:var(--sunk);overflow:hidden}
.jor-barra i{display:block;height:100%;border-radius:99px;background:var(--orange);transition:width .3s}
.jor-destaque{margin-top:12px;display:grid;gap:4px;justify-items:start;border:2px solid var(--orange);border-radius:18px;padding:14px 16px;background:var(--surface)}
.jor-destaque b{font-family:var(--display);font-size:16px}
.jor-destaque span{color:var(--muted);font-size:14px;margin-bottom:6px}
.jor-lista{list-style:none;margin:16px 0 0;padding:0;display:grid}
.jor-etapa{display:grid;grid-template-columns:36px 1fr;gap:12px;position:relative;padding-bottom:16px}
.jor-etapa:not(:last-child)::before{content:"";position:absolute;left:17px;top:38px;bottom:2px;width:2px;background:var(--line)}
.jor-etapa.feita:not(:last-child)::before{background:var(--ok)}
.jor-marca{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:15px;background:var(--surface);border:2px solid var(--line);color:var(--muted)}
.jor-marca svg{width:18px;height:18px}
.jor-etapa.feita .jor-marca{background:var(--ok);border-color:var(--ok);color:#fff}
.jor-etapa.atual .jor-marca{border-color:var(--orange);color:var(--text)}
.jor-corpo{min-width:0;padding-top:6px}
.jor-corpo h3{font-family:var(--display);font-weight:600;font-size:16px;line-height:1.25}
.jor-etapa.feita:not(.atual) .jor-corpo h3{color:var(--muted)}
.jor-etapa.atual .jor-corpo{background:var(--surface);border:1.5px solid var(--orange);border-radius:16px;padding:12px 14px;margin-top:-2px}
.jor-status{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.jor-corpo > p{color:var(--muted);font-size:14.5px;margin-top:6px}
.jor-corpo .jor-nota,.jor-corpo .jor-ok{color:var(--text);font-weight:600}
.jor-corpo .jor-ok{color:var(--ok)}
.jor-aulas a{margin-left:6px;color:var(--blue-ink);font-weight:600}
.jor-aulas b{color:var(--text)}
.jor-data{margin-top:10px;max-width:260px}
.jor-pergunta{font-family:var(--display);font-weight:700;color:var(--text)!important;font-size:16px!important;margin-top:12px!important}
.jor-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.jor-acoes .btn{padding:9px 14px;font-size:14px}
.jor-breve{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--sunk);color:var(--muted);border-radius:99px;padding:2px 8px;margin-left:4px}
.jor-desfazer{font-size:13px;padding:2px 0;color:var(--muted)}
#s-jornada .my-lessons{margin-top:8px}

/* ---------- lembretes da CNH (consentimento e próximos lembretes) ---------- */
.jor-lembretes{margin-top:8px}
.lem-box{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;gap:10px}
.lem-box.lem-on{border-color:var(--wa)}
.lem-tit{font-family:var(--display);font-size:17px}
.lem-sub{color:var(--muted);font-size:14px}
.lem-top{display:flex;gap:12px;align-items:flex-start}
.lem-top svg{width:24px;height:24px;color:var(--wa);flex:none;margin-top:2px}
.lem-top b{font-family:var(--display);font-size:16px;display:block}
.lem-top small{color:var(--muted);font-size:13.5px}
.lem-prox{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lem-prox li{display:flex;justify-content:space-between;gap:10px;font-size:14px;border-top:1px solid var(--line);padding-top:6px}
.lem-prox small{color:var(--muted);white-space:nowrap}
.lem-parar{justify-self:start;font-size:13.5px;color:var(--muted);padding:2px 0}
.lem-campos{display:grid;gap:10px}
.lem-campos .btn{justify-self:start}
.lem-campos .grid2{margin-top:0}
.lem-legal{font-size:12.5px;color:var(--muted)}
.lem-legal a,.lem-ja a,.lem-caixa a{color:var(--blue-ink);font-weight:600}
.lem-caixa{display:grid;gap:10px;margin-top:12px}
.lem-caixa small{display:block;margin-top:2px;font-size:12.5px}
.lem-ja{margin-top:12px;font-size:13.5px;color:var(--muted)}

/* =========================================================
   CALCULADORA DA CNH (/quanto-custa-a-cnh/)
   ========================================================= */
.calc{margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:20px 16px}
.calc-h{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.02em;margin:0}
.calc-h3{font-family:var(--display);font-weight:600;font-size:16px;margin:24px 0 0}
.calc-campos{display:grid;gap:14px;margin-top:14px}
.calc-fs{border:0;margin:0;padding:0;min-width:0}
.calc-fs legend{padding:0;font-size:13px;font-weight:600;color:var(--muted)}
.calc-fs .radios{margin-top:6px}
.calc-dica{display:block;color:var(--muted);font-size:12.5px;line-height:1.45}
.calc-dica:empty{display:none}
.calc .consent{align-items:center;font-size:14.5px;color:var(--text)}
.calc-num{display:grid;grid-template-columns:52px 1fr 52px;gap:8px}
.calc-num input{text-align:center;-moz-appearance:textfield}
.calc-num input::-webkit-outer-spin-button,.calc-num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.calc-mais{height:52px;border-radius:14px;border:1.5px solid var(--line);background:var(--sunk);font-size:22px;font-weight:600;line-height:1;color:var(--text)}
.calc-mais:hover{border-color:var(--orange)}
.calc-mais[disabled]{opacity:.45;cursor:not-allowed}
.calc-sugestoes{display:flex;flex-wrap:wrap;gap:6px}
.calc-sugestoes button{border:1.5px solid var(--line);background:var(--surface);border-radius:99px;padding:5px 12px;font-size:13px;font-weight:600;color:var(--muted)}
.calc-sugestoes button[aria-pressed="true"]{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 14%,var(--surface));color:var(--text)}
.calc-so-b[hidden]{display:none}

.calc-res{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.calc-col{background:var(--sunk);border:1.5px solid transparent;border-radius:18px;padding:14px 12px;display:grid;gap:2px;align-content:start}
.calc-col .eyebrow{font-size:10.5px;letter-spacing:.1em}
.calc-win{background:var(--blue-soft);border-color:var(--blue)}
.calc-win .eyebrow{color:var(--blue-ink)}
.calc-total{font-family:var(--display);font-weight:800;font-size:clamp(19px,5.4vw,27px);line-height:1.1;letter-spacing:-.03em;margin-top:4px;text-wrap:balance}
.calc-sub{color:var(--muted);font-size:12.5px;line-height:1.4}
.calc-eco{margin-top:12px;background:color-mix(in srgb,var(--orange) 16%,var(--surface));border-radius:16px;padding:12px 14px;font-family:var(--display);font-weight:800;font-size:clamp(16px,4.4vw,20px);letter-spacing:-.02em;text-wrap:balance}
.calc-eco small{display:block;font-family:var(--body);font-weight:500;font-size:12.5px;letter-spacing:0;color:var(--muted);margin-top:4px}
.calc-aviso{margin-top:10px;font-size:13px;color:var(--muted);border-left:3px solid var(--orange);padding-left:12px}
.calc-aviso[hidden]{display:none}

.calc-tabela{margin-top:10px}
.calc-tabela table{font-size:14px}
.calc-tabela td:last-child{white-space:normal}
.calc-tabela .calc-fonte{color:var(--muted);font-size:12.5px;line-height:1.4}
.calc-tabela tfoot th,.calc-tabela tfoot td{background:var(--sunk);font-family:var(--display);font-weight:800;font-size:15px}
.calc-tabela tfoot .calc-fonte{font-family:var(--body);font-weight:400}
.calc-tabela .calc-valor{white-space:nowrap;font-family:var(--mono);font-size:13px}
.calc-breve{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:color-mix(in srgb,var(--orange) 20%,transparent);color:var(--orange);border-radius:99px;padding:1px 7px;margin-left:6px;vertical-align:2px}
.calc .acoes-artigo{margin-top:20px}
@media (min-width:600px){
  .calc{padding:26px 24px}
  .calc-campos{grid-template-columns:1fr 1fr;gap:16px 18px;align-items:start}
  .calc-res{gap:14px}
  .calc-col{padding:18px 18px}
}

/* =========================================================
   7. PAINEL DA EQUIPE (/equipe/)
   ========================================================= */
/* Ferramenta interna: espaço menor, fonte menor e mais informação por tela.
   Nesta página não existe barra de abas do aluno nem WhatsApp flutuante,
   por isso o rodapé da página não precisa reservar --tabbar-h. */
body[data-pagina="equipe"] .tabbar,body[data-pagina="equipe"] .fab{display:none}
.eq-page{--eq-pad:14px;--eq-abas-h:48px;--eq-r:14px;max-width:1280px;padding:16px var(--eq-pad) calc(var(--safe-b) + 48px);font-size:15px}
.eq-entrar[hidden],.eq-app[hidden],.eq-painel[hidden],.eq-bolha[hidden],.eq-erro[hidden],.eq-aviso[hidden],.eq-motivo[hidden]{display:none}

/* entrada por senha */
.eq-entrar{max-width:380px;margin:6vh auto 0;display:grid;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px 18px}
.eq-entrar h1{font-size:26px;font-weight:800;letter-spacing:-.03em;margin-top:4px}
.eq-entrar p.muted{font-size:14px;line-height:1.45}
.eq-entrar .btn{min-height:48px;margin-top:2px}
.eq-erro{border-left:3px solid var(--orange);border-radius:8px;background:color-mix(in srgb,var(--orange) 16%,var(--surface));padding:8px 10px;font-size:14px;font-weight:600;line-height:1.4}
.eq-nota{font-size:12.5px;color:var(--muted);line-height:1.45}

/* topo do painel */
.eq-top{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.eq-top .eyebrow{font-size:11px}
.eq-titulo{font-size:22px;font-weight:800;letter-spacing:-.03em;margin-top:2px}
.eq-top-dir{display:flex;align-items:center;gap:8px;margin-left:auto}
.eq-quem{font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}
.eq-btn-peq{min-height:40px;padding:0 14px;font-size:14px;border-radius:12px}

/* abas: grudam no topo da tela que rola (a .screen já começa abaixo do cabeçalho) */
.eq-abas{position:sticky;top:0;z-index:6;display:flex;gap:4px;align-items:center;min-height:var(--eq-abas-h);margin:12px calc(var(--eq-pad) * -1) 0;padding:4px var(--eq-pad);overflow-x:auto;scrollbar-width:none;background:color-mix(in srgb,var(--ground) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.eq-abas::-webkit-scrollbar{display:none}
.eq-abas button{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:0;border-radius:10px;background:none;font-family:var(--display);font-weight:600;font-size:14px;color:var(--muted);white-space:nowrap;transition:background .15s,color .15s}
.eq-abas button:hover{background:var(--sunk);color:var(--text)}
.eq-abas button[aria-selected="true"]{background:var(--blue);color:#fff}
.eq-bolha{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--orange);color:var(--ink);font-family:var(--mono);font-size:11px;font-weight:700;line-height:1}
.eq-abas button[aria-selected="true"] .eq-bolha{background:var(--ground);color:var(--text)}
.eq-painel{padding-top:14px}
.eq-rodape{margin-top:22px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.45}

/* contadores */
.eq-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.eq-card{display:grid;gap:2px;justify-items:start;text-align:left;min-height:64px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--eq-r);background:var(--surface);color:var(--text);transition:border-color .15s,background .15s}
.eq-card b{font-family:var(--display);font-weight:800;font-size:24px;line-height:1.1;letter-spacing:-.03em}
.eq-card span{font-size:12.5px;color:var(--muted);line-height:1.3}
.eq-card:hover{border-color:var(--blue)}
.eq-card.alerta{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 12%,var(--surface))}
.eq-card.alerta b{color:var(--orange)}

/* caixa branca */
.eq-bloco{margin-top:14px;padding:12px var(--eq-pad) 14px;background:var(--surface);border:1px solid var(--line);border-radius:18px}
.eq-bloco-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.eq-bloco-top h2{margin-right:auto;font-size:17px;font-weight:700;letter-spacing:-.02em}

/* filtros: duas colunas no celular, uma linha no computador, grudados abaixo das abas */
.eq-filtros{position:sticky;top:var(--eq-abas-h);z-index:5;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 0;margin-bottom:10px;background:var(--surface);border-bottom:1px solid var(--line)}
.eq-bloco .eq-filtros{margin-inline:calc(var(--eq-pad) * -1);padding-inline:var(--eq-pad)}
.eq-filtros .fld{gap:4px;min-width:0}
.eq-filtros .fld label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.eq-filtros .fld input,.eq-filtros .fld select{height:42px;padding:0 10px;border-radius:10px}

/* lista: cartão empilhado no celular */
.eq-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.eq-item{display:grid;gap:8px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--eq-r)}
.eq-item-main{display:grid;gap:2px;min-width:0}
.eq-item-main b{font-family:var(--display);font-weight:700;font-size:15.5px;letter-spacing:-.01em;overflow-wrap:anywhere}
.eq-sub{font-size:13px;color:var(--muted);line-height:1.35}
.eq-item-dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:6px 12px}
.eq-dado{display:grid;gap:1px;min-width:0;font-size:13.5px;line-height:1.3;overflow-wrap:anywhere}
.eq-dado i{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.eq-item-acoes{display:flex;flex-wrap:wrap;gap:6px}

/* ações do item (alvo de toque de 40px) */
.eq-acao{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-family:var(--display);font-weight:600;font-size:13.5px;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.eq-acao:hover{background:var(--sunk);border-color:var(--text)}
.eq-acao.forte{background:var(--blue);border-color:var(--blue);color:#fff}
.eq-acao.forte:hover{background:#1942C2;border-color:#1942C2}
/* vermelho fixo: é o mesmo tom de erro já usado nos formulários do site */
.eq-acao.ruim{color:#E5484D;border-color:color-mix(in srgb,#E5484D 45%,var(--line))}
.eq-acao.ruim:hover{background:color-mix(in srgb,#E5484D 12%,var(--surface));border-color:#E5484D;color:#E5484D}
.eq-acao[disabled]{opacity:.45;cursor:not-allowed}

/* etiquetas de situação */
.eq-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:99px;font-family:var(--display);font-weight:700;font-size:11.5px;line-height:1.3;white-space:nowrap}
.eq-tag.ok{background:color-mix(in srgb,var(--ok) 16%,var(--surface));color:var(--ok)}
.eq-tag.aviso{background:var(--orange);color:var(--ink)}
.eq-tag.ruim{background:color-mix(in srgb,#E5484D 14%,var(--surface));color:#E5484D}
.eq-tag.neutra{background:var(--sunk);color:var(--muted)}

/* estado vazio, faixa de alerta e linha de total */
.eq-vazio{padding:18px 12px;background:var(--sunk);border-radius:var(--eq-r);text-align:center;font-size:14px;color:var(--muted);line-height:1.45}
.eq-aviso{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border-left:3px solid var(--orange);border-radius:var(--eq-r);background:color-mix(in srgb,var(--orange) 14%,var(--surface));font-size:14px;font-weight:600;line-height:1.4}
.eq-total{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:10px 12px;background:var(--sunk);border-radius:var(--eq-r);font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:-.02em}
.eq-total b{font-family:var(--mono);font-size:16px;font-weight:700}

/* confirmar ação com motivo, dentro do item */
.eq-motivo{display:grid;gap:8px;margin-top:2px;padding:10px;background:var(--sunk);border:1px solid var(--line);border-radius:12px}
.eq-motivo .fld label{font-size:12px}
.eq-motivo select{height:44px;padding:0 12px;border-radius:10px;background:var(--surface)}
.eq-motivo textarea{min-height:72px;border-radius:10px;background:var(--surface)}
.eq-motivo .eq-item-acoes{justify-content:flex-end}

/* formulário de cadastro */
.eq-form{display:grid;gap:10px}
.eq-form .grid2{gap:10px;margin-top:0}
.eq-form .fld input,.eq-form .fld select{height:46px;border-radius:12px}
.eq-form textarea{min-height:88px}
.eq-form .btn{min-height:46px;border-radius:12px}

/* extrato do mês: rolagem horizontal, números à direita em fonte mono */
.eq-rolagem{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-inline:calc(var(--eq-pad) * -1);padding-inline:var(--eq-pad)}
.eq-t{width:100%;min-width:520px;border-collapse:collapse;font-size:13.5px}
.eq-t th,.eq-t td{padding:8px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);white-space:nowrap}
.eq-t thead th{font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--sunk)}
.eq-t th:last-child,.eq-t td:last-child{text-align:right}
.eq-t td:last-child{font-family:var(--mono);font-size:13px}
.eq-t tbody tr:last-child td{border-bottom:0}
.eq-t tfoot th,.eq-t tfoot td{background:var(--sunk);font-family:var(--display);font-weight:800;border-bottom:0}
.eq-t tfoot td:last-child{font-family:var(--mono);font-weight:700}

/* registro de quem fez o quê */
.eq-log{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.eq-log-item{display:flex;flex-wrap:wrap;gap:2px 8px;padding-bottom:6px;border-bottom:1px dashed var(--line);font-size:12.5px;color:var(--muted);line-height:1.4}
.eq-log-item:last-child{border-bottom:0;padding-bottom:0}
.eq-log-item b{font-weight:700;color:var(--text)}
.eq-log-item time{font-family:var(--mono);font-size:11.5px}
.eq-ver-todos{display:inline-flex;align-items:center;min-height:40px;padding:0 2px;border:0;background:none;font-family:var(--display);font-weight:600;font-size:13.5px;color:var(--blue-ink);text-decoration:underline;text-underline-offset:3px}
.eq-ver-todos:hover{color:var(--text)}

/* código do kit e da reserva */
.eq-cod{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.04em;background:var(--sunk);border-radius:6px;padding:1px 6px;white-space:nowrap}

/* qualquer coluna de valor (não só a última) e campo de busca ocupando a linha toda */
.eq-t th.num,.eq-t td.num{text-align:right}
.eq-t td.num{font-family:var(--mono);font-size:13px}
@media (max-width:599px){.eq-filtros .fld.larga{grid-column:1/-1}}

@media (min-width:600px){
  .eq-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
  .eq-filtros{grid-auto-flow:column;grid-auto-columns:minmax(130px,1fr);grid-template-columns:none}
}
/* computador: o item da lista vira uma linha compacta de tabela */
@media (min-width:900px){
  .eq-page{--eq-pad:24px;padding-top:22px}
  .eq-titulo{font-size:26px}
  .eq-lista{gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--eq-r);overflow:hidden}
  .eq-item{grid-template-columns:minmax(180px,1.1fr) minmax(0,2.4fr) auto;align-items:center;gap:12px;padding:8px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0}
  .eq-item:nth-child(even){background:color-mix(in srgb,var(--sunk) 40%,var(--surface))}
  .eq-item:hover{background:var(--sunk)}
  .eq-item:last-child{border-bottom:0}
  .eq-item-dados{grid-template-columns:repeat(auto-fit,minmax(104px,1fr))}
  .eq-item-acoes{justify-content:flex-end}
  .eq-item > .eq-motivo{grid-column:1/-1}
  .eq-acao{min-height:36px;font-size:13px}
  .eq-bloco{padding-bottom:16px}
}

/* Entrada do QR da clínica (/indicacao/) */
.ind-acoes{display:grid;gap:10px;margin-top:20px;max-width:420px}

/* =========================================================
   REDESIGN "REVISTA" · PÁGINA INÍCIO (fase 3, 26/09/2026)
   Componentes só usados em / por enquanto: comparação em cartões,
   seção invertida do carro próprio (cena das faixas), fila de
   serviços e trilha da jornada. Reaproveitáveis nas próximas páginas.
   ========================================================= */
.eyebrow .idx{color:var(--orange)}
.round{display:grid;place-items:center;flex:none;width:44px;height:44px;border:2px solid var(--text);border-radius:50%;background:var(--orange);color:var(--ink);box-shadow:var(--shadow-hard);transition:transform 160ms var(--ease-out)}
.round svg{width:18px;height:18px}
.note{margin-top:14px;color:var(--muted);font-size:13px}

/* comparação em cartões (a tabela .compare acessível fica só para leitor de tela, em .sr) */
.duo{display:grid;gap:14px;margin-top:28px}
.dcard{padding:20px;border-radius:var(--r-card);background:var(--ground)}
.dcard.win{background:var(--page);border:2px solid var(--text);box-shadow:0 4px 0 var(--hard)}
.dcard h3{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.02em}
.dcard .tag{padding:5px 9px;border-radius:999px;background:var(--orange);color:var(--ink);font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase}
.dcard dt{margin-top:16px;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.dcard dd{margin-top:4px}
.dcard dd b{display:block;font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:-.02em}
.dcard dd span{display:block;margin-top:3px;color:var(--muted);font-size:14px}
@media (min-width:700px){.duo{grid-template-columns:1fr 1fr;gap:20px}}
@media (min-width:960px){.dcard{padding:24px}.dcard h3{font-size:21px}.dcard dd b{font-size:24px}.dcard .tag,.dcard dt{font-size:11px}}

/* seção invertida (fundo azul da marca), estilo ALSO */
.azul{margin:64px calc(50% - 50vw) 0;background:var(--blue);color:#fff;display:flex;justify-content:center}
.azul .grid{width:100%;max-width:1200px;padding:40px 16px;display:grid;gap:32px}
.azul h2,.azul .page-title{color:#fff}
.azul p{margin-top:14px;max-width:56ch;color:rgba(255,255,255,.9);font-size:16px}
.azul p b{color:#fff;font-weight:600}
.azul .pill{display:inline-block;padding:7px 12px;border-radius:999px;background:#fff;color:var(--ink);font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.azul .actions{margin-top:24px}
.azul .link{color:#fff;font-weight:600;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.btn-light{background:#fff;color:var(--ink);border-color:var(--ink)}
@media (hover:hover) and (pointer:fine){.btn-light:hover{background:#EEF1F8}}
@media (min-width:900px){.azul .grid{grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}}
@media (min-width:960px){.azul{margin-top:96px}.azul .grid{padding:64px 32px}}

/* cena das faixas: carro 2D interativo (ilha clara dentro da seção azul) */
.panel-light{--text:#0E1420;--muted:#586177;background:#FFFFFF;color:#0E1420;border-radius:var(--r-card);padding:20px;box-shadow:0 4px 0 var(--hard)}
.faixas-fig{position:relative;margin:0}
.faixas-svg{display:block;width:100%;height:auto}
.fx-vaga{fill:none;stroke:#B9C2D3;stroke-width:1.5;stroke-dasharray:5 5}
.fx-leg{font:600 14px var(--body);fill:#586177}
.fx-voa{cursor:grab;touch-action:none;outline:none}
.fx-voa.arrastando{cursor:grabbing}
.fx-voa[data-fora]{opacity:0;pointer-events:none}
.fx-colada{opacity:0;pointer-events:none;outline:none}
.fx-colada[data-on]{opacity:1;pointer-events:auto;cursor:pointer}
.fx-giro.virado .fx-desvira{transform:scale(-1,1)}
.fx-medida{opacity:0}
.fx-medida[data-on]{opacity:1}
.fx-voa:focus-visible rect,.fx-colada:focus-visible rect{stroke:var(--orange);stroke-width:3.5}
.fx-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:14px}
.fx-ctrl button{min-height:40px;padding:0 16px;border:2px solid #0E1420;border-radius:999px;background:#0E1420;color:#fff;box-shadow:0 2px 0 var(--hard);font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:transform 120ms var(--ease-out),box-shadow 120ms var(--ease-out)}
.fx-ctrl button+button{background:#fff;color:#0E1420}
.fx-ctrl button:active{transform:translateY(2px);box-shadow:0 0 0 var(--hard)}
/* carro 3D (assets/carro3d.js): cobre o desenho 2D, que continua ocupando o lugar */
.fx3d{position:absolute;opacity:0;transition:opacity .35s ease}
.fx3d.pronto{opacity:1}
.fx3d canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline:none;border-radius:6px}
.fx3d canvas:focus-visible{box-shadow:0 0 0 3px var(--orange)}
.faixas-fig[data-fx3d] .faixas-svg{visibility:hidden}
.fx-dica{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#586177}
@media (hover:hover) and (pointer:fine){.fx-voa:hover rect,.fx-colada[data-on]:hover rect{stroke-width:2.5}}
@media (prefers-reduced-motion:reduce){.fx-ctrl button:active{transform:none}}
@media (min-width:960px){.fx-ctrl button{font-size:12px}.fx-dica{font-size:12px}}

/* fila de cards de serviço (ilustração/ícone à mostra, texto embaixo) */
.fila{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:14px;margin:28px -16px 0;padding:0 16px 4px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:16px;overscroll-behavior-x:contain;scrollbar-width:none}
.fila::-webkit-scrollbar{display:none}
.fcard{display:flex;flex-direction:column;scroll-snap-align:start;text-decoration:none;color:inherit}
.fcard .mid{position:relative;display:grid;place-items:center;overflow:hidden;aspect-ratio:4/5;border-radius:var(--r-card);background:var(--ground)}
.fcard .mid.ic-blue{background:var(--blue-soft)}
.fcard .mid.ic-orange{background:color-mix(in srgb,var(--orange) 16%,transparent)}
.fcard .mid.ic-ink{background:var(--sunk)}
.fcard .mid svg{width:38%;height:38%;transition:transform 400ms var(--ease-out)}
.fcard .mid .cnt{position:absolute;left:10px;top:10px;padding:5px 9px;border-radius:999px;background:var(--page);color:var(--text);font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.05em}
.fcard .row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:14px}
.fcard b{display:block;font-family:var(--display);font-weight:600;font-size:19px;line-height:1.2;letter-spacing:-.02em}
.fcard small{display:block;margin-top:5px;color:var(--muted);font-size:14px}
.fcard .round{width:40px;height:40px;margin-top:2px}
.fcard .round svg{width:16px;height:16px}
@media (min-width:600px){.fila{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);gap:20px;margin:32px 0 0;padding:0;overflow:visible}}
@media (hover:hover) and (pointer:fine){.fcard:hover .mid svg{transform:scale(1.08)}.fcard:hover .round{transform:translateX(4px)}}

/* jornada: foto + trilha numerada */
.jhead{display:grid;gap:20px}
.jfoto{overflow:hidden;border-radius:var(--r-card);aspect-ratio:16/10;background:var(--ground);margin-top:20px}
.jfoto img{width:100%;height:100%;object-fit:cover;display:block}
.estrada{position:relative;display:grid;gap:22px;margin-top:36px;padding:0;list-style:none}
.estrada::before{content:"";position:absolute;left:21px;top:22px;bottom:22px;border-left:2px dashed var(--line)}
.pstop{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px}
.pstop .num{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--text);border-radius:50%;background:var(--page);box-shadow:var(--shadow-hard);font-family:var(--display);font-weight:600;font-size:18px}
.pstop:last-child .num{background:var(--orange);color:var(--ink)}
.pstop .n{font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pstop h3{margin-top:6px;font-family:var(--display);font-weight:600;font-size:19px;letter-spacing:-.02em}
.pstop p{margin-top:4px;color:var(--muted);font-size:14.5px}
@media (min-width:900px){
  .jhead{grid-template-columns:1fr 1fr;gap:48px;align-items:end}
  .jfoto{margin-top:0}
  .estrada{grid-template-columns:repeat(4,1fr);gap:20px}
  .estrada::before{left:22px;right:22px;top:21px;bottom:auto;border-left:0;border-top:2px dashed var(--line)}
  .pstop{grid-template-columns:1fr;gap:16px}
}

/* =========================================================
   ASSINATURA VISUAL (26/09/2026, design/ASSINATURA-VISUAL.md)
   ---------------------------------------------------------
   Duas peças do mundo da direção, sempre nas cores da marca:
     .pista  a rua vista de cima: asfalto quase preto, tracejado branco no meio,
             linhas de borda e, às vezes, faixa de pedestre e o carro (#carro-cima)
     .fita   a faixa escrita "QUERO DIRIGIR" (prima da faixa AUTOESCOLA):
             retângulo branco, borda quase preta, Sora 800 em caixa alta, correndo
     .tracejado  etiqueta com um pedaço do tracejado laranja na frente
   Onde usar cada uma: design/BRIEFING-REDESIGN.md, seção "Assinatura visual".
   ========================================================= */
/* rua */
.pista{position:relative;height:56px;background:#0E1420;overflow:hidden}
.pista::before,.pista::after{content:"";position:absolute;left:0;right:0;height:3px;background:#fff;opacity:.9}
.pista::before{top:7px}
.pista::after{bottom:7px}
.pista-centro{position:absolute;left:0;right:0;top:calc(50% - 2px);height:4px;background:repeating-linear-gradient(90deg,#fff 0 28px,transparent 28px 56px)}
.pista-zebra{position:absolute;top:22px;bottom:22px;left:62%;width:84px;background:repeating-linear-gradient(180deg,#fff 0 12px,#0E1420 12px 24px)}
.pista-carro{position:absolute;width:104px;height:50px}
/* etiqueta com tracejado */
.tracejado{display:inline-flex;align-items:center;gap:10px}
.tracejado::before{content:"";flex:none;width:36px;height:4px;border-radius:1px;background:repeating-linear-gradient(90deg,var(--orange) 0 10px,transparent 10px 15px)}
/* faixa QUERO DIRIGIR: <div class="fita" aria-hidden="true"><div class="trilho"><div class="volta">…</div><div class="volta">…</div></div></div>
   (as duas .volta com o mesmo texto; a segunda completa o giro sem emenda) */
.fita{position:relative;height:46px;display:flex;align-items:center;overflow:hidden;background:#fff;color:#0E1420;border-block:2px solid #0E1420}
.fita-escura{background:#0E1420;color:#fff}
.fita .trilho{display:flex;width:max-content;animation:qd-corre 40s linear infinite}
.fita .volta{display:flex;align-items:center;white-space:nowrap}
.fita .volta span{font:800 17px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;padding:0 18px;color:inherit}
.fita .volta i{font-style:normal;color:var(--orange);font-size:15px}
@keyframes qd-corre{to{transform:translateX(-50%)}}
@keyframes qd-entra{from{opacity:0;transform:translateY(12px)}}
@keyframes qd-chega{from{transform:translateX(-80vw)}}

/* topo do Início: azul inteiro, a rua embaixo e o carro parando na faixa de pedestre */
.topo{position:relative;margin:-28px calc(50% - 50vw) 0;background:#1F4FE0;color:#fff;overflow:hidden}
.topo-in{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:32px 16px 0;display:grid;gap:28px}
.topo .tracejado{font-family:var(--mono);font-weight:500;font-size:12px;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:#fff;animation:qd-entra 300ms var(--ease-out) 40ms both}
.topo h1{margin-top:16px;font:800 clamp(44px,11.5vw,100px)/1.06 var(--display);letter-spacing:-.045em;color:#fff;animation:qd-entra 380ms var(--ease-out) 100ms both}
.topo h1 em{font-style:normal;padding-bottom:.08em;background:repeating-linear-gradient(90deg,var(--orange) 0 .55em,transparent .55em .85em) 0 100%/100% .11em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.topo-onde{margin-top:22px;font:600 20px/1.3 var(--display);letter-spacing:-.01em;color:#fff}
.topo-onde b{font-weight:800;box-shadow:inset 0 -.14em 0 var(--orange)}
.topo-lede{margin-top:10px;max-width:52ch;font-size:17px;line-height:1.5;color:rgba(255,255,255,.9)}
.topo-preco{display:inline-block;margin-top:16px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);font:500 12px/1.35 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.topo-preco b{font-weight:500;background:#0E1420;padding:1px 6px;border-radius:4px}
.topo-preco s{opacity:.75}
.topo-foto{position:relative;z-index:3;margin:0 0 -40px;justify-self:center;width:100%;max-width:460px;aspect-ratio:4/3;border:2px solid #0E1420;border-radius:16px;box-shadow:0 8px 0 #0B1F66;overflow:hidden;background:#fff;animation:qd-entra 420ms var(--ease-out) 160ms both}
.topo-foto img{width:100%;height:100%;object-fit:cover;display:block}
.topo-foto .rotulo{position:absolute;left:12px;top:12px;padding:6px 11px 5px;background:#fff;border:1.5px solid #0E1420;border-radius:3px;font:800 11px/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#0E1420;transform:rotate(-1.5deg)}
.pista-topo{height:150px}
.pista-topo .pista-carro{left:calc(62% - 120px);top:calc(50% + 5px);animation:qd-chega 1100ms var(--ease-out) 250ms both}
/* busca do topo: só usa os parâmetros que /aulas/ já entende (?categoria= e ?publico=) */
.busca-topo{margin-top:24px;max-width:540px;padding:16px;background:#fff;color:#0E1420;border:2px solid #0E1420;border-radius:16px;box-shadow:0 6px 0 #0B1F66}
.bt-t{font:800 13px/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
.bt-segs{display:grid;gap:8px;margin-bottom:14px}
.bt-seg{margin:0;padding:3px;border:0;display:flex;gap:3px;border-radius:999px;background:#EEF1F7}
.bt-seg label{flex:1;position:relative}
.bt-seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.bt-seg span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border-radius:999px;font:600 15px/1.2 var(--body);color:#3A4358;white-space:nowrap;transition:background-color 150ms ease,color 150ms ease}
.bt-seg input:checked + span{background:#0E1420;color:#fff}
.bt-seg input:focus-visible + span{outline:2px solid var(--orange);outline-offset:2px}
.busca-topo .btn{border-color:#0E1420;box-shadow:0 2px 0 #0E1420;color:#0E1420}
/* seção azul do carro próprio começa numa rua */
.azul.com-pista{position:relative}
.azul.com-pista > .pista{position:absolute;top:0;left:0;right:0}
.azul.com-pista .grid{padding-top:88px}
/* topo interno de página: azul como o do Início, só mais baixo (título + 1 frase + ação + foto) */
.azul.topo-int{margin:-28px calc(50% - 50vw) 32px}
.azul.topo-int .grid{grid-template-columns:1fr}
.azul.topo-int .grid .jfoto{aspect-ratio:16/11;margin-top:0}
@media (min-width:900px){.azul.topo-int .grid{grid-template-columns:1fr 1fr}}
@media (min-width:960px){
  .topo{margin-top:-56px}
  .topo-in{grid-template-columns:1.15fr .85fr;gap:0 56px;padding:48px 32px 0}
  .topo-cab{grid-column:1/-1;margin-bottom:28px}
  .topo-txt{padding-bottom:40px}
  .topo h1{font-size:clamp(60px,7vw,100px)}
  .topo-onde{font-size:24px}
  .topo-lede{font-size:18px}
  .busca-topo{padding:20px}

  .bt-segs{grid-template-columns:auto 1fr}
  .topo-foto{align-self:stretch;aspect-ratio:auto;min-height:380px;max-width:none;margin:12px 0 -56px;transform:rotate(1.5deg)}
  .topo-foto img{position:absolute;inset:0}
  .pista-topo{height:190px}
  .pista-topo .pista-zebra{left:48%;width:110px;top:26px;bottom:26px}
  .pista-topo .pista-carro{width:116px;height:56px;left:calc(48% - 140px);top:calc(50% + 6px)}
  .pista-topo .pista-centro{height:6px;top:calc(50% - 3px)}
  .azul.com-pista .grid{padding-top:112px}
}

/* Dúvidas: botão redondo igual ao do WhatsApp, logo acima dele (só no espaço do aluno) */
.fab-duvidas{bottom:calc(var(--tabbar-h) + var(--safe-b) + 82px);background:var(--blue);color:#fff}
.fab-duvidas svg{width:28px;height:28px}
.fab-duvidas[aria-current]{background:#fff;color:#0E1420}
body[data-space="instrutor"] .fab-duvidas,body[data-pagina="equipe"] .fab-duvidas{display:none}
@media (min-width:960px){.fab-duvidas{bottom:96px}}

/* etiqueta em forma de faixa (prima da AUTOESCOLA): peça da assinatura para páginas "faixa" */
.faixa-tag{display:inline-block;padding:6px 11px 5px;background:#fff;border:1.5px solid #0E1420;border-radius:3px;font:800 12px/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#0E1420;transform:rotate(-2deg)}
.eyebrow.faixa-tag{color:#0E1420}
@keyframes qd-cola{from{opacity:0;transform:rotate(-8deg) scale(1.16)}}

/* =========================================================
   KIT DA PROVA (26/09): página "faixa". Topo laranja com o próprio
   produto (as 4 faixas AUTOESCOLA colando uma a uma), selo de preço,
   faixas QUERO DIRIGIR cruzando; títulos numerados em faixinhas.
   A ilustração do carro (.kitvis) fica como está: vai virar a animação 3D.
   ========================================================= */
.kit-topo{position:relative;margin:-28px calc(50% - 50vw) 0;background:var(--orange);color:#0E1420;overflow:hidden}
.kit-topo-in{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:32px 16px 132px;display:grid;gap:40px;align-items:center}
.kit-topo .faixa-tag{animation:qd-cola 320ms var(--ease-out) 40ms both}
.kit-topo h1{margin-top:18px;color:#0E1420}
.kt-1{display:block;font:800 clamp(56px,15vw,124px)/.9 var(--display);letter-spacing:-.05em;animation:qd-entra 380ms var(--ease-out) 60ms both}
.kt-2{display:block;margin-top:14px;max-width:24ch;font:600 clamp(19px,2.3vw,26px)/1.2 var(--display);letter-spacing:-.02em}
.kit-topo-lede{margin-top:14px;max-width:46ch;font-size:17px;line-height:1.5}
.kit-topo .actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px}
.kit-btn{background:#0E1420;color:#fff;border-color:#0E1420;box-shadow:0 3px 0 #fff}
.kit-btn:active{box-shadow:0 0 0 #fff}
.kit-btn2{background:transparent;color:#0E1420;border-color:#0E1420;box-shadow:0 2px 0 #0E1420}
@media (hover:hover) and (pointer:fine){.kit-btn2:hover{background:rgba(255,255,255,.25)}}
/* o produto: 2 faixas longas (laterais) + 2 curtas (frente e traseira) */
.kit-produto{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;justify-items:center;align-items:center;max-width:480px;width:100%;justify-self:center;padding:10px 0}
.kf{position:relative;display:grid;justify-items:center;gap:3px;padding:12px 14px 8px;background:#fff;border:2px solid #0E1420;border-radius:4px;box-shadow:0 5px 0 #0E1420;transform:rotate(var(--r));animation:qd-kf 380ms var(--ease-out) var(--d) both}
.kf b{font:800 clamp(26px,8vw,42px)/1 var(--display);letter-spacing:.05em;color:#0E1420}
.kf small{font:500 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#586177}
.kf-longa{grid-column:1/-1;width:100%}
.kf-curta{width:100%;padding-inline:8px}
.kf-curta b{font-size:clamp(15px,4.4vw,22px)}
.kit-medida{position:absolute;top:-8px;right:-4px;padding:6px 10px;border-radius:999px;background:#0E1420;color:#fff;font:500 12px/1 var(--mono);letter-spacing:.06em;transform:rotate(6deg);animation:qd-entra 300ms var(--ease-out) 520ms both}
.kit-medida::before{content:"↕ "}
.kit-selo{position:absolute;right:4px;bottom:-116px;width:112px;height:112px;border-radius:50%;background:#0E1420;color:#fff;border:3px solid #fff;display:grid;place-content:center;justify-items:center;gap:1px;transform:rotate(-10deg);box-shadow:0 4px 0 rgba(14,20,32,.35);animation:qd-selo 480ms cubic-bezier(.34,1.56,.64,1) 620ms both}
.kit-selo b{font:800 30px/1 var(--display);letter-spacing:-.03em}
.kit-selo small{font:500 10px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:.85}
/* faixas QUERO DIRIGIR cruzando o pé do topo */
.kit-fitas{position:absolute;left:-5%;right:-5%;bottom:24px;height:96px;pointer-events:none}
.kit-fitas .fita{position:absolute;left:0;right:0}
.kit-fitas .fita:first-child{top:6px;transform:rotate(-2.4deg)}
.kit-fitas .fita-escura{top:46px;transform:rotate(1.8deg)}
.kit-fitas .fita-escura .trilho{animation-direction:reverse;animation-duration:46s}
@keyframes qd-kf{from{opacity:0;transform:rotate(calc(var(--r) - 9deg)) scale(1.14) translateY(-10px)}}
@keyframes qd-selo{from{opacity:0;transform:rotate(-40deg) scale(.4)}}
/* reserva: cartão com borda e sombra dura, passos numerados em faixinhas */
#s-equipamentos .kr{margin-top:48px;border:2px solid var(--text);border-radius:18px;box-shadow:0 6px 0 var(--hard)}
#s-equipamentos .kr-step h3::before{background:#fff;color:#0E1420;border:1.5px solid #0E1420;border-radius:3px;font-family:var(--display);transform:rotate(-4deg)}

/* artigo: cada título abre com o número numa faixinha */
#s-equipamentos .artigo{counter-reset:kh}
#s-equipamentos .artigo > h2{counter-increment:kh;display:flex;align-items:center;gap:12px;scroll-margin-top:16px}
#s-equipamentos .artigo > h2::before{content:counter(kh,decimal-leading-zero);flex:none;padding:6px 8px 5px;background:#fff;border:1.5px solid #0E1420;border-radius:3px;box-shadow:0 2px 0 var(--orange);font:800 13px/1 var(--display);letter-spacing:.06em;color:#0E1420;transform:rotate(-3deg)}
/* chamada final com foto (pessoas = foto) */
.kit-cta{grid-template-columns:1fr;gap:0;padding:0;overflow:hidden;border:2px solid #0E1420;box-shadow:0 6px 0 var(--hard)}
.kit-cta-foto{margin:0;aspect-ratio:16/9;overflow:hidden;background:#0E1420}
.kit-cta-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block}
.kit-cta-txt{padding:24px 22px 26px;display:grid;gap:18px}
.kit-cta-acoes{display:flex;flex-wrap:wrap;gap:12px}
.kit-cta-acoes .btn{flex:1 1 220px}
@media (min-width:900px){
  .kit-cta{grid-template-columns:.85fr 1.15fr;align-items:stretch;padding:0}
  .kit-cta-foto{aspect-ratio:auto;min-height:280px}
  .kit-cta-txt{padding:36px 40px;align-content:center}
  .kit-cta-acoes .btn{flex:0 0 auto}
}
@media (min-width:960px){
  .kit-topo{margin-top:-56px}
  .kit-topo-in{grid-template-columns:1.1fr .9fr;gap:56px;padding:56px 32px 168px}
  .kit-topo-lede{font-size:19px}
  .kit-fitas{bottom:40px}
  .kit-fitas .fita{height:54px}
  .kit-fitas .fita .volta span{font-size:20px}
  .kit-selo{right:-8px;bottom:-150px;width:128px;height:128px}
  .kit-selo b{font-size:34px}
}
/* palco do carro (lugar da futura animação 3D), logo depois da reserva */
.kit-palco{margin-top:56px;padding:22px 16px 20px;background:var(--ground);border-radius:24px;display:grid;justify-items:center;gap:16px}
.kit-palco .kitvis{margin-top:0;width:100%;max-width:860px}
/* O que vem no kit */
.kit-oque{margin-top:64px;display:grid;gap:8px 56px}
.kit-oque .faixa-tag{justify-self:start}
.kit-oque .page-title{margin-top:14px;font-size:clamp(30px,4.4vw,48px);line-height:1.02}
@media (min-width:900px){.kit-oque{grid-template-columns:1fr 1fr;align-items:start}.kit-oque > div{display:contents}.kit-oque .checks{grid-column:2;grid-row:1 / span 3;margin-top:0}}
/* 01 · regras do Detran: amostra da faixa como desenho técnico + cartões */
.kit-regra{margin-top:16px;display:grid;gap:14px}
.kit-amostra{position:relative;display:grid;justify-items:center;gap:10px;padding:22px 16px 18px;border-radius:16px;border:1.5px solid var(--line);color:var(--text);
  background:var(--surface) linear-gradient(var(--sunk) 1px,transparent 1px) 0 0/100% 22px,var(--surface) linear-gradient(90deg,var(--sunk) 1px,transparent 1px) 0 0/22px 100%}
.ka-nota{font:500 11.5px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:grid;justify-items:center;gap:4px}
.ka-n1::after,.ka-n2::before{content:"";width:1.5px;height:14px;background:currentColor}
.ka-linha{display:flex;align-items:center;gap:6px}
.ka-faixa{display:grid;place-items:center;height:64px;padding:0 22px;background:#fff;border:2px solid #0E1420;border-radius:3px;box-shadow:0 4px 0 #0E1420;font:800 clamp(24px,6vw,34px)/1 var(--display);letter-spacing:.06em;color:#0E1420}
.ka-cota{position:relative;height:64px;padding-left:22px;display:flex;align-items:center;font:500 12px/1 var(--mono);letter-spacing:.04em;white-space:nowrap}
.ka-cota::before{content:"";position:absolute;left:4px;top:0;bottom:0;width:10px;border-block:2px solid currentColor;background:linear-gradient(currentColor,currentColor) center/2px 100% no-repeat}
.ka-carro{margin-top:10px;display:grid;justify-items:center;gap:8px;width:100%;max-width:340px}
.ka-carro small{font:500 11.5px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center}
.ka-lataria{position:relative;width:100%;height:64px;margin-bottom:14px;display:grid;place-items:center;background:var(--blue);border-radius:34px 60px 12px 12px}
.ka-lataria::before,.ka-lataria::after{content:"";position:absolute;bottom:-14px;width:30px;height:30px;border-radius:50%;background:#0E1420;box-shadow:inset 0 0 0 8px #0E1420,inset 0 0 0 12px #B9C2D3}
.ka-lataria::before{left:18%}.ka-lataria::after{right:18%}
.ka-mini{padding:4px 10px;background:#fff;border:1.5px solid #0E1420;border-radius:2px;font:800 12px/1 var(--display);letter-spacing:.06em;color:#0E1420}
.artigo .kit-reqs{list-style:none;padding:0;margin:0;display:grid;gap:10px;max-width:none}
.kit-reqs li{position:relative;padding:14px 14px 14px 46px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface)}
.kit-reqs li::before{content:"✓";position:absolute;left:14px;top:13px;width:22px;height:22px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font:800 13px/1 var(--display)}
.artigo .kit-selo-ok{display:flex;align-items:center;gap:10px;margin-top:14px;font-weight:600}
.kit-selo-ok svg{width:22px;height:22px;flex:none;color:var(--ok)}
@media (min-width:760px){.kit-regra{grid-template-columns:1.15fr .85fr;align-items:stretch}.artigo .kit-reqs{grid-template-columns:1fr}}
/* 02 · preços como comprovantes */
.kit-recibos{margin-top:16px;display:grid;gap:18px}
.recibo{position:relative;padding:20px 20px 26px;background:#fff;color:#0E1420;border:2px solid #0E1420;border-bottom:0;border-radius:12px 12px 0 0;box-shadow:0 6px 0 var(--hard);
  -webkit-mask:linear-gradient(#000,#000) top/100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 10px repeat-x;
  mask:linear-gradient(#000,#000) top/100% calc(100% - 10px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 10px repeat-x}
.recibo:nth-child(1){transform:rotate(-1deg)}.recibo:nth-child(2){transform:rotate(.8deg)}
.artigo .recibo h3{margin:0 0 12px;padding-bottom:10px;border-bottom:2px dashed #0E1420;font:500 12px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#586177}
.recibo dl{margin:0;display:grid;gap:12px}
.recibo dl > div{display:flex;align-items:baseline;gap:8px}
.recibo dt{font-size:15px}
.recibo dt::after{content:"";flex:1}
.recibo dl > div::after{content:none}
.recibo dd{margin:0 0 0 auto;padding-left:8px;font:800 20px/1.1 var(--display);letter-spacing:-.02em;text-align:right;white-space:nowrap;background:linear-gradient(90deg,transparent,transparent)}
.recibo dd small{display:block;font:500 11px/1.3 var(--mono);letter-spacing:.04em;color:#586177}
.recibo dl > div{background:radial-gradient(circle,#B9C2D3 1px,transparent 1.5px) 0 calc(100% - 4px)/6px 6px repeat-x}
.recibo dt,.recibo dd{background:#fff;position:relative}
.recibo dt{padding-right:8px}
.artigo .kit-extras{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px;max-width:none}
.kit-extras li{display:grid;gap:6px;justify-items:start;padding:16px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line)}
.kit-extras strong{font:800 26px/1 var(--display);letter-spacing:-.03em}
.kit-extras li > span:last-child{font-size:14.5px;color:var(--muted)}
@media (min-width:760px){.kit-recibos{grid-template-columns:1fr 1fr}.artigo .kit-extras{grid-template-columns:repeat(3,1fr)}}

/* =========================================================
   MOVIMENTO (26/09/2026) · par do assets/movimento.js
   Referências: Linktree e Epidemic Sound. Regras: só transform/opacity/clip-path,
   entradas com --ease-out, nada passa de ~700ms, e com "reduzir movimento"
   ligado nada disso roda (o JS não liga html.mov e o bloco do topo zera animações).
   ========================================================= */
/* 1. entrar ao rolar, em sequência (--i = posição no grupo) */
.mov .rv{opacity:0;transform:translateY(28px)}
.mov .rv.visto{opacity:1;transform:none;transition:opacity 520ms ease-out,transform 680ms var(--ease-out);transition-delay:calc(var(--i,0) * 70ms)}
/* cartões da comparação viram em 3D ao entrar (Linktree) */
.mov .duo{perspective:1200px}
.mov .rv-vira{transform:rotateY(-70deg) translateY(10px);transform-origin:left center}
.mov .rv-vira.visto{transform:none;transition-duration:520ms,760ms}
/* 2. títulos sobem palavra por palavra (Epidemic Sound) */
.pw{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.pw > span{display:inline-block}
.mov .rv-palavras .pw > span{transform:translateY(105%)}
.mov .rv-palavras.visto .pw > span{transform:none;transition:transform 640ms var(--ease-out);transition-delay:calc(var(--w) * 45ms)}
/* 3. cartões crescem e as fotos aproximam ao passar o mouse (Epidemic Sound) */
@media (hover:hover) and (pointer:fine){
  .fcard .mid{transition:transform 300ms var(--ease-out),box-shadow 300ms var(--ease-out)}
  .fcard:hover .mid{transform:translateY(-6px);box-shadow:0 8px 0 var(--hard)}
  .fcard:hover .mid svg{transform:scale(1.12) rotate(-4deg)}
  .jfoto img,.kit-cta-foto img,.topo-foto img{transition:transform 600ms var(--ease-out)}
  .jfoto:hover img,.kit-cta:hover .kit-cta-foto img{transform:scale(1.05)}
  .dcard{transition:transform 250ms var(--ease-out)}
  .dcard:hover{transform:translateY(-4px)}
}
/* 4. ligado à rolagem, só onde o navegador suporta (Chrome/Edge; nos outros fica parado) */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){
    /* fotos com profundidade (Linktree) */
    .jfoto,.kit-cta-foto{view-timeline:--foto block}
    .jfoto img,.kit-cta-foto img{animation:qd-prof linear both;animation-timeline:--foto;scale:1.12}
    /* bloco azul "abre" até a borda da tela ao entrar (Linktree) */
    .azul,.kit-palco{animation:qd-abre linear both;animation-timeline:view();animation-range:entry 0% cover 35%}
    /* carrinho andando na trilha da jornada, com a rolagem (assinatura "pista") */
    .estrada-carro{animation:qd-trilha linear both;animation-timeline:--jornada;animation-range:cover 15% cover 65%}
    .estrada{view-timeline:--jornada block}
  }
}
@keyframes qd-prof{from{translate:0 -7%}to{translate:0 7%}}
@keyframes qd-abre{from{clip-path:inset(0 5% round 28px)}to{clip-path:inset(0 0 round 0)}}
.estrada-carro{position:absolute;z-index:2;left:1px;top:0;width:42px;height:21px;rotate:90deg;pointer-events:none}
@keyframes qd-trilha{from{top:0}to{top:calc(100% - 22px)}}
@media (min-width:900px){
  .estrada-carro{left:0;top:10px;rotate:0deg}
  @keyframes qd-trilha{from{left:0}to{left:calc(100% - 44px)}}
}
.estrada-carro{display:none}
.mov .estrada-carro{display:block}
@supports not (animation-timeline: view()){.mov .estrada-carro{display:none}}

/* título que pula ao abrir a página ([data-pula], movimento.js) */
.pulando .pl{display:inline-block;animation:qd-pula 560ms cubic-bezier(.34,1.56,.64,1) calc(var(--w) * 70ms + 80ms) both}
@keyframes qd-pula{0%{opacity:0;transform:translateY(55%) scale(.85) rotate(-4deg)}60%{opacity:1}100%{transform:none}}

/* =========================================================
   AULAS (26/09): o protagonista é o instrutor. Topo azul com a foto
   e etiquetas que pulam em volta (Linktree), título que pula palavra
   por palavra, rua com o tracejado correndo e o painel de busca
   colado no pé do topo.
   ========================================================= */
.aulas-topo{position:relative;margin:-28px calc(50% - 50vw) 0;background:#1F4FE0;color:#fff;overflow:hidden}
.aulas-topo-in{max-width:1200px;margin:0 auto;padding:32px 16px 40px;display:grid;gap:36px;align-items:center}
.aulas-topo .tracejado{font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fff}
.aulas-topo h1{margin-top:16px;font:800 clamp(44px,11vw,92px)/1.02 var(--display);letter-spacing:-.045em;color:#fff}
.aulas-topo h1 em{font-style:normal;color:#fff;background:repeating-linear-gradient(90deg,var(--orange) 0 .55em,transparent .55em .85em) 0 100%/100% .1em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.06em}
.aulas-topo h1 em .pl{padding-bottom:.06em}
.aulas-intro{margin-top:18px;max-width:52ch;font-size:17px;line-height:1.55;color:rgba(255,255,255,.9)}
.aulas-topo .actions{margin-top:24px}
/* cena: foto + etiquetas */
.aulas-cena{position:relative;justify-self:center;width:100%;max-width:440px;padding:26px 18px 30px}
.aulas-foto{margin:0;aspect-ratio:5/4;border:2px solid #0E1420;border-radius:22px;box-shadow:0 8px 0 #0B1F66;overflow:hidden;background:#fff;transform:rotate(-2deg);animation:qd-entra 460ms var(--ease-out) 120ms both}
.aulas-foto img{width:100%;height:100%;object-fit:cover;display:block}
.au-chip{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#fff;color:#0E1420;border:2px solid #0E1420;box-shadow:0 3px 0 #0E1420;font:700 14px/1 var(--body);white-space:nowrap;animation:qd-chip 520ms cubic-bezier(.34,1.56,.64,1) var(--d) both}
.au-chip svg{width:18px;height:18px;flex:none}
.au-chip.c1{top:6%;left:-4px;--d:420ms;rotate:-4deg}
.au-chip.c1 svg{color:var(--ok)}
.au-chip.c2{top:30%;right:-6px;--d:540ms;rotate:3deg;background:var(--orange)}
.au-chip.c3{bottom:24%;left:-10px;--d:660ms;rotate:2deg}
.au-chip.c3 svg{color:var(--blue)}
.au-chip.c4{bottom:4%;right:4px;--d:780ms;rotate:-3deg;background:#0E1420;color:#fff;border-color:#fff;box-shadow:0 3px 0 #fff}
@keyframes qd-chip{from{opacity:0;transform:scale(.4) translateY(14px)}}
/* etiquetas flutuam de leve depois de entrar */
@media (prefers-reduced-motion:no-preference){
  .au-chip{animation:qd-chip 520ms cubic-bezier(.34,1.56,.64,1) var(--d) both,qd-boia 4.5s ease-in-out calc(var(--d) + 600ms) infinite alternate}
  .au-chip.c2,.au-chip.c4{animation-duration:520ms,5.2s}
}
@keyframes qd-boia{to{translate:0 -6px}}
/* rua com o tracejado correndo (como se o carro estivesse andando) */
.pista-anda{height:64px}
@media (prefers-reduced-motion:no-preference){.pista-anda .pista-centro{animation:qd-anda .9s linear infinite}}
@keyframes qd-anda{to{background-position:-56px 0}}
/* painel de busca colado no pé do topo */
.busca-aulas{position:relative;z-index:3;margin:-28px auto 0;max-width:760px;padding:18px 16px;background:var(--surface);border:2px solid var(--text);border-radius:20px;box-shadow:0 6px 0 var(--hard);display:grid;gap:4px}
.busca-aulas .tipo-aula,.busca-aulas .locbox{margin-top:10px;border:0;padding:0;background:transparent;border-radius:0}
/* como funciona: passos numerados em faixinhas */
#s-aulas .steps li::before{border-radius:3px;border-width:1.5px;background:#fff;color:#0E1420;font-family:var(--display);font-weight:800;transform:rotate(-4deg);box-shadow:0 3px 0 var(--orange)}
@media (min-width:960px){
  .aulas-topo{margin-top:-56px}
  .aulas-topo-in{grid-template-columns:1.15fr .85fr;gap:56px;padding:56px 32px 72px}
  .aulas-intro{font-size:19px}
  .aulas-cena{padding:30px 34px 36px}
  .aulas-foto{aspect-ratio:4/5}
  .au-chip{font-size:15px}
  .au-chip.c1{left:-26px}.au-chip.c2{right:-28px}.au-chip.c3{left:-34px}.au-chip.c4{right:-12px}
  .busca-aulas{margin-top:-40px;padding:24px 28px}
}

/* números que rolam quando a conta muda (movimento.js) */
.rola{display:inline-block;animation:qd-rola 380ms var(--ease-out)}
#calc-eco.rola{display:block}
@keyframes qd-rola{from{opacity:0;transform:translateY(40%)}}

/* =========================================================
   CALCULADORA (26/09): página "faixa". Topo escuro como o painel de um
   carro, com o odômetro da economia (espelhado da calculadora); no
   computador, o resultado fica fixo ao lado dos campos.
   ========================================================= */
.calc-topo{position:relative;margin:-28px calc(50% - 50vw) 0;background:#0E1420;color:#fff;overflow:hidden}
.calc-topo-in{max-width:1200px;margin:0 auto;padding:32px 16px 44px;display:grid;gap:32px;align-items:center}
.calc-topo .tracejado{font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#C9D1E3}
.calc-topo h1{margin-top:16px;font:800 clamp(42px,10vw,88px)/1.02 var(--display);letter-spacing:-.045em;color:#fff;animation:qd-entra 420ms var(--ease-out) 60ms both}
.calc-topo h1 em{font-style:normal;color:var(--orange)}
.calc-topo-intro{margin-top:16px;max-width:48ch;font-size:17px;line-height:1.55;color:#C9D1E3}
.calc-topo .actions{margin-top:24px}
.calc-topo .kit-btn{background:#fff;color:#0E1420;border-color:#fff;box-shadow:0 3px 0 #98A2B8}
.odometro{position:relative;display:grid;gap:8px;padding:26px 24px 22px;border-radius:26px;background:#151D30;border:2px solid #2A3550;box-shadow:inset 0 0 0 6px #0E1420,0 8px 0 #000;animation:qd-entra 420ms var(--ease-out) 140ms both}
.odo-rotulo,.odo-sub{font:500 12px/1.35 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#98A2B8}
.odo-num{font:800 clamp(46px,11vw,84px)/1 var(--display);letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.odo-marcas{display:flex;align-items:end;gap:6px;height:34px;margin-top:6px}
.odo-marcas i{flex:1;align-self:end;height:calc(8px + var(--n) * 2.4px);border-radius:2px;background:#2A3550;transform-origin:bottom;animation:qd-tick 300ms var(--ease-out) both}
.odo-marcas i:nth-child(-n+9){background:#fff}
.odo-marcas i:nth-child(n+10){background:var(--orange)}
.odo-marcas i:nth-child(1){animation-delay:300ms}.odo-marcas i:nth-child(2){animation-delay:340ms}.odo-marcas i:nth-child(3){animation-delay:380ms}.odo-marcas i:nth-child(4){animation-delay:420ms}.odo-marcas i:nth-child(5){animation-delay:460ms}.odo-marcas i:nth-child(6){animation-delay:500ms}.odo-marcas i:nth-child(7){animation-delay:540ms}.odo-marcas i:nth-child(8){animation-delay:580ms}.odo-marcas i:nth-child(9){animation-delay:620ms}.odo-marcas i:nth-child(10){animation-delay:660ms}.odo-marcas i:nth-child(11){animation-delay:700ms}.odo-marcas i:nth-child(12){animation-delay:740ms}
@keyframes qd-tick{from{transform:scaleY(0);transform-origin:bottom}}
.calc-topo > .fita{border-color:#fff}
/* artigo mais largo para caber o painel fixo; texto continua na largura de leitura */
#s-calc-cnh .artigo{max-width:none;margin-top:40px}
#s-calc-cnh .artigo > :not(.calc){max-width:760px}
.calc-contexto{font-size:17px}
#s-calc-cnh .calc{border:2px solid var(--text);border-radius:22px;box-shadow:0 6px 0 var(--hard)}
#s-calc-cnh .calc-eco{background:var(--blue);color:#fff;border:2px solid #0E1420;border-radius:10px;box-shadow:0 4px 0 #0E1420;transform:rotate(-1deg)}
#s-calc-cnh .calc-eco small{color:rgba(255,255,255,.8)}
#s-calc-cnh .artigo > h2{display:flex;align-items:center;gap:12px}
#s-calc-cnh .artigo > h2::before{content:"";flex:none;width:36px;height:4px;border-radius:1px;background:repeating-linear-gradient(90deg,var(--orange) 0 10px,transparent 10px 15px)}
@media (min-width:960px){
  .calc-topo{margin-top:-56px}
  .calc-topo-in{grid-template-columns:1.1fr .9fr;gap:56px;padding:56px 32px 64px}
  .calc-topo-intro{font-size:19px}
  #s-calc-cnh .calc{display:grid;grid-template-columns:1.25fr .75fr;gap:0 28px;align-items:start}
  #s-calc-cnh .calc > *{grid-column:1/-1}
  #s-calc-cnh .calc > .calc-campos{grid-column:1;grid-row:2 / span 2}
  #s-calc-cnh .calc > .calc-painel{grid-column:2;grid-row:2;position:sticky;top:20px}
  #s-calc-cnh .calc-painel .calc-res{margin-top:14px;grid-template-columns:1fr}
}

/* =========================================================
   ACESSO À CALCULADORA (26/09, pedido do Vinícius): atalho no topo do
   Início e botão redondo à direita, acima de Dúvidas e WhatsApp (só aluno)
   ========================================================= */
.topo-calc{display:flex;align-items:center;gap:12px;margin-top:16px;max-width:540px;padding:10px 14px 10px 10px;border-radius:16px;background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4);color:#fff;text-decoration:none;transition:background-color 150ms ease,transform 150ms var(--ease-out)}
.topo-calc:active{transform:scale(.98)}
.tc-ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--orange);color:#0E1420;border:2px solid #0E1420;box-shadow:0 3px 0 #0E1420}
.tc-ic svg{width:24px;height:24px}
.tc-txt{display:grid;gap:3px;flex:1;min-width:0}
.tc-txt > b{font:700 16px/1.2 var(--display);letter-spacing:-.01em}
.tc-txt small{font:500 11.5px/1.35 var(--mono);letter-spacing:.03em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.tc-txt small b{font-weight:500;background:#0E1420;color:#fff;padding:1px 5px;border-radius:4px}
.tc-txt small s{opacity:.75}
.tc-seta{flex:none;width:20px;height:20px;transition:transform 200ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.topo-calc:hover{background:rgba(255,255,255,.2)}.topo-calc:hover .tc-seta{transform:translateX(4px)}}
.fab-calc{bottom:calc(var(--tabbar-h) + var(--safe-b) + 150px);background:var(--blue);color:#fff}
.fab-calc svg{width:26px;height:26px}
.fab-calc[aria-current]{background:#fff;color:#0E1420}
body[data-space="instrutor"] .fab-calc,body[data-pagina="equipe"] .fab-calc{display:none}
@media (min-width:960px){.fab-calc{bottom:164px}.tc-txt > b{font-size:17px}}

/* =========================================================
   DÚVIDAS (26/09): página "faixa". O protagonista são as perguntas,
   como um mural de faixas-etiqueta que levam à resposta (e a abrem).
   ========================================================= */
.duv-topo{position:relative;margin:-28px calc(50% - 50vw) 0;background:var(--ground);border-bottom:2px solid var(--text);overflow:hidden}
.duv-topo::after{content:"?";position:absolute;right:-2%;top:-8%;font:800 clamp(220px,40vw,520px)/1 var(--display);color:var(--orange);opacity:.14;pointer-events:none;transform:rotate(12deg)}
.duv-topo-in{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:32px 16px 48px}
.duv-topo .faixa-tag{animation:qd-cola 320ms var(--ease-out) 40ms both}
.duv-topo h1{margin-top:18px;font:800 clamp(46px,11vw,104px)/1 var(--display);letter-spacing:-.045em;color:var(--text);animation:qd-entra 420ms var(--ease-out) 60ms both}
.duv-topo h1 em{font-style:normal;background:repeating-linear-gradient(90deg,var(--orange) 0 .55em,transparent .55em .85em) 0 100%/100% .1em no-repeat;padding-bottom:.06em}
.duv-intro{margin-top:14px;font-size:17px;color:var(--muted)}
.duv-perguntas{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px 10px;max-width:980px}
.duv-perguntas a{display:inline-block;padding:10px 14px 9px;background:#fff;color:#0E1420;border:2px solid #0E1420;border-radius:4px;box-shadow:0 3px 0 #0E1420;font:700 15px/1.25 var(--body);text-decoration:none;transform:rotate(var(--r));animation:qd-chip 480ms cubic-bezier(.34,1.56,.64,1) var(--d) both;transition:transform 180ms var(--ease-out),box-shadow 180ms var(--ease-out)}
.duv-perguntas a.laranja{background:var(--orange)}
.duv-perguntas a.escura{background:#0E1420;color:#fff;border-color:#0E1420;box-shadow:0 3px 0 var(--orange)}
.duv-perguntas a:active{transform:rotate(var(--r)) translateY(2px);box-shadow:0 1px 0 #0E1420}
@media (hover:hover) and (pointer:fine){.duv-perguntas a:hover{transform:rotate(0deg) translateY(-3px);box-shadow:0 6px 0 #0E1420}}
/* lista: cada pergunta vira um cartão; aberto ganha borda e sombra dura */
#s-duvidas .faq{margin-top:40px;display:grid;gap:12px;max-width:860px}
#s-duvidas details{border:1.5px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--surface);scroll-margin-top:20px;transition:border-color 200ms ease,box-shadow 200ms var(--ease-out)}
#s-duvidas details:last-of-type{border-bottom:1.5px solid var(--line)}
#s-duvidas details[open]{border:2px solid var(--text);box-shadow:0 5px 0 var(--hard)}
#s-duvidas summary{font-size:18px}
#s-duvidas details.chamada{animation:qd-chamada 900ms var(--ease-out)}
@keyframes qd-chamada{0%{box-shadow:0 0 0 0 var(--orange)}30%{box-shadow:0 0 0 6px var(--orange)}100%{box-shadow:0 5px 0 var(--hard)}}
#s-duvidas .contact{max-width:860px;margin-top:32px;background:var(--blue);color:#fff;border:2px solid #0E1420;box-shadow:0 5px 0 var(--hard)}
#s-duvidas .contact .row{color:rgba(255,255,255,.88)}
#s-duvidas .crossover{max-width:860px}
@media (min-width:960px){
  .duv-topo{margin-top:-56px}
  .duv-topo-in{padding:56px 32px 64px}
  .duv-perguntas a{font-size:16px;padding:12px 16px 11px}
}

/* =========================================================
   JORNADA CNH (26/09): página "rua". A estrada é o protagonista:
   painel de viagem + carrinho que anda com o progresso do aluno
   (--p vem do movimento.js, lido da barra .jor-barra do app.js).
   A lista de etapas vira uma estrada vertical.
   ========================================================= */
.jor-topo{position:relative;margin:-28px calc(50% - 50vw) 0;background:#1F4FE0;color:#fff;overflow:hidden}
.jor-topo-in{max-width:1200px;margin:0 auto;padding:32px 16px 36px;display:grid;gap:28px;align-items:end}
.jor-topo .tracejado{font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fff}
.jor-topo h1{margin-top:16px;font:800 clamp(42px,10vw,88px)/1.02 var(--display);letter-spacing:-.045em;color:#fff}
.jor-topo h1 em{font-style:normal;background:repeating-linear-gradient(90deg,var(--orange) 0 .55em,transparent .55em .85em) 0 100%/100% .1em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.06em}
.jor-topo-intro{margin-top:26px;max-width:50ch;font-size:17px;line-height:1.55;color:rgba(255,255,255,.9)}
.jor-painel{display:grid;gap:6px;padding:20px 22px;border-radius:20px;background:#fff;color:#0E1420;border:2px solid #0E1420;box-shadow:0 6px 0 #0B1F66;animation:qd-entra 420ms var(--ease-out) 160ms both}
.jp-rotulo{font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#586177}
.jp-num{font:800 clamp(30px,6vw,44px)/1.05 var(--display);letter-spacing:-.03em}
.jp-prox{font-size:15px;color:#3A4358}
.jor-pista{height:110px}
.jor-pista .pista-carro{left:calc(12px + var(--p,0) * (100% - 180px));top:calc(50% + 4px);width:104px;height:50px;transition:left 800ms var(--ease-out)}
.jp-chegada{position:absolute;right:14px;top:18px;bottom:18px;display:grid;place-items:center;width:52px;border-radius:4px;border:2px solid #fff;
  font:800 12px/1 var(--display);letter-spacing:.04em;color:#0E1420;overflow:hidden}
.jp-chegada::before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(#fff 0 25%,#0E1420 0 50%) 0 0/14px 14px}
.jp-chegada{isolation:isolate}
.jp-chegada::after{content:"CNH";position:relative;padding:3px 5px;background:#fff;border:1.5px solid #0E1420;border-radius:3px}
/* lista de etapas como estrada vertical */
#s-jornada .jornada{margin-top:36px}
#s-jornada .jor-etapa:not(:last-child)::before{left:13px;width:10px;top:38px;border-radius:2px;background:#0E1420 repeating-linear-gradient(180deg,#fff 0 6px,transparent 6px 13px) center/2px 100% no-repeat}
#s-jornada .jor-etapa.feita:not(:last-child)::before{background-color:var(--ok)}
#s-jornada .jor-marca{border:2px solid var(--text);box-shadow:0 2px 0 var(--hard)}
#s-jornada .jor-etapa.atual .jor-marca{background:var(--orange);color:#0E1420;border-color:#0E1420}
#s-jornada .jor-etapa.atual .jor-corpo{border:2px solid var(--text);box-shadow:0 5px 0 var(--hard);border-radius:16px}
#s-jornada .jor-prog,#s-jornada .jor-destaque,#s-jornada .jor-hab{border-width:2px;border-color:var(--text);box-shadow:0 5px 0 var(--hard)}
@media (min-width:960px){
  .jor-topo{margin-top:-56px}
  .jor-topo-in{grid-template-columns:1.3fr .7fr;gap:56px;padding:56px 32px 48px}
  .jor-topo-intro{font-size:19px}
  .jor-pista{height:140px}
  .jor-pista .pista-carro{width:116px;height:56px}
}

/* =========================================================
   GUIA DO CARRO PRÓPRIO (26/09): página "rua" de leitura. O índice é
   uma rua com paradas; uma estradinha presa no alto mostra o carro
   andando conforme a leitura (scroll-driven, só onde há suporte);
   cada título do texto é uma "parada".
   ========================================================= */
.guia-topo{position:relative;margin:-28px calc(50% - 50vw) 0;background:var(--blue-soft);color:var(--text);overflow:hidden}
.guia-topo-in{max-width:1200px;margin:0 auto;padding:32px 16px 28px;display:grid;gap:28px;align-items:center}
.guia-topo .tracejado{font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-ink)}
.guia-topo h1{margin-top:16px;font:800 clamp(38px,8.4vw,76px)/1.12 var(--display);letter-spacing:-.04em}
.guia-topo h1 em{font-style:normal;color:var(--blue-ink);background:repeating-linear-gradient(90deg,var(--orange) 0 .55em,transparent .55em .85em) 0 100%/100% .1em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.06em}
.guia-intro{margin-top:20px;max-width:54ch;font-size:18px;line-height:1.55}
.guia-foto{margin:0;aspect-ratio:4/3;border:2px solid #0E1420;border-radius:20px;box-shadow:0 8px 0 var(--hard);overflow:hidden;background:#fff;transform:rotate(1.5deg);animation:qd-entra 460ms var(--ease-out) 140ms both}
.guia-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block}
/* roteiro: rua com as 7 paradas do guia */
.roteiro{position:relative;background:#0E1420;color:#fff;padding:18px 16px 20px}
.roteiro-t{display:block;max-width:1200px;margin:0 auto 12px;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#98A2B8}
.roteiro ol{position:relative;list-style:none;margin:0 auto;padding:0;max-width:1200px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}
.roteiro ol::-webkit-scrollbar{display:none}
.roteiro li{flex:none;scroll-snap-align:start}
.roteiro a{display:flex;align-items:center;gap:10px;padding:9px 14px 9px 9px;border-radius:999px;background:#fff;color:#0E1420;border:2px solid #fff;font:700 14px/1 var(--body);text-decoration:none;white-space:nowrap;transition:transform 160ms var(--ease-out),background-color 160ms ease}
.roteiro a i{font-style:normal;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--orange);color:#0E1420;font:800 13px/1 var(--display)}
.roteiro a:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.roteiro a:hover{background:var(--orange)}.roteiro a:hover i{background:#fff}}
/* estradinha de leitura presa no alto */
.guia-leitura{position:sticky;top:0;z-index:5;margin:0 calc(50% - 50vw);height:0}
.guia-leitura .pista{height:22px;opacity:0;transition:opacity 200ms ease}
.guia-leitura .pista::before,.guia-leitura .pista::after{height:2px}
.guia-leitura .pista::before{top:2px}.guia-leitura .pista::after{bottom:2px}
.guia-leitura .pista-centro{height:2px;top:calc(50% - 1px);background-size:auto;background:repeating-linear-gradient(90deg,#fff 0 12px,transparent 12px 24px)}
.guia-leitura .pista-carro{width:36px;height:18px;top:2px;left:0}
@supports (animation-timeline: scroll()){
  @media (prefers-reduced-motion:no-preference){
    .guia-leitura .pista{opacity:1;animation:qd-aparece linear both;animation-timeline:--leitura;animation-range:0 12%}
    #s-guia-cnh{scroll-timeline:--leitura block}
    .guia-leitura .pista-carro{animation:qd-le linear both;animation-timeline:--leitura}
  }
}
@keyframes qd-aparece{from{opacity:0}to{opacity:1}}
@keyframes qd-le{from{left:0}to{left:calc(100% - 36px)}}
/* cada título do texto é uma parada */
#s-guia-cnh .artigo{margin-top:40px;counter-reset:parada}
#s-guia-cnh .artigo > h2{counter-increment:parada;scroll-margin-top:34px;padding-top:34px;border-top:2px dashed var(--line)}
#s-guia-cnh .artigo > h2::before{content:"Parada " counter(parada);display:block;margin-bottom:8px;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
@media (min-width:960px){
  .guia-topo{margin-top:-56px}
  .guia-topo-in{grid-template-columns:1.25fr .75fr;gap:56px;padding:56px 32px 44px}
  .roteiro{padding:20px 32px 22px}
  .roteiro ol{flex-wrap:wrap}
}

/* =========================================================
   INSTRUTOR · INÍCIO (26/09): espaço escuro. O protagonista é o celular
   do instrutor recebendo pedidos (cartões de exemplo que chegam um a um,
   ao lado da foto). "O que você ganha" em grade; planos em cartões.
   ========================================================= */
.ins-topo{position:relative;margin:-28px calc(50% - 50vw) 0;background:#070B14;color:#fff;overflow:hidden}
.ins-topo-in{max-width:1200px;margin:0 auto;padding:32px 16px 44px;display:grid;gap:36px;align-items:center}
.ins-topo .tracejado{font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#C9D1E3}
.ins-topo h1{margin-top:16px;font:800 clamp(40px,9vw,84px)/1.06 var(--display);letter-spacing:-.045em;color:#fff}
.ins-topo h1 em{font-style:normal;color:var(--orange)}
.ins-lede{margin-top:18px;max-width:54ch;font-size:17px;line-height:1.55;color:#C9D1E3}
.ins-lede b{color:#fff}
.ins-topo .actions{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px}
/* cena: foto + celular com cartões chegando */
.ins-cena{position:relative;justify-self:center;width:100%;max-width:460px;min-height:440px}
.ins-foto{position:absolute;left:0;top:0;width:72%;aspect-ratio:4/5;margin:0;border:2px solid #fff;border-radius:22px;overflow:hidden;transform:rotate(-3deg);box-shadow:0 8px 0 var(--orange);animation:qd-entra 460ms var(--ease-out) 100ms both}
.ins-foto img{width:100%;height:100%;object-fit:cover;display:block}
.ins-cel{position:absolute;right:0;bottom:0;width:62%;min-width:220px;padding:14px 12px 16px;border-radius:30px;background:#F2F4F9;color:#0E1420;border:3px solid #0E1420;box-shadow:0 0 0 6px #2A3550,0 10px 0 6px #000;display:grid;gap:10px;animation:qd-entra 460ms var(--ease-out) 220ms both}
.cel-topo{display:flex;align-items:center;gap:8px;font:700 13px/1 var(--display)}
.cel-topo svg{width:22px;height:22px}
.cel-topo em{margin-left:auto;font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;font-style:normal;padding:4px 7px;border-radius:999px;background:#E9EDF5;color:#586177}
.cel-card{display:grid;gap:3px;padding:11px 12px;border-radius:14px;background:#fff;border:1.5px solid #D6DCE8;animation:qd-chip 520ms cubic-bezier(.34,1.56,.64,1) var(--d) both}
.cel-card.c1{--d:700ms}
.cel-card.c2{--d:1300ms}
.cel-card.c3{--d:1900ms}
.cel-rot{display:flex;align-items:center;gap:5px;font:500 10.5px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#586177}
.cel-rot.verde{color:#138A52}
.cel-rot em{margin-left:auto;font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;font-style:normal;padding:4px 7px;border-radius:999px;background:#E9EDF5;color:#586177}
.cel-card b{font:700 15px/1.2 var(--display)}
.cel-card small{font-size:12.5px;color:#586177}
.estrelas{color:var(--orange);letter-spacing:2px}
.cel-wa{border:2px solid var(--wa);box-shadow:0 3px 0 var(--wa)}
.cel-wa .cel-rot{color:var(--wa-ink)}
.cel-wa .cel-rot svg{width:14px;height:14px;color:var(--wa)}
.cel-wa small{font-style:italic;color:#0E1420}
.cel-painel{gap:8px}
.cel-stat{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline}
.cel-stat b{font-size:14px}
.cel-stat i{grid-column:1/-1;position:relative;margin-top:3px;height:4px;border-radius:99px;background:#E9EDF5;overflow:hidden;font-style:normal}
.cel-stat i::after{content:"";position:absolute;inset:0;right:auto;width:var(--v,60%);background:var(--blue);border-radius:99px}
/* a gente cuida · você só */
.ins-deal{margin-top:48px}
.ins-deal .deal{gap:14px}
@media (min-width:900px){.ins-deal .deal{grid-template-columns:1.3fr 1fr;align-items:stretch}.ins-deal .deal-you{align-content:center}}
.ins-deal .deal-col{border:2px solid var(--text);box-shadow:0 5px 0 #000}
.ins-deal .deal-you{border-color:#0E1420}
/* por que ser parceiro */
#s-i-inicio .feat{border:1.5px solid var(--line);background:var(--surface)}
#s-i-inicio .feat svg{color:var(--orange)}
/* o que você ganha: grade de cartões */
.artigo .ganhos{list-style:none;padding:0;margin-top:16px;display:grid;gap:10px;max-width:none}
.ganhos li{padding:14px 16px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line);font-size:15px;color:var(--muted)}
.ganhos li b{display:block;margin-bottom:4px;font:700 16px/1.25 var(--display);color:var(--text)}
/* planos em cartões */
.planos{margin-top:16px;display:grid;gap:18px}
.plano{position:relative;padding:22px 20px;border-radius:18px;background:var(--surface);border:2px solid var(--line)}
.artigo .plano h3{margin:0;font:800 22px/1 var(--display);letter-spacing:-.02em}
.artigo .plano .pl-preco{margin-top:12px;font-size:16px;color:var(--muted)}
.pl-preco b{font:800 44px/1 var(--display);letter-spacing:-.04em;color:var(--text)}
.artigo .plano .pl-oferta{margin-top:10px;font-size:14.5px;color:var(--muted)}
.pl-oferta b{color:var(--text)}
.artigo .plano ul{list-style:none;padding:0;margin-top:16px;display:grid;gap:8px}
.plano li{position:relative;padding-left:28px;font-size:15px}
.plano li::before{position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font:800 12px/1 var(--display)}
.plano li.sim::before{content:"✓";background:var(--ok);color:#fff}
.plano li.nao{color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(152,162,184,.5)}
.plano li.nao::before{content:"–";background:var(--sunk);color:var(--muted)}
.plano li em{font-style:normal;font-weight:700;color:var(--text)}
.plano-top{background:var(--orange);color:#0E1420;border-color:#0E1420;box-shadow:0 6px 0 #000}
.plano-top .pl-preco b,.plano-top .pl-oferta b,.plano-top li em{color:#0E1420}
.artigo .plano-top .pl-preco,.artigo .plano-top .pl-oferta{color:rgba(14,20,32,.78)}
.plano-top li.sim::before{background:#0E1420;color:var(--orange)}
.pl-selo{position:absolute;top:-14px;right:16px;transform:rotate(3deg)}
@media (min-width:760px){.planos{grid-template-columns:1fr 1fr;align-items:start}.artigo .ganhos{grid-template-columns:1fr 1fr}}
@media (min-width:960px){
  .ins-topo{margin-top:-56px}
  .ins-topo-in{grid-template-columns:1.1fr .9fr;gap:56px;padding:56px 32px 64px}
  .ins-lede{font-size:19px}
  .ins-cena{min-height:520px}
  #s-i-inicio .artigo{max-width:980px}
  #s-i-inicio .artigo > p,#s-i-inicio .artigo > ul:not(.ganhos),#s-i-inicio .artigo > ol{max-width:66ch}
}

/* =========================================================
   INSTRUTOR · COMO FUNCIONA (26/09): página "rua". Rua com 4 paradas e o
   carro indo de uma a outra; os passos logo abaixo, um por parada.
   ========================================================= */
.icf-topo{position:relative;margin:-28px calc(50% - 50vw) 0;background:#070B14;color:#fff;overflow:hidden}
.icf-topo-in{max-width:1200px;margin:0 auto;padding:32px 16px 30px}
.icf-topo .tracejado{font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#C9D1E3}
.icf-topo h1{margin-top:16px;font:800 clamp(42px,10vw,96px)/1.02 var(--display);letter-spacing:-.045em;color:#fff}
.icf-topo h1 em{font-style:normal;color:var(--orange)}
.icf-pista{height:120px;border-top:2px solid #2A3550}
.icf-pista{--m:16px}
.icf-parada{position:absolute;left:calc((100% - min(100%,1200px)) / 2 + var(--m) + (min(100%,1200px) - 2 * var(--m)) * var(--f));top:10px;translate:-50% 0;z-index:2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#0E1420;border:2px solid #0E1420;box-shadow:0 3px 0 var(--orange);font:800 15px/1 var(--display)}
.icf-parada.fim{background:var(--orange)}
.icf-pista .pista-carro{left:calc((100% - min(100%,1200px)) / 2 + var(--m) + (min(100%,1200px) - 2 * var(--m)) * .125 - 52px);top:calc(50% + 6px);width:104px;height:50px;animation:qd-percurso 4.2s var(--ease-in-out) 500ms both}
@keyframes qd-percurso{
  0%{left:calc((100% - min(100%,1200px)) / 2 + var(--m) + (min(100%,1200px) - 2 * var(--m)) * .125 - 52px)}
  18%,28%{left:calc((100% - min(100%,1200px)) / 2 + var(--m) + (min(100%,1200px) - 2 * var(--m)) * .375 - 52px)}
  46%,56%{left:calc((100% - min(100%,1200px)) / 2 + var(--m) + (min(100%,1200px) - 2 * var(--m)) * .625 - 52px)}
  76%,100%{left:calc((100% - min(100%,1200px)) / 2 + var(--m) + (min(100%,1200px) - 2 * var(--m)) * .875 - 52px)}
}
/* passos: um por parada, com número em faixinha */
.icf-passos{margin-top:28px}
.icf-passos li{background:var(--surface);border:1.5px solid var(--line)}
.icf-passos li::before{border-radius:3px;border-width:1.5px;background:#fff;color:#0E1420;font-family:var(--display);font-weight:800;transform:rotate(-4deg);box-shadow:0 3px 0 var(--orange)}
.icf-passos li:last-child{background:var(--orange);color:#0E1420;border-color:#0E1420;box-shadow:0 5px 0 #000}
.icf-passos li:last-child p{color:rgba(14,20,32,.78)}
#s-i-como .checks{background:var(--surface);border:1.5px solid var(--line)}
@media (min-width:960px){
  .icf-topo{margin-top:-56px}
  .icf-topo-in{padding:56px 32px 40px}
  .icf-pista{height:140px;--m:32px}
  .icf-passos{grid-template-columns:repeat(4,1fr)}
}

/* =========================================================
   INSTRUTOR · CADASTRO (26/09): tela de trabalho, toque leve.
   Título que pula, etapas em faixinhas ligadas por uma rua e a barra
   do formulário como tracejado de rua que fica laranja ao avançar.
   ========================================================= */
.cad-rot{font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#s-i-cadastro .page-title{margin-top:14px;font-size:clamp(38px,8vw,64px);font-weight:800;letter-spacing:-.045em;line-height:1.04}
#s-i-cadastro .page-title em{font-style:normal;color:var(--orange)}
.cad-etapas{position:relative;margin-top:26px}
.cad-etapas::before{content:"";position:absolute;left:30px;top:24px;bottom:24px;width:8px;border-radius:2px;background:#000 repeating-linear-gradient(180deg,#fff 0 6px,transparent 6px 12px) center/2px 100% no-repeat}
.cad-etapas li{position:relative;background:var(--surface);border:1.5px solid var(--line)}
.cad-etapas li::before{position:relative;z-index:1;border-radius:3px;background:#fff;color:#0E1420;font-family:var(--display);font-weight:800;transform:rotate(-4deg);box-shadow:0 3px 0 var(--orange)}
#s-i-cadastro .cad-etapas{grid-template-columns:1fr}
#s-i-cadastro .cad-etapas li{grid-template-columns:34px 1fr;gap:14px;align-items:center}
#s-i-cadastro [data-open-wizard]{min-height:60px;font-size:15px;box-shadow:0 4px 0 #000}
/* barra do formulário: tracejado de rua */
.wiz-bar{gap:6px}
.wiz-bar i{height:6px;border-radius:1px;background:var(--line)}

/* =========================================================
   INSTRUTOR · DÚVIDAS (26/09): página "faixa". O protagonista é a
   conversa com a equipe: pergunta = balão laranja do instrutor,
   resposta = balão da equipe; no topo, a equipe "digitando".
   ========================================================= */
.idv-topo{position:relative;margin:-28px calc(50% - 50vw) 0;background:#070B14;color:#fff;overflow:hidden}
.idv-topo-in{max-width:1200px;margin:0 auto;padding:32px 16px 40px;display:grid;gap:26px;align-items:end}
.idv-topo .tracejado{font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#C9D1E3}
.idv-topo h1{margin-top:16px;font:800 clamp(40px,9vw,84px)/1.04 var(--display);letter-spacing:-.045em;color:#fff}
.idv-topo h1 em{font-style:normal;color:var(--orange)}
.idv-intro{margin-top:16px;max-width:48ch;font-size:17px;color:#C9D1E3}
.idv-digitando{justify-self:start;display:grid;gap:8px;padding:14px 18px;border-radius:20px 20px 20px 6px;background:#fff;color:#0E1420;border:2px solid #0E1420;box-shadow:0 4px 0 var(--orange);animation:qd-chip 480ms cubic-bezier(.34,1.56,.64,1) 500ms both}
.idv-quem{display:flex;align-items:center;gap:8px;font:700 13px/1 var(--display)}
.idv-quem svg{width:22px;height:22px}
.idv-pontos{display:flex;gap:6px}
.idv-pontos i{width:9px;height:9px;border-radius:50%;background:#98A2B8}
@media (prefers-reduced-motion:no-preference){
  .idv-pontos i{animation:qd-ponto 1.1s ease-in-out infinite}
  .idv-pontos i:nth-child(2){animation-delay:.15s}.idv-pontos i:nth-child(3){animation-delay:.3s}
}
@keyframes qd-ponto{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-5px);opacity:1}}
/* a conversa */
.faq.conversa{margin-top:36px;display:grid;gap:16px;max-width:780px}
.conversa details,.conversa details:last-of-type{border:0;padding:0}
.conversa summary{justify-content:flex-end;margin-left:auto;max-width:88%;width:max-content;padding:12px 14px 12px 18px;border-radius:20px 20px 6px 20px;background:var(--orange);color:#0E1420;border:2px solid #0E1420;box-shadow:0 3px 0 #000;font-size:16px;text-align:right}
.conversa summary::after{width:26px;height:26px;border-color:#0E1420;color:#0E1420;font-size:17px;background:#fff}
.conversa details[open] summary::after{background:#0E1420;color:var(--orange)}
.conversa details p{position:relative;max-width:88%;margin-top:10px;padding:26px 16px 14px;border-radius:20px 20px 20px 6px;background:var(--surface);border:1.5px solid var(--line);color:var(--text)}
.conversa details p::before{content:"Equipe Quero Dirigir";position:absolute;left:16px;top:9px;font:500 10.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--orange)}
@media (prefers-reduced-motion:no-preference){.conversa details[open] p{animation:qd-bolha 320ms var(--ease-out)}}
@keyframes qd-bolha{from{opacity:0;transform:translateY(8px) scale(.97);transform-origin:left top}}
#s-i-duvidas .contact{max-width:780px;margin-top:32px;border:2px solid var(--text);box-shadow:0 5px 0 #000;background:var(--surface)}
#s-i-duvidas .crossover{max-width:780px}
@media (min-width:960px){
  .idv-topo{margin-top:-56px}
  .idv-topo-in{grid-template-columns:1.3fr .7fr;gap:48px;padding:56px 32px 56px}
  .idv-digitando{justify-self:end;margin-bottom:10px}
}

/* =========================================================
   GUIA "COMO SE TORNAR INSTRUTOR" (26/09, espaço do instrutor, "rua"):
   carteirinha de instrutor que recebe o carimbo CREDENCIADO.
   GUIA "INSTRUTOR CREDENCIADO EM SP" (26/09, espaço do aluno, "faixa"):
   cartão de perfil de exemplo onde o selo "Credencial Detran verificada" encaixa.
   ========================================================= */
.cred-topo,.isp-topo{position:relative;margin:-28px calc(50% - 50vw) 0;overflow:hidden}
.cred-topo{background:#070B14;color:#fff}
.cred-topo-in,.isp-topo-in{max-width:1200px;margin:0 auto;padding:32px 16px 44px;display:grid;gap:32px;align-items:center}
.cred-topo .tracejado{font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#C9D1E3}
.cred-topo h1,.isp-topo h1{margin-top:16px;font:800 clamp(36px,7.6vw,72px)/1.06 var(--display);letter-spacing:-.04em}
.cred-topo h1 em{font-style:normal;color:var(--orange)}
.cred-intro{margin-top:18px;max-width:54ch;font-size:17px;line-height:1.55;color:#C9D1E3}
.cred-cartao{position:relative;justify-self:center;width:100%;max-width:400px;display:grid;grid-template-columns:96px 1fr;gap:12px 16px;padding:20px;border-radius:18px;background:#F2F4F9;color:#0E1420;border:2px solid #0E1420;box-shadow:0 8px 0 var(--orange);transform:rotate(-2deg);animation:qd-entra 460ms var(--ease-out) 120ms both}
.cc-topo{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:2px dashed #B9C2D3;font:800 14px/1 var(--display);text-transform:uppercase;letter-spacing:.04em}
.cc-topo svg{width:26px;height:26px}
.cc-topo em{margin-left:auto;font:500 10px/1 var(--mono);font-style:normal;letter-spacing:.06em;color:#586177;padding:4px 7px;border-radius:999px;background:#E9EDF5}
.cc-foto{display:grid;place-items:center;height:116px;border-radius:10px;background:#E4EBFD;color:#1F4FE0}
.cc-foto svg{width:52px;height:52px}
.cc-linhas{display:grid;gap:10px;align-content:center}
.cc-linhas i{height:10px;border-radius:5px;background:#D6DCE8}
.cc-linhas i.curta{width:60%}
.cc-itens{grid-column:1/-1;display:grid;gap:6px;font-size:14px}
.cc-itens b{font-weight:700}
.cc-carimbo{position:absolute;right:-10px;top:42%;padding:8px 14px;border:4px solid #138A52;border-radius:8px;color:#138A52;background:rgba(242,244,249,.85);font:800 22px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;transform:rotate(-14deg);animation:qd-carimbo 520ms cubic-bezier(.34,1.56,.64,1) 900ms both}
@keyframes qd-carimbo{from{opacity:0;transform:rotate(-14deg) scale(2.2)}60%{opacity:1}}
#s-guia-instrutor .artigo{margin-top:40px;counter-reset:parada}
#s-guia-instrutor .artigo > h2{counter-increment:parada;padding-top:30px;border-top:2px dashed var(--line)}
#s-guia-instrutor .artigo > h2::before{content:"Parada " counter(parada);display:block;margin-bottom:8px;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
/* guia do aluno: instrutor credenciado */
.isp-topo{background:var(--orange);color:#0E1420}
.isp-topo .faixa-tag{animation:qd-cola 320ms var(--ease-out) 40ms both}
.isp-topo h1 em{font-style:normal;background:#fff;padding:0 .12em;border:.04em solid #0E1420;border-radius:.06em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.isp-intro{margin-top:18px;max-width:54ch;font-size:17px;line-height:1.55}
.isp-perfil{position:relative;justify-self:center;width:100%;max-width:400px;display:grid;gap:14px;padding:20px;border-radius:20px;background:#fff;color:#0E1420;border:2px solid #0E1420;box-shadow:0 8px 0 #0E1420;animation:qd-entra 460ms var(--ease-out) 120ms both}
.ip-exemplo{justify-self:end;font:500 10px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#586177;padding:4px 7px;border-radius:999px;background:#E9EDF5}
.ip-cab{display:flex;align-items:center;gap:12px}
.ip-cab b{display:block;font:800 18px/1.1 var(--display)}
.ip-cab small{font-size:13px;color:#586177}
.ip-foto{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#E4EBFD;color:#1F4FE0;flex:none}
.ip-foto svg{width:30px;height:30px}
.ip-selo{display:flex;align-items:center;gap:8px;justify-self:start;padding:9px 13px;border-radius:999px;background:#138A52;color:#fff;border:2px solid #0E1420;box-shadow:0 3px 0 #0E1420;font:700 14px/1 var(--body);animation:qd-chip 560ms cubic-bezier(.34,1.56,.64,1) 800ms both}
.ip-selo svg{width:18px;height:18px}
.ip-conferir{display:grid;gap:6px;padding-top:12px;border-top:2px dashed #D6DCE8;font-size:14px}
.ip-conferir b{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#586177}
.ip-conferir i{font-style:normal;font-weight:600}
#s-guia-instrutor-sp .artigo{margin-top:40px;counter-reset:kh}
#s-guia-instrutor-sp .artigo > h2{counter-increment:kh;display:flex;align-items:center;gap:12px}
#s-guia-instrutor-sp .artigo > h2::before{content:counter(kh,decimal-leading-zero);flex:none;padding:6px 8px 5px;background:#fff;border:1.5px solid #0E1420;border-radius:3px;box-shadow:0 2px 0 var(--orange);font:800 13px/1 var(--display);letter-spacing:.06em;color:#0E1420;transform:rotate(-3deg)}
@media (min-width:960px){
  .cred-topo,.isp-topo{margin-top:-56px}
  .cred-topo-in,.isp-topo-in{grid-template-columns:1.2fr .8fr;gap:56px;padding:56px 32px 64px}
  .cred-intro,.isp-intro{font-size:19px}
}

/* =========================================================
   INSTRUTOR · ENTRAR e PAINEL (26/09): telas de trabalho, toque leve.
   Entrar: título que pula e cartão com borda e sombra dura.
   Painel: números como mostrador (rolam quando mudam), abas com a
   selecionada em laranja, foto com anel e cabeçalho mais forte.
   ========================================================= */
.ent-rot{font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#s-i-login .page-title{margin-top:14px;font-size:clamp(40px,9vw,64px);font-weight:800;letter-spacing:-.045em;line-height:1.02}
#s-i-login .page-title em{font-style:normal;color:var(--orange)}
.ent-form{margin-top:22px;padding:22px 20px;border-radius:20px;background:var(--surface);border:2px solid var(--text);box-shadow:0 6px 0 #000}
/* painel */
#s-i-painel .prof-head h1{font-size:clamp(28px,6vw,44px);font-weight:800;letter-spacing:-.035em}
#s-i-painel .prof-photo{box-shadow:0 0 0 4px var(--page),0 0 0 6px var(--orange)}
#s-i-painel .prof-stats div{background:#070B14;border:2px solid #2A3550;box-shadow:inset 0 0 0 4px #0E1420}
#s-i-painel .prof-stats b{color:var(--orange);font-size:28px}
#s-i-painel .prof-stats span{font:500 11px/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:#98A2B8}
#s-i-painel .prof-tabs{background:#070B14;border:1.5px solid #2A3550}
#s-i-painel .prof-tabs button{transition:background-color 160ms ease,color 160ms ease}
#s-i-painel .prof-tabs button[aria-selected="true"]{background:var(--orange);color:#0E1420;box-shadow:0 2px 0 #000}
#s-i-painel .prof-activate{border:2px solid var(--orange);box-shadow:0 4px 0 #000}

/* =========================================================
   PRÉ-LANÇAMENTO (26/09/2026) · html.pre vem do molde (window.QD_PRE)
   ========================================================= */
.so-pre{display:none!important}
html.pre .so-pre{display:block!important}
html.pre .fab-calc,html.pre .fab-duvidas{display:none}

/* abas do aluno que ainda não abrem: selo discreto "Em desenvolvimento" no lugar do nome (reto, cinza, sem faixa de obra) */
.em-dev{position:relative;cursor:not-allowed}
.em-dev > *{visibility:hidden}
.topnav a.em-dev{font-size:0!important;background:none!important;box-shadow:none!important;border:0!important;padding-inline:4px!important}
.topnav a.em-dev::after{position:static;transform:none;display:inline-block}
.em-dev::after{content:"Em desenvolvimento";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  padding:4px 9px;white-space:nowrap;border:1px solid var(--line);border-radius:6px;background:var(--sunk);color:var(--muted);
  font:600 11px/1.2 var(--body);letter-spacing:.01em;pointer-events:none}
.tab.em-dev::after{content:"Em\A desenvolvimento";white-space:pre;text-align:center;font-size:8px;line-height:1.3;letter-spacing:0;
  left:3px;right:3px;transform:translateY(-50%);padding:5px 1px;overflow:hidden}

/* convite no topo do Instrutor */
html.pre .pre-convite.so-pre{display:inline-flex!important}
.pre-convite{margin-top:14px;flex-wrap:wrap;gap:4px 8px;align-items:center;padding:8px 12px;border:1.5px solid var(--orange);border-radius:6px;
  color:#fff;font-size:13.5px;background:color-mix(in srgb,var(--orange) 16%,transparent)}
.pre-convite b{color:var(--orange);font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;font-size:12.5px}
html:not(.pre) .pre-convite{display:none!important}

/* Aulas: aviso de prévia */
.pre-aviso{margin-top:22px;border:2px solid var(--text);border-radius:14px;padding:14px 16px;background:var(--surface);box-shadow:0 5px 0 var(--text)}
html.pre .pre-aviso{display:flex!important;gap:12px;align-items:flex-start}
.pre-aviso .faixa-tag{flex:none;background:#FFD400}
/* no pré-lançamento o aviso fica entre o topo e a busca: a busca deixa de subir por cima dele */
html.pre .busca-aulas{margin-top:18px!important}
.pre-aviso p{font-size:14.5px;line-height:1.5}
.pre-aviso a{color:var(--blue-ink);font-weight:600}
.chip-mulher[aria-pressed="true"]{background:#B8326A;border-color:#B8326A;color:#fff}
.vtag-mulher{background:color-mix(in srgb,#B8326A 14%,transparent);color:#B8326A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .vtag-mulher{color:#FF8DBA}}

/* Painel: "o site abre em breve" */
.pre-painel{margin-top:18px;border:2px solid var(--text);border-radius:18px;overflow:hidden;background:var(--surface);box-shadow:0 6px 0 var(--text)}
.pre-painel .fita{border-block:0;border-bottom:2px solid var(--text)}
.pre-painel-in{padding:18px 18px 20px}
.pre-painel h2{margin-top:12px;font-size:clamp(22px,4.6vw,30px);line-height:1.15;letter-spacing:-.02em}
.pre-painel p{margin-top:10px;color:var(--muted);font-size:15px;max-width:60ch}
.pre-painel p b{color:var(--text)}
.pre-passos{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px;counter-reset:pp}
.pre-passos li{counter-increment:pp;display:grid;grid-template-columns:34px 1fr;column-gap:12px;align-items:start}
.pre-passos li::before{content:counter(pp);grid-row:span 2;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  border:2px solid var(--text);font:800 14px var(--display);background:var(--surface)}
.pre-passos li.feito::before{content:"✓";background:var(--orange);color:#0E1420}
.pre-passos b{font-family:var(--display);font-size:15px}
.pre-passos small{color:var(--muted);font-size:13.5px}
html.pre .prof-stats,
html.pre .prof-tabs [data-ptab="pedidos"],html.pre .prof-tabs [data-ptab="avaliacoes"],html.pre .prof-tabs [data-ptab="resultados"]{display:none}
@media (min-width:760px){.pre-passos{grid-template-columns:repeat(4,1fr)}}

/* Cadastro: fotos do veículo */
.c-fotos{margin-top:12px}
.c-fotos .lbl-s{width:100%}
.c-foto-lbl{display:inline-flex;align-items:center;gap:8px}
.c-foto-prev{width:0;height:44px;border-radius:8px;background:center/cover no-repeat var(--sunk)}
.c-foto-prev.has{width:64px}

/* =========================================================
   INSTRUTOR · DIVULGAÇÃO POR NOSSA CONTA (26/09/2026)
   Protagonista: um "radar" com você no centro e os canais levando alunos até você
   ========================================================= */
.ins-mkt{margin-top:0}
.ins-mkt .grid{padding-block:56px}
.ins-mkt h2{font-size:clamp(28px,5.4vw,46px);line-height:1.05;letter-spacing:-.03em;max-width:15ch;margin-top:14px}
.mkt-canais{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.mkt-canais li{display:grid;grid-template-columns:40px 1fr;column-gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.28)}
.mkt-canais svg{grid-row:span 2;width:40px;height:40px;padding:8px;border-radius:12px;background:#fff;color:var(--blue)}
.mkt-canais b{font-family:var(--display);font-size:16px;color:#fff}
.mkt-canais small{color:rgba(255,255,255,.85);font-size:13.5px;line-height:1.4}
.mkt-radar{position:relative;margin:0;aspect-ratio:1;width:min(100%,440px);justify-self:center;align-self:center}
.mkt-onda{position:absolute;inset:0;margin:auto;border-radius:50%;border:2px dashed rgba(255,255,255,.45)}
.mkt-onda:nth-child(1){width:34%;height:34%}
.mkt-onda:nth-child(2){width:64%;height:64%;border-style:solid;border-color:rgba(255,255,255,.22)}
.mkt-onda:nth-child(3){width:94%;height:94%;border-color:rgba(255,255,255,.3)}
.mkt-voce{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:4px;z-index:2}
.mkt-voce svg{width:78px;height:78px;border-radius:50%;background:var(--orange);padding:12px;border:3px solid #0E1420;box-shadow:0 5px 0 #0E1420}
.mkt-voce b{font:800 12px var(--display);letter-spacing:.1em;text-transform:uppercase;background:#0E1420;color:#fff;padding:3px 8px;border-radius:4px}
.mkt-ponto{position:absolute;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--blue);display:grid;place-items:center;border:2px solid #0E1420;box-shadow:0 4px 0 #0E1420}
.mkt-ponto svg{width:24px;height:24px}
.mkt-ponto.p1{left:6%;top:24%}.mkt-ponto.p2{right:4%;top:30%}.mkt-ponto.p3{left:14%;bottom:12%}.mkt-ponto.p4{right:16%;bottom:6%}
.mkt-aluno{position:absolute;padding:6px 10px 5px;border-radius:999px;background:#0E1420;color:#fff;font:600 12px var(--display);white-space:nowrap;border:1.5px solid rgba(255,255,255,.5)}
.mkt-aluno::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#3CC985;margin-right:6px;vertical-align:1px}
.mkt-aluno.a1{left:36%;top:4%}.mkt-aluno.a2{left:0;top:52%}.mkt-aluno.a3{right:0;top:62%}
@media (min-width:900px){
  .ins-mkt .grid{grid-template-columns:1.1fr .9fr;align-items:center}
  .mkt-canais{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:no-preference){
  .mkt-onda{animation:qd-onda 3.6s var(--ease-out) infinite}
  .mkt-onda:nth-child(2){animation-delay:.5s}.mkt-onda:nth-child(3){animation-delay:1s}
  .mkt-ponto{animation:qd-boia 1.8s ease-in-out infinite alternate}
  .mkt-ponto.p2{animation-delay:.4s}.mkt-ponto.p3{animation-delay:.8s}.mkt-ponto.p4{animation-delay:1.2s}
  .mkt-aluno{animation:qd-chega-aluno 5.4s var(--ease-out) infinite both}
  .mkt-aluno.a2{animation-delay:1.8s}.mkt-aluno.a3{animation-delay:3.6s}
}
@keyframes qd-onda{0%{transform:scale(.92);opacity:.4}50%{transform:scale(1);opacity:1}100%{transform:scale(.92);opacity:.4}}
@keyframes qd-chega-aluno{0%{opacity:0;translate:0 10px}12%,70%{opacity:1;translate:0 0}85%,100%{opacity:0;translate:0 -6px}}

/* campo escondido continua escondido (o display:grid do .fld passava por cima do atributo hidden: "Cilindrada" aparecia no carro) */
.fld[hidden]{display:none}

/* =========================================================
   INSTRUTOR LOGADO (html.logado: molde + montarNavegacao no app.js)
   Some a aba Cadastro e os convites; aparece o agradecimento
   ========================================================= */
html:not(.logado) .so-logado{display:none!important}
html.logado .so-visitante{display:none!important}
html.pre.logado .pre-convite.so-pre{display:none!important}
html.logado [data-aba="i-cadastro"]{display:none!important}
html.logado body[data-space="instrutor"] .tabbar{grid-template-columns:repeat(4,1fr)}
.obrigado{margin-top:24px;display:grid;gap:12px;justify-items:start;max-width:560px;padding:16px 18px;border:1.5px solid rgba(255,255,255,.35);border-radius:14px;background:rgba(255,255,255,.06)}
.obrigado p{color:rgba(255,255,255,.88);font-size:15.5px;line-height:1.5}
.obrigado p b{color:#fff}

/* =========================================================
   PREMIUM (26/09/2026) · sutil, mas com o valor visível
   ========================================================= */
/* busca: os 3 do topo em rodízio e a oferta no cartão */
.icard-destaque{box-shadow:inset 3px 0 0 var(--orange)}
.i-destaque{display:inline-block;margin-left:2px;font:600 11px/1.2 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.i-oferta{display:block;margin-top:6px;width:fit-content;max-width:100%;padding:4px 9px;border-radius:6px;font-size:12.5px;font-weight:600;
  background:color-mix(in srgb,var(--orange) 14%,transparent);color:var(--text);border:1px solid color-mix(in srgb,var(--orange) 45%,transparent)}
/* perfil do instrutor: vitrine */
.sp-vitrine{display:grid;gap:12px}
.sp-oferta{display:flex;gap:10px;align-items:center;font-weight:600;color:var(--text)}
.sp-oferta .faixa-tag{flex:none;font-size:10.5px;padding:4px 8px 3px;transform:none;background:var(--orange)}
.sp-video{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;border:1.5px solid var(--line)}
.sp-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sp-galeria{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,46%);gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.sp-galeria img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;scroll-snap-align:start}
/* painel: cartões do Premium com uma linha laranja discreta e o selo de estado */
.pcard-premium{border-left:3px solid var(--orange)}
.pcard-head .b-prem-estado{font:600 11px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;padding:5px 8px;border-radius:6px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.b-prem-estado.on{border-color:var(--orange);color:var(--orange)}
.gal-edit{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.gal-item{position:relative}
.gal-item img{width:84px;height:56px;object-fit:cover;border-radius:8px;display:block}
.gal-x{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:var(--text);color:var(--ground);font-size:14px;line-height:1;cursor:pointer}
.demanda-num{margin-top:10px;font-size:15px;color:var(--muted)}
.demanda-num b{font:800 30px/1 var(--display);color:var(--text);margin-right:4px;vertical-align:-3px}
.demanda-comp{margin-top:12px;font-size:14px;padding:10px 12px;border-radius:10px;background:var(--sunk)}
#p-arte{margin-top:10px}
