/* MGDATA — CSS consolidado.
 * Gerado por ferramentas/consolidar-css.mjs a partir das 22 capturas.
 * As classes <rota>-scpN carregam os estados de hover e foco que o runtime do
 * Claude Design gerava em tempo de execução. Não editar à mão sem antes ler
 * docs/superpowers/specs/2026-09-10-conversao-site-mgdata-design.md
 */

.sc-placeholder { background: color-mix(in srgb, currentcolor 8%, transparent); border: 1px solid color-mix(in srgb, currentcolor, transparent); border-radius: 2px; box-sizing: border-box; overflow: hidden; }
@keyframes sc-shine { 0% { background-position: 100% 50%; } 100% { background-position: 0% 50%; }}
html.sc-dc-streaming .sc-placeholder, html.sc-dc-streaming .sc-interp.sc-missing { position: relative; background: color-mix(in srgb, currentcolor 5%, transparent); border-color: transparent; }
html.sc-dc-streaming .sc-placeholder::before, html.sc-dc-streaming .sc-interp.sc-missing::before { content: ""; position: absolute; inset: 0px; pointer-events: none; background: linear-gradient(90deg, rgba(217, 119, 87, 0) 25%, rgba(247, 225, 211, 0.95) 37%, rgba(217, 119, 87, 0) 63%) 0% 0% / 400% 100%; animation: 1.4s ease 0s infinite normal none running sc-shine; }
html.sc-dc-streaming .sc-placeholder:nth-child(n+9 of .sc-placeholder)::before, html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n+9 of .sc-interp.sc-missing)::before { animation: auto ease 0s 1 normal none running none; background: color-mix(in srgb, currentcolor 8%, transparent); }
.sc-placeholder-error { padding: 4px 8px; font: 11px / 1.4 ui-monospace, monospace; color: color-mix(in srgb, currentcolor 70%, transparent); word-break: break-word; }
.sc-interp.sc-missing { display: inline-block; width: 2em; height: 1em; overflow: hidden; vertical-align: text-bottom; background: rgba(255, 255, 255, 0.3); border: 1px solid rgba(0, 0, 0, 0.5); border-radius: 2px; box-sizing: border-box; color: transparent; user-select: none; }
.sc-interp.sc-unresolved { font-family: ui-monospace, monospace; font-size: 0.85em; color: color-mix(in srgb, currentcolor, transparent); background: color-mix(in srgb, currentcolor 10%, transparent); border-radius: 3px; padding: 0px 3px; }
.sc-host.sc-has-error { position: relative; }
.sc-logic-error { position: absolute; top: 8px; left: 8px; z-index: 2147483647; max-width: 60ch; padding: 6px 10px; background: rgb(176, 0, 32); color: rgb(255, 255, 255); font: 12px / 1.4 ui-monospace, monospace; border-radius: 4px; white-space: pre-wrap; pointer-events: none; }
@media print { @page { margin: 0.5cm; } figure, table { break-inside: avoid; } #dc-root, #dc-root > .sc-host { height: auto; } *, ::before, ::after { print-color-adjust: exact; backdrop-filter: none !important; animation-delay: -99s !important; animation-duration: 0.001s !important; animation-iteration-count: 1 !important; animation-fill-mode: both !important; animation-play-state: running !important; transition-duration: 0s !important; }}
x-dc { display: none !important; }
.home-scp0:hover { background: rgb(13, 43, 94) !important; color: rgb(255, 255, 255) !important; border-color: rgb(13, 43, 94) !important; }
.home-scp1:hover { background: rgb(200, 16, 46) !important; color: rgb(255, 255, 255) !important; border-color: rgb(200, 16, 46) !important; }
.home-scp2:hover { opacity: 1 !important; }
.home-scp3:hover { color: rgb(91, 170, 232) !important; border-bottom-color: rgb(91, 170, 232) !important; }
.home-scp4:hover { background: rgb(13, 43, 94) !important; color: rgb(255, 255, 255) !important; border-color: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.home-scp5:hover { color: rgb(13, 43, 94) !important; }
.home-scp6:hover { background: rgb(13, 43, 94) !important; color: rgb(255, 255, 255) !important; }
.home-scp7:hover { background: rgb(244, 247, 252) !important; color: rgb(29, 78, 216) !important; }
.home-scp8:hover { background: rgb(244, 247, 252) !important; color: rgb(29, 78, 216) !important; border-color: rgb(201, 218, 242) !important; }
.home-scp9:hover { color: rgb(255, 255, 255) !important; opacity: 0.94 !important; }
.scpa:hover { background: rgba(255, 255, 255, 0.2) !important; }
.scpb:hover { background: rgb(13, 43, 94) !important; }
.scpc:focus { border-color: rgb(29, 78, 216) !important; background: rgb(255, 255, 255) !important; }
.scpd:hover { border-color: rgb(201, 218, 242) !important; background: rgb(247, 249, 252) !important; }
.scpe:hover { background: rgb(155, 12, 35) !important; transform: translateY(-2px) !important; }
.scpf:hover { background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.scpg:hover { background: rgb(247, 249, 252) !important; border-color: rgb(201, 218, 242) !important; }
.scph:hover { color: rgb(29, 78, 216) !important; }
.scpi:hover { background: rgb(247, 249, 252) !important; }
.scpj:hover { background: rgb(247, 249, 252) !important; color: rgb(29, 78, 216) !important; }
.scpk:hover { background: rgb(238, 244, 252) !important; color: rgb(29, 78, 216) !important; }
.scpl:hover { color: rgb(13, 43, 94) !important; transform: translateY(-3px) !important; box-shadow: rgba(245, 166, 35, 0.95) 0px 24px 40px -16px !important; }
.scpm:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.scpn:hover { filter: grayscale(0) opacity(1) !important; }
.scpo:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -22px !important; border-color: rgb(201, 218, 242) !important; }
.scpp:hover { transform: translateY(-6px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 34px 56px -30px !important; }
.scpq:hover { color: rgb(255, 255, 255) !important; }
.scpr:focus { border-color: rgb(29, 78, 216) !important; box-shadow: rgba(29, 78, 216, 0.14) 0px 0px 0px 3px !important; }
.scps:focus { border-color: rgb(29, 78, 216) !important; }
.scpt:hover { border-color: rgb(29, 78, 216) !important; background: rgb(244, 247, 252) !important; }
.scpu:hover { background: rgb(11, 126, 76) !important; transform: translateY(-2px) !important; }
.scpv:hover { color: rgb(13, 43, 94) !important; background: rgb(255, 185, 59) !important; }
.scpw:hover { color: rgb(13, 43, 94) !important; background: rgb(238, 244, 252) !important; border-color: rgb(155, 190, 234) !important; }
.scpx:hover { background: rgb(241, 245, 250) !important; border-color: rgb(201, 218, 242) !important; }
.scpy:hover { color: rgb(13, 43, 94) !important; opacity: 0.9 !important; }
.scpz:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 28px 48px -30px !important; border-color: rgb(201, 218, 242) !important; }
.calculadora-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.home-scp11:hover { color: rgb(13, 43, 94) !important; transform: translateY(-3px) !important; }
.calculadora-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.calculadora-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.calculadora-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.calculadora-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.calculadora-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.calculadora-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.calculadora-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.calculadora-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.scp1a:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 30px 50px -34px !important; }
.scp1b:focus { border-color: rgb(46, 114, 194) !important; box-shadow: rgba(46, 114, 194, 0.15) 0px 0px 0px 3px !important; }
.scp1c:focus { border-color: rgb(46, 114, 194) !important; }
.scp1d:hover { background: rgba(255, 255, 255, 0.1) !important; color: rgb(255, 255, 255) !important; border-color: rgba(255, 255, 255, 0.45) !important; }
html, body { height: 100%; margin: 0px; }
#dc-root, #dc-root > .sc-host { height: 100%; }
@font-face { font-family: "IBM Plex Sans"; font-style: italic; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-01.woff2") format("woff2"); unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "IBM Plex Sans"; font-style: italic; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-02.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: "IBM Plex Sans"; font-style: italic; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-03.woff2") format("woff2"); unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF; }
@font-face { font-family: "IBM Plex Sans"; font-style: italic; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-04.woff2") format("woff2"); unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "IBM Plex Sans"; font-style: italic; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-05.woff2") format("woff2"); unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Sans"; font-style: italic; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-06.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-07.woff2") format("woff2"); unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-08.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-09.woff2") format("woff2"); unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-10.woff2") format("woff2"); unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-11.woff2") format("woff2"); unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-12.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-07.woff2") format("woff2"); unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-08.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-09.woff2") format("woff2"); unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-10.woff2") format("woff2"); unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-11.woff2") format("woff2"); unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-12.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-07.woff2") format("woff2"); unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-08.woff2") format("woff2"); unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-09.woff2") format("woff2"); unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-10.woff2") format("woff2"); unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-11.woff2") format("woff2"); unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-stretch: 100%; font-display: swap; src: url("/assets/fonts/ibm-plex-12.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Sora; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/ibm-plex-13.woff2") format("woff2"); unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: Sora; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/ibm-plex-14.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Sora; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/ibm-plex-13.woff2") format("woff2"); unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: Sora; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/ibm-plex-14.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Sora; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/ibm-plex-13.woff2") format("woff2"); unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: Sora; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/ibm-plex-14.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Sora; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/ibm-plex-13.woff2") format("woff2"); unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: Sora; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/ibm-plex-14.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: Sora; font-style: normal; font-weight: 800; font-display: swap; src: url("/assets/fonts/ibm-plex-13.woff2") format("woff2"); unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: Sora; font-style: normal; font-weight: 800; font-display: swap; src: url("/assets/fonts/ibm-plex-14.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
* { box-sizing: border-box; }
html, body { margin: 0px; padding: 0px; }
body { background: rgb(255, 255, 255); -webkit-font-smoothing: antialiased; overflow-x: clip; }
a { color: rgb(46, 114, 194); text-decoration: none; }
a:hover { color: rgb(13, 43, 94); }
input, textarea, select, button { font-family: inherit; font-size: inherit; }
::selection { background: rgb(168, 208, 245); color: rgb(13, 43, 94); }
@keyframes mgFloat { 0%, 100% { transform: translate3d(0px, 0px, 0px); } 50% { transform: translate3d(0px, -14px, 0px); }}
@keyframes mgGlow { 0%, 100% { opacity: 0.45; transform: scale(1); } 50% { opacity: 0.75; transform: scale(1.12); }}
@keyframes mgSweep { 0% { transform: translateX(-120%); } 100% { transform: translateX(220%); }}
@keyframes mgPulse { 0% { box-shadow: rgba(0, 180, 204, 0.55) 0px 0px 0px 0px; } 70% { box-shadow: rgba(0, 180, 204, 0) 0px 0px 0px 12px; } 100% { box-shadow: rgba(0, 180, 204, 0) 0px 0px 0px 0px; }}
@media print { body.mg-print-proposta * { visibility: hidden !important; } body.mg-print-proposta #mg-folha, body.mg-print-proposta #mg-folha * { visibility: visible !important; } body.mg-print-proposta #mg-folha { position: absolute !important; top: 0px !important; left: 0px !important; width: 100% !important; margin: 0px !important; padding: 0px !important; } body.mg-print-proposta #mg-proposta { border: 1px solid rgb(228, 233, 240) !important; box-shadow: none !important; background: rgb(255, 255, 255) !important; position: static !important; } body.mg-print-proposta .mg-no-print, body.mg-print-proposta .mg-no-print * { display: none !important; } body.mg-print-proposta #mg-folha-cab { display: block !important; }}
.compliance-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.compliance-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.compliance-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.compliance-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.compliance-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.compliance-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.compliance-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.compliance-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.compliance-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.contato-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.contato-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.contato-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.contato-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.contato-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.contato-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.contato-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.contato-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.contato-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.cookies-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.cookies-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.cookies-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.cookies-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.cookies-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.cookies-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.cookies-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.cookies-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.cookies-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.denuncias-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.denuncias-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.denuncias-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.denuncias-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.denuncias-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.denuncias-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.denuncias-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.denuncias-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.denuncias-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.estado-ataque-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.estado-ataque-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.estado-ataque-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.estado-ataque-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.estado-ataque-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.estado-ataque-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.estado-ataque-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.estado-ataque-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.estado-ataque-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.estado-calc-resumo-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.estado-calc-resumo-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.estado-calc-resumo-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.estado-calc-resumo-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.estado-calc-resumo-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.estado-calc-resumo-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.estado-calc-resumo-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.estado-calc-resumo-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.estado-calc-resumo-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.estado-cookiebar-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.estado-cookiebar-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.estado-cookiebar-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.estado-cookiebar-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.estado-cookiebar-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.estado-cookiebar-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.estado-cookiebar-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.estado-cookiebar-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.estado-cookiebar-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.estado-cookieprefs-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.estado-cookieprefs-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.estado-cookieprefs-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.estado-cookieprefs-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.estado-cookieprefs-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.estado-cookieprefs-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.estado-cookieprefs-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.estado-cookieprefs-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.estado-cookieprefs-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.estado-drawer-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.estado-drawer-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.estado-drawer-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.estado-drawer-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.estado-drawer-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.estado-drawer-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.estado-drawer-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.estado-drawer-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.estado-drawer-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.estado-mega-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.estado-mega-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.estado-mega-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.estado-mega-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.estado-mega-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.estado-mega-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.estado-mega-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.estado-mega-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.estado-mega-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.frente-backup-e-disaster-recovery-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.frente-backup-e-disaster-recovery-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.frente-backup-e-disaster-recovery-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.frente-backup-e-disaster-recovery-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.frente-backup-e-disaster-recovery-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.frente-backup-e-disaster-recovery-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.frente-backup-e-disaster-recovery-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.frente-backup-e-disaster-recovery-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.frente-backup-e-disaster-recovery-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.frente-ciberseguranca-e-endpoint-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.frente-ciberseguranca-e-endpoint-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.frente-ciberseguranca-e-endpoint-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.frente-ciberseguranca-e-endpoint-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.frente-ciberseguranca-e-endpoint-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.frente-ciberseguranca-e-endpoint-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.frente-ciberseguranca-e-endpoint-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.frente-ciberseguranca-e-endpoint-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.frente-ciberseguranca-e-endpoint-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.frente-conectividade-e-links-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.frente-conectividade-e-links-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.frente-conectividade-e-links-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.frente-conectividade-e-links-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.frente-conectividade-e-links-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.frente-conectividade-e-links-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.frente-conectividade-e-links-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.frente-conectividade-e-links-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.frente-conectividade-e-links-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.frente-data-center-e-colocation-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.frente-data-center-e-colocation-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.frente-data-center-e-colocation-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.frente-data-center-e-colocation-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.frente-data-center-e-colocation-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.frente-data-center-e-colocation-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.frente-data-center-e-colocation-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.frente-data-center-e-colocation-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.frente-data-center-e-colocation-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.frente-inovacao-e-sistemas-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.frente-inovacao-e-sistemas-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.frente-inovacao-e-sistemas-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.frente-inovacao-e-sistemas-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.frente-inovacao-e-sistemas-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.frente-inovacao-e-sistemas-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.frente-inovacao-e-sistemas-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.frente-inovacao-e-sistemas-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.frente-inovacao-e-sistemas-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.frente-noc-soc-e-monitoramento-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.frente-noc-soc-e-monitoramento-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.frente-noc-soc-e-monitoramento-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.frente-noc-soc-e-monitoramento-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.frente-noc-soc-e-monitoramento-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.frente-noc-soc-e-monitoramento-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.frente-noc-soc-e-monitoramento-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.frente-noc-soc-e-monitoramento-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.frente-noc-soc-e-monitoramento-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.frente-outsourcing-de-ti-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.frente-outsourcing-de-ti-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.frente-outsourcing-de-ti-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.frente-outsourcing-de-ti-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.frente-outsourcing-de-ti-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.frente-outsourcing-de-ti-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.frente-outsourcing-de-ti-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.frente-outsourcing-de-ti-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.frente-outsourcing-de-ti-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.frente-servicos-de-nuvem-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.frente-servicos-de-nuvem-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.frente-servicos-de-nuvem-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.frente-servicos-de-nuvem-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.frente-servicos-de-nuvem-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.frente-servicos-de-nuvem-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.frente-servicos-de-nuvem-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.frente-servicos-de-nuvem-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.frente-servicos-de-nuvem-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.home-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.home-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.home-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.home-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.home-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.home-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.home-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.home-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.home-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.institucional-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.institucional-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.institucional-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.institucional-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.institucional-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.institucional-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.institucional-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.institucional-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.institucional-scp19:hover { border-color: rgb(201, 218, 242) !important; }
.solucoes-scp10:hover { background: rgb(155, 12, 35) !important; color: rgb(255, 255, 255) !important; transform: translateY(-2px) !important; }
.solucoes-scp12:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.1) !important; }
.solucoes-scp13:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 26px 46px -32px !important; border-color: rgb(201, 218, 242) !important; }
.solucoes-scp14:hover { color: rgb(255, 255, 255) !important; transform: translateY(-3px) !important; }
.solucoes-scp15:hover { color: rgb(255, 255, 255) !important; background: rgb(13, 43, 94) !important; transform: translateY(-2px) !important; }
.solucoes-scp16:hover { transform: translateY(-4px) !important; box-shadow: rgba(13, 43, 94, 0.45) 0px 20px 34px -24px !important; }
.solucoes-scp17:hover { border-color: rgb(168, 208, 245) !important; box-shadow: rgba(13, 43, 94, 0.4) 0px 30px 50px -34px !important; }
.solucoes-scp18:hover { color: rgb(255, 255, 255) !important; background: rgba(255, 255, 255, 0.08) !important; border-color: rgba(255, 255, 255, 0.6) !important; }
.solucoes-scp19:hover { border-color: rgb(201, 218, 242) !important; }

