/* ==========================================================================
   v6-engenharia · camada v6 (01/10/2026) · seção Engenharia Civil (frente Engenharia)
   Carrega por último. Prefixo e-eng-. Usa os tokens e utilitários do v6-base (e-sobrelinha, e-eyebrow, e-lede, e-btn, e-chip, e-revela, e-anim,
   e-selo do style.css, e-cat-migalha do catálogo) e acrescenta só o que é da seção.
   Ideia visual: a página é uma prancha de desenho técnico. Moldura dupla de linha fina no cabeçalho, malha de papel milimetrado que se apaga,
   uma treliça desenhada à linha com carga e cota, numeração em mono nos cartões e nas listas. Acento único: o azul de projeto (--e-eng).
   Claro e escuro valem igual; contraste de texto 4,5:1; alvos de 44 px; sem rolagem horizontal em 360 px; movimento só em transform e opacity.
   ========================================================================== */

.e-eng{
  --e-eng:#1F5C8B;                                   /* 6,4:1 sobre o papel, 7,1:1 sobre o cartão */
  --e-eng-linha:color-mix(in srgb,var(--e-eng) 34%,transparent);
  --e-eng-suave:color-mix(in srgb,var(--e-eng) 8%,transparent);
  --e-eyebrow:var(--e-eng);
  --e-acento:var(--e-eng);
  --e-mono:var(--e-fonte-mono);
}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) .e-eng{--e-eng:#8DBBE3;--e-eng-linha:color-mix(in srgb,var(--e-eng) 38%,transparent);--e-eng-suave:color-mix(in srgb,var(--e-eng) 11%,transparent)}}
:root[data-tema="escuro"] .e-eng{--e-eng:#8DBBE3;--e-eng-linha:color-mix(in srgb,var(--e-eng) 38%,transparent);--e-eng-suave:color-mix(in srgb,var(--e-eng) 11%,transparent)}

.e-eng{display:block}
.e-eng a{text-underline-offset:.22em}
.e-eng ul,.e-eng ol{list-style:none;margin:0;padding:0}

/* ---------- cabeçalho: a prancha ---------- */
.e-eng-cabeca{
  position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--e-s-6);
  padding:clamp(1.25rem,.5rem + 3.6vw,3.75rem);
  border:1px solid var(--e-cabelo-forte);border-radius:var(--e-r-4);background:var(--e-cartao);overflow:clip;
}
.e-eng-cabeca::before{                               /* papel milimetrado que se apaga na direção do texto */
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background-image:linear-gradient(var(--e-eng-linha) 1px,transparent 1px),linear-gradient(90deg,var(--e-eng-linha) 1px,transparent 1px);
  background-size:2rem 2rem;background-position:-1px -1px;opacity:.5;
  -webkit-mask-image:linear-gradient(115deg,transparent 28%,#000 92%);mask-image:linear-gradient(115deg,transparent 28%,#000 92%);
}
.e-eng-cabeca::after{                                /* moldura interna, como a margem de uma folha de desenho */
  content:"";position:absolute;inset:.45rem;z-index:-1;pointer-events:none;
  border:1px solid var(--e-eng-linha);border-radius:calc(var(--e-r-4) - .35rem);
}
.e-eng-cabeca__texto{min-width:0;max-width:44rem}
.e-eng-cabeca h1{
  margin:0 0 var(--e-s-4);font-size:clamp(2.5rem,1rem + 4vw,4.75rem);font-weight:520;line-height:1.02;letter-spacing:-.034em;text-wrap:balance;
}
.e-eng--disc .e-eng-cabeca h1{font-size:clamp(2.1rem,1.4rem + 3.2vw,3.75rem)}
.e-eng-lede{margin-bottom:var(--e-s-4);max-width:34rem}
.e-eng-aviso{
  max-width:38rem;margin:0 0 var(--e-s-5);padding:.85rem 1rem;border-left:3px solid var(--e-ouro);
  background:color-mix(in srgb,var(--e-ouro) 11%,transparent);border-radius:0 var(--e-r-2) var(--e-r-2) 0;
  font-size:var(--e-t-2);line-height:1.55;color:var(--e-tinta);
}
.e-eng-aviso strong{font-weight:650}
.e-eng .e-cat-migalha{margin-bottom:var(--e-s-4)}
.e-eng .e-cat-migalha a{padding-inline:.45rem;margin-inline:-.45rem;justify-content:center}   /* alvo de 44 px também na largura */

.e-eng-numeros{display:grid;grid-template-columns:repeat(4,minmax(0,max-content));justify-content:start;gap:0;margin:0;padding:0}   /* uma fileira que encolhe (o rótulo quebra em duas linhas) em vez de pular de linha com a régua solta */
.e-eng-numeros>div{display:flex;flex-direction:column;gap:.35rem;padding:0 var(--e-s-5);border-left:1px solid var(--e-eng-linha)}
.e-eng-numeros>div:first-child{padding-left:0;border-left:0}
.e-eng-numeros dt{order:2;font-size:var(--e-t-1);font-weight:600;letter-spacing:.02em;color:var(--e-tinta-2);line-height:1.3}
.e-eng-numeros dd{order:1;margin:0;font-family:var(--e-fonte-titulo);font-size:var(--e-t-6);font-weight:520;line-height:1;letter-spacing:-.02em;color:var(--e-eng);font-variant-numeric:lining-nums tabular-nums}

.e-eng-arte{display:none}
.e-eng-arte__svg{display:block;width:100%;height:auto;max-height:22rem;overflow:visible;color:var(--e-eng)}
.e-eng-arte__estrutura path{stroke:var(--e-eng);stroke-width:2.2;fill:none}
.e-eng-arte__nos circle{fill:var(--e-cartao);stroke:var(--e-eng);stroke-width:2.2}
.e-eng-arte__carga path{stroke:var(--e-ouro-texto);stroke-width:2;fill:none}
.e-eng-arte__apoio path,.e-eng-arte__apoio circle{stroke:var(--e-eng);stroke-width:2;fill:none}
.e-eng-arte__apoio path:first-child{fill:var(--e-eng-suave)}
.e-eng-arte__apoio .e-eng-arte__solo{stroke-width:1.4;opacity:.7}
.e-eng-arte__cota path{stroke:var(--e-tinta-2);stroke-width:1.3;fill:none}
.e-eng-arte__cota path:last-of-type{fill:var(--e-tinta-2)}
.e-eng-arte__cota text,.e-eng-arte__rotulo{font-family:var(--e-mono);font-size:15px;fill:var(--e-tinta-2);stroke:none}
.e-eng-arte__rotulo{fill:var(--e-ouro-texto)}
@media (min-width:48rem){
  .e-eng--hub .e-eng-cabeca{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:var(--e-s-7)}
  .e-eng-arte{display:block}
}

/* ---------- seções do hub ---------- */
.e-eng-sec,.e-eng-acesso{margin-top:clamp(3rem,2rem + 4.2vw,6rem)}
.e-eng-sec__cabeca{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--e-s-3) var(--e-s-6);margin:0 0 var(--e-s-6)}
.e-eng-sec__cabeca h2{margin:0;font-size:var(--e-t-6);letter-spacing:-.024em}
.e-eng-sec__cabeca .e-eyebrow{display:block}
.e-eng-sec__cabeca>p{margin:0;max-width:30rem;color:var(--e-tinta-2);font-size:var(--e-t-2);line-height:1.55}

/* ---------- cartões de disciplina ---------- */
.e-eng-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));gap:var(--e-gap-grade)}
.e-eng-card{
  position:relative;display:flex;flex-direction:column;gap:var(--e-s-3);min-width:0;padding:var(--e-s-5);
  border:1px solid var(--e-cabelo-forte);border-radius:var(--e-r-3);background:var(--e-cartao);
  transition:transform var(--e-dur-2) var(--e-ease),box-shadow var(--e-dur-2) var(--e-ease),border-color var(--e-dur-2) ease;
}
.e-eng-card::before{                                 /* filete de acento no topo, como a legenda de uma prancha */
  content:"";position:absolute;left:var(--e-s-5);right:var(--e-s-5);top:-1px;height:2px;background:var(--e-eng);opacity:.9;border-radius:0 0 2px 2px;
}
.e-eng-card:not(.e-eng-card--vazio):hover{transform:translateY(-2px);box-shadow:var(--e-sombra-2);border-color:var(--e-eng-linha)}
.e-eng-card:has(:focus-visible){outline:2px solid var(--e-foco);outline-offset:3px}
.e-eng-card__topo{display:flex;align-items:center;justify-content:space-between}
.e-eng-card__num{font-family:var(--e-mono);font-size:var(--e-t-1);font-weight:600;letter-spacing:.1em;color:var(--e-eng);font-variant-numeric:tabular-nums}
.e-eng-card__icone{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--e-eng-linha);border-radius:var(--e-r-2);background:var(--e-eng-suave);color:var(--e-eng)}
.e-eng-card__icone svg{width:1.45rem;height:1.45rem}
.e-eng-card__titulo{margin:var(--e-s-2) 0 0;font-size:var(--e-t-5);font-weight:560;line-height:1.14;letter-spacing:-.02em;text-wrap:balance}
.e-eng-card__link{display:block;padding-block:.5rem;margin-block:-.5rem;color:var(--e-tinta);text-decoration:none}   /* área de 44 px sem mudar a altura do cartão (o cartão inteiro já é clicável pelo ::after) */
.e-eng-card__link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.e-eng-card__link:hover{color:var(--e-tinta)}
.e-eng-card__fatos{margin:0;display:flex;flex-wrap:wrap;gap:.25rem .1rem;align-items:center;font-size:var(--e-t-2);color:var(--e-tinta-2)}
.e-eng-card__fatos strong{color:var(--e-tinta);font-weight:650}
.e-eng-card__desc{margin:0;font-size:var(--e-t-2);line-height:1.55;color:var(--e-tinta-2);text-wrap:pretty}
.e-eng-card__abrir{
  display:inline-flex;align-items:center;gap:.45rem;margin-top:auto;padding-top:var(--e-s-3);min-height:2.75rem;
  border-top:1px dashed var(--e-eng-linha);font-weight:650;font-size:var(--e-t-2);color:var(--e-eng);
}
.e-eng-card__abrir .e-seta{width:1.1em;height:1.1em;transition:transform var(--e-dur-2) var(--e-ease)}
.e-eng-card:hover .e-eng-card__abrir .e-seta,.e-eng-treino-card:hover .e-eng-card__abrir .e-seta{transform:translateX(4px)}
.e-eng-card--vazio{background:transparent;border-style:dashed;border-color:var(--e-cabelo-forte)}
.e-eng-card--vazio::before{opacity:.35}
.e-eng-card--vazio .e-eng-card__titulo{color:var(--e-tinta-2)}
.e-eng-card--vazio .e-eng-card__icone{background:transparent;color:var(--e-tinta-2);border-color:var(--e-cabelo-forte)}
.e-eng-card--vazio .e-eng-card__num{color:var(--e-tinta-2)}

