/* Delta · CSS base gerado dos scripts do site (build-home.py + build-paginas.py). Não editar à mão. */

/* ===== FACE ===== */
/* General Sans, variável, 200 a 700 num arquivo só. Vai embutida
   porque a página publicada só aceita fonte do Google ou embutida. */
@font-face{
  font-family:"General Sans";
  src:url("../fonts/7b5937ef1917.woff2") format("woff2");
  font-weight:200 700;
  font-style:normal;
  font-display:swap;
}

/* ===== CSS ===== */

:root{
  --page:      #080807;
  --preto:     #080807;
  --cinza:     #161312;
  --panel:     #131110;
  --panel-2:   #1A1817;
  --line:      #2B2725;
  --line-soft: #211E1C;
  --ink:       #F3F0EF;
  --ink-mid:   #A9A29F;
  --ink-dim:   #6F6866;
  --delta:     #FF503F;

  --f-display: "apotek", "Apotek", "General Sans", "Helvetica Neue", Arial, sans-serif;
  --f-body:    "General Sans", "Helvetica Neue", Arial, sans-serif;
  --f-mono:    "IBM Plex Mono", ui-monospace, Menlo, monospace;

  --r:   22px;
  --pad: clamp(1.25rem, 3.2vw, 2.75rem);
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{
  margin:0; background:var(--page); color:var(--ink);
  font-family:var(--f-body); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

/* pilha sem folga: as seções sangram de ponta a ponta */
.p-stack{ display:block; padding:0; }
.p-in{ max-width:1280px; margin-inline:auto; }

.p-eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.6875rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-dim); margin:0;
}