/* --- Regras extras (trabalho/regras-extra.css, renomeadas para .home-scpN) --- */
/**
 * Variante de tema do header — "sólido" (fundo branco, texto azul-marinho)
 * em vez do padrão "sobre fundo escuro" (transparente, sobreposto ao hero)
 * que app/partials/header.php sai com de fábrica (calculado a partir das 15
 * rotas com hero, ver ferramentas/fatorar.mjs).
 *
 * No site original (trabalho/template.html) isso vinha da variável `onDark`
 * do componente React:
 *
 * const onDark = !this.state.scrolled && page !== 'contato'
 * && !this.state.mega && !this.state.drawer; 
 *
 * Aqui reduzido a UMA regra por elemento, coberta pelas duas classes que se
 * aplicam nas situações que já são responsabilidade desta correção:
 * - header.is-solido → emitida por fatorar.mjs só na rota `contato`
 * (única rota estática sem hero).
 * - header.is-scrolled → alternada em tempo real pelo site.js da Tarefa 9
 * ao rolar a página (mesmo efeito visual do tema
 * sólido, reaproveita as mesmas declarações).
 *
 * Os valores abaixo são os 28 atributos style que divergem entre o header
 * de contato.norm.html (tema sólido) e o das outras 15 rotas (tema
 * transparente, o que sai "de fábrica" em header.php) — levantados
 * comparando as duas capturas tag a tag. !important porque o alvo real é um
 * atributo style inline, que teria prioridade sobre uma regra comum.
 */