/* ---------- treinos ---------- */
.e-eng-treinos{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,26rem),1fr));gap:var(--e-gap-grade)}
.e-eng-treino-card{position:relative;min-width:0}
.e-eng-treino-card__link{
  position:relative;display:flex;flex-direction:column;gap:var(--e-s-3);height:100%;padding:var(--e-s-5) var(--e-s-5) var(--e-s-4);
  border:1px solid var(--e-eng-linha);border-radius:var(--e-r-3);background:linear-gradient(135deg,var(--e-eng-suave),transparent 70%),var(--e-cartao);
  color:var(--e-tinta);text-decoration:none;
  transition:transform var(--e-dur-2) var(--e-ease),box-shadow var(--e-dur-2) var(--e-ease);
}
.e-eng-treino-card__link:hover{transform:translateY(-2px);box-shadow:var(--e-sombra-2);color:var(--e-tinta)}
.e-eng-treino-card__link:focus-visible{outline:2px solid var(--e-foco);outline-offset:3px}
.e-eng-treino-card__topo{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-s-2) var(--e-s-3)}
.e-eng-treino-card__discs{font-size:var(--e-t-1);font-weight:600;color:var(--e-tinta-2)}
.e-eng-treino-card__titulo{font-family:var(--e-fonte-titulo);font-size:var(--e-t-5);font-weight:560;line-height:1.14;letter-spacing:-.02em;text-wrap:balance}
.e-eng-treino-card__resumo{font-size:var(--e-t-2);line-height:1.55;color:var(--e-tinta-2)}