.p-pill{
  display:inline-flex; align-items:center; gap:.45rem;
  border-radius:999px; border:1px solid transparent;
  font-family:var(--f-body); font-weight:600; font-size:.8125rem;
  padding:.72rem 1.35rem; text-decoration:none; white-space:nowrap;
  transition:background .2s ease, border-color .2s ease;
}
.p-pill--solid{ background:var(--delta); color:#150F0E; }
.p-pill--solid:hover{ background:#FF6A5B; }
.p-pill--soft{ background:rgba(255,255,255,.06); color:var(--ink); border-color:rgba(255,255,255,.18); }
.p-pill--soft:hover{ border-color:rgba(255,255,255,.4); }
.p-pill--light{ background:var(--ink); color:#12100F; }
.p-pill--light:hover{ background:#FFF; }
.p-pill--dark{ background:#12100F; color:var(--ink); }
.p-pill:focus-visible, .p-nav a:focus-visible, .p-logo:focus-visible{
  outline:2px solid var(--delta); outline-offset:3px;
}

/* ── 1 · hero: conteúdo centralizado e a tela de frente embaixo,
      larga e cortada pela dobra (ref. Savio) ───────────────────────── */
.p-hero{
  position:relative; padding:0;
  display:flex; flex-direction:column; align-items:center;
  overflow:hidden;
}
/* Brilho de ambiente atrás do hero, no vermelho da marca.
   É a ÚNICA exceção à regra de não usar gradiente: foi pedido, e vale
   só aqui. Todas as outras faixas continuam chapadas. */
/* base de ambiente, discreta: quem desenha a forma é a águia */
/* a águia: a forma do brilho */
.p-aguia{
  position:absolute; z-index:0; pointer-events:none;
  top:14vw; left:50%; transform:translateX(-50%);
  /* a envergadura inteira precisa caber: com as pontas cortadas
     o desenho deixa de ler como asa */
  width:min(94%,1360px); height:auto;
  color:var(--delta);
  opacity:.40;
  filter:blur(38px);
  -webkit-mask-image:linear-gradient(to bottom, #000 58%, transparent 94%);
          mask-image:linear-gradient(to bottom, #000 58%, transparent 94%);
}
@media (max-width:1000px){ .p-aguia{ width:130%; top:18vw; filter:blur(26px); opacity:.38; } }
/* raios diagonais bem discretos, como na referência */
.p-head{
  position:absolute; inset:0 0 auto 0; z-index:20;
  display:flex; align-items:center; gap:1.25rem;
  padding:clamp(1.25rem,2.5vw,2rem) var(--pad);
}
.p-logo{ display:flex; align-items:center; color:var(--ink); text-decoration:none; }
.dl{ display:block; height:clamp(40px,3.6vw,52px); width:auto; }
.p-foot .dl{ height:clamp(52px,5vw,70px); }
.p-nav{
  display:none; gap:.25rem; margin-inline:auto;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px; padding:.3rem;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
/* sete itens: o menu inteiro só cabe a partir de 1120 */
@media (min-width:1120px){ .p-nav{ display:flex; } }
.p-nav a{
  font-size:.8125rem; color:var(--ink-mid); text-decoration:none; white-space:nowrap;
  padding:.5rem .9rem; border-radius:999px;
  transition:background .2s ease, color .2s ease;
}
.p-nav a:hover{ color:var(--ink); background:rgba(255,255,255,.08); }
.p-nav a[aria-current="page"]{ color:var(--ink); background:rgba(255,255,255,.1); }
.p-nav__wa{ display:inline-flex; align-items:center; gap:.4rem; }
.p-nav__wa svg, .p-menu__lista .p-nav__wa svg{
  width:15px; height:15px; flex:0 0 auto;
  fill:none; stroke:var(--delta); stroke-width:1.7; stroke-linejoin:round; stroke-linecap:round;
}
.p-nav .p-nav__wa{ color:var(--ink); }
.p-head > .p-pill{ margin-left:0; }

/* abaixo de 1120 o menu vira uma gaveta. details/summary: abre sem JS */
.p-menu{ position:relative; margin-left:auto; }
@media (min-width:1120px){ .p-menu{ display:none; } }
.p-menu > summary{ list-style:none; cursor:pointer; }
.p-menu > summary::-webkit-details-marker{ display:none; }
.p-menu > summary:focus-visible{ outline:2px solid var(--delta); outline-offset:3px; }
.p-menu[open] > summary{ border-color:rgba(255,255,255,.4); }
.p-menu__lista{
  position:absolute; right:0; top:calc(100% + .5rem); z-index:30;
  display:grid; min-width:230px; padding:.4rem;
  background:#141211; border:1px solid var(--line);
  box-shadow:0 18px 40px -12px rgba(0,0,0,.7);
}
.p-menu__lista a{
  color:var(--ink-mid); text-decoration:none; font-size:.9375rem;
  padding:.75rem .9rem; border-bottom:1px solid var(--line-soft);
}
.p-menu__lista a:last-child{ border-bottom:0; }
.p-menu__lista a:hover, .p-menu__lista a[aria-current="page"]{ color:var(--ink); background:rgba(255,255,255,.05); }
@media (max-width:520px){ .p-head > .p-pill{ display:none; } }

/* bloco central */
.p-hero__c{
  position:relative; z-index:2;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  gap:1.15rem;
  max-width:60rem; width:100%;
  padding:calc(clamp(1.25rem,2.5vw,2rem) * 2 + clamp(40px,3.6vw,52px) + clamp(1.5rem,3.5vw,3rem))
          var(--pad) clamp(4.5rem,8vw,7rem);
}
.p-selo{
  display:inline-flex; align-items:center; gap:.5rem;
  border:1px solid var(--line); border-radius:999px;
  padding:.45rem 1rem;
  font-size:.6875rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mid);
}
.p-h1{
  font-family:var(--f-display); font-weight:300;
  font-size:clamp(2.3rem,5.4vw,4.2rem);
  line-height:1.02; letter-spacing:.012em; text-transform:uppercase;
  margin:0; max-width:17ch; text-wrap:balance;
}
.p-hero__deck{ margin:0; color:var(--ink-mid); font-size:1.0625rem; line-height:1.55; max-width:46ch; }
.p-acts{ display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; margin-top:.5rem; }
.p-prova{ display:flex; align-items:center; gap:.75rem; }
.p-bolas{ display:flex; flex:0 0 auto; }
.p-bola{
  width:32px; height:32px; border-radius:50%;
  background-color:var(--panel-2); outline:2px solid var(--preto);
  margin-left:-10px; display:block;
}
.p-bola:first-child{ margin-left:0; }
.p-prova__t{ font-size:.8125rem; color:var(--ink); white-space:nowrap; }
.p-prova__t b{ color:var(--delta); font-weight:600; }


/* ── faixa rolando embaixo do hero ───────────────────────────────────── */
.p-tick{ border-block:1px solid var(--line-soft); overflow:hidden; padding:1.25rem 0; }
.p-tick__t{
  display:flex; width:max-content; gap:0;
  animation:corre 46s linear infinite;
  will-change:transform;
}
.p-tick:hover .p-tick__t{ animation-play-state:paused; }
@keyframes corre{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(-50%,0,0); } }
.p-tick b{
  display:inline-flex; align-items:baseline; gap:.55rem;
  padding-inline:clamp(1.25rem,2.6vw,2.25rem);
  font-family:var(--f-display); font-weight:500;
  font-size:clamp(1rem,1.6vw,1.3rem); letter-spacing:-.020em;
  white-space:nowrap; color:var(--ink);
}
.p-tick b em{ font-style:normal; font-size:.72em; color:var(--ink-dim); font-weight:400; }
.p-tick b::after{
  content:""; width:5px; height:5px; border-radius:50%;
  background:var(--delta); align-self:center; margin-left:clamp(1.25rem,2.6vw,2.25rem);
}

@media (prefers-reduced-motion:reduce){
  .rc--armado .rc__item{ opacity:1; transform:none; transition:none; }
  .rc__item:hover{ transform:none; }
  .hv__cam{ transition:none; }
  .hv__ficha{ animation:none; }
  .p-tick{ overflow-x:auto; }
  .p-tick__t{ animation:none; }
}

/* ── 2 · sobre ───────────────────────────────────────────────────────── */
.p-topo{ display:grid; gap:1.25rem; align-items:start; }
@media (min-width:900px){ .p-topo{ grid-template-columns:auto 1fr; } }
.p-flags{
  display:flex; flex-wrap:wrap; gap:.5rem 1.5rem;
  font-family:var(--f-mono); font-size:.8125rem; color:var(--ink-dim);
}
@media (min-width:900px){ .p-flags{ justify-content:flex-end; } }
.p-manifesto{
  font-family:var(--f-display); font-weight:400;
  font-size:clamp(1.35rem,2.7vw,2.05rem);
  line-height:1.34; letter-spacing:.012em;
  color:var(--ink-dim); margin:clamp(1.75rem,3.5vw,2.75rem) 0 0; max-width:34ch;
  text-transform:uppercase;
}
.p-manifesto b{ color:var(--ink); font-weight:500; }
.p-stats{
  display:grid; gap:1px; background:var(--line-soft);
  border:1px solid var(--line-soft); border-radius:16px; overflow:hidden;
  margin-top:clamp(2rem,4vw,3.25rem);
}
@media (min-width:760px){ .p-stats{ grid-template-columns:repeat(3,1fr); } }
.p-stat{
  background:var(--panel); padding:clamp(1.5rem,3vw,2.25rem);
  min-height:clamp(150px,17vw,210px);
  display:flex; flex-direction:column; justify-content:space-between; gap:2.5rem;
}
.p-stat b{
  font-family:var(--f-display); font-weight:500;
  font-size:clamp(2.1rem,4vw,3rem); line-height:1;
  letter-spacing:-.035em; font-variant-numeric:tabular-nums;
}
.p-stat span{ font-size:.8125rem; color:var(--ink-dim); max-width:24ch; }

/* ── cabeçalho de seção ──────────────────────────────────────────────── */
.p-sechead{ display:grid; gap:1.25rem; margin-top:1.4rem; }
@media (min-width:900px){ .p-sechead{ grid-template-columns:1fr .85fr; gap:3rem; align-items:end; } }
.h2quebra{ display:none; }
@media (min-width:820px){ .h2quebra{ display:inline; } }
.p-h2{
  font-family:var(--f-display); font-weight:600;
  font-size:clamp(1.6rem,3vw,2.3rem);
  line-height:1.12; letter-spacing:.012em; margin:0; max-width:26ch;
  text-transform:uppercase;
}
.p-note{ margin:0; font-size:.9375rem; color:var(--ink-dim); max-width:46ch; }
@media (min-width:900px){ .p-note{ justify-self:end; } }

/* ── 4 · lista numerada ──────────────────────────────────────────────── */
.p-linhas{ margin-top:clamp(2rem,4vw,3rem); border-top:1px solid var(--line-soft); }
.p-linha{
  display:grid; grid-template-columns:auto 1fr auto;
  gap:1rem 1.5rem; align-items:start;
  padding:1.4rem .25rem; border-bottom:1px solid var(--line-soft);
}
.p-linha__n{ font-family:var(--f-mono); font-size:.75rem; color:var(--delta); padding-top:.3rem; }
.p-linha h3{ margin:0 0 .3rem; font-family:var(--f-display); font-weight:600; font-size:1.0625rem; letter-spacing:-.015em; }
.p-linha p{ margin:0; font-size:.875rem; color:var(--ink-dim); max-width:60ch; }
.p-seta{ width:34px; height:34px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; flex:0 0 auto; }
.p-seta svg{ width:13px; height:13px; fill:none; stroke:var(--ink-mid); stroke-width:1.6; }
.p-linha:hover .p-seta{ border-color:var(--delta); }
.p-linha:hover .p-seta svg{ stroke:var(--delta); }


/* ── 4 · bento: cada cartão traz um dado desenhado, não um ícone ─────── */
.rc{ margin-top:clamp(2.2rem,4vw,3.2rem); }
.rc__grupo + .rc__grupo{ margin-top:clamp(1.5rem,2.6vw,2.2rem); }
.rc__cab{ display:flex; align-items:baseline; gap:.75rem; margin:0 0 clamp(.9rem,1.6vw,1.2rem); }
.rc__g{
  margin:0; font-family:var(--f-display); font-weight:400;
  font-size:1.0625rem; letter-spacing:.02em; text-transform:uppercase; color:var(--ink);
}
.rc__gs{ font-size:.8125rem; color:var(--ink-dim); }

.rc__linha{ display:grid; gap:clamp(.7rem,1.2vw,1rem); align-items:stretch; }
@media (min-width:900px){
  .rc__linha--2{ grid-template-columns:repeat(2,1fr); }
  .rc__linha--3{ grid-template-columns:repeat(3,1fr); }
}

/* ── o cartão ────────────────────────────────────────────────────────
   Todos no mesmo cinza. A hierarquia não vem do fundo, vem do número e
   do ícone — por isso o cartão pode ficar quieto. */
.rc__item{
  min-width:0; display:flex; flex-direction:column;
  background:var(--panel); border:1px solid var(--line-soft);
  padding:clamp(1.5rem,2.4vw,2.1rem);
}
/* a discursiva é a espinha da página: um cinza um passo acima, sem sair
   da família */
.rc__item--forte{ background:var(--panel-2); border-color:var(--line); }

/* entrada dos cartões. A classe rc--armado só existe se o script rodou:
   sem JS eles já nascem visíveis, em vez de a seção ficar vazia. */
.rc--armado .rc__item{
  opacity:0; transform:translateY(12px);
  transition:opacity .55s ease, transform .55s cubic-bezier(.2,.7,.3,1),
             background .25s ease, border-color .25s ease;
}
.rc--armado .rc__item:nth-child(2){ transition-delay:.1s; }
.rc--armado .rc__item:nth-child(3){ transition-delay:.2s; }
.rc--armado.rc--vivo .rc__item{ opacity:1; transform:none; transition-delay:0s; }

/* ── o cartão sob o mouse ───────────────────────────────────────────
   hover:hover para o toque não deixar o estado grudado depois do tap */
@media (hover:hover){
  .rc__item:hover,
  .rc--armado.rc--vivo .rc__item:hover{
    background:var(--panel-2);
    border-color:rgba(255,80,63,.45);
    transform:translateY(-3px);
  }
  .rc__item--forte:hover,
  .rc--armado.rc--vivo .rc__item--forte:hover{
    background:#221E1D; border-color:rgba(255,80,63,.62);
  }
  /* o LED acende junto */
  .rc__item:hover .rc__ico svg{
    filter:drop-shadow(0 0 7px rgba(255,80,63,.85))
           drop-shadow(0 0 22px rgba(255,80,63,.45));
  }
  .rc__item:hover .rc__d{ color:var(--ink-mid); }
  .rc__ico svg, .rc__d{ transition:filter .25s ease, color .25s ease; }
}

.rc__ico{
  position:relative; display:grid; place-items:center;
  width:clamp(36px,3.2vw,42px); height:clamp(36px,3.2vw,42px);
  margin:0 0 clamp(1.1rem,1.9vw,1.6rem) -5px;
  color:var(--delta);
}
.rc__ico svg{
  width:78%; height:78%;
  fill:none; stroke:currentColor; stroke-width:1.6;
  stroke-linecap:round; stroke-linejoin:round;
  /* o LED: uma sombra curta e cravada, outra larga e difusa */
  filter:drop-shadow(0 0 4px rgba(255,80,63,.55))
         drop-shadow(0 0 13px rgba(255,80,63,.28));
}

/* ── movimento dos ícones ────────────────────────────────────────────
   Cada um faz o gesto do que significa: a caneta escreve, o check é
   marcado, os fios do mapa se ligam. Os tempos são todos diferentes de
   propósito — se batessem juntos a fileira piscaria em bloco. */
.rc__ico--pulsa::after{
  content:""; position:absolute; inset:0; border-radius:50%;
  border:1px solid var(--delta);
  animation:rcled 2.6s cubic-bezier(.25,.6,.35,1) infinite;
}
@keyframes rcled{
  0%   { transform:scale(.66); opacity:.7; }
  62%  { opacity:0; }
  100% { transform:scale(1.28); opacity:0; }
}
/* pathLength="1" normaliza o caminho, então o mesmo keyframe desenha
   qualquer traço sem precisar medir cada um */
.rc__ico .a-escreve, .rc__ico .a-check,
.rc__ico .a-fios, .rc__ico .a-linhas{ stroke-dasharray:1; stroke-dashoffset:0; }
.rc__ico .a-escreve{ animation:rctraco 3.2s ease-in-out infinite; }
.rc__ico .a-check  { animation:rctraco 3.8s ease-in-out infinite; }
.rc__ico .a-fios   { animation:rctraco 3.5s ease-in-out infinite; }
.rc__ico .a-linhas { animation:rctraco 4.4s ease-in-out infinite; }
.rc__item--forte + .rc__item .rc__ico .a-check{ animation-duration:4.9s; }
@keyframes rctraco{
  0%   { stroke-dashoffset:1; }
  38%  { stroke-dashoffset:0; }
  82%  { stroke-dashoffset:0; }
  100% { stroke-dashoffset:1; }
}
/* o baralho dá um empurrãozinho, como quem separa a carta de cima */
.rc__ico .a-baralho{ animation:rcbaralho 3s ease-in-out infinite; }
@keyframes rcbaralho{
  0%, 68%, 100% { transform:translate(0,0); }
  34%           { transform:translate(1.1px,-1.1px); }
}

.rc__num{
  margin:0; font-family:var(--f-display); font-weight:300;
  font-size:clamp(2.2rem,3.5vw,3rem); line-height:1;
  letter-spacing:-.01em; color:var(--ink); font-variant-numeric:tabular-nums;
}
.rc__uni{
  margin:.35rem 0 0; font-family:var(--f-display); font-weight:400;
  font-size:1.0625rem; letter-spacing:-.005em; color:var(--ink);
}
.rc__nome{
  margin:0; font-family:var(--f-display); font-weight:400;
  font-size:clamp(1.3rem,1.8vw,1.5rem); line-height:1.15;
  letter-spacing:-.005em; color:var(--ink);
  /* mesma altura do bloco número+unidade, para as descrições começarem
     na mesma linha em toda a fileira */
  min-height:calc(clamp(2.2rem,3.5vw,3rem) + .35rem + 1.55rem);
  display:flex; align-items:flex-end;
}
.rc__d{
  margin:.75rem 0 0; font-size:.875rem; line-height:1.55; color:var(--ink-dim);
  max-width:34ch;
}
.rc__item--forte .rc__num, .rc__item--forte .rc__uni{ color:var(--delta); }

@media (prefers-reduced-motion:reduce){
  .rc--armado .rc__item{ opacity:1; transform:none; transition:none; }
  .rc__ico--pulsa::after{ animation:none; opacity:.4; }
  .rc__ico .a-escreve, .rc__ico .a-check, .rc__ico .a-fios,
  .rc__ico .a-linhas, .rc__ico .a-baralho{ animation:none; stroke-dashoffset:0; }
}

/* ── benefícios: quatro colunas lado a lado, ancoradas pelo ícone.
      Nada de cartão aqui: o bento logo acima já é cartão. ───────────── */
.p-bens{
  display:grid; gap:clamp(2rem,3.5vw,3rem) clamp(1.75rem,3vw,2.75rem);
  margin-top:clamp(2.25rem,4vw,3.25rem);
  padding-top:clamp(2.25rem,4vw,3.25rem);
  border-top:1px solid var(--line);
  grid-template-columns:1fr;
}
@media (min-width:640px){ .p-bens{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1020px){ .p-bens{ grid-template-columns:repeat(4,1fr); } }
.be{ display:block; }
.be__m{ display:block; margin-bottom:1.15rem; }
.be__ico{
  width:clamp(52px,4.4vw,64px); height:auto; display:block;
  fill:none; stroke:var(--delta); stroke-width:1.4;
  stroke-linejoin:round; stroke-linecap:round;
  color:var(--delta); opacity:.85;
  filter:drop-shadow(0 0 5px rgba(255,80,63,.45));
  transition:opacity .25s ease, filter .25s ease;
}
.be:hover .be__ico{ opacity:1; filter:drop-shadow(0 0 9px rgba(255,80,63,.7)); }
.be__t{
  margin:0 0 .5rem;
  font-family:var(--f-display); font-weight:600;
  font-size:clamp(1.05rem,1.5vw,1.2rem);
  line-height:1.25; letter-spacing:-.020em;
  text-wrap:balance;
}
.be__d{ margin:0; font-size:.875rem; line-height:1.55; color:var(--ink-mid); }
@media (prefers-reduced-motion:reduce){ .be__ico{ transition:none; } }

/* ── 5 · discursiva: o salto de posição desenhado, que é o dado
      mais forte da página e estava escondido num parágrafo ─────────── */
.d-salto{
  margin-top:clamp(2.25rem,4vw,3.25rem);
  padding:clamp(1.5rem,3vw,2.5rem);
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
}
.d-salto__q{
  margin:0 0 clamp(1.5rem,3vw,2.25rem);
  font-size:.6875rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim);
}
.d-salto__par{ display:flex; justify-content:space-between; align-items:flex-end; gap:1.5rem; }
.d-mark__r{
  margin:0 0 .35rem; font-size:.6875rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-dim);
}
.d-mark__v{
  margin:0; font-family:var(--f-display); font-weight:500; font-weight:500;
  font-size:clamp(2.4rem,6vw,4.6rem); line-height:.9;
  letter-spacing:-.045em; font-variant-numeric:tabular-nums;
}
.d-mark--antes .d-mark__v{ color:var(--ink-dim); }
.d-mark--dep{ text-align:right; }
.d-mark--dep .d-mark__v{ color:var(--delta); }

/* trilho: percurso na mesma direção da leitura. Começa embaixo do
   1001º, à esquerda, e termina embaixo do 16º, à direita. */
.d-trilho{ position:relative; height:22px; margin-top:1.5rem; }
.d-trilho__l{
  position:absolute; left:0; right:0; top:10px;
  height:1px; background:var(--line);
}
.d-trilho__f{
  position:absolute; left:6px; right:6px; top:10px;
  height:1px; background:var(--delta);
}
.d-trilho__p{ position:absolute; top:5px; width:11px; height:11px; border-radius:50%; }
.d-trilho__p--a{ left:0; background:var(--ink-dim); }
.d-trilho__p--b{
  right:0; background:var(--delta);
  box-shadow:0 0 0 4px rgba(255,80,63,.18);
}
.d-salto__d{
  margin:1.35rem 0 0; font-size:.9375rem; line-height:1.55; color:var(--ink-mid);
  max-width:52ch;
}
.d-salto__d b{ color:var(--ink); font-weight:600; }

/* notas: nome e valor na mesma linha, quatro colunas */
.d-nt{
  margin:clamp(2.25rem,4vw,3rem) 0 1rem;
  font-size:.6875rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim);
}
.d-notas{ display:grid; gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); }
@media (min-width:640px){ .d-notas{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1020px){ .d-notas{ grid-template-columns:repeat(4,1fr); } }
.d-nota{
  background:var(--preto);
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.1rem clamp(1rem,1.8vw,1.35rem);
}
.d-nota__n{ margin:0; font-size:.875rem; font-weight:600; line-height:1.25; }
.d-nota__c{
  margin:.2rem 0 0; font-size:.625rem; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase; color:var(--ink-dim);
}
.d-nota__v{
  font-family:var(--f-display); font-weight:500; font-weight:500;
  font-size:1.6rem; letter-spacing:-.035em;
  color:var(--delta); font-variant-numeric:tabular-nums;
}
.d-fonte{ margin:1rem 0 0; font-size:.75rem; color:var(--ink-dim); }

/* ── 6 · aprovados ───────────────────────────────────────────────────── */
.p-aprovs{
  margin-top:clamp(2rem,4vw,3rem); display:grid; gap:1px;
  background:var(--line-soft); border:1px solid var(--line-soft);
  border-radius:16px; overflow:hidden;
}
@media (min-width:640px){ .p-aprovs{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1020px){ .p-aprovs{ grid-template-columns:repeat(3,1fr); } }
.p-aprov{ background:var(--panel); padding:clamp(1.35rem,2.6vw,1.85rem); }
.p-aprov__res{
  margin:0 0 .35rem; font-family:var(--f-mono); font-size:.6875rem;
  letter-spacing:.06em; text-transform:uppercase; color:var(--delta);
}
.p-aprov h3{ margin:0; font-family:var(--f-display); font-weight:500; font-size:1.0625rem; letter-spacing:-.015em; line-height:1.3; }
.p-aprov__q{ margin:.85rem 0 0; padding-top:.85rem; border-top:1px solid var(--line-soft); font-size:.875rem; color:var(--ink-dim); }

/* ── 9 · turmas: uma assinatura para todos, e as turmas por concurso
      numa tabela em vez de nove cartões soltos ─────────────────────── */
.pr{ display:grid; gap:clamp(1rem,2vw,1.5rem); margin-top:clamp(2.25rem,4vw,3.25rem); }
@media (min-width:960px){ .pr{ grid-template-columns:minmax(320px,.85fr) 1.15fr; } }

.pr__black{
  position:relative;
  border:1px solid var(--delta);
  padding:clamp(1.5rem,3vw,2.25rem);
  display:flex; flex-direction:column; gap:1.15rem;
  /* halo de LED atrás do cartão: três sombras empilhadas, da mais
     cravada na borda à mais aberta. Sem gradiente, só sombra. */
  box-shadow:
    0 0 0 1px rgba(255,80,63,.22),
    0 0 34px -8px rgba(255,80,63,.42),
    0 0 90px -20px rgba(255,80,63,.34),
    0 0 170px -50px rgba(255,80,63,.28);
}
/* o mesmo halo, mas por dentro, para a borda não ficar seca */
.pr__black::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  box-shadow:inset 0 0 40px -22px rgba(255,80,63,.55);
}
.pr__s{
  margin:0; font-size:.6875rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--delta);
}
.pr__t{
  margin:0; font-family:var(--f-display); font-weight:600;
  font-size:clamp(1.5rem,2.6vw,2rem); letter-spacing:-.030em;
}
.pr__d{ margin:0; font-size:.9375rem; line-height:1.55; color:var(--ink-mid); }
.pr__preco{ padding-block:.35rem; }
.pr__preco s{ font-size:.8125rem; color:var(--ink-dim); }
.pr__v{
  margin:.3rem 0 0; font-family:var(--f-display); font-weight:500; font-weight:500;
  font-size:clamp(2rem,4vw,2.9rem); line-height:1;
  letter-spacing:-.040em; color:var(--ink); font-variant-numeric:tabular-nums;
}
.pr__v span{ font-size:.42em; color:var(--ink-dim); letter-spacing:0; }
.pr__inc{ list-style:none; margin:0; padding:0; }
.pr__inc li{
  font-size:.875rem; color:var(--ink-mid);
  padding:.65rem 0; border-top:1px solid var(--line-soft);
}
.pr__black .p-pill{ align-self:flex-start; margin-top:auto; }

.pr__turmas{ display:flex; flex-direction:column; }
.pr__lista{ flex:1; display:flex; flex-direction:column; }
.pr__lista .tr{ flex:1; }
.pr__cab{
  margin:0 0 1rem; font-size:.6875rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim);
}
.pr__cab em{ font-style:normal; letter-spacing:.04em; text-transform:none; opacity:.75; }
.pr__lista{ border-top:1px solid var(--line); }
.tr{
  display:grid; grid-template-columns:auto 1fr auto auto;
  gap:.4rem 1.25rem; align-items:center;
  padding:1rem .25rem;
  border-bottom:1px solid var(--line-soft);
  text-decoration:none; color:inherit;
  transition:border-color .2s ease;
}
.tr:hover{ border-bottom-color:var(--delta); }
.tr:focus-visible{ outline:2px solid var(--delta); outline-offset:3px; }
.tr__uf{
  font-family:var(--f-mono); font-size:.75rem; color:var(--delta);
  min-width:3.6rem;
}
.tr__i{ display:grid; }
.tr__n{ font-size:.9375rem; font-weight:600; }
.tr__m{ font-size:.6875rem; color:var(--ink-dim); margin-top:.1rem; }
.tr__p{ display:grid; justify-items:end; }
.tr__p s{ font-size:.6875rem; color:var(--ink-dim); }
.tr__p b{
  font-family:var(--f-display); font-weight:500; font-weight:500; font-size:1.0625rem;
  letter-spacing:-.020em; font-variant-numeric:tabular-nums; white-space:nowrap;
}
.tr .p-seta{ width:30px; height:30px; }
.tr:hover .p-seta{ border-color:var(--delta); }
.tr:hover .p-seta svg{ stroke:var(--delta); }
@media (max-width:560px){
  .tr{ grid-template-columns:auto 1fr; }
  .tr__p{ grid-column:2; justify-items:start; }
  .tr .p-seta{ display:none; }
}

/* ── 10 · dúvidas ────────────────────────────────────────────────────── */
.p-faq{ margin-top:clamp(2rem,4vw,3rem); border-top:1px solid var(--line-soft); }
.p-q{
  padding:1.35rem .25rem; border-bottom:1px solid var(--line-soft);
  display:grid; grid-template-columns:auto 1fr auto; gap:1.25rem; align-items:center;
}
.p-q__n{ font-family:var(--f-mono); font-size:.75rem; color:var(--ink-dim); }
.p-q h3{ margin:0; font-weight:400; font-size:1.0625rem; line-height:1.4; }

.p-todo{
  display:inline-block; font-family:var(--f-mono); font-size:.625rem;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--delta); border-bottom:1px solid var(--delta);
}

/* ── 11 · chamada final ──────────────────────────────────────────────── */
.p-final{ background:var(--delta); color:#150F0E; }
.p-final .p-eyebrow{ color:#5C231A; }
.p-final .p-eyebrow::before{ background:#5C231A; }
.p-final h2{
  margin:.9rem 0 0; font-family:var(--f-display); font-weight:600;
  font-size:clamp(1.8rem,3.6vw,2.8rem);
  line-height:1.04; letter-spacing:.012em; max-width:18ch;
  text-transform:uppercase;
}
.p-final p{ margin:.85rem 0 0; color:#4B1C15; max-width:42ch; }
.p-finalin{ display:grid; gap:1.5rem; }
@media (min-width:900px){ .p-finalin{ grid-template-columns:1fr auto; align-items:end; gap:3rem; } }

/* ── 12 · rodapé ─────────────────────────────────────────────────────── */
.p-footin{ display:grid; gap:2.25rem; }
@media (min-width:860px){ .p-footin{ grid-template-columns:1.5fr 1fr 1fr; } }
.p-foot ul{ list-style:none; margin:.9rem 0 0; padding:0; }
.p-foot li{ padding:.35rem 0; }
.p-foot a{ color:var(--ink-mid); text-decoration:none; font-size:.9rem; }
.p-foot a:hover{ color:var(--delta); }
.p-claim{ margin:1.1rem 0 0; font-size:.9375rem; color:var(--ink-mid); max-width:32ch; }
.p-legal{
  margin-top:2.5rem; padding-top:1.35rem; border-top:1px solid var(--line-soft);
  font-size:.75rem; color:var(--ink-dim);
  display:flex; flex-wrap:wrap; gap:.5rem 1.75rem; justify-content:space-between;
}

/* ===== css_pl ===== */
/* General Sans, variável, 200 a 700 num arquivo só. Vai embutida
   porque a página publicada só aceita fonte do Google ou embutida. */


/* ═══════════════════════════════════════════════════════════════════════
   Por dentro da plataforma · Projeto em Delta
   Estrutura: selo e título centralizados, pílulas de módulo, e abaixo
   texto com checklist à esquerda e a tela real à direita.
   Zero gradiente. Vermelho só com função.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  --page:      #080807;
  --preto:     #080807;
  --cinza:     #161312;
  --panel:     #131110;
  --panel-2:   #1A1817;
  --line:      #2B2725;
  --line-soft: #211E1C;
  --ink:       #F3F0EF;
  --ink-mid:   #A9A29F;
  --ink-dim:   #6F6866;
  --delta:     #FF503F;

  --f-display: "apotek", "Apotek", "General Sans", "Helvetica Neue", Arial, sans-serif;
  --f-body:    "General Sans", "Helvetica Neue", Arial, sans-serif;
  --f-mono:    "IBM Plex Mono", ui-monospace, Menlo, monospace;

  --dwell: 4200ms;
}




.pd{
  background:var(--cinza);
  
  
  
  padding:clamp(2.25rem,5vw,4.5rem) clamp(1.25rem,3.2vw,2.75rem);
}
.wrap{ max-width:1280px; margin-inline:auto; }

/* ── cabeçalho centralizado ──────────────────────────────────────────── */
.head{ text-align:center; display:grid; justify-items:center; gap:1.15rem; }

.selo{
  display:inline-flex; align-items:center; gap:.45rem;
  border:1px solid var(--line); border-radius:999px;
  padding:.42rem .95rem;
  font-size:.6875rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mid);
}

.h2quebra{ display:none; }
@media (min-width:820px){ .h2quebra{ display:inline; } }
h2.title{
  font-family:var(--f-display); font-weight:600;
  font-size:clamp(1.75rem,3.6vw,2.7rem);
  line-height:1.1; letter-spacing:.012em;
  margin:0; max-width:26ch;
  text-transform:uppercase;
}
.deck{
  margin:0; color:var(--ink-dim);
  font-size:.9375rem; max-width:52ch;
}

/* ── pílulas de módulo ───────────────────────────────────────────────── */
.pills{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:.4rem;
  margin-top:clamp(1.75rem,3.5vw,2.5rem);
}
.pill{
  border:0; border-radius:999px;
  background:none; color:var(--ink-dim);
  font-family:var(--f-body); font-size:.8125rem; font-weight:500;
  padding:.6rem 1.15rem; cursor:pointer; white-space:nowrap;
  transition:color .2s ease, background .2s ease;
}
.pill:hover{ color:var(--ink); }
.pill:focus-visible{ outline:2px solid var(--delta); outline-offset:2px; }
.pill[aria-selected="true"]{ background:var(--ink); color:#12100F; font-weight:600; }

/* trilho de permanência sob a pílula ativa */
.railbox{
  position:relative; height:1px; overflow:hidden;
  margin:1.1rem auto 0; max-width:min(640px,100%);
  background:var(--line-soft);
}
.rail{
  position:absolute; inset:0 auto 0 0; width:100%;
  background:var(--delta);
  transform-origin:left center; transform:scaleX(0);
}
.rail.run{ animation:fill var(--dwell) linear forwards; }
@keyframes fill{ from{ transform:scaleX(0);} to{ transform:scaleX(1);} }

/* ── duas colunas ────────────────────────────────────────────────────── */
.stage{
  display:grid; gap:clamp(2rem,4vw,3.5rem);
  margin-top:clamp(2rem,4vw,3.25rem);
  align-items:center;
}
@media (min-width:1000px){ .stage{ grid-template-columns:1fr 1.3fr; } }

.lado[hidden]{ display:none; }
.lado__t{
  font-family:var(--f-display); font-weight:600;
  font-size:clamp(1.3rem,2.1vw,1.7rem);
  line-height:1.18; letter-spacing:-.027em;
  margin:0 0 .9rem; max-width:20ch;
}
.lado__p{ margin:0 0 1.6rem; color:var(--ink-dim); font-size:.9375rem; max-width:44ch; }

.checks{ list-style:none; margin:0 0 1.9rem; padding:0; display:grid; gap:.75rem; }
.checks li{
  display:grid; grid-template-columns:auto 1fr; gap:.65rem;
  align-items:start; font-size:.9rem; color:var(--ink-mid);
}
.checks svg{
  width:17px; height:17px; margin-top:.15rem;
  fill:none; stroke:var(--delta); stroke-width:1.6;
  stroke-linecap:round; stroke-linejoin:round;
}

.lado__acts{ display:flex; flex-wrap:wrap; gap:.55rem; }
.pil{
  display:inline-flex; align-items:center; gap:.45rem;
  border-radius:999px; border:1px solid transparent;
  font-family:var(--f-body); font-weight:600; font-size:.8125rem;
  padding:.68rem 1.25rem; text-decoration:none; white-space:nowrap;
  transition:background .2s ease, border-color .2s ease;
}
.pil span{ font-size:.9em; }
.pil--solid{ background:var(--delta); color:#150F0E; }
.pil--solid:hover{ background:#FF6A5B; }
.pil--soft{ background:var(--panel-2); color:var(--ink); border-color:var(--line); }
.pil--soft:hover{ border-color:var(--ink-dim); }
.pil:focus-visible{ outline:2px solid var(--delta); outline-offset:3px; }

/* ── cartão da tela ──────────────────────────────────────────────────── */
.cartao{
  position:relative;
  background:var(--panel-2);
  border:1px solid var(--line-soft);
  padding:clamp(.7rem,1.4vw,1.1rem);
}

@media (prefers-reduced-motion:reduce){
  .rail.run{ animation:none; transform:scaleX(1); }
  .screen{ animation:none; }
}

/* ── janela do app ───────────────────────────────────────────────── */
.app{
  position:relative;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  box-shadow:none;
  font-size:.8125rem;
}

/* barra superior */
.chrome{
  display:flex; align-items:center; gap:.85rem;
  padding:.7rem .95rem;
  border-bottom:1px solid var(--line);
  background:var(--surface);
}
.brand{ display:flex; align-items:center; gap:.5rem; margin-right:auto; }
.brand .word{
  font-family:var(--f-display);
  font-weight:800;
  font-size:.8rem;
  letter-spacing:.01em;
  text-transform:uppercase;
  white-space:nowrap;
}
.brand .word b{ color:var(--delta); font-weight:800; }
.brand .sub{
  display:block;
  font-family:var(--f-mono);
  font-size:.375rem;
  letter-spacing:.12em;
  color:var(--ink-dim);
  text-transform:uppercase;
}
.chrome .timer{
  font-family:var(--f-mono);
  font-size:.75rem;
  font-variant-numeric:tabular-nums;
  color:var(--ink-mid);
}
.dot{ width:22px; height:22px; border-radius:5px; background:var(--raised); display:grid; place-items:center; }
.dot svg{ width:12px; height:12px; fill:none; stroke:var(--ink-dim); stroke-width:1.6; }
.bell{ position:relative; }
.bell .badge{
  position:absolute; top:-4px; right:-4px;
  min-width:14px; height:14px; padding:0 3px;
  border-radius:7px; background:var(--delta);
  color:#fff; font-family:var(--f-mono); font-size:.5rem;
  display:grid; place-items:center; line-height:1;
}
.avatar{ width:24px; height:24px; border-radius:5px; border:1px solid var(--delta); display:grid; place-items:center; background:var(--raised); }

/* barra de abas */
.tabs{
  display:flex; gap:.15rem;
  padding:0 .55rem;
  border-bottom:1px solid var(--line);
  overflow-x:auto;
  scrollbar-width:none;
}
.tabs::-webkit-scrollbar{ display:none; }
.tab{
  position:relative;
  flex:0 0 auto;
  display:flex; align-items:center; gap:.4rem;
  padding:.72rem .8rem;
  background:none; border:0;
  color:var(--ink-dim);
  font-family:var(--f-body);
  font-size:.78rem;
  font-weight:500;
  white-space:nowrap;
  cursor:pointer;
  transition:color .22s ease;
}
.tab svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.5; }
.tab:hover{ color:var(--ink-mid); }
.tab:focus-visible{ outline:2px solid var(--delta); outline-offset:-2px; }
.tab[aria-selected="true"]{ color:var(--ink); }
.tab[aria-selected="true"]::after{
  content:"";
  position:absolute; left:.55rem; right:.55rem; bottom:-1px;
  height:2px; background:var(--delta);
}

/* área de conteúdo */
.viewport{
  position:relative;
  height:clamp(365px,46vw,530px);
  overflow:hidden;
  padding:clamp(.9rem,1.8vw,1.35rem);
  background:var(--panel-2);
}
.screen{
  display:none;
  animation:rise .5s cubic-bezier(.2,.7,.3,1) both;
}
.screen[data-live="true"]{ display:block; }
@keyframes rise{ from{ opacity:0; transform:translateY(9px);} to{ opacity:1; transform:none;} }

.crumb{ display:flex; align-items:center; gap:.4rem; color:var(--ink-dim); font-size:.7rem; margin-bottom:.6rem; }
.crumb svg{ width:11px; height:11px; fill:none; stroke:currentColor; stroke-width:1.6; }

.h{
  font-family:var(--f-display);
  font-weight:700;
  font-size:1.05rem;
  text-transform:uppercase;
  letter-spacing:-.01em;
  margin:0 0 .85rem;
}

.field{
  display:flex; align-items:center; gap:.5rem;
  background:var(--raised);
  border:1px solid var(--line);
  border-radius:6px;
  padding:.5rem .7rem;
  color:var(--ink-dim);
  font-size:.75rem;
  margin-bottom:.75rem;
}
.field svg{ width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.7; }

.chips{ display:flex; flex-wrap:wrap; align-items:center; gap:.4rem .55rem; margin-bottom:.7rem; }
.chip{
  border:1px solid var(--line);
  border-radius:999px;
  padding:.3rem .75rem;
  font-size:.7rem;
  color:var(--ink-dim);
}
.chip.on{ background:var(--raised); color:var(--ink); border-color:#3a3333; }

.grouplabel{
  font-family:var(--f-mono);
  font-size:.625rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--ink-dim);
  margin:0 0 .7rem;
}

/* 1 · cursos — estrutura espelhada da tela real:
      título 23px caixa alta, seções 22px caixa alta, pôster 200x305 r12,
      carrossel com seta, fita "novos conteúdos" #FF503F sobre preto */
.sec{
  font-family:var(--f-body);
  font-weight:500;
  font-size:.95rem;
  line-height:1.55;
  text-transform:uppercase;
  color:#F5F5F5;
  margin:0 0 .45rem;
}
.carousel{ position:relative; margin-bottom:.9rem; }
.reel{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:21.5%;
  gap:.55rem;
  overflow:hidden;
}
.course{ position:relative; }
.course .foto{
  display:block;
  width:100%;
  aspect-ratio:200/305;
  object-fit:cover;
  border-radius:9px;
  background:var(--raised);
}
.fav{
  position:absolute; top:6px; right:6px;
  width:17px; height:17px; border-radius:50%;
  background:rgba(0,0,0,.5);
  border:1px solid rgba(255,255,255,.22);
  display:grid; place-items:center;
}
.fav svg{ width:9px; height:9px; fill:none; stroke:#F5F5F5; stroke-width:1.8; }
.course .ribbon{
  position:absolute; left:0; bottom:0;
  background:var(--delta);
  color:#000;
  font-size:.5rem; font-weight:600;
  letter-spacing:.03em; text-transform:uppercase;
  padding:2px 7px;
  border-radius:0 4px 0 9px;
}
.reelnav{
  position:absolute; right:-2px; top:50%;
  transform:translateY(-50%);
  width:25px; height:25px; border-radius:50%;
  background:rgba(16,14,14,.86);
  border:1px solid var(--line);
  display:grid; place-items:center;
  cursor:pointer;
}
.reelnav svg{ width:11px; height:11px; fill:none; stroke:var(--ink); stroke-width:2; }
.chip{ display:inline-flex; align-items:center; gap:.35rem; }
.chip svg{ width:11px; height:11px; fill:none; stroke:currentColor; stroke-width:1.6; }

/* 2 · pdfs dinâmicos */
.tablehead{
  background:var(--delta-deep);
  color:var(--ink);
  font-family:var(--f-display);
  font-weight:700;
  font-size:.78rem;
  padding:.55rem .8rem;
  border-radius:6px 6px 0 0;
  display:flex; justify-content:space-between; align-items:center;
}
.tablehead span:last-child{
  font-family:var(--f-mono); font-size:.6rem; font-weight:400;
  letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.7);
}
.rows{ border:1px solid var(--line); border-top:0; border-radius:0 0 6px 6px; overflow:hidden; }
.row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:.2rem 1rem;
  align-items:center;
  padding:.6rem .8rem;
  border-bottom:1px solid var(--line-soft);
  background:var(--surface);
}
.row:last-child{ border-bottom:0; }
.row .n{ font-size:.8rem; color:var(--ink); }
.row .m{
  grid-column:1;
  font-family:var(--f-mono); font-size:.625rem;
  color:var(--delta);
  font-variant-numeric:tabular-nums;
}
.row .bar{
  grid-row:1/3; grid-column:2;
  width:clamp(70px,16vw,140px); height:3px;
  background:var(--raised); border-radius:2px; overflow:hidden;
}
.row .bar i{ display:block; height:100%; background:var(--delta); }

/* 3 · turmas — imagem quadrada 276x276, canto reto, 4 colunas (desktop do app) */
.turmas{ display:grid; grid-template-columns:repeat(4,1fr); gap:.55rem; }
.turma{ position:relative; }
.turma .foto{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:0;
  background:var(--raised);
}

/* 3b · discursivas — filtros, contador e o cartão da questão */
.filtros{
  display:flex; align-items:center; gap:.4rem;
  font-size:.8rem; font-weight:600;
  text-transform:uppercase; color:#F5F5F5;
  margin:0 0 .55rem;
}
.filtros svg{ width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.7; }
.check{ display:inline-flex; align-items:center; gap:.4rem; font-size:.68rem; color:var(--ink-mid); }
.check i{ width:11px; height:11px; border:1px solid #4A4242; border-radius:2px; }
.selects{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:.4rem;
  margin-bottom:.5rem;
}
.sel{
  display:flex; align-items:center; gap:.3rem;
  border:1px solid var(--line); border-radius:4px;
  padding:.38rem .45rem;
  font-size:.6rem; color:var(--ink-dim);
  white-space:nowrap; overflow:hidden;
}
.sel > svg{ width:10px; height:10px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.7; }
.sel .caret{ margin-left:auto; display:flex; }
.sel .caret svg{ width:10px; height:10px; fill:none; stroke:currentColor; stroke-width:1.7; }
.actions{ display:flex; align-items:center; justify-content:flex-end; gap:.85rem; margin-bottom:.5rem; }
.ghostbtn{ font-size:.65rem; color:var(--delta); }
.count{
  font-size:.7rem; font-weight:600;
  text-transform:uppercase; color:#F5F5F5;
  margin:0 0 .45rem;
}
.qcard{ border:1px solid var(--line); border-radius:6px; background:var(--surface); overflow:hidden; }
.qhead{ display:flex; align-items:center; gap:.7rem; background:#39393A; padding:.45rem .65rem; }
.qid{ font-family:var(--f-display); font-weight:700; font-size:.82rem; color:#F5F5F5; flex:0 0 auto; }
.qpath{ margin:0; font-size:.6rem; line-height:1.35; color:#D6D0CE; flex:1; }
.qtag{
  flex:0 0 auto;
  background:#A9C0EE; color:#262626;
  font-size:.58rem; padding:.22rem .55rem;
  border-radius:3px; white-space:nowrap;
}
.qmeta{
  margin:0; padding:.42rem .65rem;
  border-bottom:1px solid var(--line-soft);
  font-size:.58rem; color:var(--ink-dim);
}
.qmeta b{ color:var(--ink-mid); font-weight:600; }
.qbody{ margin:0; padding:.55rem .65rem; font-size:.66rem; line-height:1.55; color:var(--ink-mid); }
.qbody b{ color:var(--ink); font-weight:600; }

/* 4 · cards */
.panels{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
@media (max-width:640px){ .panels{ grid-template-columns:1fr; } }
.panel{
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--surface);
  padding:.85rem;
}
.panel h4{
  font-family:var(--f-display); font-weight:700;
  font-size:.82rem; text-transform:uppercase; letter-spacing:-.005em;
  margin:0 0 .2rem;
}
.panel p{ margin:0 0 .8rem; font-size:.65rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-dim); }
.btn{
  position:relative;
  display:inline-block;
  background:var(--delta);
  color:#180D0B;
  font-family:var(--f-display); font-weight:700;
  font-size:.68rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.45rem 1.4rem;
  border-radius:4px;
}
.btn .pill{
  position:absolute; top:-7px; right:-7px;
  min-width:17px; height:17px; padding:0 4px;
  border-radius:9px; background:var(--delta-deep); color:#fff;
  font-family:var(--f-mono); font-size:.55rem;
  display:grid; place-items:center; line-height:1;
  border:1px solid var(--surface);
}
.perf{ grid-column:1/-1; }
.perf .spark{ display:flex; align-items:flex-end; gap:3px; height:42px; margin-top:.55rem; }
.perf .spark i{ flex:1; background:var(--raised); border-radius:1px; }
.perf .spark i.hi{ background:var(--delta); }

/* 5 · mapas */
.maps{ display:grid; gap:.6rem; grid-template-columns:1fr 1fr; }
@media (max-width:760px){ .maps{ grid-template-columns:1fr; } }
.mapcol{ display:grid; gap:.5rem; align-content:start; }
.mapcol .field{ margin-bottom:0; }
.mapview{
  border:1px solid var(--line); border-radius:6px;
  background:var(--panel);
  display:grid; place-items:center;
  min-height:190px;
  padding:.5rem;
}
.mapview svg{ width:100%; height:auto; }

/* cursor sintético */
.cursor{
  position:absolute; left:0; top:0;
  width:20px; height:24px;
  margin:-2px 0 0 -2px;
  pointer-events:none;
  z-index:6;
  transition:transform .78s cubic-bezier(.62,.02,.24,1);
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.7));
}
.cursor svg{ width:100%; height:100%; }
.cursor::after{
  content:"";
  position:absolute; left:-9px; top:-9px;
  width:30px; height:30px;
  border-radius:50%;
  border:1.5px solid var(--delta);
  opacity:0;
  transform:scale(.3);
}
.cursor.tap::after{ animation:tap .5s ease-out; }
@keyframes tap{
  0%{ opacity:.9; transform:scale(.25); }
  100%{ opacity:0; transform:scale(1.25); }
}


/* alternativas da questão objetiva: o .qcard vem do arquivo capturado,
   então estas regras entram aqui, junto dele, e não no corpo do script */
.qalt{ display:flex; gap:.55rem; align-items:flex-start; margin:.5rem 0 0; }
.qalt__l{ flex:0 0 auto; width:1.15rem; height:1.15rem; margin-top:.05rem;
  display:grid; place-items:center; border-radius:50%;
  border:1px solid var(--line); color:var(--ink-mid);
  font-family:var(--f-body); font-size:.56rem; font-weight:600; }
.qalt p{ margin:0; font-size:.58rem; line-height:1.45; color:var(--ink-mid); }
.qacts{ margin-top:.75rem; }
.qtabs{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:.85rem;
  padding-top:.6rem; border-top:1px solid var(--line-soft); }
.qtab{ font-family:var(--f-body); font-size:.52rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; color:var(--ink-dim); }
.qtab.on{ color:var(--delta); }

/* a marca de verdade na barra do app */
.brand{ gap:0; }
.dl--app{ display:block; height:26px; width:auto; }

:root{
  --px1: url("../img/d8c2b7c263e1.jpg");
  --px2: url("../img/d582af285885.jpg");
  --px3: url("../img/79b4b57f27ea.jpg");
  --px4: url("../img/e82190fcbead.jpg");
  --px5: url("../img/f3d5fac9a188.jpg");
  --px6: url("../img/ae801209f282.jpg");
  --px7: url("../img/cff65c911ad5.jpg");
  --px8: url("../img/21b1162883ae.jpg");
  --px9: url("../img/9d0f2db644f6.jpg");
  --px10: url("../img/084f008a703f.jpg");
  --px11: url("../img/a5f88da80039.jpg");
  --px12: url("../img/36d5de5bb7bc.jpg");
  --px13: url("../img/2c5f320523d3.jpg");
  --px14: url("../img/d961acdd12fc.jpg");
  --px15: url("../img/1ee66a00cd1f.jpg");
}
.foto, .course .foto, .turma .foto{
  display:block; width:100%;
  background-size:cover; background-position:center;
  background-repeat:no-repeat;
}

/* ===== css_pf ===== */
/* General Sans, variável, 200 a 700 num arquivo só. Vai embutida
   porque a página publicada só aceita fonte do Google ou embutida. */


:root{
  --page:      #080807;
  --preto:     #080807;
  --cinza:     #161312;
  --panel:     #131110;
  --panel-2:   #1A1817;
  --line:      #2B2725;
  --line-soft: #211E1C;
  --ink:       #F3F0EF;
  --ink-mid:   #A9A29F;
  --ink-dim:   #6F6866;
  --delta:     #FF503F;

  --f-display: "apotek", "Apotek", "General Sans", "Helvetica Neue", Arial, sans-serif;
  --f-body:    "General Sans", "Helvetica Neue", Arial, sans-serif;
  --f-mono:    "IBM Plex Mono", ui-monospace, Menlo, monospace;
}


.pf{
  background:var(--preto);
  
  
  
  padding:clamp(2.25rem,5vw,4.5rem) 0;
  overflow:hidden;
}
.pf__head{
  max-width:1280px; margin:0 auto clamp(2rem,4vw,3.25rem);
  padding-inline:clamp(1.25rem,3.2vw,2.75rem);
  display:grid; justify-items:center; text-align:center; gap:1.15rem;
}
.selo{
  display:inline-flex; align-items:center; gap:.45rem;
  border:1px solid var(--line); border-radius:999px;
  padding:.42rem .95rem;
  font-size:.6875rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mid);
}
.pf h2{
  font-family:var(--f-display); font-weight:600;
  font-size:clamp(1.75rem,3.6vw,2.7rem);
  line-height:1.1; letter-spacing:.012em;
  margin:0; max-width:22ch;
  text-transform:uppercase;
}
.h2quebra{ display:none; }
@media (min-width:820px){
  .h2quebra{ display:inline; }
}

.pf__deck{ margin:0; color:var(--ink-dim); font-size:.9375rem; max-width:52ch; }
.todo{
  display:inline-block; font-family:var(--f-mono); font-size:.625rem;
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--delta); border-bottom:1px solid var(--delta);
}

/* ── esteira ─────────────────────────────────────────────────────────── */
.mq{ overflow:hidden; }
.mq__track{
  display:flex; gap:clamp(.5rem,1vw,.85rem);
  width:max-content;
  animation:desliza 78s linear infinite;
  will-change:transform;
}
.mq:hover .mq__track,
.mq:focus-within .mq__track{ animation-play-state:paused; }
@keyframes desliza{
  from{ transform:translate3d(0,0,0); }
  to  { transform:translate3d(-50%,0,0); }
}
.rt{ margin:0; flex:0 0 auto; }
.rt__n{
  margin-top:.9rem;
  font-family:var(--f-display); font-weight:500;
  font-size:1rem; letter-spacing:-.010em; color:var(--ink-mid);
}
.rt__m{
  display:block; margin-top:.2rem;
  font-family:var(--f-body); font-weight:400;
  font-size:.8125rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-dim);
}
.rt img{
  display:block;
  width:clamp(230px,24vw,376px);
  aspect-ratio:3/4;
  object-fit:cover;
  background:var(--panel-2);
}

@media (prefers-reduced-motion:reduce){
  .mq{ overflow-x:auto; }
  .mq__track{ animation:none; }
}

/* ===== css_dp ===== */
/* General Sans, variável, 200 a 700 num arquivo só. Vai embutida
   porque a página publicada só aceita fonte do Google ou embutida. */


:root{
  --page:      #080807;
  --preto:     #080807;
  --cinza:     #161312;
  --panel:     #131110;
  --panel-2:   #1A1817;
  --line:      #2B2725;
  --line-soft: #211E1C;
  --ink:       #F3F0EF;
  --ink-mid:   #A9A29F;
  --ink-dim:   #6F6866;
  --delta:     #FF503F;

  --f-display: "apotek", "Apotek", "General Sans", "Helvetica Neue", Arial, sans-serif;
  --f-body:    "General Sans", "Helvetica Neue", Arial, sans-serif;
  --f-mono:    "IBM Plex Mono", ui-monospace, Menlo, monospace;
}


.dep{
  background:var(--preto);
  
  
  
  padding:clamp(2.25rem,5vw,4.5rem) clamp(1.25rem,3.2vw,2.75rem);
}
.wrap{ max-width:1280px; margin-inline:auto; }
.dep__head{ display:grid; justify-items:center; text-align:center; gap:1.15rem; }
.selo{
  display:inline-flex; align-items:center; gap:.45rem;
  border:1px solid var(--line); border-radius:999px;
  padding:.42rem .95rem;
  font-size:.6875rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mid);
}
.dep h2{
  font-family:var(--f-display); font-weight:600;
  font-size:clamp(1.75rem,3.6vw,2.7rem);
  line-height:1.1; letter-spacing:.012em;
  margin:0; max-width:24ch;
  text-transform:uppercase;
}
.h2quebra{ display:none; }
@media (min-width:820px){
  .h2quebra{ display:inline; }
}

.dep__deck{ margin:0; color:var(--ink-dim); font-size:.9375rem; max-width:52ch; }

/* ── parede de vídeos ────────────────────────────────────────────────── */
.parede{
  display:grid; gap:clamp(.55rem,1vw,.9rem);
  margin-top:clamp(2rem,4vw,3.25rem);
  grid-auto-flow:column;
  grid-auto-columns:minmax(160px,1fr);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding-bottom:.25rem;
}
.parede::-webkit-scrollbar{ display:none; }
@media (min-width:900px){
  .parede{ grid-auto-flow:row; grid-template-columns:repeat(5,1fr); overflow:visible; }
}

.dp{
  position:relative; padding:0; margin:0;
  border:1px solid var(--line-soft);
  background:var(--panel-2); overflow:hidden; cursor:pointer;
  scroll-snap-align:start;
  transition:border-color .2s ease;
}
.dp:hover{ border-color:var(--line); }
.dp:focus-visible{ outline:2px solid var(--delta); outline-offset:3px; }
.dp video{
  display:block; width:100%; aspect-ratio:9/16;
  object-fit:cover; background:var(--panel-2);
}

/* botão de som, no canto */
.dp__som{
  position:absolute; right:.6rem; bottom:.6rem;
  width:32px; height:32px; border-radius:50%;
  background:rgba(8,8,7,.72); border:1px solid rgba(255,255,255,.16);
  display:grid; place-items:center;
}
.dp__som svg{
  grid-area:1/1; width:14px; height:14px;
  fill:none; stroke:var(--ink); stroke-width:1.7;
  stroke-linecap:round; stroke-linejoin:round;
}
.dp__som .on{ display:none; }
.dp[aria-pressed="true"] .dp__som{ background:var(--delta); border-color:var(--delta); }
.dp[aria-pressed="true"] .dp__som svg{ stroke:#150F0E; }
.dp[aria-pressed="true"] .dp__som .on{ display:block; }
.dp[aria-pressed="true"] .dp__som .off{ display:none; }

.nota{ margin:1.5rem 0 0; font-size:.8125rem; color:var(--ink-dim); text-align:center; }

/* ===== css_ap ===== */
/* General Sans, variável, 200 a 700 num arquivo só. Vai embutida
   porque a página publicada só aceita fonte do Google ou embutida. */


:root{
  --page:      #080807;
  --preto:     #080807;
  --cinza:     #161312;
  --panel-2:   #1A1817;
  --line:      #2B2725;
  --line-soft: #211E1C;
  --ink:       #F3F0EF;
  --ink-mid:   #A9A29F;
  --ink-dim:   #6F6866;
  --delta:     #FF503F;

  --f-display: "apotek", "Apotek", "General Sans", "Helvetica Neue", Arial, sans-serif;
  --f-body:    "General Sans", "Helvetica Neue", Arial, sans-serif;
  --f-mono:    "IBM Plex Mono", ui-monospace, Menlo, monospace;

  --im-joao: url("../img/0daa1a24cdea.jpg");
  --im-deborah: url("../img/1dab7146d52a.jpg");
  --im-lucas: url("../img/71bd04926f86.jpg");
  --im-aquinoann: url("../img/b5c7b329b6a4.jpg");
  --im-rodolfo: url("../img/261ad06867cf.jpg");
  --im-amanda: url("../img/80644b559090.jpg");
  --im-beatriz: url("../img/72ba5ebecf92.jpg");
  --im-luciana: url("../img/98848adbac56.jpg");
  --im-mayra: url("../img/13b6caadc882.jpg");
}


.apr{ background:var(--preto); padding:clamp(3rem,7vw,6rem) 0; }
.wrap{ max-width:1280px; margin-inline:auto; padding-inline:clamp(1.25rem,3.2vw,2.75rem); }
.selo{
  display:inline-flex; align-items:center; gap:.45rem;
  border:1px solid var(--line); border-radius:999px; padding:.42rem .95rem;
  font-size:.6875rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mid);
}
.h2quebra{ display:none; }
@media (min-width:820px){ .h2quebra{ display:inline; } }
.apr h2{
  font-family:var(--f-display); font-weight:600;
  font-size:clamp(1.6rem,3vw,2.3rem);
  line-height:1.12; letter-spacing:.012em;
  margin:1.15rem 0 0; max-width:20ch;
  text-transform:uppercase;
}
.legenda{ margin:1rem 0 clamp(2rem,4vw,3rem); font-size:.9375rem; color:var(--ink-dim); }
.legenda b{ color:var(--ink); font-weight:500; }

/* ── esteiras: a de cima corre para um lado, a de baixo para o outro ──── */
.est{ overflow:hidden; }
.est + .est{ margin-top:clamp(.75rem,1.4vw,1.1rem); }
.est__t{
  display:flex; width:max-content;
  gap:clamp(.75rem,1.4vw,1.1rem);
  will-change:transform;
}
.est--a .est__t{ animation:corre 78s linear infinite; }
.est--b .est__t{ animation:corre 68s linear infinite reverse; }
.est:hover .est__t, .est:focus-within .est__t{ animation-play-state:paused; }
@keyframes corre{
  from{ transform:translate3d(0,0,0); }
  to  { transform:translate3d(-50%,0,0); }
}

/* ── cartão, um formato só nas duas fileiras ─────────────────────────── */
.ap{
  position:relative; flex:0 0 auto;
  width:clamp(288px,29vw,376px);
  min-height:clamp(276px,25vw,320px);
  overflow:hidden; background:var(--panel-2); display:flex;
}
.ap__bg{
  position:absolute; inset:0;
  background-size:cover;
  filter:brightness(.62) saturate(.95);
}
.ap__bg--liso{ background:var(--cinza); filter:none; }
.ap__vidro{
  position:relative; width:100%;
  display:flex; flex-direction:column; justify-content:space-between; gap:1.35rem;
  padding:clamp(1.2rem,2.2vw,1.6rem);
  background:rgba(14,12,11,.42);
  backdrop-filter:blur(20px) saturate(135%);
  -webkit-backdrop-filter:blur(20px) saturate(135%);
  border:1px solid rgba(255,255,255,.13);
}
.ap__fala{
  margin:0;
  font-family:var(--f-display); font-weight:600;
  font-size:clamp(.98rem,1.25vw,1.1rem);
  line-height:1.42; letter-spacing:-.017em; color:var(--ink);
}
.ap__fala--fato{ color:var(--ink-mid); }
.ap__quem{ display:flex; align-items:center; gap:.85rem; }
.ap__nome{ margin:0; font-size:.875rem; font-weight:600; }
.ap__onde{
  margin:.15rem 0 0; font-size:.625rem; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase; color:var(--ink-mid);
}

/* rosto no quadrado, recortado por background */
.av{
  flex:0 0 auto; display:grid; place-items:center;
  width:54px; height:54px;
  background-color:var(--panel-2);
  border:1px solid rgba(255,255,255,.12);
}
.av--i{
  font-family:var(--f-display); font-weight:600;
  font-size:.875rem; letter-spacing:.020em; color:var(--ink-mid);
}

@media (prefers-reduced-motion:reduce){
  .est{ overflow-x:auto; }
  .est__t{ animation:none; }
}

/* ===== ACHATA ===== */

/* ═══ achatamento final ═════════════════════════════════════════════════
   Entra depois do CSS das seções que vêm de arquivo próprio, senão o
   raio e a margem delas venceriam. Sem bloco, sem raio, sem folga.
   ═══════════════════════════════════════════════════════════════════ */
.p-panel, .pd, .pf, .dep, .apr{
  margin:0; border:0; border-radius:0; overflow:hidden;
  padding-block:clamp(3rem,7vw,6rem);
  padding-inline:var(--pad);
}
.pd .wrap, .dep .wrap, .apr .wrap, .pf__head{ max-width:1280px; margin-inline:auto; }

/* o fundo alterna: preto, cinza, preto, cinza */
.p-hero, .p-tick, #recebe, .apr, .dep, #duvidas, .p-foot{ background:var(--preto); }
.pd, #sobre, #beneficios, .pf, #turmas{ background:var(--cinza); }

/* seções com wrap próprio não levam padding lateral duas vezes */
.pf, .apr{ padding-inline:0; }
.pf__head{ padding-inline:var(--pad); margin-bottom:clamp(2rem,4vw,3.25rem); }

/* superfícies internas que precisam funcionar nos dois fundos */
.p-plano{ background:rgba(255,255,255,.035); }
.cartao{ background:rgba(255,255,255,.03); }

/* o hero não leva padding de seção */
.p-hero{ padding:0; }

/* Pílula de rótulo só no hero da home (.p-selo). Nas seções o rótulo vira
   texto simples, igual ao .p-eyebrow das outras seções (pedido do Raphael). */
.selo{
  border:0; border-radius:0; padding:0; background:none;
  letter-spacing:.16em; color:var(--ink-dim);
}

/* canto reto em tudo que é bloco. Só pílula e círculo mantêm a forma,
   porque ali o arredondado é a forma do objeto, não uma moldura. */
.p-stats, .p-plano, .cartao, .app, .p-vcard__ph, .p-ph,
.dp, .dp video, .rt img, .course img, .qcard, .rows, .tablehead,
.field, .panel, .mapview, .sel, .btn, .p-tick{
  border-radius:0;
}

/* ===== CSS_PG ===== */

/* ── fundo alternado ─────────────────────────────────────────────── */
.p-panel.pg-p, .apr.pg-p, .dep.pg-p{ background:var(--preto); }
.p-panel.pg-c, .apr.pg-c, .dep.pg-c, .pf.pg-c{ background:var(--cinza); }

/* texto corrido sem palavra sozinha na última linha */
.p-note, .p-hero__deck, .fq__i h3, .fq__r, .tc__d, .dup__t p, .pr__d, .ms__t p, .gt__d,
.rc__d, .be__d, .tc__n{ text-wrap:pretty; }
.tc--outro .tc__n{ text-wrap:balance; }

/* ── cabeçalho de página ─────────────────────────────────────────────
   Não repete o hero da home: sem águia, sem centro. Texto à esquerda e,
   à direita, a peça que é da página. Nenhum gradiente: o brilho que
   existe é sombra de LED em objeto. */
.ph{ position:relative; overflow:hidden; background:var(--preto); border-bottom:1px solid var(--line-soft); }
.ph__in{
  position:relative; z-index:2; max-width:1280px; margin-inline:auto;
  padding:calc(clamp(1.25rem,2.5vw,2rem) * 2 + clamp(40px,3.6vw,52px) + clamp(2.5rem,5vw,4.5rem))
          var(--pad) clamp(3.25rem,6vw,5.25rem);
  display:grid; gap:clamp(2.25rem,4vw,3.5rem); align-items:center;
}
@media (min-width:960px){ .ph__in{ grid-template-columns:1.05fr .95fr; } }
.ph__t{ display:flex; flex-direction:column; align-items:flex-start; gap:1.3rem; min-width:0; }
.ph__h1{
  margin:0; font-family:var(--f-display); font-weight:300;
  font-size:clamp(2.4rem,4.9vw,4.2rem); line-height:1.02;
  letter-spacing:.012em; text-transform:uppercase; max-width:15ch; text-wrap:balance;
}
.ph__deck{ margin:0; color:var(--ink-mid); font-size:1.0625rem; line-height:1.55; max-width:44ch; text-wrap:pretty; }
.ph .p-acts{ justify-content:flex-start; margin-top:.2rem; }
.ph__baixo{ grid-column:1 / -1; min-width:0; }
.ph .p-prova__t{ margin:0; }

/* Delta Black: o próprio plano, aceso */
.phdb{ width:min(100%,460px); justify-self:end; }
.phdb .pr__black{ gap:1.2rem; }
.phdb__t{ margin:0; font-family:var(--f-display); font-weight:400; font-size:clamp(2rem,3.2vw,2.6rem); line-height:1; letter-spacing:.012em; text-transform:uppercase; }
.phdb__n{ display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--line-soft); }
.phdb__n span{ display:grid; gap:.3rem; padding:.95rem .9rem; font-size:.6875rem; line-height:1.35; color:var(--ink-dim); }
.phdb__n span:first-child{ padding-left:0; }
.phdb__n span + span{ border-left:1px solid var(--line-soft); }
.phdb__n b{ font-family:var(--f-display); font-weight:300; font-size:1.55rem; line-height:1; color:var(--ink); font-variant-numeric:tabular-nums; }
.phdb__g{ margin:0; font-size:.75rem; color:var(--ink-dim); }

/* Turmas: o número de turmas abertas e o quadro de operações */
.phtu__n{ justify-self:end; display:flex; align-items:flex-end; gap:1.1rem; margin:0; }
.phtu__n b{
  font-family:var(--f-display); font-weight:200; font-size:clamp(5.5rem,11vw,9rem); line-height:.78;
  color:var(--delta); text-shadow:0 0 18px rgba(255,80,63,.5), 0 0 52px rgba(255,80,63,.25);
}
.phtu__n span{ font-size:.9375rem; line-height:1.4; color:var(--ink-mid); padding-bottom:.2rem; }
.phtu{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); }
@media (min-width:720px){ .phtu{ grid-template-columns:repeat(4,1fr); } }
@media (min-width:1180px){ .phtu{ grid-template-columns:repeat(8,1fr); } }
.phtu a{
  display:grid; gap:.6rem; padding:1.15rem 1.05rem 1.05rem;
  background:var(--preto); color:inherit; text-decoration:none;
  transition:background .2s ease, box-shadow .2s ease;
}
.phtu a:hover{ background:var(--panel); box-shadow:inset 0 0 0 1px rgba(255,80,63,.55); }
.phtu a:focus-visible{ outline:2px solid var(--delta); outline-offset:-2px; }
.phtu__uf{ font-family:var(--f-display); font-weight:300; font-size:1.55rem; line-height:1; text-transform:uppercase; }
.phtu__tag{ font-size:.625rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim); }
.phtu__tag--v{ color:var(--delta); }
.phtu__p{ font-family:var(--f-mono); font-size:.75rem; color:var(--ink-mid); font-variant-numeric:tabular-nums; }
.phtu a.phtu__fila{ background:#0E0D0C; }
.phtu__fila .phtu__uf{ color:var(--ink-mid); }

/* Cursos: as horas de cada curso em barras, do maior para o menor */
.phcu{ justify-self:end; width:min(100%,480px); }
.phcu__tot{ display:flex; align-items:flex-end; gap:1rem; margin:0 0 1.4rem; }
.phcu__tot b{
  font-family:var(--f-display); font-weight:200; font-size:clamp(3.6rem,6.4vw,5.4rem); line-height:.8;
  color:var(--delta); font-variant-numeric:tabular-nums;
  text-shadow:0 0 18px rgba(255,80,63,.5), 0 0 48px rgba(255,80,63,.25);
}
.phcu__tot span{ font-size:.875rem; line-height:1.4; color:var(--ink-mid); }
.phcu__l{
  display:grid; grid-template-columns:minmax(0,11rem) 1fr 2.6rem; gap:.9rem; align-items:center;
  padding:.6rem 0; border-top:1px solid var(--line-soft); font-size:.8125rem;
}
.phcu__l:last-child{ border-bottom:1px solid var(--line-soft); }
.phcu__m{ color:var(--ink-mid); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.phcu__b{ position:relative; height:3px; background:var(--line-soft); }
.phcu__b i{
  position:absolute; left:0; top:0; bottom:0; background:var(--delta);
  box-shadow:0 0 10px rgba(255,80,63,.6); transform-origin:left;
  animation:phcuCresce 1.2s cubic-bezier(.2,.7,.3,1) both; animation-delay:calc(var(--k) * 90ms + .2s);
}
@keyframes phcuCresce{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
.phcu__h{ font-family:var(--f-mono); font-size:.75rem; color:var(--ink); text-align:right; font-variant-numeric:tabular-nums; }
@media (max-width:959px){ .phcu{ justify-self:start; } }
@media (prefers-reduced-motion:reduce){ .phcu__b i{ animation:none; } }

/* Aprovados: rostos de verdade. Em cor só os primeiros lugares */
.phap{ justify-self:end; width:min(100%,500px); }
.phap__g{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(.4rem,.7vw,.55rem); }
.phap__f{
  position:relative; margin:0; aspect-ratio:1; overflow:hidden;
  background-color:var(--panel-2); background-repeat:no-repeat;
  filter:grayscale(1) brightness(.8) contrast(1.05);
  outline:1px solid var(--line-soft);
  transition:filter .4s ease, box-shadow .4s ease;
}
.phap__f--1{
  filter:none; outline-color:rgba(255,80,63,.7);
  box-shadow:0 0 0 1px rgba(255,80,63,.35), 0 0 30px -8px rgba(255,80,63,.65);
}
@media (hover:hover){ .phap__f:hover{ filter:none; } }
.phap__f figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:.4rem .5rem;
  background:rgba(8,8,7,.84); font-family:var(--f-mono); font-size:.625rem; letter-spacing:.03em;
  color:var(--ink-mid); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.phap__f--1 figcaption{ color:var(--delta); }
.phap__leg{ margin:.85rem 0 0; font-size:.75rem; color:var(--ink-dim); }

/* Filas: o quadro das bancas que ainda não abriram */
.phfi{ justify-self:end; width:min(100%,480px); background:var(--panel); border:1px solid var(--line); }
.phfi__cab{ display:flex; align-items:center; gap:.9rem; padding:1.1rem 1.25rem; border-bottom:1px solid var(--line); }
.phfi__cab .rc__ico{ margin:0; flex:0 0 auto; }
.phfi__cab p{ margin:0; font-size:.8125rem; line-height:1.45; color:var(--ink-mid); }
.phfi__cab b{ color:var(--ink); font-weight:600; }
.phfi__l{ display:grid; grid-template-columns:3.9rem 1fr auto; gap:1rem; align-items:center; padding:.85rem 1.25rem; border-bottom:1px solid var(--line-soft); font-size:.8125rem; }
.phfi__l:last-child{ border-bottom:0; }
.phfi__uf{ font-family:var(--f-mono); font-size:.75rem; color:var(--delta); }
.phfi__m{ color:var(--ink-mid); }
.phfi__s{ font-family:var(--f-mono); font-size:.625rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-dim); }
@media (max-width:420px){ .phfi__s{ display:none; } }

/* Sobre: tipo grande e a delegada de pé na linha de LED */
.ph--so .ph__in{ grid-template-columns:1fr; min-height:clamp(600px,58vw,760px); align-items:end; }
.ph--so .ph__h1{ font-size:clamp(3rem,6.6vw,6rem); line-height:.95; max-width:none; }
.ph--so .ph__deck{ max-width:40ch; }
.phso__fig{ position:absolute; z-index:1; bottom:0; right:clamp(1rem,14vw,15rem); height:90%; margin:0; pointer-events:none; }
.phso__fig img{ display:block; height:100%; width:auto; max-width:none; }
.ph--so::after{
  content:""; position:absolute; z-index:3; left:0; right:0; bottom:-1px; height:1px; background:var(--delta);
  box-shadow:0 0 14px 1px rgba(255,80,63,.7), 0 0 46px 4px rgba(255,80,63,.3);
}
.phso__leg{
  position:absolute; z-index:3; right:var(--pad); bottom:clamp(1.25rem,2.4vw,2rem);
  max-width:20ch; margin:0; text-align:right;
  font-size:.75rem; line-height:1.45; color:var(--ink-dim);
}
.phso__leg b{ display:block; color:var(--ink-mid); font-weight:600; margin-bottom:.2rem; }
@media (max-width:959px){
  .phso__fig{ right:-34%; height:70%; opacity:.26; }
  .phso__leg{ display:none; }
}

/* Contato: os canais são o próprio cabeçalho */
.phct{ display:grid; border-top:1px solid var(--line); min-width:0; }
.phct a{
  display:grid; grid-template-columns:auto 1fr auto; gap:1.1rem; align-items:center;
  padding:1.3rem .25rem; border-bottom:1px solid var(--line);
  color:inherit; text-decoration:none; transition:border-color .2s ease;
}
.phct a:hover{ border-bottom-color:rgba(255,80,63,.6); }
.phct a:hover .p-seta{ border-color:var(--delta); }
.phct a:hover .p-seta svg{ stroke:var(--delta); }
.phct a:focus-visible{ outline:2px solid var(--delta); outline-offset:3px; }
.phct .rc__ico{ margin:0; }
.phct small{ display:block; margin-bottom:.35rem; font-size:.6875rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim); }
.phct b{ display:block; font-family:var(--f-display); font-weight:300; font-size:clamp(1.25rem,2.2vw,1.9rem); line-height:1.1; letter-spacing:.01em; overflow-wrap:anywhere; }
.phct__wa b{ font-size:clamp(1.6rem,3vw,2.6rem); }

@media (max-width:959px){ .phdb, .phtu__n, .phap, .phfi{ justify-self:start; } }
@media (prefers-reduced-motion:reduce){ .phap__f, .phtu a, .phct a{ transition:none; } }

/* Missão: a fala da Karolina, já que a foto dela abre a página */
.msq{ margin:0; align-self:center; padding:clamp(1.75rem,3.2vw,2.5rem); border:1px solid var(--line); background:var(--panel); }
.msq blockquote{ margin:0; }
.msq p{ margin:0; font-family:var(--f-display); font-weight:300; font-size:clamp(1.25rem,2.1vw,1.7rem); line-height:1.3; letter-spacing:.012em; text-transform:uppercase; text-wrap:pretty; }
.msq p b{ font-weight:400; color:var(--delta); }
.msq figcaption{ margin-top:1.4rem; padding-top:1.1rem; border-top:1px solid var(--line-soft); font-size:.8125rem; color:var(--ink-dim); }
.msq figcaption b{ display:block; color:var(--ink); font-weight:600; margin-bottom:.15rem; }
.pg-trilha{
  display:inline-flex; align-items:center; gap:.6rem;
  border:1px solid var(--line); border-radius:999px; padding:.45rem 1rem;
  font-size:.6875rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-dim);
}
.pg-trilha a{ color:var(--ink-mid); text-decoration:none; }
.pg-trilha a:hover{ color:var(--ink); }
.pg-trilha [aria-current]{ color:var(--ink); }
.pg-trilha a:focus-visible{ outline:2px solid var(--delta); outline-offset:3px; }