/* <header> em si */
header.is-solido,
header.is-scrolled { background: rgba(255, 255, 255, .82) !important; backdrop-filter: blur(16px) !important; -webkit-backdrop-filter: blur(16px) !important; border-bottom: 1px solid rgb(228, 234, 243) !important; box-shadow: 0 12px 30px -26px rgba(13, 43, 94, .55) !important; }

/* topbar (faixa fina acima da nav principal: suporte, sob-ataque, telefones) */
header.is-solido > div:nth-of-type(1),
header.is-scrolled > div:nth-of-type(1) { border-bottom: 1px solid rgb(237, 241, 247) !important; }

/* link "Suporte" */
header.is-solido .home-scp0,
header.is-scrolled .home-scp0 { color: rgb(13, 43, 94) !important; border: 1px solid rgb(211, 220, 232) !important; background: rgb(244, 247, 251) !important; }

/* botão "Sob Ataque?" */
header.is-solido .home-scp1,
header.is-scrolled .home-scp1 { color: rgb(200, 16, 46) !important; border: 1px solid rgba(200, 16, 46, .38) !important; background: rgba(200, 16, 46, .07) !important; }

/* telefones/e-mail da topbar — escopado à topbar (nth-of-type(1)): a classe
 * .home-scp2 é reaproveitada pelos itens do mega-menu (cor "inherit", não diverge
 * por tema), então um seletor .home-scp2 solto pegaria elementos errados. */