/* ---------- como estudar ---------- */
.e-eng-passos{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--e-s-5);counter-reset:eng-passo}
@media (min-width:52rem){.e-eng-passos{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e-s-6)}}
.e-eng-passos li{counter-increment:eng-passo;position:relative;padding-top:var(--e-s-5);border-top:1px solid var(--e-cabelo-forte)}
.e-eng-passos li::before{
  content:counter(eng-passo,decimal-leading-zero);display:block;margin-bottom:var(--e-s-3);
  font-family:var(--e-fonte-titulo);font-size:var(--e-t-7);font-weight:400;line-height:1;letter-spacing:-.03em;color:var(--e-eng);opacity:.55;font-variant-numeric:lining-nums tabular-nums;
}
.e-eng-passos h3{margin:0 0 var(--e-s-2);font-size:var(--e-t-4);font-weight:580}
.e-eng-passos p{margin:0;max-width:36ch;font-size:var(--e-t-2);line-height:1.6;color:var(--e-tinta-2);text-wrap:pretty}

/* ---------- selos ---------- */
.e-eng-acesso{padding:var(--e-s-5);border:1px solid var(--e-cabelo-forte);border-radius:var(--e-r-3);background:var(--e-superficie)}
.e-eng-acesso h2{margin:0 0 var(--e-s-4);font-size:var(--e-t-4);font-weight:580;letter-spacing:-.01em}
.e-eng-acesso dl{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--e-s-3) var(--e-s-6);margin:0}
@media (min-width:44rem){.e-eng-acesso dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.e-eng-acesso dl>div{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-s-2) var(--e-s-3)}
.e-eng-acesso dt{margin:0}
.e-eng-acesso dd{margin:0;flex:1 1 14rem;font-size:var(--e-t-2);line-height:1.5;color:var(--e-tinta-2)}
.e-eng-texto{margin-top:var(--e-secao-y)}

