@import url("fontes/fontes.css");

:root {
  --laranja: #F26B35;      /* marca: áreas, botões, ícones */
  --laranja-txt: #B4471A;  /* laranja para texto sobre claro (5,4:1) */
  --grafite: #211F20;
  --grafite-2: #2B2829;
  --grafite-3: #383536;
  --cinza: #F2F2F2;
  --cinza-2: #E6E4E2;
  --cinza-txt: #5E5B5C;    /* texto secundário sobre claro */
  --ambar: #FFB35C;
  --papel: #FFFFFF;
  --canto: 0 14px 0 14px;  /* assinatura de forma da marca */
  --canto-g: 0 28px 0 28px;
  --sombra: 0 18px 40px -22px rgba(33, 31, 32, .45);
  --max: 1240px;
  --menu-h: 72px;
  --fonte: "Nunito", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--menu-h) + 12px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; font-family: var(--fonte); color: var(--grafite); background: var(--papel); font-size: 17px; line-height: 1.6;
  -webkit-font-smoothing: antialiased; overflow-x: clip; }
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button { font: inherit; color: inherit; cursor: pointer; }
h1, h2, h3, h4 { line-height: 1.1; margin: 0; letter-spacing: -.01em; }
p { margin: 0; }
.envelope { width: min(var(--max), 100% - 40px); margin-inline: auto; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.num { font-family: var(--mono); font-variant-numeric: tabular-nums; }
:focus-visible { outline: 3px solid var(--laranja); outline-offset: 3px; }

/* ---------- Botões ---------- */
.btn { display: inline-flex; align-items: center; gap: .6em; padding: .95em 1.5em; border-radius: var(--canto); border: 0;
  font-weight: 800; font-size: .95rem; text-decoration: none; letter-spacing: .01em; transition: transform .2s, background .2s, color .2s, box-shadow .2s; }
.btn svg { width: 18px; height: 18px; flex: none; }
.btn-laranja { background: var(--laranja); color: var(--grafite); }
.btn-laranja:hover { background: #ff7b47; transform: translateY(-2px); box-shadow: 0 10px 24px -10px rgba(242, 107, 53, .8); }
.btn-escuro { background: var(--grafite); color: #fff; }
.btn-escuro:hover { background: var(--grafite-3); transform: translateY(-2px); }
.btn-contorno { background: transparent; color: inherit; box-shadow: inset 0 0 0 2px currentColor; }
.btn-contorno:hover { background: rgba(255, 255, 255, .08); transform: translateY(-2px); }
.sobre-claro .btn-contorno:hover { background: rgba(33, 31, 32, .06); }
.rotulo { font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--laranja-txt); display: inline-flex; align-items: center; gap: .6em; }
.rotulo::before { content: ""; width: 22px; height: 3px; background: var(--laranja); border-radius: 0 3px 0 3px; }
.escuro .rotulo { color: var(--laranja); }

/* ---------- Cabeçalho ---------- */
.topo { position: fixed; inset: 0 0 auto; z-index: 50; height: var(--menu-h); transition: background .3s, box-shadow .3s; color: #fff; }
.topo .envelope { height: 100%; display: flex; align-items: center; gap: 20px; }
.topo .marca { display: block; width: 150px; flex: none; position: relative; height: 40px; }
.topo .marca img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: left center; transition: opacity .3s; }
.topo .marca .claro { opacity: 0; }
.topo.rolado { background: rgba(255, 255, 255, .92); backdrop-filter: blur(14px) saturate(1.4); color: var(--grafite); box-shadow: 0 1px 0 rgba(0, 0, 0, .06); }
.topo.rolado .marca .branco { opacity: 0; }
.topo.rolado .marca .claro { opacity: 1; }
.menu { display: flex; gap: 2px; margin-left: auto; list-style: none; padding: 0; margin-block: 0; }
.menu > li { position: relative; }
.menu > li > a, .menu > li > button { display: block; padding: .6em .85em; background: none; border: 0; font-weight: 700; font-size: .93rem; text-decoration: none; border-radius: 8px; }
.menu > li > a:hover, .menu > li > button:hover, .menu > li > button[aria-expanded="true"] { background: rgba(127, 127, 127, .14); }
.topo .acoes { display: flex; align-items: center; gap: 8px; }
.icone-btn { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; border: 0; background: rgba(127, 127, 127, .14); }
.icone-btn svg { width: 19px; height: 19px; }
.atalho { font-family: var(--mono); font-size: .68rem; opacity: .6; margin-left: 4px; }
.idioma { display: flex; gap: 2px; font-size: .78rem; font-weight: 800; }
.idioma button { border: 0; background: none; padding: .35em .45em; border-radius: 6px; opacity: .55; }
.idioma button[aria-pressed="true"] { opacity: 1; background: rgba(127, 127, 127, .16); }
.topo .btn { padding: .75em 1.15em; font-size: .88rem; }
.hamburguer { display: none; }

/* mega-menu */
.mega { position: fixed; left: 0; right: 0; top: var(--menu-h); background: #fff; color: var(--grafite); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .35);
  border-top: 1px solid var(--cinza-2); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: .22s; }
.mega.aberto { opacity: 1; visibility: visible; transform: none; }
.mega .envelope { display: grid; grid-template-columns: repeat(3, 1fr) 1.1fr; gap: 10px; padding-block: 26px; }
.mega a.item { display: grid; grid-template-columns: 54px 1fr; gap: 12px; align-items: center; padding: 12px; border-radius: var(--canto); text-decoration: none; }
.mega a.item:hover { background: var(--cinza); }
.mega a.item .mini { width: 54px; height: 54px; display: grid; place-items: center; background: var(--cinza); border-radius: var(--canto); }
.mega a.item .mini svg { width: 40px; height: 40px; }
.mega a.item b { display: block; font-size: .98rem; }
.mega a.item small { color: var(--cinza-txt); font-size: .8rem; line-height: 1.35; display: block; }
.mega .destaque { grid-row: span 2; background: var(--grafite); color: #fff; border-radius: var(--canto-g); padding: 22px; display: flex; flex-direction: column; justify-content: space-between; gap: 14px; }
.mega .destaque p { font-size: .92rem; opacity: .85; }

/* ---------- Abertura (3 versões; html[data-hero] escolhe) ---------- */
.hero { display: none; position: relative; min-height: min(100svh, 940px); background: var(--grafite); color: #fff; overflow: hidden; isolation: isolate; }
html[data-hero="a"] .hero-a, html[data-hero="b"] .hero-b, html[data-hero="c"] .hero-c { display: block; }
.hero .envelope { position: relative; z-index: 2; padding-top: calc(var(--menu-h) + 56px); padding-bottom: 48px; }
.calor { position: absolute; inset: -20%; z-index: -1; pointer-events: none;
  background: radial-gradient(40% 35% at 78% 40%, rgba(242, 107, 53, .38), transparent 70%),
              radial-gradient(30% 30% at 20% 85%, rgba(255, 179, 92, .16), transparent 70%); }
.grade-termica { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; opacity: .9;
  -webkit-mask-image: linear-gradient(100deg, transparent 38%, #000 72%); mask-image: linear-gradient(100deg, transparent 38%, #000 72%); } /* pontos nunca passam sob o texto */
.hero-c .grade-termica { -webkit-mask-image: linear-gradient(260deg, transparent 30%, #000 75%); mask-image: linear-gradient(260deg, transparent 30%, #000 75%); }
.hero h1 { font-size: clamp(2.2rem, 3.9vw, 3.55rem); font-weight: 900; letter-spacing: -.025em; max-width: 18ch; }
.hero h1 em { font-style: normal; color: var(--laranja); }
.hero .sub { font-size: clamp(1.05rem, 1.4vw, 1.22rem); max-width: 52ch; opacity: .86; margin-top: 22px; }
.hero .botoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-a .grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; }
.janela { position: relative; border-radius: var(--canto-g); overflow: hidden; aspect-ratio: 1; background: #000; box-shadow: 0 40px 80px -30px rgba(242, 107, 53, .45); }
.janela video, .janela img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.3); transform-origin: 25% 15%; } /* tira do quadro a marca d'água do Reel (canto inferior direito) */
.janela::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(33, 31, 32, .85)); }
.janela .leitura { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 16px; display: flex; justify-content: space-between; align-items: end; gap: 10px; }
.janela .leitura b { font-family: var(--mono); font-size: clamp(1.6rem, 2.6vw, 2.3rem); color: var(--ambar); line-height: 1; }
.janela .leitura small { font-size: .78rem; opacity: .8; display: block; }
.janela .ao-vivo { position: absolute; z-index: 2; top: 14px; left: 14px; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;
  background: rgba(0, 0, 0, .55); padding: .45em .8em; border-radius: 0 8px 0 8px; display: flex; gap: .5em; align-items: center; }
.janela .ao-vivo::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--laranja); animation: piscar 1.6s infinite; }
@keyframes piscar { 50% { opacity: .25; } }
.portas { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 44px; }
.porta { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 18px 20px; border-radius: var(--canto);
  background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); text-decoration: none; transition: .25s; }
.porta:hover { background: rgba(242, 107, 53, .16); box-shadow: inset 0 0 0 1px var(--laranja); transform: translateY(-3px); }
.porta .mini svg { width: 46px; height: 46px; }
.porta b { display: block; font-size: 1.05rem; }
.porta small { opacity: .75; font-size: .85rem; line-height: 1.4; display: block; }
.porta .seta { width: 22px; height: 22px; transition: transform .25s; }
.porta:hover .seta { transform: translateX(4px); }

/* Abertura B: ciclo térmico */
.hero-b .envelope { display: grid; grid-template-rows: auto 1fr; min-height: min(100svh, 940px); }
.ciclo { width: 100%; height: auto; margin-top: 18px; }
.ciclo .eixo { stroke: rgba(255, 255, 255, .22); stroke-width: 1; }
.ciclo .grade line { stroke: rgba(255, 255, 255, .06); }
.ciclo .curva { fill: none; stroke: var(--laranja); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 10px rgba(242, 107, 53, .7)); }
.ciclo .area { fill: url(#ciclo-grad); }
.ciclo .fase { fill: rgba(255, 255, 255, .78); font: 800 13px var(--fonte); letter-spacing: .12em; text-transform: uppercase; }
.ciclo .ponto { fill: var(--ambar); }
.ciclo .nota { fill: rgba(255, 255, 255, .45); font: 500 11px var(--mono); }
.hero-b .linha { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: end; }

/* Abertura C: a palavra do CEO */
.hero-c .grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: center; }
.hero-c .retrato { position: relative; aspect-ratio: 9 / 14; border-radius: var(--canto-g); overflow: hidden; background: #000; max-height: 640px; }
.hero-c .retrato video, .hero-c .retrato img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-c .retrato .som { position: absolute; z-index: 2; left: 14px; bottom: 14px; }
.hero-c blockquote { margin: 0; font-size: clamp(1.7rem, 3.2vw, 2.9rem); font-weight: 800; line-height: 1.18; letter-spacing: -.015em; }
.hero-c blockquote::before { content: "“"; display: block; font-size: 3em; line-height: 1; color: var(--laranja); height: .5em; margin-top: .3em; }
.hero-c cite { display: block; font-style: normal; margin-top: 18px; opacity: .8; font-size: .95rem; }
.hero-c cite b { color: var(--laranja); }

/* ---------- Faixa de números ---------- */
.numeros { background: var(--grafite-2); color: #fff; border-top: 1px solid rgba(255, 255, 255, .06); }
.numeros ul { list-style: none; margin: 0; padding: 26px 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.numeros li { display: grid; gap: 6px; align-content: start; }
.numeros b { white-space: nowrap; }
.numeros b { font-family: var(--mono); font-size: clamp(1.5rem, 2.4vw, 2.1rem); color: var(--laranja); line-height: 1; display: block; }
.numeros span { font-size: .84rem; opacity: .8; line-height: 1.3; display: block; }
.numeros .ic { width: 38px; height: 38px; color: var(--laranja); }

/* ---------- Seções ---------- */
.secao { padding: clamp(72px, 9vw, 120px) 0; position: relative; isolation: isolate; }
.secao.escuro { background: var(--grafite); color: #fff; }
.secao.cinza { background: var(--cinza); }
.cabeca { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; margin-bottom: 44px; }
.cabeca h2 { font-size: clamp(2rem, 3.4vw, 3rem); font-weight: 900; margin-top: 12px; max-width: 20ch; }
.cabeca p { max-width: 56ch; color: var(--cinza-txt); margin-top: 14px; }
.escuro .cabeca p { color: rgba(255, 255, 255, .75); }

/* entrada das seções (conteúdo existe sem animação: só a classe .anima esconde) */
.js .anima { opacity: 0; transform: translateY(26px); transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1); }
.js .anima.visto { opacity: 1; transform: none; }

/* ---------- Portfólio ---------- */
.filtros { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.chip { border: 0; padding: .55em 1em; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--cinza-2); font-weight: 700; font-size: .86rem; }
.chip[aria-pressed="true"] { background: var(--grafite); color: #fff; box-shadow: none; }
.produtos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; list-style: none; padding: 0; margin: 0; }
.produto { position: relative; background: #fff; border-radius: var(--canto-g); overflow: hidden; box-shadow: var(--sombra); display: flex; flex-direction: column;
  transition: transform .3s, box-shadow .3s; }
.produto:hover { transform: translateY(-6px); box-shadow: 0 28px 50px -24px rgba(33, 31, 32, .5); }
.produto .foto { position: relative; aspect-ratio: 4 / 3; background: linear-gradient(160deg, #fbfbfb, var(--cinza-2)); overflow: hidden; }
.produto .foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; } /* a foto já vem enquadrada em 4:3 pelo montar-dados.py */
.produto:hover .foto img { transform: scale(1.05); }
.produto .parceiro { position: absolute; top: 14px; left: 14px; background: var(--grafite); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; padding: .4em .75em; border-radius: 0 8px 0 8px; }
.produto .corpo { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.produto .titulo { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: start; }
.produto h3 { font-size: 1.3rem; font-weight: 900; }
.produto .resumo { color: var(--cinza-txt); font-size: .94rem; }
.produto .faixa { font-family: var(--mono); font-size: .8rem; color: var(--laranja-txt); font-weight: 500; }
.produto .abrir { margin-top: auto; align-self: flex-start; background: none; border: 0; padding: 0; font-weight: 800; color: var(--grafite); display: inline-flex; gap: .4em; align-items: center; }
.produto .abrir::after { content: ""; position: absolute; inset: 0; }
.produto .abrir svg { width: 18px; height: 18px; transition: transform .25s; }
.produto:hover .abrir svg { transform: translateX(4px); }
.produto .glance { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .55) 50%, transparent 65%);
  transform: translateX(-120%); }
.produto:hover .glance { transform: translateX(120%); transition: transform .9s ease; }

/* carimbo no traço da marca: canto 0 18 0 18 em vez de círculo */
.carimbo-il { display: grid; place-items: center; width: var(--carimbo-tam, 64px); height: var(--carimbo-tam, 64px); flex: none;
  background: var(--cinza); border-radius: 0 18px 0 18px; box-shadow: inset 0 0 0 2px var(--cinza-2); rotate: -4deg; }
[data-carimbo]:nth-child(even) .carimbo-il { rotate: 3deg; }
.carimbou .carimbo-il { animation: carimba .55s cubic-bezier(.3, 1.6, .5, 1) both; animation-delay: calc(var(--i, 0) * 120ms); }
.carimbado .carimbo-il { animation: none; }
@keyframes carimba { 0% { scale: 1.6; opacity: 0; } 60% { scale: .92; opacity: 1; } 100% { scale: 1; } }
.il { width: 46px; height: 46px; overflow: visible; }
.escuro .carimbo-il { background: var(--grafite-3); box-shadow: inset 0 0 0 2px #4a4647; }

/* ---------- Ilustrações: movimento (pausa fora da tela com !important; ver carimbo.css do Studio) ---------- */
.il *:not([transform]) { transform-box: fill-box; } /* com fill-box, o transform="rotate(a cx cy)" do próprio SVG sai do lugar */
[data-carimbo] .il * { animation-play-state: paused !important; }
[data-carimbo].viva .il * { animation-play-state: running !important; }
.il-vacuo .brasa { transform-origin: center; animation: respira 2.4s ease-in-out infinite; }
.il-vacuo .brasa2 { transform-origin: center; animation: respira 2.4s ease-in-out infinite reverse; }
.il-vacuo .ponteiro { transform-origin: 0% 100%; transform-box: view-box; transform-origin: 41px 12px; animation: ponteiro 3s ease-in-out infinite; }
.il-vacuo .mol circle { animation: molecula 2.2s linear infinite; }
.il-vacuo .mol circle:nth-child(2) { animation-delay: -.7s; } .il-vacuo .mol circle:nth-child(3) { animation-delay: -1.4s; }
@keyframes respira { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .55; transform: scale(.92); } }
@keyframes ponteiro { 0%, 100% { transform: rotate(-70deg); } 55% { transform: rotate(10deg); } 70% { transform: rotate(4deg); } }
@keyframes molecula { 0% { transform: translate(0, 0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translate(18px, 6px); opacity: 0; } }
.il-pvd .plasma { transform-origin: center; animation: plasma 1.3s steps(6) infinite; }
.il-pvd .plasma2 { transform-origin: center; animation: plasma 0.9s steps(5) infinite reverse; }
.il-pvd .peca { transform-origin: center; animation: girapeca 2.8s ease-in-out infinite; }
.il-pvd .faisca circle { animation: piscar 1.1s steps(2) infinite; }
.il-pvd .faisca circle:nth-child(2) { animation-delay: -.4s; } .il-pvd .faisca circle:nth-child(3) { animation-delay: -.8s; }
.il-pvd .led, .il-lavadora .led { animation: piscar 1.4s steps(2) infinite; }
@keyframes plasma { 0% { opacity: .35; transform: scale(.94); } 50% { opacity: .85; transform: scale(1.04); } 100% { opacity: .5; transform: scale(.98); } }
@keyframes girapeca { 0%, 100% { transform: scaleX(1); } 50% { transform: scaleX(-1); } }
.il-industrial .r1 { animation: resist 2.7s ease-in-out infinite; }
.il-industrial .r2 { animation: resist 2.7s ease-in-out infinite -.9s; }
.il-industrial .r3 { animation: resist 2.7s ease-in-out infinite -1.8s; }
.il-industrial .coluna { transform-origin: 50% 100%; animation: coluna 4s ease-in-out infinite; }
@keyframes resist { 0%, 100% { stroke: #7a2f12; } 50% { stroke: #FFB35C; } }
@keyframes coluna { 0% { transform: scaleY(.15); } 60%, 85% { transform: scaleY(1); } 100% { transform: scaleY(.15); } }
.il-lavadora .cesto { transform-origin: center; animation: cesto 3.6s ease-in-out infinite; }
.il-lavadora .liquido { animation: liquido 2.4s linear infinite; }
.il-lavadora .bolhas circle { animation: bolha 2.2s ease-in infinite; }
.il-lavadora .b2 { animation-delay: -.7s !important; } .il-lavadora .b3 { animation-delay: -1.4s !important; }
@keyframes cesto { 0%, 100% { transform: rotate(-14deg); } 50% { transform: rotate(14deg); } }
@keyframes liquido { to { transform: translateX(-7px); } }
@keyframes bolha { 0% { transform: translateY(0); opacity: 0; } 20% { opacity: 1; } 100% { transform: translateY(-16px); opacity: 0; } }
.il-carbono .trama { animation: trama 6s linear infinite; }
.il-carbono .brilho { animation: brilho 3.4s ease-in-out infinite; }
@keyframes trama { to { transform: translate(-13px, -13px); } }
@keyframes brilho { 0%, 40% { transform: translateX(0); } 100% { transform: translateX(62px); } }
.il-pecas .eng1 { transform-origin: center; animation: gira 8s linear infinite; }
.il-pecas .eng2 { transform-origin: center; animation: gira 5.6s linear infinite reverse; }
.il-pecas .parafuso { transform-origin: center; animation: aperta 3s ease-in-out infinite; }
@keyframes gira { to { transform: rotate(360deg); } }
@keyframes aperta { 0%, 60%, 100% { transform: rotate(0); } 75% { transform: rotate(18deg); } }
.il-help .ondas path { animation: onda 1.8s ease-out infinite; opacity: 0; }
.il-help .o2 { animation-delay: .4s !important; }
@keyframes onda { 0% { opacity: 0; transform: translateY(3px); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(-2px); } }
.il-preditiva .curva { animation: curva 3s linear infinite; }
.il-preditiva .alerta { transform-origin: center; animation: alerta 3s ease-in-out infinite; }
@keyframes curva { to { transform: translateX(-12px); } }
@keyframes alerta { 0%, 55% { opacity: 0; transform: scale(.4); } 65% { opacity: 1; transform: scale(1.25); } 80%, 100% { opacity: 1; transform: scale(1); } }
.il-helio .particula { animation: escapa 3.2s ease-in infinite; }
.il-helio .bip { transform-origin: center; animation: bip 3.2s ease-in-out infinite; }
.il-helio .sinal { animation: bip-sinal 3.2s steps(1) infinite; }
@keyframes escapa { 0% { transform: translate(0, 0); opacity: 0; } 10% { opacity: 1; } 70% { transform: translate(17px, -2px); opacity: 1; } 80%, 100% { transform: translate(18px, 2px); opacity: 0; } }
@keyframes bip { 0%, 68% { transform: scale(1); fill: #6b3a28; } 72%, 90% { transform: scale(1.3); fill: #F26B35; } 100% { transform: scale(1); } }
@keyframes bip-sinal { 0%, 70% { opacity: 0; } 72%, 92% { opacity: 1; } 94% { opacity: 0; } }
.il-calib .agulha { transform-box: view-box; transform-origin: 24px 26px; animation: agulha 3.6s cubic-bezier(.3, 1.4, .5, 1) infinite; }
@keyframes agulha { 0% { transform: rotate(-65deg); } 30% { transform: rotate(48deg); } 45% { transform: rotate(30deg); } 55%, 90% { transform: rotate(38deg); } 100% { transform: rotate(-65deg); } }
.il-retrofit .chave { transform-box: view-box; transform-origin: 34px 16px; animation: chave 2.6s ease-in-out infinite; }
.il-retrofit .estrela { transform-origin: center; animation: estrela 2.6s ease-in-out infinite; }
@keyframes chave { 0%, 100% { transform: rotate(0); } 40% { transform: rotate(-38deg); } 55% { transform: rotate(-30deg); } }
@keyframes estrela { 0%, 45% { opacity: 0; transform: scale(.3); } 60% { opacity: 1; transform: scale(1.2); } 85%, 100% { opacity: 0; transform: scale(1); } }
.il-treino .esquema { stroke-dasharray: 1; stroke-dashoffset: 1; animation: desenha 3.4s ease-in-out infinite; }
.il-treino .ponteira { transform-box: view-box; transform-origin: 38px 38px; animation: ponteira 3.4s ease-in-out infinite; }
@keyframes desenha { 0% { stroke-dashoffset: 1; } 60%, 90% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 1; } }
@keyframes ponteira { 0%, 100% { transform: rotate(0); } 30% { transform: rotate(-14deg); } 60% { transform: rotate(8deg); } }

/* ---------- Ficha de produto (diálogo) ---------- */
dialog.ficha { width: min(1080px, 100% - 24px); max-height: calc(100svh - 32px); padding: 0; border: 0; border-radius: var(--canto-g); background: #fff; color: var(--grafite);
  box-shadow: 0 50px 100px -30px rgba(0, 0, 0, .6); overflow: hidden; }
dialog.ficha::backdrop { background: rgba(20, 18, 19, .72); backdrop-filter: blur(6px); }
dialog.ficha[open] { animation: abre .38s cubic-bezier(.2, .9, .2, 1); }
@keyframes abre { from { opacity: 0; transform: translateY(24px) scale(.97); } }
.ficha .rolagem { max-height: calc(100svh - 32px); overflow: auto; overscroll-behavior: contain; }
.ficha .fechar { position: sticky; top: 12px; float: right; margin: 12px 12px 0 0; z-index: 3; background: var(--grafite); color: #fff; }
.ficha .topo-ficha { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.ficha .galeria { background: linear-gradient(160deg, #fbfbfb, var(--cinza-2)); position: relative; min-height: 360px; }
.ficha .galeria .principal { position: absolute; inset: 0 0 76px; display: grid; place-items: center; padding: 24px; }
.ficha .galeria .principal img { max-height: 100%; object-fit: contain; }
.ficha .miniaturas { position: absolute; left: 0; right: 0; bottom: 0; height: 76px; display: flex; gap: 8px; padding: 10px 14px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
.ficha .miniaturas::-webkit-scrollbar { display: none; }
.ficha .miniaturas button { flex: none; width: 64px; height: 56px; border: 0; padding: 4px; background: #fff; border-radius: 0 8px 0 8px; box-shadow: inset 0 0 0 2px transparent; }
.ficha .miniaturas button[aria-current="true"] { box-shadow: inset 0 0 0 2px var(--laranja); }
.ficha .miniaturas img { width: 100%; height: 100%; object-fit: contain; }
.ficha .info { padding: 34px 34px 28px; display: flex; flex-direction: column; gap: 16px; }
.ficha h2 { font-size: clamp(1.7rem, 2.6vw, 2.3rem); font-weight: 900; }
.ficha .descricao { color: var(--cinza-txt); }
.ficha .specs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--cinza-2); border-radius: var(--canto); overflow: hidden; }
.ficha .specs div { background: var(--cinza); padding: 12px 14px; }
.ficha .specs dt { font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--cinza-txt); }
.ficha .specs dd { margin: 2px 0 0; font-size: .95rem; font-weight: 700; line-height: 1.35; }
.ficha .mais { padding: 0 34px 34px; display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.ficha .mais h3 { font-size: 1rem; font-weight: 900; margin-bottom: 10px; }
.ficha .mais ul { margin: 0; padding-left: 1.1em; color: var(--cinza-txt); font-size: .95rem; }
.ficha .mais li::marker { color: var(--laranja); }
.ficha .fonte, .fonte-nota { font-size: .76rem; color: var(--cinza-txt); }
.ficha .fonte a, .fonte-nota a { color: var(--laranja-txt); }
.ficha .cta-ficha { display: flex; gap: 10px; flex-wrap: wrap; }

/* ---------- Segmentos ---------- */
.segmentos { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; list-style: none; padding: 0; margin: 0; }
.segmentos a { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; min-height: 120px; padding: 16px; border-radius: var(--canto);
  background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); text-decoration: none; font-weight: 800; font-size: .95rem; line-height: 1.25;
  transition: .25s; }
.segmentos a:hover { background: var(--laranja); color: var(--grafite); transform: translateY(-3px); }
.segmentos .n { font-family: var(--mono); font-size: .72rem; opacity: .55; font-weight: 500; }
.segmentos a:hover .n { opacity: .8; }

/* ---------- Service Care ---------- */
.servico-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: start; }
.expresso { position: sticky; top: calc(var(--menu-h) + 24px); background: var(--grafite); color: #fff; border-radius: var(--canto-g); overflow: hidden; }
.expresso .video { position: relative; aspect-ratio: 16 / 10; background: #000; }
.expresso .video video, .expresso .video img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .8; }
.expresso .corpo { padding: 26px; display: grid; gap: 14px; }
.expresso h3 { font-size: 1.6rem; font-weight: 900; }
.expresso h3 em { font-style: normal; color: var(--laranja); }
.expresso p { opacity: .82; font-size: .95rem; }
.servicos { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.servicos li { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; background: #fff; border-radius: var(--canto-g); padding: 20px; box-shadow: var(--sombra); }
.servicos h3 { font-size: 1.12rem; font-weight: 900; margin-bottom: 4px; }
.servicos p { color: var(--cinza-txt); font-size: .94rem; }
.servicos .tag { display: inline-block; margin-top: 8px; font-family: var(--mono); font-size: .74rem; color: var(--laranja-txt); }

/* ---------- Palavra do CEO ---------- */
.ceo-topo { display: grid; grid-template-columns: auto 1fr; gap: 30px; align-items: center; margin-bottom: 40px; }
.ceo-topo .assinatura { font-size: .95rem; opacity: .8; max-width: 60ch; }
.trilho { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 300px); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 4px 22px;
  scrollbar-width: thin; scrollbar-color: var(--laranja) transparent; list-style: none; margin: 0; }
.reel { scroll-snap-align: start; position: relative; border-radius: var(--canto-g); overflow: hidden; background: #000; aspect-ratio: 9 / 15; }
.reel button { position: absolute; inset: 0; width: 100%; border: 0; padding: 0; background: none; text-align: left; color: #fff; }
.reel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s, opacity .4s; opacity: .82; }
.reel:hover img { transform: scale(1.06); opacity: .6; }
.reel .sobre { position: absolute; inset: auto 0 0; padding: 70px 18px 18px; background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .88) 45%); display: grid; gap: 8px; }
.reel .tema { font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--laranja); }
.reel q { font-weight: 800; font-size: 1.02rem; line-height: 1.28; quotes: "“" "”"; display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.reel .meta { font-family: var(--mono); font-size: .72rem; opacity: .7; display: flex; justify-content: space-between; }
.reel .play { position: absolute; top: 16px; right: 16px; width: 46px; height: 46px; border-radius: 50%; background: var(--laranja); color: var(--grafite); display: grid; place-items: center;
  transition: transform .3s; }
.reel:hover .play { transform: scale(1.12); }
.reel .play svg { width: 18px; height: 18px; margin-left: 3px; }
.trilho-nav { display: flex; gap: 8px; }
dialog.player { width: min(980px, 100% - 24px); padding: 0; border: 0; background: var(--grafite); color: #fff; border-radius: var(--canto-g); overflow: hidden; }
dialog.player::backdrop { background: rgba(10, 9, 9, .85); backdrop-filter: blur(8px); }
dialog.player[open] { animation: abre .38s cubic-bezier(.2, .9, .2, 1); }
.player .palco { display: grid; grid-template-columns: auto 1fr; max-height: calc(100svh - 32px); }
.player video { max-height: calc(100svh - 32px); width: auto; max-width: min(56vw, 520px); background: #000; }
.player .texto { padding: 34px 30px; overflow: auto; display: flex; flex-direction: column; gap: 16px; position: relative; }
.player .texto q { font-size: 1.45rem; font-weight: 800; line-height: 1.25; }
.player .legenda { white-space: pre-line; opacity: .8; font-size: .94rem; }
.player .fechar { position: absolute; top: 12px; right: 12px; }
.player .links { display: flex; gap: 10px; flex-wrap: wrap; margin-top: auto; }

/* ---------- Linha do tempo ---------- */
.empresa-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 64px; align-items: start; }
.empresa-grid .cabeca { grid-template-columns: 1fr; margin: 0; position: sticky; top: calc(var(--menu-h) + 40px); }
/* linha do tempo vertical, com a barra de progresso descendo conforme a rolagem */
.tempo { position: relative; list-style: none; margin: 0; padding: 0 0 0 46px; display: grid; gap: 26px; }
.tempo::before { content: ""; position: absolute; left: 10px; top: 6px; bottom: 6px; width: 3px; background: var(--cinza-2); border-radius: 3px; }
.tempo .progresso { position: absolute; left: 10px; top: 6px; width: 3px; height: calc(var(--p, 0) * (100% - 12px)); background: var(--laranja); border-radius: 3px; transition: height .2s linear; }
.tempo li { position: relative; }
.tempo .ano { font-family: var(--mono); font-weight: 500; font-size: .9rem; color: var(--laranja-txt); display: block; }
.tempo li::before { content: ""; position: absolute; top: 2px; left: -46px; width: 21px; height: 21px; border-radius: 0 7px 0 7px; background: #fff; box-shadow: inset 0 0 0 3px var(--cinza-2); transition: .4s; }
.tempo li.passou::before { background: var(--laranja); box-shadow: inset 0 0 0 3px var(--laranja), 0 0 0 6px rgba(242, 107, 53, .18); }
.tempo p { font-size: .92rem; margin-top: 6px; color: var(--cinza-txt); }
.tempo b { color: var(--grafite); display: block; font-size: 1rem; }

/* ---------- Presença ---------- */
.presenca { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.mapa { position: relative; }
.mapa svg { width: 100%; height: auto; }
.mapa .pais { fill: #3a3637; stroke: var(--grafite); stroke-width: .6; transition: fill .3s; }
.mapa .pais.cliente { fill: #6b4535; }
.mapa .pais.br { fill: #8a4b30; }
.mapa .pais:hover { fill: var(--laranja); }
.mapa .base circle.nucleo { fill: var(--laranja); stroke: #fff; stroke-width: 1.4; }
.mapa .base circle.pulso { fill: none; stroke: var(--laranja); stroke-width: 1.6; transform-box: fill-box; transform-origin: center; animation: pulso 2.4s ease-out infinite; }
.mapa .base text { fill: #fff; font: 800 11px var(--fonte); paint-order: stroke; stroke: var(--grafite); stroke-width: 3px; }
@keyframes pulso { from { transform: scale(.6); opacity: 1; } to { transform: scale(3.2); opacity: 0; } }
.bases { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 10px; }
.bases li { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; padding: 14px 16px; border-radius: var(--canto); background: rgba(255, 255, 255, .05); }
.bases b { display: block; }
.bases small { opacity: .75; }
.bases .pin { width: 34px; height: 34px; border-radius: 0 10px 0 10px; background: var(--laranja); color: var(--grafite); display: grid; place-items: center; font-weight: 900; font-family: var(--mono); font-size: .8rem; }
.paises { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.paises span { font-size: .78rem; font-weight: 700; padding: .35em .75em; border-radius: 999px; background: rgba(255, 255, 255, .08); }

/* ---------- Parceiros ---------- */
.parceiros { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.parceiros ul { display: flex; gap: 14px; width: max-content; list-style: none; padding: 0; margin: 0; animation: corre 32s linear infinite; }
.parceiros:hover ul { animation-play-state: paused; }
@keyframes corre { to { transform: translateX(-50%); } }
.parceiros li { width: 280px; padding: 22px; border-radius: var(--canto-g); background: #fff; box-shadow: inset 0 0 0 1px var(--cinza-2); display: grid; gap: 6px; }
.parceiros b { font-size: 1.25rem; font-weight: 900; }
.parceiros .pais-p { font-family: var(--mono); font-size: .74rem; color: var(--laranja-txt); }
.parceiros p { font-size: .88rem; color: var(--cinza-txt); }

/* ---------- Notícias ---------- */
.noticias { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; list-style: none; padding: 0; margin: 0; }
.noticia a { display: flex; flex-direction: column; gap: 12px; text-decoration: none; height: 100%; }
.noticia .capa { aspect-ratio: 16 / 10; border-radius: var(--canto-g); overflow: hidden; background: var(--cinza-2); position: relative; }
.noticia .capa img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.noticia a:hover .capa img { transform: scale(1.05); }
.noticia time { font-family: var(--mono); font-size: .76rem; color: var(--laranja-txt); }
.noticia h3 { font-size: 1.12rem; font-weight: 900; }
.noticia p { font-size: .92rem; color: var(--cinza-txt); }

/* ---------- Contato ---------- */
.contato-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; }
.canais { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 10px; }
.canais a, .canais div { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; padding: 14px; border-radius: var(--canto); background: rgba(255, 255, 255, .05);
  text-decoration: none; }
.canais a:hover { background: rgba(242, 107, 53, .16); }
.canais .ic { width: 44px; height: 44px; border-radius: 0 12px 0 12px; display: grid; place-items: center; background: var(--laranja); color: var(--grafite); }
.canais .ic svg { width: 20px; height: 20px; }
.canais small { display: block; opacity: .7; font-size: .8rem; }
.form { background: #fff; color: var(--grafite); border-radius: var(--canto-g); padding: 30px; display: grid; gap: 18px; }
.passos-form { display: flex; gap: 8px; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.passos-form span { flex: 1; padding-top: 10px; border-top: 3px solid var(--cinza-2); color: var(--cinza-txt); }
.passos-form span.ativo { border-color: var(--laranja); color: var(--grafite); }
.form fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 14px; }
.form fieldset[hidden] { display: none; }
.form legend { font-weight: 900; font-size: 1.25rem; margin-bottom: 4px; }
.opcoes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.opcoes label { position: relative; display: grid; gap: 6px; padding: 14px; border-radius: var(--canto); box-shadow: inset 0 0 0 2px var(--cinza-2); cursor: pointer; font-weight: 800; font-size: .9rem; line-height: 1.25; }
.opcoes label small { font-weight: 600; color: var(--cinza-txt); font-size: .78rem; }
.opcoes input { position: absolute; opacity: 0; }
.opcoes label:has(input:checked) { box-shadow: inset 0 0 0 2px var(--laranja); background: #fff6f2; }
.opcoes label:has(input:focus-visible) { outline: 3px solid var(--laranja); outline-offset: 2px; }
.campo { display: grid; gap: 6px; }
.campo label { font-size: .82rem; font-weight: 800; }
.campo input, .campo select, .campo textarea { font: inherit; font-size: .98rem; padding: .8em .9em; border: 0; border-radius: 0 10px 0 10px; background: var(--cinza); box-shadow: inset 0 0 0 1px var(--cinza-2); color: var(--grafite); }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: 0; box-shadow: inset 0 0 0 2px var(--laranja); background: #fff; }
.duas { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form .rodape-form { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.form .aviso { font-size: .78rem; color: var(--cinza-txt); }

/* ---------- Rodapé ---------- */
.rodape { background: #161415; color: rgba(255, 255, 255, .78); padding: 64px 0 0; font-size: .92rem; }
.rodape .colunas { display: grid; grid-template-columns: 1.3fr repeat(4, 1fr); gap: 32px; }
.rodape img.logo { width: 190px; }
.rodape h4 { color: #fff; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 14px; }
.rodape ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.rodape a { text-decoration: none; }
.rodape a:hover { color: var(--laranja); }
.rodape .legal { margin-top: 48px; border-top: 1px solid rgba(255, 255, 255, .1); padding: 22px 0 28px; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; font-size: .8rem; }
.aviso-conceito { background: var(--laranja); color: var(--grafite); font-weight: 700; font-size: .84rem; padding: 12px 0; }
.aviso-conceito .envelope { display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; align-items: center; }
.seletor-abertura { display: inline-flex; gap: 4px; align-items: center; }
.seletor-abertura button { border: 0; border-radius: 0 6px 0 6px; padding: .3em .7em; background: rgba(33, 31, 32, .12); font-weight: 800; font-size: .78rem; }
.seletor-abertura button[aria-pressed="true"] { background: var(--grafite); color: #fff; }

/* ---------- Busca (paleta ⌘K) ---------- */
dialog.busca { width: min(680px, 100% - 24px); margin-top: 12vh; padding: 0; border: 0; border-radius: var(--canto-g); background: #fff; box-shadow: 0 40px 90px -20px rgba(0, 0, 0, .55); }
dialog.busca::backdrop { background: rgba(20, 18, 19, .55); backdrop-filter: blur(4px); }
.busca .campo-busca { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--cinza-2); }
.busca .campo-busca svg { width: 20px; height: 20px; color: var(--laranja-txt); flex: none; }
.busca input { flex: 1; border: 0; font: inherit; font-size: 1.1rem; outline: 0; background: none; }
.busca kbd { font-family: var(--mono); font-size: .72rem; background: var(--cinza); padding: .25em .5em; border-radius: 5px; }
.busca ul { list-style: none; margin: 0; padding: 8px; max-height: 52vh; overflow: auto; }
.busca .grupo { font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--cinza-txt); padding: 12px 12px 4px; }
.busca a { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 10px 12px; border-radius: 0 10px 0 10px; text-decoration: none; }
.busca a small { color: var(--cinza-txt); display: block; font-size: .8rem; }
.busca a[aria-selected="true"] { background: #fff1ea; box-shadow: inset 3px 0 0 var(--laranja); }
.busca mark { background: none; color: var(--laranja-txt); font-weight: 800; }
.busca .vazio { padding: 22px; color: var(--cinza-txt); }

/* botão flutuante (celular) */
.flutuante { position: fixed; z-index: 40; right: 16px; bottom: 16px; display: none; }

/* ---------- Responsivo ---------- */
@media (max-width: 1080px) {
  .menu, .topo .idioma { display: none; }
  .hamburguer { display: grid; }
  .topo .btn-topo { display: none; }
  .numeros ul { grid-template-columns: repeat(3, 1fr); }
  .segmentos { grid-template-columns: repeat(3, 1fr); }
  .rodape .colunas { grid-template-columns: 1fr 1fr; }
  .mega .envelope { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 860px) {
  :root { --menu-h: 64px; }
  body { font-size: 16px; }
  .hero-a .grid, .hero-c .grid, .hero-b .linha, .servico-grid, .presenca, .contato-grid { grid-template-columns: 1fr; gap: 30px; }
  .janela { aspect-ratio: 4 / 3; }
  .grade-termica, .hero-c .grade-termica { -webkit-mask-image: linear-gradient(180deg, transparent 0%, transparent 62%, #000 90%); mask-image: linear-gradient(180deg, transparent 0%, transparent 62%, #000 90%); }
  .portas { grid-template-columns: 1fr; margin-top: 28px; }
  .produtos, .noticias { grid-template-columns: 1fr; }
  .cabeca { grid-template-columns: 1fr; }
  .expresso { position: static; }
  .ficha .topo-ficha, .ficha .mais { grid-template-columns: 1fr; }
  .ficha .galeria { min-height: 300px; }
  .player .palco { grid-template-columns: 1fr; overflow: auto; }
  .player video { max-width: 100%; width: 100%; max-height: 62svh; }
  .empresa-grid { grid-template-columns: 1fr; gap: 34px; }
  .empresa-grid .cabeca { position: static; }
  .hero-c .retrato { order: 2; max-height: 440px; aspect-ratio: 3 / 4; }
  .hero-c blockquote { font-size: 1.55rem; }
  .flutuante { display: inline-flex; }
  .opcoes { grid-template-columns: 1fr; }
  .duas { grid-template-columns: 1fr; }
  .ceo-topo { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .numeros ul { grid-template-columns: 1fr 1fr; }
  .segmentos { grid-template-columns: 1fr 1fr; }
  .rodape .colunas { grid-template-columns: 1fr; }
  .mega .envelope { grid-template-columns: 1fr; }
  .topo .marca { width: 122px; }
  .ficha .specs { grid-template-columns: 1fr; }
}

/* menu do celular */
.gaveta { position: fixed; inset: var(--menu-h) 0 0; z-index: 49; background: #fff; color: var(--grafite); padding: 20px; overflow: auto; transform: translateX(100%); transition: transform .3s; }
.gaveta.aberta { transform: none; }
.gaveta ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.gaveta a { display: block; padding: 14px 6px; font-weight: 800; font-size: 1.1rem; text-decoration: none; border-bottom: 1px solid var(--cinza-2); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .js .anima { opacity: 1; transform: none; }
  .parceiros ul { animation: none; flex-wrap: wrap; width: auto; }
}