header.is-solido > div:nth-of-type(1) .home-scp2,
header.is-scrolled > div:nth-of-type(1) .home-scp2 { color: rgb(13, 43, 94) !important; }

/* separadores "|" entre os contatos da topbar (sempre o <span> logo após um .home-scp2) */
header.is-solido > div:nth-of-type(1) .home-scp2 + span,
header.is-scrolled > div:nth-of-type(1) .home-scp2 + span { background: rgb(221, 227, 236) !important; }

/* faixa principal (logo + nav) — encolhe de 84px para 72px fora do tema on-dark */
header.is-solido > div:nth-of-type(2),
header.is-scrolled > div:nth-of-type(2) { height: 72px !important; }

/* logo — menor e sem o filtro que o deixa branco sobre fundo escuro */
header.is-solido img,
header.is-scrolled img { height: 48px !important; filter: none !important; }

/* botão de menu (hambúrguer), visível só em mobile */
header.is-solido button[aria-label="Abrir menu"],
header.is-scrolled button[aria-label="Abrir menu"] { border: 1px solid rgb(221, 227, 236) !important; background: rgb(255, 255, 255) !important; color: rgb(13, 43, 94) !important; }

/* links da nav principal (Início / Soluções / Institucional) */
header.is-solido .home-scp3,
header.is-scrolled .home-scp3 { color: rgb(13, 43, 94) !important; }

/* CTA "Falar com especialista" */
header.is-solido .home-scp4,
header.is-scrolled .home-scp4 { background: rgb(46, 114, 194) !important; border: 1px solid rgb(46, 114, 194) !important; box-shadow: 0 8px 20px -10px rgba(46, 114, 194, .9) !important; }

/**
 * Tarefa 9 — sobreposições do header (mega-menu, drawer, modal "Sob Ataque?",
 * banner e preferências de cookies) nascem sempre no DOM (nunca foram
 * removidas pelo React) e eram abertas/fechadas trocando estilo inline. O
 * site.js passa a alternar classes/atributos; aqui vai o CSS que faz essas
 * classes/atributos terem efeito visual (sempre !important, porque o alvo
 * real é sempre um atributo style inline vindo da captura).
 */

/**
 * Achado ao testar o drawer no navegador a 375px (Tarefa 9, Passo 8): o botão
 * hambúrguer e a <nav> de desktop nunca trocam de visibilidade — os dois têm
 * display FIXO no HTML capturado (nav: flex; botão: none), porque no React
 * original essa troca era decidida em tempo de execução por JS, não por CSS:
 *
 * if (typeof window !== 'undefined' && window.innerWidth) this.state.vw = ...; 
 * const mob = vw < 900; 
 * // ... display: mob ? 'flex' : 'none' no botão; o inverso na <nav> ...
 *
 * (achado no <script> de fonte embutido em trabalho/capturas/home.html — ver
 * comentário de fatorar.mjs sobre esse mesmo "ruído do runtime"). A captura
 * girou a 1440px, então os dois congelaram no estado desktop: sem esta regra,
 * a <nav> de desktop nunca some e o botão do drawer nunca aparece, em
 * nenhuma largura de tela. 900px replica o breakpoint "mob" original.
 */
@media (max-width: 899px) { header nav { display: none !important; } header [data-drawer-abrir] { display: inline-flex !important; }}

/* Tarefa 14 — conferência final: mais componentes que a captura a 1440px
 * (mesmo motivo do comentário logo acima, sobre a <nav>) congelou no estado
 * desktop. O React recalculava esses layouts via JS a partir de
 * window.innerWidth; o HTML estático herdou só o valor computado a 1440px, e
 * sem media query o CSS sozinho não reproduz o mobile — o conteúdo vazava
 * para fora da viewport a 375px (ver trabalho/conferencia/*-diff.png).
 * Valores conferidos abrindo o próprio site antigo (localhost/) a 375px de
 * largura e lendo o style computado real de cada grade/flex. */
@media (max-width: 899px) {
  /* topbar (telefones/suporte) some no mobile, igual à <nav> logo acima */
  header > div:first-child { display: none !important; }
}

/* Regra geral: qualquer grid explícito que comece com "minmax(0px, ...)" e
 * NÃO seja já uma única coluna (minmax(0px, 1fr) sozinha) empilha em 1
 * coluna. Cobre o rodapé (1.4fr + 3×1fr), o contato (coluna de 460px +
 * formulário), as 8 frentes (heros e blocos "ficha técnica" com uma coluna
 * de imagem em px fixo — largura muda por página, daí a regra genérica em
 * vez de um valor por rota) e o institucional (0.95fr/1.05fr). */
@media (max-width: 899px) { [style*="grid-template-columns: minmax(0px,"]:not([style*="grid-template-columns: minmax(0px, 1fr);"]) { grid-template-columns: minmax(0px, 1fr) !important; } }

/* grades explícitas de N colunas iguais (N≥3) também empilham, exceto a
 * grade de certificações do institucional (6 → 2 colunas, conferido no
 * site antigo a 375px — é a única exceção ao "empilha tudo"). */
@media (max-width: 899px) { [style*="grid-template-columns: repeat(3, minmax(0px, 1fr))"], [style*="grid-template-columns: repeat(4, minmax(0px, 1fr))"], [style*="grid-template-columns: repeat(5, minmax(0px, 1fr))"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style*="grid-template-columns: repeat(6, minmax(0px, 1fr))"] { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; } }

/* contato: pares de campo (nome/e-mail, telefone/empresa) → 1 coluna */
@media (max-width: 899px) { [style*="grid-template-columns: 1fr 1fr"] { grid-template-columns: minmax(0px, 1fr) !important; } }
/* institucional: bloco "texto + selo flutuante" → empilha */
@media (max-width: 899px) { [style*="grid-template-columns: 1fr auto"] { grid-template-columns: minmax(0px, 1fr) !important; } }

/* banner de cookies: no desktop é uma caixa de 520px ancorada à esquerda
 * (left:28px; width:min(520px, 100vw-56px)); no site antigo, a 375px, o
 * React trocava para uma faixa quase full-width (left/right:12px). Sem
 * isso o banner fica mais estreito no site novo, o texto quebra diferente
 * e a altura total da página diverge por causa do full-page screenshot. */