/* ficha de preço embaixo do hero do Delta Black */
.pg-ficha{
  display:flex; flex-wrap:wrap; justify-content:center; margin-top:.4rem;
  border:1px solid var(--line-soft);
}
.pg-ficha > span{
  padding:.7rem 1.1rem; font-size:.8125rem; color:var(--ink-mid);
  border-right:1px solid var(--line-soft);
}
.pg-ficha > span:last-child{ border-right:0; }
.pg-ficha s{ color:var(--ink-dim); }
.pg-ficha b{ color:var(--ink); font-weight:600; }

/* UFs embaixo do hero de Turmas */
.pg-ufs{ display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; margin-top:.3rem; }
.pg-ufs a{
  font-family:var(--f-mono); font-size:.75rem; color:var(--ink-mid); text-decoration:none;
  border:1px solid var(--line); border-radius:999px; padding:.4rem .8rem;
  transition:border-color .2s ease, color .2s ease;
}
.pg-ufs a:hover{ border-color:var(--delta); color:var(--ink); }

/* ── cartão de turma e de curso: a grade inteira é link ──────────── */
.tcs{
  display:grid; gap:clamp(.6rem,1vw,.85rem);
  margin-top:clamp(2rem,4vw,3rem); grid-template-columns:1fr;
}
@media (min-width:640px){ .tcs{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px){ .tcs{ grid-template-columns:repeat(4,1fr); } }
.tc{
  position:relative; min-width:0;
  display:flex; flex-direction:column; gap:.9rem;
  padding:clamp(1.35rem,2vw,1.75rem);
  background:var(--panel); border:1px solid var(--line-soft);
  color:inherit; text-decoration:none;
  transition:background .25s ease, border-color .25s ease, transform .25s ease;
}
.tc:focus-visible{ outline:2px solid var(--delta); outline-offset:3px; }
@media (hover:hover){
  .tc:hover{ background:var(--panel-2); border-color:rgba(255,80,63,.45); transform:translateY(-3px); }
  .tc:hover .p-seta{ border-color:var(--delta); }
  .tc:hover .p-seta svg{ stroke:var(--delta); }
  .tc:hover .rc__ico svg{ filter:drop-shadow(0 0 7px rgba(255,80,63,.85)) drop-shadow(0 0 22px rgba(255,80,63,.45)); }
}
@media (prefers-reduced-motion:reduce){ .tc, .tc:hover{ transform:none; transition:none; } }
.tc__topo{ display:flex; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.tc__uf{
  font-family:var(--f-display); font-weight:300; font-size:clamp(2rem,2.8vw,2.5rem);
  line-height:1; letter-spacing:.01em; text-transform:uppercase;
}
.tc__tag{
  flex:0 0 auto; font-size:.625rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-mid); border:1px solid var(--line); border-radius:999px; padding:.32rem .65rem;
  white-space:nowrap;
}
.tc__tag--v{ color:var(--delta); border-color:rgba(255,80,63,.5); }
.tc__n{ margin:0; font-weight:600; font-size:.9375rem; }
.tc__d{ margin:-.45rem 0 0; font-size:.8125rem; line-height:1.5; color:var(--ink-dim); }
.tc__preco{
  margin-top:auto; padding-top:1rem; border-top:1px solid var(--line-soft);
  display:flex; align-items:flex-end; justify-content:space-between; gap:.75rem;
}
.tc__preco s{ display:block; font-size:.6875rem; color:var(--ink-dim); margin-bottom:.2rem; }
.tc__preco b{
  font-family:var(--f-display); font-weight:400; font-size:1.3rem; line-height:1.1;
  font-variant-numeric:tabular-nums; white-space:nowrap;
}
.tc__preco b small{ font-size:.62em; color:var(--ink-dim); margin-right:.2em; }
.tc .p-seta{ width:32px; height:32px; }

/* o cartão que não é turma: leva para outro lugar */
.tc--outro{ background:transparent; border-style:dashed; border-color:var(--line); justify-content:space-between; }
.tc--outro .tc__n{ font-family:var(--f-display); font-weight:400; font-size:1.2rem; line-height:1.25; text-transform:uppercase; letter-spacing:.012em; }
.tc--black{ border-color:rgba(255,80,63,.55); box-shadow:0 0 0 1px rgba(255,80,63,.12), 0 0 40px -14px rgba(255,80,63,.45); }

/* curso: horas no lugar da UF, professor com rosto */
.cc__h{
  font-family:var(--f-display); font-weight:300; font-size:clamp(2rem,2.8vw,2.5rem);
  line-height:1; font-variant-numeric:tabular-nums;
}
.cc__h small{ font-size:.45em; color:var(--ink-dim); margin-left:.15em; font-weight:400; }
.cc__mat{
  margin:0; font-family:var(--f-display); font-weight:400; font-size:1.1rem;
  line-height:1.2; letter-spacing:.012em; text-transform:uppercase; text-wrap:balance;
}
.cc__prof{ display:flex; align-items:center; gap:.6rem; font-size:.8125rem; color:var(--ink-mid); }
.cc__av{
  width:34px; height:34px; border-radius:50%; flex:0 0 auto;
  background-color:var(--panel-2); background-size:cover; background-position:50% 22%;
  outline:1px solid var(--line);
}

/* ── faixa do Delta Black: o mesmo halo do cartão da home, deitado ── */
.db{ display:grid; gap:1.5rem; align-items:center; }
@media (min-width:900px){ .db{ grid-template-columns:1.2fr auto auto; gap:2.5rem; } }
.db .pr__t{ margin-top:.35rem; }
.db .pr__d{ margin-top:.6rem; max-width:52ch; }
.db .pr__preco{ padding:0; }
.db .p-pill{ margin:0; align-self:center; }

/* ── bloco em duas colunas: texto e peça ─────────────────────────── */
.dup{ display:grid; gap:clamp(2rem,4vw,3.5rem); align-items:center; margin-top:clamp(2rem,4vw,3rem); }
@media (min-width:920px){ .dup{ grid-template-columns:1fr 1fr; } }
.dup__t p{ margin:0 0 1rem; color:var(--ink-mid); max-width:48ch; }
.dup__t p b{ color:var(--ink); font-weight:600; }
.dup__t .p-pill{ margin-top:.75rem; }
.dup--topo{ margin-top:0; }
.dup__h{ margin:1.1rem 0 1.5rem; }

/* ── Delta Cards: cartas passando, e cada uma vira ───────────────── */
.dk{ background:var(--preto); padding-block:clamp(3rem,7vw,6rem); overflow:hidden; }
.dk > .p-in{ max-width:calc(1280px + 2 * var(--pad)); padding-inline:var(--pad); }
.dk__decks{
  display:grid; gap:1px; background:var(--line-soft); border:1px solid var(--line-soft);
  margin-top:clamp(2rem,4vw,3rem);
}
@media (min-width:760px){ .dk__decks{ grid-template-columns:repeat(3,1fr); } }
.dk__deck{ display:flex; gap:1rem; align-items:flex-start; padding:1.25rem 1.35rem; background:var(--preto); }
.dk__deck .rc__ico{ margin:0; flex:0 0 auto; }
.dk__deck b{ display:block; font-weight:600; font-size:.9375rem; margin-bottom:.2rem; }
.dk__deck span{ font-size:.8125rem; color:var(--ink-dim); }
/* as cartas são fichas de estudo: formato 5:3, a linha vermelha embaixo
   do cabeçalho (a marca de toda ficha pautada) e o tema grande no pé.
   Inclinações pequenas e alternadas: cartas jogadas na mesa, não planilha. */
.dk__filas{
  margin-top:clamp(2.25rem,4vw,3.25rem); padding-block:.9rem;
  display:grid; gap:clamp(1.1rem,1.8vw,1.5rem);
}
.dk__fila{
  display:flex; width:max-content; gap:clamp(.9rem,1.4vw,1.25rem);
  animation:corre 80s linear infinite; will-change:transform;
}
.dk__fila--2{ animation-duration:96s; animation-direction:reverse; }
.dk__filas:hover .dk__fila{ animation-play-state:paused; }
/* cartas retas, alinhadas na fileira (as inclinadas foram reprovadas) */
.dk__c{
  position:relative; flex:0 0 auto; width:clamp(250px,22vw,310px); aspect-ratio:5/3;
  perspective:1100px; transition:transform .45s ease;
}
.dk__in{ position:absolute; inset:0; }
@media (hover:hover){
  .dk__c:hover{ transform:translateY(-4px); z-index:2; }
  .dk__c:hover .dk__f{
    border-color:rgba(255,80,63,.6);
    box-shadow:0 0 0 1px rgba(255,80,63,.14), 0 0 34px -12px rgba(255,80,63,.6);
  }
}
.dk__f{ transition:border-color .3s ease, box-shadow .3s ease; }
.dk__f, .dk__v{
  position:absolute; inset:0; display:flex; flex-direction:column;
  padding:0 1.25rem 1.05rem;
  -webkit-backface-visibility:hidden; backface-visibility:hidden;
}
.dk__f{
  background:#1C1918; border:1px solid #2F2A28;
  box-shadow:0 14px 30px -18px rgba(0,0,0,.9);
}
.dk__v{
  transform:rotateY(180deg);
  background:#1E1413; border:1px solid rgba(255,80,63,.6);
  box-shadow:0 0 0 1px rgba(255,80,63,.14), 0 0 38px -12px rgba(255,80,63,.6);
}
/* cabeçalho da ficha com a linha vermelha de ponta a ponta */
.dk__m{
  margin:0 -1.25rem; padding:.85rem 1.25rem .7rem;
  border-bottom:1px solid rgba(255,80,63,.55);
  font-family:var(--f-mono); font-size:.6875rem; letter-spacing:.06em; text-transform:uppercase; color:var(--delta);
}
.dk__t{
  margin:auto 0 .8rem; font-family:var(--f-display); font-weight:400;
  font-size:clamp(1.1rem,1.45vw,1.35rem); line-height:1.15; letter-spacing:.012em; text-transform:uppercase;
  text-wrap:balance;
}
.dk__v .rc__ico{ margin:auto 0 .5rem -4px; }
.dk__r{ margin:0 0 .8rem; font-size:.8125rem; line-height:1.45; color:var(--ink-mid); max-width:28ch; }
.dk__p{
  margin:0; display:flex; justify-content:space-between;
  font-family:var(--f-mono); font-size:.625rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-dim);
}
.dk__pe{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-top:clamp(1.5rem,3vw,2.25rem); }
.dk__pe p{ margin:0; font-size:.8125rem; color:var(--ink-dim); }
@media (prefers-reduced-motion:reduce){
  .dk__fila{ animation:none; }
  .dk__filas{ overflow-x:auto; }
  .dk__in{ transition:none; }
}