/* ---------- página da disciplina ---------- */
.e-eng--disc .e-eng-cabeca{gap:var(--e-s-4)}
.e-eng-cabeca__miolo{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--e-s-5);align-items:start}
@media (min-width:40rem){.e-eng-cabeca__miolo{grid-template-columns:auto minmax(0,1fr);gap:var(--e-s-6)}}
.e-eng-icone-grande{display:grid;place-items:center;width:4.5rem;height:4.5rem;border:1px solid var(--e-eng-linha);border-radius:var(--e-r-3);background:var(--e-eng-suave);color:var(--e-eng)}
.e-eng-icone-grande svg{width:2.4rem;height:2.4rem}
.e-eng-fatos{display:flex;flex-wrap:wrap;gap:var(--e-s-2) var(--e-s-5);margin:var(--e-s-4) 0 0;font-size:var(--e-t-2);color:var(--e-tinta-2)}
.e-eng-fatos strong{font-family:var(--e-fonte-titulo);font-size:var(--e-t-5);font-weight:540;color:var(--e-eng);font-variant-numeric:lining-nums tabular-nums;margin-right:.15rem}
.e-eng-indice{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-s-2) var(--e-s-4);margin:var(--e-s-6) 0 0}
.e-eng-indice__rotulo{font-size:var(--e-t-1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--e-eng)}
.e-eng-indice ul{display:flex;flex-wrap:wrap;gap:var(--e-s-2)}
.e-eng-grupos{counter-reset:eng-item;margin-top:var(--e-s-7)}
.e-eng-grupo{scroll-margin-top:calc(var(--e-cabecalho) + 1rem)}
.e-eng-grupo+.e-eng-grupo{margin-top:var(--e-s-8)}
.e-eng-grupo__cabeca{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--e-s-2) var(--e-s-4);margin:0 0 var(--e-s-4)}
.e-eng-grupo__cabeca h2{margin:0;font-size:var(--e-t-5);font-weight:560;letter-spacing:-.02em}
.e-eng-grupo__conta{font-size:var(--e-t-1);font-weight:600;color:var(--e-tinta-2);font-variant-numeric:lining-nums tabular-nums}
/* plano de ensino: primeiro bloco da disciplina, em destaque */
.e-eng-grupo--plano{padding:var(--e-s-5);border:1px solid var(--e-eng-linha);border-radius:var(--e-r-3);background:linear-gradient(135deg,var(--e-eng-suave),transparent 70%),var(--e-cartao)}
.e-eng-grupo--plano .e-eng-grupo__cabeca h2{color:var(--e-eng)}
.e-eng-grupo--plano .e-eng-lista{border-top-color:var(--e-eng-linha)}
.e-eng-lista{border-top:1px solid var(--e-cabelo-forte)}
.e-eng-item{counter-increment:eng-item;border-bottom:1px solid var(--e-cabelo)}
.e-eng-item__link{
  display:grid;grid-template-columns:2rem minmax(0,1fr);gap:var(--e-s-3) var(--e-s-4);align-items:start;
  padding:var(--e-s-4) var(--e-s-2);color:var(--e-tinta);text-decoration:none;border-radius:var(--e-r-2);
  transition:background-color var(--e-dur-1) ease;
}
@media (min-width:40rem){.e-eng-item__link{grid-template-columns:3rem minmax(0,1fr) auto;padding:var(--e-s-4) var(--e-s-3)}}
.e-eng-item__link:hover{background:var(--e-eng-suave);color:var(--e-tinta)}
.e-eng-item__link:focus-visible{outline:2px solid var(--e-foco);outline-offset:-2px}
.e-eng-item__num::before{content:counter(eng-item,decimal-leading-zero);font-family:var(--e-mono);font-size:var(--e-t-1);font-weight:600;letter-spacing:.08em;line-height:1.9;color:var(--e-eng);font-variant-numeric:tabular-nums}
.e-eng-item__corpo{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.e-eng-item__titulo{font-family:var(--e-fonte-titulo);font-size:var(--e-t-4);font-weight:540;line-height:1.2;letter-spacing:-.015em;text-wrap:balance}
.e-eng-item__resumo{font-size:var(--e-t-2);line-height:1.55;color:var(--e-tinta-2);max-width:62ch;text-wrap:pretty}
.e-eng-item__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-s-2) var(--e-s-3);margin-top:.15rem}
.e-eng-item__info{font-size:var(--e-t-1);font-weight:600;color:var(--e-tinta-2);font-variant-numeric:lining-nums tabular-nums}
.e-eng-item__seta{display:none;place-items:center;align-self:center;width:2.75rem;height:2.75rem;color:var(--e-eng);opacity:.55;transition:transform var(--e-dur-2) var(--e-ease),opacity var(--e-dur-2) ease}
@media (min-width:40rem){.e-eng-item__seta{display:grid}}
.e-eng-item__seta .e-seta{width:1.25rem;height:1.25rem}
.e-eng-item__link:hover .e-eng-item__seta{transform:translateX(4px);opacity:1}