@media (max-width: 899px) { [data-cookie-barra] { left: 12px !important; right: 12px !important; bottom: 12px !important; width: auto !important; } }

/* home: cartões "Pilares" — no desktop é um acordeão de hover (flex row com
 * larguras fixas 380px/112px); no site antigo, a 375px, o React trocava
 * para uma coluna vertical de cartões com min-height:230px, sem hover e
 * sempre com a imagem de fundo visível (ver trabalho/pilares-mobile-*.html). */
@media (max-width: 899px) { section[data-screen-label="Pilares"] > div > div[data-reveal="2"] { display: flex !important; flex-direction: column !important; height: auto !important; } }
@media (max-width: 899px) { section[data-screen-label="Pilares"] > div > div[data-reveal="2"] > a { flex: 0 0 auto !important; min-height: 230px !important; } }
@media (max-width: 899px) { section[data-screen-label="Pilares"] > div > div[data-reveal="2"] > a > span:first-child { opacity: 1 !important; transform: none !important; } }
@media (max-width: 899px) { section[data-screen-label="Pilares"] > div > div[data-reveal="2"] > a > span:nth-child(3) { display: none !important; } }
@media (max-width: 899px) { section[data-screen-label="Pilares"] > div > div[data-reveal="2"] > a > span:nth-child(4) { width: auto !important; opacity: 1 !important; transform: none !important; pointer-events: auto !important; } }

/* Tarefa 15 — geradas por ferramentas/extrair-regras-mobile.mjs, comparando o
 * atributo style de cada elemento entre a captura desktop (1440px) e a
 * captura mobile (375px, carga direta no site antigo) na mesma ordem de
 * documento. Só entram propriedades de caixa/layout (display, grid, flex,
 * padding, margin, gap, width/height, top/left/right/bottom) — opacity,
 * transform e background-image (url blob, que muda a cada carga de página)
 * são ruído de animação/estado transitório, não layout mobile real, e foram
 * filtrados no próprio script. Cobre o padding/gap/margin-top que ficava
 * congelado no valor de desktop mesmo depois do grid empilhar (causa da
 * divergência de altura relatada na Tarefa 14, §5). Não editar à mão sem
 * também editar o script gerador. */
@media (max-width: 899px) { .solucoes-scp17 { padding: 28px 24px 30px !important; grid-template-columns: minmax(0px, 1fr) !important; gap: 22px !important; } }

/* home: acordeão de hover dos cartões "Pilares" (era p.hover/setState({pilar:i})
 * no componente React original, congelado em pilar:0 na conversão — ver
 * trabalho/template.html por volta da linha 850 e 3382). O JS (site.js,
 * IIFE "acordeaoPilares") alterna a classe is-ativo entre os 8 <a class="mg-pilar">
 * dentro de [data-pilares] no mouseenter/focus; aqui só os valores medidos no
 * HTML servido, aberto vs. fechado. O card Data Center já vem marcado
 * is-ativo direto no HTML (index.php), então não há flash antes do JS
 * carregar. Abaixo de 900px os cartões já ficam todos abertos em coluna
 * pelas regras acima (@media max-width:899px) — estas regras não podem valer
 * lá, por isso o min-width:900px. */