/* Delta Cards: três cartas, a de cima com o ícone aceso */
.dc{ position:relative; height:clamp(300px,34vw,400px); display:grid; place-items:center; }
.dc__c{
  position:absolute; width:clamp(200px,20vw,250px); aspect-ratio:5/7;
  background:var(--panel); border:1px solid var(--line);
  transition:transform .6s cubic-bezier(.2,.7,.3,1);
}
.dc__c--3{ transform:translate(-26%,4%) rotate(-11deg); opacity:.55; }
.dc__c--2{ transform:translate(-12%,2%) rotate(-5deg); opacity:.8; }
.dc__c--1{
  transform:translate(6%,0) rotate(3deg);
  border-color:rgba(255,80,63,.5);
  box-shadow:0 0 0 1px rgba(255,80,63,.12), 0 0 46px -16px rgba(255,80,63,.5);
  display:flex; flex-direction:column; justify-content:space-between;
  padding:1.35rem;
}
@media (hover:hover){
  .dc:hover .dc__c--3{ transform:translate(-40%,6%) rotate(-15deg); }
  .dc:hover .dc__c--2{ transform:translate(-18%,3%) rotate(-7deg); }
  .dc:hover .dc__c--1{ transform:translate(12%,-2%) rotate(5deg); }
}
@media (prefers-reduced-motion:reduce){ .dc__c{ transition:none; } }
.dc__c--1 .rc__ico{ margin:0; }
.dc__c b{
  font-family:var(--f-display); font-weight:400; font-size:1.35rem; line-height:1.15;
  letter-spacing:.012em; text-transform:uppercase;
}
.dc__c i{ font-style:normal; font-family:var(--f-mono); font-size:.6875rem; color:var(--ink-dim); letter-spacing:.06em; text-transform:uppercase; }

