/* Página de empresas — complementa style.css + cidade.css (mesmos tokens). */
.t-modal select { min-height: 48px; padding: 0 12px; font: inherit; border: 2px solid rgba(28,23,20,.2); border-radius: 14px; background: #fff; color: var(--tinta); }
.t-modal select:focus { outline: 3px solid var(--laranja); outline-offset: 1px; border-color: var(--tinta); }
.eyebrow { font-size: .8rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--laranja-forte); margin-bottom: 10px; }
.e-hero h1 { max-width: 16ch; }
.e-selos { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 26px; }
.e-selos li { display: grid; }
.e-selos strong { font-size: 1.35rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.e-selos li > span { font-size: .85rem; color: var(--suave); font-weight: 600; }
.e-selos strong span { font: inherit; color: inherit; letter-spacing: inherit; }
button.c-btn { font: inherit; font-weight: 700; cursor: pointer; border: 2px solid var(--tinta); }
.e-serv-grid { grid-template-columns: 1fr; }
.e-serv { padding: 24px 22px 22px; }
.e-ico { width: 56px; height: 56px; border-radius: 16px; background: var(--laranja); color: var(--tinta); display: grid; place-items: center; transform: skewX(-8deg); box-shadow: 0 10px 22px -10px rgba(226,112,26,.7); margin-bottom: 14px; transition: transform .4s var(--ease), background .3s; }
.e-ico svg { transform: skewX(8deg); }
.e-serv:hover .e-ico { transform: skewX(-8deg) rotate(-6deg) scale(1.1); background: var(--laranja-forte); color: #fff; }
.e-serv .c-plano-c { padding: 0; }
.e-serv h3 { font-size: 1.25rem; color: var(--tinta); }
.e-serv .c-btn { margin-top: auto; }
.e-seg { background: var(--laranja-claro); }
.e-seg-grid { margin-top: 24px; display: grid; gap: 14px; }
.e-seg-item { background: #fff; border-radius: 20px; padding: 20px; box-shadow: var(--sombra); display: grid; gap: 6px; border-left: 6px solid var(--laranja); transition: transform .3s var(--ease), box-shadow .3s; }
.e-seg-item:hover { transform: translateY(-5px); box-shadow: 0 18px 34px -16px rgba(226,112,26,.55); }
.e-seg-item span { color: var(--tinta-2); font-size: .97rem; }
.e-cidades { list-style: none; padding: 0; margin: 20px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.e-cidades a { display: inline-block; padding: 8px 14px; border-radius: 99px; background: var(--laranja-claro); font-weight: 700; font-size: .92rem; text-decoration: none; color: var(--tinta); transition: transform .25s var(--ease), background .25s, color .25s; }
.e-cidades a:hover { background: var(--laranja); transform: translateY(-3px); }
.e-passos { counter-reset: p; }
.e-cta { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; padding: 24px; border-radius: 24px; background: var(--tinta); color: var(--creme); }
.e-cta div { display: grid; gap: 4px; }
.e-cta strong { font-size: 1.25rem; }
.e-cta span { color: #d8cdc4; }
.e-cta .c-btn { background: var(--laranja); border-color: var(--laranja); color: var(--tinta); }
.e-cta .c-btn:hover { background: #fff; border-color: #fff; color: var(--tinta); }
@media (min-width: 640px) { .e-serv-grid { grid-template-columns: repeat(2, 1fr); } .e-seg-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .e-serv-grid { grid-template-columns: repeat(4, 1fr); } .e-seg-grid { grid-template-columns: repeat(4, 1fr); } }
@media (prefers-reduced-motion: reduce) { .e-ico, .e-seg-item, .e-cidades a { transition: none; } }

/* ===== EFEITOS DA PÁGINA DE EMPRESAS (06/11/2026) ===== */
.e-hero { overflow: hidden; }
.e-fibra { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.e-fibra path { fill: none; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.e-fibra .base { stroke: rgba(245,134,52,.16); stroke-width: 1.5; }
.e-fibra .luz { stroke: #f58634; stroke-width: 3; stroke-dasharray: 90 1500; stroke-dashoffset: 1600; filter: drop-shadow(0 0 6px rgba(245,134,52,.8)); animation: e-viaja 6s linear infinite; }
@keyframes e-viaja { to { stroke-dashoffset: 0; } }
.e-giro { margin-top: 14px; font-weight: 700; font-size: 1.1rem; display: flex; gap: 8px; align-items: baseline; color: var(--tinta-2); }
.e-giro-w { position: relative; display: inline-grid; overflow: hidden; height: 1.5em; vertical-align: bottom; }
.e-giro-w strong { grid-area: 1 / 1; color: var(--laranja-forte); white-space: nowrap; transition: transform .55s var(--ease), opacity .55s var(--ease); }
.e-giro-w .entra { animation: e-entra-p .55s var(--ease) both; }
.e-giro-w .sai { transform: translateY(-110%); opacity: 0; }
@keyframes e-entra-p { from { transform: translateY(110%); opacity: 0; } to { transform: none; opacity: 1; } }
.e-selos strong { font-variant-numeric: tabular-nums; }

/* ícones: traço que se desenha + cartões entrando com giro */
.e-ico svg * { stroke-dasharray: 1; stroke-dashoffset: 0; }
.fx .e-serv .e-ico svg * { stroke-dashoffset: 1; }
.fx .e-serv.e-on .e-ico svg * { animation: e-traco 1.3s var(--ease) .3s forwards; }
@keyframes e-traco { to { stroke-dashoffset: 0; } }
.fx .e-serv.e-on .e-ico { animation: e-pula .7s var(--ease) .2s both; }
@keyframes e-pula { 0% { transform: skewX(-8deg) scale(.4) rotate(-20deg); } 70% { transform: skewX(-8deg) scale(1.15) rotate(4deg); } 100% { transform: skewX(-8deg) scale(1); } }

/* segmentos: preenchimento laranja varre da esquerda ao passar o mouse + entrada em cascata */
.e-seg-item { background: linear-gradient(90deg, var(--laranja-claro), var(--laranja-claro)) 0 0 / 0 100% no-repeat, #fff; transition: transform .3s var(--ease), box-shadow .3s, background-size .5s var(--ease); }
.e-seg-item:hover { background-size: 100% 100%; }
.fx .e-seg-item { clip-path: inset(0 100% 0 0 round 20px); transition: clip-path .9s var(--ease), transform .3s var(--ease), box-shadow .3s, background-size .5s var(--ease); }
.fx .e-seg-item.e-on { clip-path: inset(0 0 0 0 round 20px); }

/* cidades: chips pipocam em sequência */
.fx .e-cidades li { opacity: 0; transform: translate3d(0, 12px, 0) scale(.85); transition: opacity .45s var(--ease), transform .45s var(--ease); }
.fx .e-cidades.e-on li { opacity: 1; transform: none; }
.fx .e-cidades.e-on li:nth-child(1) { transition-delay: .05s; } .fx .e-cidades.e-on li:nth-child(2) { transition-delay: .12s; } .fx .e-cidades.e-on li:nth-child(3) { transition-delay: .19s; } .fx .e-cidades.e-on li:nth-child(4) { transition-delay: .26s; } .fx .e-cidades.e-on li:nth-child(5) { transition-delay: .33s; } .fx .e-cidades.e-on li:nth-child(6) { transition-delay: .40s; } .fx .e-cidades.e-on li:nth-child(7) { transition-delay: .47s; } .fx .e-cidades.e-on li:nth-child(8) { transition-delay: .54s; } .fx .e-cidades.e-on li:nth-child(9) { transition-delay: .61s; } .fx .e-cidades.e-on li:nth-child(10) { transition-delay: .68s; } .fx .e-cidades.e-on li:nth-child(11) { transition-delay: .75s; }

/* passos: linha laranja que se preenche com a rolagem */
.e-passos { position: relative; }
.e-passos::before { content: ""; position: absolute; left: 19px; top: 20px; bottom: 20px; width: 3px; border-radius: 3px; background: rgba(245,134,52,.22); }
.e-passos::after { content: ""; position: absolute; left: 19px; top: 20px; width: 3px; border-radius: 3px; background: linear-gradient(180deg, var(--laranja), var(--laranja-forte)); height: calc((100% - 40px) * var(--lin, 1)); box-shadow: 0 0 10px rgba(245,134,52,.6); }
.e-passos li { position: relative; z-index: 1; }
.e-passos li.feito::before { background: var(--laranja-forte); color: #fff; box-shadow: 0 0 0 6px rgba(245,134,52,.18); transition: background .4s, box-shadow .4s, color .4s; }

/* faixa final: borda de luz girando + botão pulsando */
.e-cta { position: relative; isolation: isolate; }
.e-cta::before { content: ""; position: absolute; z-index: -1; inset: -3px; border-radius: 27px; background: conic-gradient(from var(--ang), #f58634, #1c1714 30%, #ffd7b0 50%, #1c1714 70%, #f58634); animation: fx-gira 4s linear infinite; }
.e-cta::after { content: ""; position: absolute; z-index: -1; inset: 0; border-radius: 24px; background: var(--tinta); }
.e-cta .c-btn { animation: e-pulsa 2.4s ease-in-out infinite; }
@keyframes e-pulsa { 0%, 100% { box-shadow: 0 0 0 0 rgba(245,134,52,.6); } 60% { box-shadow: 0 0 0 16px rgba(245,134,52,0); } }

@media (prefers-reduced-motion: reduce) {
  .e-fibra { display: none; }
  .fx .e-serv .e-ico svg * { stroke-dashoffset: 0; animation: none !important; }
  .fx .e-serv.e-on .e-ico { animation: none; }
  .fx .e-seg-item { clip-path: none; }
  .fx .e-cidades li { transform: none; }
  .e-cta::before { animation: none; }
  .e-cta .c-btn { animation: none; }
}

/* páginas de texto (privacidade) e carreiras */
.p-texto .miolo { max-width: 780px; }
.p-texto h1 { font-size: clamp(2rem, 5vw, 2.8rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.p-texto h2 { margin-top: 30px; font-size: 1.35rem; max-width: none; }
.p-texto h2::after { display: none; }
.p-texto p { margin-top: 10px; color: var(--tinta-2); }
.p-texto p a { text-decoration: underline; text-underline-offset: 2px; font-weight: 600; color: var(--tinta); }
.p-trab h1 { max-width: 14ch; }