@media (min-width: 900px) { [data-pilares] > a.mg-pilar { flex: 0 0 112px !important; } }
@media (min-width: 900px) { [data-pilares] > a.mg-pilar.is-ativo { flex: 1 1 380px !important; } }
/* 1º span: imagem de fundo */
@media (min-width: 900px) { [data-pilares] > a.mg-pilar > span:first-child { opacity: 0 !important; transform: scale(1.08) !important; } }
@media (min-width: 900px) { [data-pilares] > a.mg-pilar.is-ativo > span:first-child { opacity: 1 !important; transform: scale(1) !important; } }
/* 3º span: nome na vertical (faixa fechada) */
@media (min-width: 900px) { [data-pilares] > a.mg-pilar > span:nth-child(3) { opacity: 1 !important; transition: opacity 0.3s 0.3s !important; } }
@media (min-width: 900px) { [data-pilares] > a.mg-pilar.is-ativo > span:nth-child(3) { opacity: 0 !important; transition: opacity 0.14s !important; } }
/* 4º span: bloco com título/descrição (card aberto) */
@media (min-width: 900px) { [data-pilares] > a.mg-pilar > span:nth-child(4) { opacity: 0 !important; transform: translateY(10px) !important; pointer-events: none !important; transition: opacity 0.16s, transform 0.16s !important; } }
@media (min-width: 900px) { [data-pilares] > a.mg-pilar.is-ativo > span:nth-child(4) { opacity: 1 !important; transform: translateY(0px) !important; pointer-events: auto !important; transition: opacity 0.4s 0.28s, transform 0.45s 0.28s !important; } }
@media (max-width: 899px) { [style="background: rgb(13, 43, 94); color: rgb(255, 255, 255); border-radius: 10px; padding: 52px; display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); gap: 56px; align-items: center; margin-bottom: 24px; position: relative; overflow: hidden; opacity: 0; transform: translateY(22px); transition: opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 140ms, transform 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 140ms;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="background: rgb(13, 43, 94); color: rgb(255, 255, 255); margin-top: -125px; padding: clamp(102px, 15.7vw, 204px) clamp(20px, 4vw, 32px) clamp(53px, 6.8vw, 88px); position: relative; overflow: hidden;"] { margin-top: -84px !important; } }
@media (max-width: 899px) { [style="background: rgb(255, 255, 255); border: 1px solid rgb(228, 233, 240); border-radius: 10px; box-shadow: rgba(13, 43, 94, 0.35) 0px 30px 60px -40px; overflow: hidden; display: grid; grid-template-columns: repeat(3, 1fr); opacity: 0; transform: translateY(22px); transition: opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 140ms, transform 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 140ms;"] { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; } }
@media (max-width: 899px) { [style="display: block; background: transparent; border-bottom: 1px solid rgb(237, 241, 247); max-height: 40px; opacity: 1; overflow: hidden; transition: max-height 0.35s, opacity 0.25s, border-color 0.35s;"] { display: none !important; } }
@media (max-width: 899px) { [style="display: block; background: transparent; border-bottom: 1px solid rgba(255, 255, 255, 0.12); max-height: 40px; opacity: 1; overflow: hidden; transition: max-height 0.35s, opacity 0.25s, border-color 0.35s;"] { display: none !important; } }
@media (max-width: 899px) { [style="display: block; width: 38px; height: 4px; border-radius: 2px; background: rgb(103, 232, 249); margin-bottom: 20px;"] { width: 32px !important; height: 3px !important; margin-bottom: 14px !important; } }
@media (max-width: 899px) { [style="display: block; width: 38px; height: 4px; border-radius: 2px; background: rgb(110, 231, 183); margin-bottom: 20px;"] { width: 32px !important; height: 3px !important; margin-bottom: 14px !important; } }
@media (max-width: 899px) { [style="display: block; width: 38px; height: 4px; border-radius: 2px; background: rgb(147, 180, 255); margin-bottom: 20px;"] { width: 32px !important; height: 3px !important; margin-bottom: 14px !important; } }
@media (max-width: 899px) { [style="display: block; width: 38px; height: 4px; border-radius: 2px; background: rgb(196, 181, 253); margin-bottom: 20px;"] { width: 32px !important; height: 3px !important; margin-bottom: 14px !important; } }
@media (max-width: 899px) { [style="display: block; width: 38px; height: 4px; border-radius: 2px; background: rgb(249, 168, 212); margin-bottom: 20px;"] { width: 32px !important; height: 3px !important; margin-bottom: 14px !important; } }
@media (max-width: 899px) { [style="display: block; width: 38px; height: 4px; border-radius: 2px; background: rgb(252, 165, 165); margin-bottom: 20px;"] { width: 32px !important; height: 3px !important; margin-bottom: 14px !important; } }
@media (max-width: 899px) { [style="display: block; width: 38px; height: 4px; border-radius: 2px; background: rgb(252, 211, 77); margin-bottom: 20px;"] { width: 32px !important; height: 3px !important; margin-bottom: 14px !important; } }
@media (max-width: 899px) { [style="display: block; width: 38px; height: 4px; border-radius: 2px; background: rgb(253, 186, 116); margin-bottom: 20px;"] { width: 32px !important; height: 3px !important; margin-bottom: 14px !important; } }
@media (max-width: 899px) { [style="display: flex; align-items: center; gap: 34px; font-size: 15px; font-weight: 500;"] { display: none !important; gap: 22px !important; } }
@media (max-width: 899px) { [style="display: flex; flex-direction: column; gap: 6px; align-items: center; text-align: center; padding-left: 40px; border-left: 1px solid rgb(223, 229, 238); opacity: 1; transform: none; transition: opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 140ms, transform 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 140ms;"] { padding-left: 0px !important; } }
@media (max-width: 899px) { [style="display: flex; flex-direction: column; gap: 6px; align-items: center; text-align: center; padding-left: 40px; border-left: 1px solid rgb(223, 229, 238); opacity: 1; transform: none; transition: opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 210ms, transform 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 210ms;"] { padding-left: 0px !important; } }
@media (max-width: 899px) { [style="display: flex; flex-direction: column; gap: 6px; align-items: center; text-align: center; padding-left: 40px; border-left: 1px solid rgb(223, 229, 238); opacity: 1; transform: none; transition: opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 280ms, transform 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 280ms;"] { padding-left: 0px !important; } }
@media (max-width: 899px) { [style="display: flex; flex-direction: column; width: 100%; max-width: 760px; max-height: 88vh; height: auto; background: rgb(255, 255, 255); border-radius: 10px; box-shadow: rgba(6, 16, 36, 0.7) 0px 60px 120px -40px; overflow: hidden;"] { max-height: 100% !important; height: 100% !important; } }
@media (max-width: 899px) { [style="display: flex; gap: 12px; height: 560px; opacity: 0; transform: translateY(22px); transition: opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 140ms, transform 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 140ms;"] { flex-direction: column !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: minmax(0px, 1.05fr) minmax(0px, 0.95fr); gap: clamp(24px, 3vw, 40px); margin-bottom: clamp(40px, 5vw, 64px); opacity: 0; transform: translateY(22px); transition: opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 70ms, transform 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 70ms;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: minmax(0px, 1.6fr) minmax(0px, 1fr); gap: clamp(24px, 3vw, 40px); align-items: start;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); gap: 10px;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); gap: 16px;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); gap: 8px;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 380px); gap: 64px; align-items: end;"] { grid-template-columns: minmax(0px, 1fr) !important; gap: 40px !important; align-items: start !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: minmax(0px, 1fr); gap: 64px; align-items: end;"] { gap: 40px !important; align-items: start !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: minmax(0px, 300px) 1fr; gap: 56px; align-items: start; border: 1px solid rgb(228, 234, 243); border-radius: 10px; padding: 48px 52px; background: linear-gradient(rgb(255, 255, 255) 0%, rgb(247, 249, 252) 100%); opacity: 0; transform: translateY(22px); transition: opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 70ms, transform 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 70ms;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 22px;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 18px; padding-top: 26px; border-top: 1px solid rgb(228, 234, 243);"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: clamp(18px, 2vw, 26px); opacity: 0; transform: translateY(22px); transition: opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 140ms, transform 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 140ms;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 1px; background: rgb(228, 233, 240); border: 1px solid rgb(228, 233, 240); border-radius: 10px; overflow: hidden; opacity: 0; transform: translateY(22px); transition: opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 210ms, transform 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 210ms;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="display: grid; grid-template-columns: repeat(6, minmax(0px, 1fr)); gap: 16px; opacity: 0; transform: translateY(22px); transition: opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 140ms, transform 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 140ms;"] { grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; } }
@media (max-width: 899px) { [style="display: none; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 6px; cursor: pointer; border: 1px solid rgb(221, 227, 236); background: rgb(255, 255, 255); color: rgb(13, 43, 94); padding: 0px;"] { display: inline-flex !important; } }
@media (max-width: 899px) { [style="display: none; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 6px; cursor: pointer; border: 1px solid rgba(255, 255, 255, 0.34); background: rgba(255, 255, 255, 0.08); color: rgb(255, 255, 255); padding: 0px;"] { display: inline-flex !important; } }
@media (max-width: 899px) { [style="margin-top: clamp(32px, 4vw, 48px); padding-top: 26px; border-top: 1px solid rgb(228, 234, 243); display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 22px;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="max-width: 1240px; margin: 0px auto; display: grid; grid-template-columns: minmax(0px, 0.95fr) minmax(0px, 1.05fr); gap: clamp(36px, 5vw, 72px); align-items: center; opacity: 1; transform: none; transition: opacity 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 70ms, transform 0.7s cubic-bezier(0.22, 0.7, 0.3, 1) 70ms;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="max-width: 1240px; margin: 0px auto; display: grid; grid-template-columns: minmax(0px, 1.4fr) repeat(3, 1fr); gap: 48px; padding-bottom: 56px;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="max-width: 1240px; margin: 0px auto; display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); gap: clamp(36px, 5vw, 72px); align-items: center;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="max-width: 1240px; margin: 0px auto; display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 380px); gap: clamp(32px, 5vw, 64px); align-items: start;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="max-width: 1240px; margin: 0px auto; display: grid; grid-template-columns: minmax(0px, 340px) 1fr; gap: 64px; align-items: start;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="max-width: 1240px; margin: 0px auto; display: grid; grid-template-columns: minmax(0px, 420px) 1fr; gap: 72px; align-items: center;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="max-width: 1240px; margin: 0px auto; display: grid; grid-template-columns: minmax(0px, 460px) 1fr; gap: 80px; align-items: start;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="max-width: 1240px; margin: 0px auto; padding: 0px 32px; height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 32px; transition: height 0.35s;"] { padding: 0px 20px !important; } }
@media (max-width: 899px) { [style="max-width: 1240px; margin: 0px auto; padding: 0px 32px; height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 32px; transition: height 0.35s;"] { padding: 0px 20px !important; } }
@media (max-width: 899px) { [style="max-width: 1240px; margin: 0px auto; padding: clamp(27px, 3.4vw, 44px) clamp(20px, 4vw, 32px) clamp(24px, 2.8vw, 36px); display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr) minmax(0px, 400px); gap: 48px;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="min-width: 0px; position: sticky; top: 112px;"] { top: auto !important; } }
@media (max-width: 899px) { [style="position: absolute; inset: 0px; display: flex; align-items: center; justify-content: center; writing-mode: vertical-rl; transform: rotate(180deg); font-family: Sora, sans-serif; font-size: 17px; font-weight: 600; letter-spacing: -0.01em; white-space: nowrap; opacity: 0; transition: opacity 0.14s;"] { display: none !important; } }
@media (max-width: 899px) { [style="position: absolute; inset: 0px; display: flex; align-items: center; justify-content: center; writing-mode: vertical-rl; transform: rotate(180deg); font-family: Sora, sans-serif; font-size: 17px; font-weight: 600; letter-spacing: -0.01em; white-space: nowrap; opacity: 1; transition: opacity 0.3s 0.3s;"] { display: none !important; } }
@media (max-width: 899px) { [style="position: absolute; left: 0px; bottom: 0px; width: 380px; max-width: 100%; padding: 0px 36px 36px; opacity: 0; transform: translateY(10px); transition: opacity 0.16s, transform 0.16s; pointer-events: none;"] { right: 0px !important; width: auto !important; padding: 0px 24px 26px !important; } }
@media (max-width: 899px) { [style="position: absolute; left: 0px; bottom: 0px; width: 380px; max-width: 100%; padding: 0px 36px 36px; opacity: 1; transform: translateY(0px); transition: opacity 0.4s 0.28s, transform 0.45s 0.28s; pointer-events: auto;"] { right: 0px !important; width: auto !important; padding: 0px 24px 26px !important; } }
@media (max-width: 899px) { [style="position: absolute; top: 0px; right: 0px; width: 265px; height: 832px; pointer-events: none; display: block;"] { display: none !important; } }
@media (max-width: 899px) { [style="position: fixed; inset: 0px; z-index: 1200; display: none; align-items: center; justify-content: center; padding: clamp(20px, 4vh, 48px) 20px; background: rgba(6, 16, 36, 0.62); backdrop-filter: blur(3px);"] { padding: 0px !important; } }
@media (max-width: 899px) { [style="position: fixed; inset: 0px; z-index: 85; background: rgba(6, 18, 40, 0.6); backdrop-filter: blur(3px); opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s; display: flex; align-items: center; justify-content: center; padding: 32px;"] { padding: 16px !important; } }
@media (max-width: 899px) { [style="position: relative; display: block; overflow: hidden; flex: 0 0 112px; border-radius: 14px; color: rgb(255, 255, 255); text-decoration: none; background: rgb(13, 43, 94); transition: flex-basis 0.5s cubic-bezier(0.22, 0.7, 0.25, 1) 0.1s, flex-grow 0.5s cubic-bezier(0.22, 0.7, 0.25, 1) 0.1s;"] { min-height: 230px !important; } }
@media (max-width: 899px) { [style="position: relative; display: block; overflow: hidden; flex: 1 1 380px; border-radius: 14px; color: rgb(255, 255, 255); text-decoration: none; background: rgb(13, 43, 94); transition: flex-basis 0.5s cubic-bezier(0.22, 0.7, 0.25, 1) 0.1s, flex-grow 0.5s cubic-bezier(0.22, 0.7, 0.25, 1) 0.1s;"] { min-height: 230px !important; } }
@media (max-width: 899px) { [style="position: relative; display: grid; grid-template-columns: minmax(0px, 1.15fr) minmax(0px, 0.85fr); gap: clamp(28px, 4vw, 56px); align-items: center;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="position: relative; display: grid; grid-template-columns: minmax(0px, 1.2fr) auto; gap: clamp(24px, 3vw, 48px); align-items: center;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="position: relative; margin-top: -125px; background: rgb(13, 43, 94); color: rgb(255, 255, 255); overflow: hidden;"] { margin-top: -84px !important; } }
@media (max-width: 899px) { [style="position: relative; margin-top: -125px; padding: 206px 32px 92px; background: rgb(13, 43, 94); color: rgb(255, 255, 255); overflow: hidden;"] { margin-top: -84px !important; padding: 132px 20px 60px !important; } }
@media (max-width: 899px) { [style="position: relative; margin-top: -125px; padding: clamp(103px, 15.8vw, 206px) clamp(20px, 4vw, 32px) clamp(48px, 6.2vw, 80px); background: rgb(13, 43, 94); color: rgb(255, 255, 255); overflow: hidden;"] { margin-top: -84px !important; } }
@media (max-width: 899px) { [style="position: relative; margin-top: -125px; padding: clamp(103px, 15.8vw, 206px) clamp(20px, 4vw, 32px) clamp(55px, 7.1vw, 92px); background: rgb(13, 43, 94); color: rgb(255, 255, 255); overflow: hidden;"] { margin-top: -84px !important; } }
@media (max-width: 899px) { [style="position: relative; max-width: 1240px; margin: 0px auto; display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="position: relative; max-width: 1240px; margin: 0px auto; display: grid; grid-template-columns: minmax(0px, 340px) 1fr; gap: 64px; align-items: center;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="position: relative; max-width: 1240px; margin: 0px auto; padding: clamp(118px, 18.2vw, 236px) clamp(20px, 4vw, 32px) clamp(77px, 9.8vw, 128px); display: grid; grid-template-columns: minmax(0px, 620px) 1fr; gap: 48px; align-items: center;"] { grid-template-columns: minmax(0px, 1fr) !important; } }
@media (max-width: 899px) { [style="width: 200px; opacity: 0.9; justify-self: auto; animation: 9s ease-in-out 0s infinite normal none running mgFloat;"] { width: 120px !important; } }

/* Banner de cookies e painel de preferências: as 16 capturas os pegaram
 * ABERTOS (capturar.mjs espera 1200ms, o banner aparece aos 900ms) — por
 * isso nascem ocultos aqui, e o site.js soma is-aberto para quem ainda não
 * decidiu sobre cookies. */
[data-cookie-barra], [data-cookie-prefs] { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
[data-cookie-barra].is-aberto, [data-cookie-prefs].is-aberto { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }

/* Drawer mobile (<aside> do menu hambúrguer): a captura já traz
 * transform: translateX(102%) inline (fechado, fora da tela) — o site.js
 * soma a classe is-aberto para deslizar de volta para dentro da tela. */
[data-drawer].is-aberto { transform: translateX(0) !important; }

/* Submenus do drawer ("Soluções" e "Institucional"): a captura gravou os dois
 * <div id="drawer-sub-*"> com `display: flex` EMBUTIDO no elemento, e estilo
 * embutido vence qualquer folha de estilo — inclusive o `display: none` que o
 * navegador dá a [hidden]. Sem esta regra o atributo `hidden` é decorativo:
 * medido antes da correção, hidden=true com display=flex e altura de 405px
 * (Soluções) e 181px (Institucional), ou seja, os painéis nasciam abertos e o
 * `alvo.hidden = !abrir` do site.js alternava o atributo sem mudar a tela.
 * O !important é o que devolve o efeito ao atributo — mantendo `hidden`, que
 * é a semântica correta e o que o leitor de tela entende, em vez de trocá-lo
 * por mais uma classe. */
[data-drawer] [id^="drawer-sub-"][hidden] { display: none !important; }

/* Véu escuro atrás do drawer: mesma técnica do banner de cookies — nasce
 * oculto no HTML capturado e o site.js soma is-aberto junto com o drawer. */
[data-drawer-sobreposicao].is-aberto { opacity: 1 !important; visibility: visible !important; }

/* Toggles de cookies (desempenho/marketing): capturados como <button> com
 * um "trilho" e uma "bolinha" (span) que se move — não são <input
 * type="checkbox">. O site.js alterna aria-pressed no clique; aqui é só o
 * desenho do estado alternado (o estado padrão já sai correto do HTML
 * capturado — desempenho ligado, marketing desligado). */
[data-cookie-desempenho][aria-pressed="false"],
[data-cookie-marketing][aria-pressed="false"] { background: rgb(203, 213, 225) !important; }
[data-cookie-desempenho][aria-pressed="false"] span,
[data-cookie-marketing][aria-pressed="false"] span { left: 3px !important; }
[data-cookie-desempenho][aria-pressed="true"],
[data-cookie-marketing][aria-pressed="true"] { background: rgb(29, 78, 216) !important; }
[data-cookie-desempenho][aria-pressed="true"] span,
[data-cookie-marketing][aria-pressed="true"] span { left: 23px !important; }


/* Estados de foco, complementados por combinação (seletor real de campo + classe)
 * verificada nas capturas — ver ferramentas/sintetizar-foco-css.mjs. As 5 regras
 * .scpc/.scpr/.scps/.scp1b/.scp1c:focus (herdadas das capturas) já cobrem todos os
 * campos; estas reforçam por atributo real para elevar a granularidade. */
[name="nome"].scpc:focus-visible { border-color: rgb(29, 78, 216) !important; background: rgb(255, 255, 255) !important; }
[name="empresa"].scpc:focus-visible { border-color: rgb(29, 78, 216) !important; background: rgb(255, 255, 255) !important; }
[name="cargo"].scpc:focus-visible { border-color: rgb(29, 78, 216) !important; background: rgb(255, 255, 255) !important; }
[name="email"].scpc:focus-visible { border-color: rgb(29, 78, 216) !important; background: rgb(255, 255, 255) !important; }
[name="telefone"].scpc:focus-visible { border-color: rgb(29, 78, 216) !important; background: rgb(255, 255, 255) !important; }
[name="tipo_outro"].scpc:focus-visible { border-color: rgb(29, 78, 216) !important; background: rgb(255, 255, 255) !important; }
[name="descricao"].scpc:focus-visible { border-color: rgb(29, 78, 216) !important; background: rgb(255, 255, 255) !important; }
input[placeholder="Como podemos chamar você"].scpr:focus-visible { border-color: rgb(29, 78, 216) !important; box-shadow: rgba(29, 78, 216, 0.14) 0px 0px 0px 3px !important; }
input[type="email"].scpr:focus-visible { border-color: rgb(29, 78, 216) !important; box-shadow: rgba(29, 78, 216, 0.14) 0px 0px 0px 3px !important; }
input[type="tel"].scpr:focus-visible { border-color: rgb(29, 78, 216) !important; box-shadow: rgba(29, 78, 216, 0.14) 0px 0px 0px 3px !important; }
textarea[placeholder^="Descreva o que aconteceu"].scpr:focus-visible { border-color: rgb(29, 78, 216) !important; box-shadow: rgba(29, 78, 216, 0.14) 0px 0px 0px 3px !important; }
select.scps:focus-visible { border-color: rgb(29, 78, 216) !important; }
input[type="date"].scps:focus-visible { border-color: rgb(29, 78, 216) !important; }
input[placeholder="Seu nome"].scp1b:focus-visible { border-color: rgb(46, 114, 194) !important; box-shadow: rgba(46, 114, 194, 0.15) 0px 0px 0px 3px !important; }
input[placeholder="Razão social"].scp1b:focus-visible { border-color: rgb(46, 114, 194) !important; box-shadow: rgba(46, 114, 194, 0.15) 0px 0px 0px 3px !important; }
input[type="email"].scp1b:focus-visible { border-color: rgb(46, 114, 194) !important; box-shadow: rgba(46, 114, 194, 0.15) 0px 0px 0px 3px !important; }
input[type="tel"].scp1b:focus-visible { border-color: rgb(46, 114, 194) !important; box-shadow: rgba(46, 114, 194, 0.15) 0px 0px 0px 3px !important; }
textarea[placeholder^="Conte brevemente"].scp1b:focus-visible { border-color: rgb(46, 114, 194) !important; box-shadow: rgba(46, 114, 194, 0.15) 0px 0px 0px 3px !important; }
select.scp1c:focus-visible { border-color: rgb(46, 114, 194) !important; }


/* Estado aberto das sobreposições, extraído das capturas de estado.
 * As sobreposições vivem sempre no DOM; o site.js alterna a classe .is-aberto. */
[data-mega-painel].is-aberto { opacity: 1 !important; visibility: visible !important; transform: translateY(0px) !important; }
[data-modal-ataque].is-aberto { display: flex !important; }

/* Barra superior (suporte, sob-ataque, telefones): no original ela encolhia
 * para altura zero ao rolar — utilBarStyle usava maxHeight scrolled?0:40px.
 * A captura congelou o estado aberto; esta regra devolve o comportamento.
 * A transição já está no estilo inline do elemento. */
header.is-scrolled [data-topbar] { max-height: 0 !important; opacity: 0 !important; border-bottom-color: transparent !important; }