/* ── garantia ────────────────────────────────────────────────────── */
.gt{ display:flex; gap:clamp(1.25rem,2.4vw,2rem); align-items:center; padding:clamp(1.5rem,3vw,2.25rem); border:1px solid var(--line); }
.gt__n{
  margin:0; font-family:var(--f-display); font-weight:200;
  font-size:clamp(5rem,9vw,7.5rem); line-height:.8; color:var(--delta);
  text-shadow:0 0 18px rgba(255,80,63,.55), 0 0 48px rgba(255,80,63,.3);
}
.gt__t{ margin:0 0 .4rem; font-family:var(--f-display); font-weight:400; font-size:1.25rem; text-transform:uppercase; letter-spacing:.012em; }
.gt__d{ margin:0; font-size:.9375rem; color:var(--ink-mid); max-width:40ch; }
.gt__o{ margin:.6rem 0 0; font-size:.75rem; color:var(--ink-dim); }
.pl__lado{ display:flex; flex-direction:column; gap:clamp(.75rem,1.4vw,1rem); }
.pl__nota{ margin:0; padding:1.1rem 1.25rem; border:1px solid var(--line-soft); font-size:.875rem; color:var(--ink-mid); display:flex; gap:.9rem; align-items:center; }
.pl__nota .rc__ico{ margin:0; flex:0 0 auto; }