.e-eng-rodape-disc{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-s-3) var(--e-s-5);margin-top:var(--e-s-8);padding-top:var(--e-s-5);border-top:1px solid var(--e-cabelo-forte)}
.e-eng-rodape-disc ul{display:flex;flex-wrap:wrap;gap:var(--e-s-2)}
.e-eng-volta .e-seta--esq{width:1.05em;height:1.05em}

/* ---------- estado vazio ---------- */
.e-eng-vazio{
  display:flex;flex-direction:column;align-items:center;gap:var(--e-s-3);margin-top:var(--e-s-7);padding:var(--e-s-7) var(--e-s-5);text-align:center;
  border:1px dashed var(--e-eng-linha);border-radius:var(--e-r-4);background:var(--e-cartao);
}
.e-eng-vazio__arte{width:7.5rem;height:auto;color:var(--e-eng)}
.e-eng-vazio__arte *{stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;fill:none}
.e-eng-vazio h2{margin:0;font-size:var(--e-t-5)}
.e-eng-vazio p{margin:0 0 var(--e-s-3);max-width:36rem;color:var(--e-tinta-2);line-height:1.6}

/* ---------- botão "Abrir o treino" dentro da página do material ---------- */
.e-eng-treino{
  margin:var(--e-s-5) 0;padding:var(--e-s-6) var(--e-s-5);border:1px solid var(--e-cabelo-forte);border-radius:var(--e-r-3);
  background:linear-gradient(135deg,color-mix(in srgb,var(--e-prim) 7%,transparent),transparent 75%),var(--e-cartao);
}
.e-eng-treino-pagina .e-material__tempo{display:none}   /* "1 min de leitura" não faz sentido para um treino interativo */
.e-eng-treino__texto{margin:0 0 var(--e-s-4);font-size:var(--e-t-3);line-height:1.6;max-width:56ch}
.e-eng-treino__acao{margin:0 0 var(--e-s-4)}
.e-eng-treino .e-eng-treino__abrir{display:inline-flex;align-items:center;justify-content:center;min-height:3.5rem;padding-inline:2.25rem;font-size:1.25rem;font-weight:650}
.e-eng-treino__aviso{
  margin:0;padding:.8rem 1rem;border-left:3px solid var(--e-ouro);border-radius:0 var(--e-r-2) var(--e-r-2) 0;
  background:color-mix(in srgb,var(--e-ouro) 12%,transparent);font-size:var(--e-t-2);line-height:1.55;max-width:56ch;
}

/* ---------- celular ---------- */
@media (max-width:39.99rem){
  .e-eng-cabeca{border-radius:var(--e-r-3);padding:1.25rem 1.1rem}
  .e-eng-cabeca::after{inset:.3rem;border-radius:calc(var(--e-r-3) - .25rem)}
  .e-eng-numeros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e-s-4)}
  .e-eng-numeros>div,.e-eng-numeros>div:first-child{padding:var(--e-s-3) 0 0;border-left:0;border-top:1px solid var(--e-eng-linha)}
  .e-eng-numeros dd{font-size:var(--e-t-5)}
  .e-eng-card{padding:var(--e-s-4)}
  .e-eng-card::before{left:var(--e-s-4);right:var(--e-s-4)}
}

@media (prefers-reduced-motion:reduce){
  .e-eng-card,.e-eng-treino-card__link,.e-eng-item__seta,.e-eng-card__abrir .e-seta{transition:none}
  .e-eng-card:not(.e-eng-card--vazio):hover,.e-eng-treino-card__link:hover{transform:none}
}
@media print{.e-eng-arte,.e-eng-cabeca::before{display:none}.e-eng-card,.e-eng-item{break-inside:avoid}}