/* ── perguntas: details abre sem JS ──────────────────────────────── */
.fq{ margin-top:clamp(2rem,4vw,3rem); border-top:1px solid var(--line-soft); }
.fq__i{ border-bottom:1px solid var(--line-soft); }
.fq__i > summary{
  list-style:none; cursor:pointer;
  display:grid; grid-template-columns:auto 1fr auto; gap:1.25rem; align-items:center;
  padding:1.35rem .25rem;
}
.fq__i > summary::-webkit-details-marker{ display:none; }
.fq__i > summary:focus-visible{ outline:2px solid var(--delta); outline-offset:3px; }
.fq__n{ font-family:var(--f-mono); font-size:.75rem; color:var(--ink-dim); }
.fq__i h3{ margin:0; font-weight:400; font-size:1.0625rem; line-height:1.4; }
.fq__mais{ position:relative; width:34px; height:34px; border-radius:50%; border:1px solid var(--line); transition:transform .3s ease, border-color .3s ease; }
.fq__mais::before, .fq__mais::after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:1.5px; background:var(--ink-mid); transform:translate(-50%,-50%); }
.fq__mais::after{ transform:translate(-50%,-50%) rotate(90deg); }
.fq__i[open] .fq__mais{ transform:rotate(45deg); border-color:var(--delta); }
.fq__i[open] .fq__mais::before, .fq__i[open] .fq__mais::after{ background:var(--delta); }
.fq__i:hover .fq__mais{ border-color:var(--delta); }
.fq__r{ margin:0; padding:0 .25rem 1.6rem calc(.25rem + 1.25rem + 1.6rem); max-width:70ch; color:var(--ink-mid); font-size:.9375rem; line-height:1.65; }
@media (max-width:560px){ .fq__r{ padding-left:.25rem; } }
@media (prefers-reduced-motion:reduce){ .fq__mais{ transition:none; } }
.fq__mais-ajuda{ margin-top:1.75rem; display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; justify-content:space-between; }
.fq__mais-ajuda p{ margin:0; color:var(--ink-mid); }

/* ── mural de aprovados ──────────────────────────────────────────── */
.mw__barra{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-top:clamp(2rem,4vw,3rem); }
.mw__filtros{ display:flex; flex-wrap:wrap; gap:.4rem; }
.mw__filtros button{
  font:600 .75rem/1 var(--f-body); letter-spacing:.02em;
  color:var(--ink-mid); background:transparent; cursor:pointer;
  border:1px solid var(--line); border-radius:999px; padding:.55rem .85rem;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}
.mw__filtros button:hover{ border-color:rgba(255,255,255,.4); color:var(--ink); }
.mw__filtros button[aria-pressed="true"]{ background:var(--ink); border-color:var(--ink); color:#12100F; }
.mw__filtros button:focus-visible{ outline:2px solid var(--delta); outline-offset:3px; }
.mw__filtros button b{ font-family:var(--f-mono); font-weight:500; opacity:.55; margin-left:.35rem; }
.mw__conta{ font-family:var(--f-mono); font-size:.75rem; color:var(--ink-dim); }
.mw__grade{
  display:grid; gap:clamp(.5rem,.9vw,.75rem); margin-top:1.25rem;
  grid-template-columns:1fr;
}
@media (min-width:600px){ .mw__grade{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:900px){ .mw__grade{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1180px){ .mw__grade{ grid-template-columns:repeat(4,1fr); } }
.mw__p{
  display:flex; flex-direction:column; gap:.45rem; min-height:118px;
  padding:1.15rem 1.25rem; background:var(--panel); border:1px solid var(--line-soft);
  animation:mwentra .45s ease both;
}
.mw__p[hidden]{ display:none; }
@keyframes mwentra{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .mw__p{ animation:none; } }
/* a colocação é o único vermelho da grade, por isso acende */
.mw__p--top{ border-color:rgba(255,80,63,.4); }
.mw__lugar{
  margin:0; font-family:var(--f-mono); font-size:.6875rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--delta); text-shadow:0 0 12px rgba(255,80,63,.55);
}
.mw__nome{ margin:0; font-weight:600; font-size:1rem; line-height:1.3; }
.mw__pc{ margin:auto 0 0; font-family:var(--f-mono); font-size:.6875rem; letter-spacing:.04em; color:var(--ink-dim); }
.mw__fonte{ margin:1.25rem 0 0; font-size:.75rem; color:var(--ink-dim); max-width:70ch; }

/* ── formulário ──────────────────────────────────────────────────── */
.fm{ display:grid; gap:1.15rem; }
.fm__duas{ display:grid; gap:1.15rem; }
@media (min-width:640px){ .fm__duas{ grid-template-columns:1fr 1fr; } }
.fm label, .fm fieldset{ display:grid; gap:.5rem; margin:0; padding:0; border:0; min-width:0; }
.fm__r, .fm legend{
  font-size:.6875rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim);
  padding:0; margin-bottom:.5rem;
}
.fm label .fm__r{ margin-bottom:0; }
.fm input[type=text], .fm input[type=email], .fm input[type=tel], .fm textarea{
  width:100%; font:inherit; font-size:1rem; color:var(--ink);
  background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:0;
  padding:.95rem 1rem; transition:border-color .2s ease, box-shadow .2s ease;
}
.fm textarea{ min-height:150px; resize:vertical; }
.fm input::placeholder, .fm textarea::placeholder{ color:var(--ink-dim); }
.fm input:focus, .fm textarea:focus{ outline:none; border-color:var(--delta); box-shadow:0 0 0 3px rgba(255,80,63,.18); }
.fm__chips{ display:flex; flex-wrap:wrap; gap:.45rem; }
.fm__chip{ position:relative; display:block !important; }
.fm__chip input{ position:absolute; opacity:0; width:1px; height:1px; }
.fm__chip span{
  display:inline-flex; align-items:center; gap:.5rem;
  border:1px solid var(--line); border-radius:999px; padding:.6rem 1rem;
  font-size:.8125rem; color:var(--ink-mid); cursor:pointer;
  transition:border-color .2s ease, color .2s ease, background .2s ease, box-shadow .2s ease;
}
.fm__chip span small{ font-family:var(--f-mono); font-size:.6875rem; color:var(--ink-dim); }
.fm__chip span:hover{ border-color:rgba(255,255,255,.4); color:var(--ink); }
.fm__chip input:checked + span{
  border-color:var(--delta); color:var(--ink); background:rgba(255,80,63,.1);
  box-shadow:0 0 16px -5px rgba(255,80,63,.65);
}
.fm__chip input:focus-visible + span{ outline:2px solid var(--delta); outline-offset:3px; }
.fm__fim{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.25rem; margin-top:.35rem; }
.fm__fim .p-pill{ border:0; cursor:pointer; font-size:.875rem; padding:.85rem 1.5rem; }
.fm__ok{ margin:0; font-size:.8125rem; color:var(--ink-mid); min-height:1.3em; }
.fm__ok--erro{ color:var(--delta); }
.fm__aviso{ margin:0; font-size:.75rem; color:var(--ink-dim); }

/* painel ao lado do formulário */
.lado{ display:grid; gap:clamp(.75rem,1.4vw,1rem); align-content:start; }
.passos{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line-soft); }
.passos li{ display:grid; grid-template-columns:auto 1fr; gap:1rem; padding:1.15rem .25rem; border-bottom:1px solid var(--line-soft); }
.passos b{ font-family:var(--f-mono); font-size:.75rem; font-weight:500; color:var(--delta); padding-top:.2rem; }
.passos h3{ margin:0 0 .25rem; font-size:.9375rem; font-weight:600; }
.passos p{ margin:0; font-size:.8125rem; color:var(--ink-dim); }
.caixa{ padding:clamp(1.5rem,3vw,2.25rem); background:var(--panel); border:1px solid var(--line-soft); }
.caixa__t{ margin:0 0 1.25rem; font-family:var(--f-display); font-weight:400; font-size:1.2rem; letter-spacing:.012em; text-transform:uppercase; }
.fr{ display:grid; gap:clamp(1rem,2vw,1.5rem); margin-top:clamp(2rem,4vw,3rem); }
@media (min-width:960px){ .fr{ grid-template-columns:1.35fr 1fr; } }

/* ── contato: três canais ────────────────────────────────────────── */
.ct{ display:grid; gap:clamp(.6rem,1vw,.85rem); margin-top:clamp(2rem,4vw,3rem); }
@media (min-width:860px){ .ct{ grid-template-columns:repeat(3,1fr); } }
.ct .tc{ min-height:220px; }
.ct__v{ margin:0; font-family:var(--f-display); font-weight:400; font-size:clamp(1.15rem,1.7vw,1.4rem); letter-spacing:.005em; word-break:break-word; }
.ct .rc__ico{ margin:0; }

/* ── sobre ───────────────────────────────────────────────────────── */
.sb-pilares{ margin-top:clamp(2.25rem,4vw,3.25rem); }
.ms{ display:grid; gap:clamp(2rem,4vw,3.5rem); align-items:stretch; }
@media (min-width:920px){ .ms{ grid-template-columns:1.1fr .9fr; } }
.ms__t{ align-self:center; }
.ms__t p{ color:var(--ink-mid); max-width:50ch; margin:1rem 0 0; }
.ms__fig{
  position:relative; margin:0; min-height:clamp(440px,48vw,600px);
  background:var(--panel); border:1px solid var(--line-soft); overflow:hidden;
}
/* a linha de LED no chão: onde a foto recortada pisa */
.ms__fig::after{
  content:""; position:absolute; left:8%; right:8%; bottom:0; height:1px; background:var(--delta);
  box-shadow:0 0 14px 1px rgba(255,80,63,.7), 0 0 44px 4px rgba(255,80,63,.3);
}
.ms__fig img{
  position:absolute; bottom:0; left:50%; transform:translateX(-58%);
  height:96%; width:auto; max-width:none;
}
.ms__leg{
  position:absolute; right:clamp(1rem,2vw,1.5rem); bottom:clamp(1.25rem,2.4vw,1.75rem); z-index:1;
  max-width:min(58%,300px); padding:1rem 1.1rem;
  background:rgba(8,8,7,.78); border:1px solid var(--line);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.ms__leg q{ display:block; font-size:.875rem; line-height:1.5; color:var(--ink); quotes:"\201C" "\201D"; }
.ms__leg p{ margin:.7rem 0 0; font-size:.75rem; color:var(--ink-dim); }
.ms__leg p b{ display:block; color:var(--ink-mid); font-weight:600; font-size:.8125rem; }

.cit{ margin:0; text-align:center; display:grid; justify-items:center; gap:1.5rem; }
.cit blockquote{ margin:0; }
.cit blockquote p{
  margin:0; font-family:var(--f-display); font-weight:300;
  font-size:clamp(1.7rem,4.2vw,3.3rem); line-height:1.1; letter-spacing:.012em;
  text-transform:uppercase; max-width:22ch; text-wrap:balance;
}
.cit blockquote em{ font-style:normal; color:var(--delta); }
.cit figcaption{ font-family:var(--f-mono); font-size:.75rem; color:var(--ink-dim); letter-spacing:.04em; }
.cit__depois{ margin:0; max-width:46ch; color:var(--ink-mid); }

/* ===== BRILHO ===== */

.rc__ico svg{ filter:drop-shadow(0 0 2px rgba(255,80,63,.28)); }
.rc__item:hover .rc__ico svg, .tc:hover .rc__ico svg{ filter:drop-shadow(0 0 3px rgba(255,80,63,.4)); }
.rc__ico--pulsa::after{ border-color:rgba(255,80,63,.45); }
.be__ico, .be:hover .be__ico{ filter:none; }
.pr__black{ box-shadow:0 0 0 1px rgba(255,80,63,.12), 0 20px 50px -32px rgba(255,80,63,.35); }
.pr__black::before{ box-shadow:none; }
.d-trilho__p--b{ box-shadow:0 0 0 3px rgba(255,80,63,.12); }
.tc--black, .phap__f--1, .dk__c:hover .dk__f, .fm__chip input:checked + span, .phcu__b i{ box-shadow:none; }
.gt__n, .phcu__tot b, .phtu__n b, .mw__lugar{ text-shadow:none; }
.ph--so::after, .ms__fig::after{ box-shadow:0 0 6px rgba(255,80,63,.3); }
