/* CEMCORE — site institucional
   Cores do Manual do Logotipo: Azul-Petróleo #1A5F7A, Azul-Marinho #113247, Grafite #2C3539, Cinza Claro #E0E4E6.
   Direção: fundos claros em todo o site (azul-claro e branco); azul-petróleo e azul-marinho em textos, marca e detalhes; fundos claros no restante; ciano reservado a ações e conexões.
   Escala de espaçamento: 8, 16, 24, 32, 48, 64 e 96 px. */
/* Fontes hospedadas no próprio site (SIL OFL 1.1, ver assets/fonts/LICENSE.txt). Fontes variáveis, subconjunto latin.
   Inter: pesos 400 a 700. Montserrat: pesos 700 a 800. O caminho é relativo a este arquivo, então vale para todas as páginas. */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("assets/fonts/inter-latin-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700 800;
  font-display: swap;
  src: url("assets/fonts/montserrat-latin-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Fontes de reserva com métricas ajustadas ao Arial, para reduzir o salto de layout até as fontes carregarem. */
@font-face {
  font-family: "Inter Fallback";
  font-weight: 400 700;
  src: local("Arial"), local("ArialMT"), local("Helvetica");
  size-adjust: 109.4%;
  ascent-override: 88.55%;
  descent-override: 22.05%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Montserrat Fallback";
  font-weight: 700 800;
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold");
  size-adjust: 114%;
  ascent-override: 84.9%;
  descent-override: 22%;
  line-gap-override: 0%;
}

:root {
  --brand: #1A5F7A;
  --ink: #113247;
  --text: #34495A;
  --muted: #4B6173;
  --white: #FFFFFF;
  --light: #F4F8FB;
  --tint: #EAF2F8;
  --line: #D3E0E8;
  --cyan: #2A8FB2;
  --cyan-hover: #4DB0D2;
  --on-cyan: #031A28;
  --sky: #DCEAF3;
  --amber: #E0A93A;
  --ok: #2DB37C;

  /* Cinza Claro do Manual do Logotipo: fundo do rodapé */
  --silver: #E0E4E6;
  /* Erro, destaque de cartão */
  --danger: #B4410B;
  --err-bg: #FCE9DC;
  --err-ink: #7A2E0B;
  --shadow-hover: 0 16px 32px -20px rgba(17, 50, 71, .5);

  --display: "Montserrat", "Montserrat Fallback", Arial, sans-serif;
  --body: "Inter", "Inter Fallback", Arial, sans-serif;

  --s1: 8px; --s2: 16px; --s3: 24px; --s4: 32px; --s5: 48px; --s6: 64px; --s7: 96px;
  --pad: clamp(20px, 4vw, 40px);
  --section: var(--s6);
  --bar-min: 80px;
  --cta-h: 77px;
  --header-h: 81px;
  --radius: 16px;
  --t: .2s;

  --mk-top: #3AA0C2; --mk-left: #1F7396; --mk-bottom: #2B5F9B; --mk-word: var(--ink);
}

*, *::before, *::after { box-sizing: border-box; }

html { overflow-x: clip; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
section[id] { scroll-margin-top: calc(var(--header-h) + 16px); }

body {
  margin: 0; font-family: var(--body); font-size: 1.0625rem; line-height: 1.6; color: var(--text);
  background: var(--white); -webkit-font-smoothing: antialiased; overflow-x: clip;
}

h1, h2, h3, h4, p, ul, ol, figure, dl { margin: 0; padding: 0; }
ul, ol { list-style: none; }
h1, h2, h3, h4 { font-family: var(--display); color: var(--ink); text-wrap: balance; }
p, li, figcaption { text-wrap: pretty; }
a { color: inherit; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
code { font-family: inherit; }

:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; border-radius: 6px; }
::selection { background: var(--brand); color: var(--white); }

.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.vh { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 16px; top: -80px; z-index: 100; padding: 12px 18px; background: var(--white); color: var(--ink); font-weight: 600; border-radius: 8px; }
.skip:focus { top: 12px; }

.wrap { width: 100%; max-width: calc(1200px + 2 * var(--pad)); margin: 0 auto; padding: 0 var(--pad); }

/* Marca */
.m-top { fill: var(--mk-top); } .m-left { fill: var(--mk-left); } .m-bottom { fill: var(--mk-bottom); }
.logo { display: inline-flex; text-decoration: none; }
.logo svg { height: 38px; width: auto; }
.logo text { fill: var(--mk-word); font-family: var(--display); }

/* Ações: principal, secundária e complementar */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 var(--s4);
  border: 2px solid transparent; border-radius: 999px; cursor: pointer; text-decoration: none; text-align: center;
  font-family: var(--body); font-size: 1rem; font-weight: 600; line-height: 1.2;
  transition: background-color var(--t), border-color var(--t), color var(--t), transform var(--t);
}
.btn:active { transform: translateY(1px); }
.btn--primary { background: var(--cyan); color: var(--on-cyan); }
.btn--primary:hover { background: var(--cyan-hover); }
.btn--secondary { background: transparent; border-color: var(--brand); color: var(--ink); }
.btn--secondary:hover { background: var(--tint); }
.btn--dark { background: var(--ink); color: var(--white); }
.btn--dark:hover { background: var(--brand); }
.btn--sm { min-height: 44px; padding: 0 var(--s3); font-size: 0.9375rem; }
.actions { display: flex; flex-wrap: wrap; gap: var(--s2); }

/* Cabeçalho */
.bar { position: sticky; top: 0; z-index: 50; background: var(--white); border-bottom: 1px solid var(--line); }
.bar__in { display: flex; align-items: center; justify-content: space-between; min-height: var(--bar-min); gap: var(--s3); }
.menu { display: flex; align-items: center; gap: var(--s4); }
.menu__link {
  display: inline-flex; align-items: center; gap: 6px; padding: 8px 4px; background: none; border: 0; border-radius: 6px; cursor: pointer;
  text-decoration: none; font-family: var(--body); font-size: 0.96875rem; font-weight: 500; color: var(--ink); transition: color var(--t);
}
.menu__link:hover { color: var(--brand); }
.chev { width: 12px; height: 8px; flex: none; transition: transform var(--t); }
.dd { position: relative; }
.dd.is-open .chev { transform: rotate(180deg); }
.dd__menu {
  position: absolute; top: calc(100% + 12px); left: -16px; min-width: 300px; padding: var(--s1);
  background: var(--white); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 24px 48px -24px rgba(17, 50, 71, .35);
}
.js .dd:not(.is-open) .dd__menu { display: none; }
html:not(.js) .dd__menu { display: none; }
html:not(.js) .dd:hover .dd__menu, html:not(.js) .dd:focus-within .dd__menu { display: block; }
.dd__menu a { display: grid; gap: 2px; padding: 12px var(--s2); border-radius: 10px; text-decoration: none; transition: background-color var(--t); }
.dd__menu a:hover { background: var(--tint); }
.dd__n { font-weight: 600; font-size: 1rem; color: var(--ink); }
.dd__d { font-size: 0.90625rem; color: var(--muted); }
.menu-btn { display: none; width: 48px; height: 48px; padding: 0; border: 0; background: none; cursor: pointer; border-radius: 8px; }
.menu-btn__bars, .menu-btn__bars::before, .menu-btn__bars::after { display: block; width: 24px; height: 2.5px; margin: 0 auto; border-radius: 2px; background: var(--ink); transition: transform var(--t), background-color var(--t); }
.menu-btn__bars { position: relative; }
.menu-btn__bars::before, .menu-btn__bars::after { content: ""; position: absolute; left: 0; }
.menu-btn__bars::before { top: -8px; } .menu-btn__bars::after { top: 8px; }
.menu-btn[aria-expanded="true"] .menu-btn__bars { background: transparent; }
.menu-btn[aria-expanded="true"] .menu-btn__bars::before { transform: translateY(8px) rotate(45deg); }
.menu-btn[aria-expanded="true"] .menu-btn__bars::after { transform: translateY(-8px) rotate(-45deg); }

/* Faixas e seções */
.band, .sec { padding: var(--section) 0; }
.band--hero { background: linear-gradient(180deg, var(--tint) 0%, var(--light) 100%); color: var(--text); }
.band--sky { background: var(--sky); color: var(--text); }
.sec--white { background: var(--white); }
.sec--tint { background: var(--tint); }
.sec--light { background: var(--light); }
.head { max-width: 720px; margin-bottom: var(--s4); }
.head h2, .contact h1, .contact h2 { font-size: clamp(1.875rem, 3.4vw, 2.75rem); font-weight: 800; line-height: 1.12; letter-spacing: -.03em; }
.head p { margin-top: var(--s2); max-width: 62ch; font-size: 1.125rem; color: var(--muted); }

/* Abertura */
.hero { padding: var(--s5) 0; }
.hero__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: var(--s5); align-items: center; }
.hero h1 { font-size: clamp(2.75rem, 5vw, 4.5rem); font-weight: 800; line-height: 1.02; letter-spacing: -.04em; color: var(--ink); white-space: nowrap; }
.hero h1 span { display: block; color: var(--brand); }
.hero__lead { margin-top: var(--s3); max-width: 30em; font-size: 1.1875rem; line-height: 1.6; color: var(--text); }
.hero .actions { margin-top: var(--s3); }
@media (min-width: 961px) { .hero .actions { flex-wrap: nowrap; } }
.hero .actions .btn { padding: 0 var(--s3); }
.hero__fig figcaption, .product__fig figcaption { margin-top: var(--s2); font-size: 0.9375rem; line-height: 1.5; }
.hero__fig figcaption { margin-top: var(--s1); color: var(--muted); text-align: center; }
.hero__fig .frame { padding: var(--s2); }

/* Molduras das ilustrações */
.frame { position: relative; padding: var(--s3); border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(160deg, var(--white) 0%, var(--light) 100%); box-shadow: 0 28px 56px -36px rgba(17, 50, 71, .4); overflow: hidden; }
.frame--wide { padding: var(--s4); }
.gfx-svg { width: 100%; height: auto; max-height: 520px; overflow: visible; }
.hero-svg { max-height: none; }
.gfx-svg text { font-family: var(--body); font-weight: 600; font-size: 15px; fill: var(--ink); }

/* Fluxo */
.steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s2); }
.step { position: relative; }
.step:not(:last-child)::after { content: ""; position: absolute; top: 52px; right: calc(var(--s2) * -1); width: var(--s2); height: 3px; background: var(--cyan); }
.step a {
  display: grid; align-content: start; gap: var(--s1); height: 100%; padding: var(--s3); text-decoration: none; background: var(--white);
  border: 1.5px solid var(--line); border-radius: var(--radius); transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}
.step a:hover, .step a:focus-visible { border-color: var(--brand); box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.step__ico { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: var(--s1); border-radius: 50%; background: var(--ink); color: var(--white); }
.step__ico svg { width: 30px; height: 30px; }
.step__name { font-family: var(--display); font-size: 1.375rem; font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.step__sw { font-size: 0.9375rem; font-weight: 600; color: var(--brand); }
.step__sw::after { content: " \2192"; transition: margin-left var(--t); }
.step a:hover .step__sw::after, .step a:focus-visible .step__sw::after { margin-left: 4px; }
.step__desc { font-size: 0.96875rem; line-height: 1.5; color: var(--text); }

/* Produtos */
.sec.product { padding: var(--s6) 0; }
.product__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); grid-template-rows: auto 1fr; grid-template-areas: "top fig" "bottom fig";
  column-gap: var(--s6); row-gap: var(--s3); align-items: start;
}
.product--rev .product__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); grid-template-areas: "fig top" "fig bottom"; }
.product__top { grid-area: top; }
.product__fig { grid-area: fig; }
.product__bottom { grid-area: bottom; }
.stage { font-size: 0.9375rem; font-weight: 600; color: var(--brand); }
.product h2 { margin-top: var(--s1); font-size: clamp(2.125rem, 3.8vw, 3rem); font-weight: 800; line-height: 1.05; letter-spacing: -.035em; }
.plogo { width: auto; height: clamp(40px, 4.4vw, 56px); }
.status { display: flex; align-items: center; gap: var(--s1); margin-top: var(--s2); font-size: 0.9375rem; font-weight: 600; color: var(--ink); }
.status__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--ok); flex: none; }
.status--eval .status__dot { background: var(--amber); }
.status__k { font-weight: 500; color: var(--muted); }
.benefit { margin-top: var(--s3); max-width: 24em; font-family: var(--display); font-size: clamp(1.25rem, 2vw, 1.5rem); font-weight: 700; line-height: 1.25; letter-spacing: -.02em; color: var(--ink); }
.ticks { display: grid; gap: 12px; margin-top: var(--s3); }
.ticks li { display: flex; align-items: flex-start; gap: 12px; }
.ticks svg { width: 22px; height: 22px; flex: none; margin-top: 2px; }
.ticks svg circle { fill: var(--brand); }
.ticks svg path { fill: none; stroke: var(--white); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.integ { max-width: 38em; font-size: 0.96875rem; line-height: 1.55; color: var(--muted); }
.integ strong { display: block; color: var(--ink); font-weight: 600; }
.product__bottom .actions { margin-top: var(--s3); }
.fig-note { margin-top: var(--s1); font-size: 0.90625rem; line-height: 1.5; color: var(--ink); font-weight: 500; }
.product__fig figcaption { color: var(--muted); }

.more { margin-top: var(--s3); border-top: 1px solid var(--line); }
.more summary {
  display: inline-flex; align-items: center; gap: var(--s1); margin-top: var(--s2); padding: 8px 0; cursor: pointer; list-style: none;
  font-size: 1rem; font-weight: 600; color: var(--brand); border-radius: 6px;
}
.more summary::-webkit-details-marker { display: none; }
.more summary:hover { color: var(--ink); }
.more[open] .chev { transform: rotate(180deg); }
.more__body { padding: var(--s1) 0 0; max-width: 40em; }
.more__body p { font-size: 1rem; line-height: 1.6; color: var(--text); }
.more__body h4 { margin: var(--s3) 0 var(--s1); font-family: var(--body); font-size: 0.9375rem; font-weight: 700; color: var(--ink); }
.ticks--plain { gap: 10px; margin: var(--s2) 0 0; font-size: 1rem; }
.ticks--plain li { display: list-item; list-style: disc; margin-left: 20px; padding-left: 4px; }
.ticks--plain li::marker { color: var(--brand); }
.tbl { width: 100%; border-collapse: collapse; font-size: 0.96875rem; }
.tbl th, .tbl td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--line); }
.tbl thead th { font-weight: 600; color: var(--muted); border-bottom-width: 2px; }
.tbl tbody th { font-weight: 600; color: var(--ink); }
.tbl td { font-weight: 600; color: var(--brand); }

/* Integração: fundo claro, ciclo de 15 s. O estado base (sem animação) mostra todas as conexões ligadas.
   As regras de movimento (@keyframes u1, u2, ...) são geradas junto com o desenho. */
.hubsec .head { margin-bottom: var(--s4); }
.frame--light { padding: var(--s3); border-color: var(--line); background: var(--white); box-shadow: 0 28px 56px -36px rgba(17, 50, 71, .45); }
.frame--light .motion-toggle { left: 10px; right: auto; }
.hub { width: 100%; height: auto; overflow: visible; }
.hub text { font-family: var(--body); }
.hub .u-node rect { fill: var(--light); stroke: #BFD3DF; stroke-width: 1.5; filter: url(#hubsh); }
.hub .u-node--hub rect { fill: var(--brand); stroke: var(--cyan); stroke-width: 2; }
.hub .u-ring { fill: none; stroke: var(--cyan); stroke-width: 3; opacity: 0; transform-box: fill-box; transform-origin: center; }
.hub text.u-hn { font-family: var(--display); font-size: 26px; font-weight: 800; fill: var(--ink); }
.hub text.u-hn--hub { font-size: 38px; fill: var(--white); }
.hub text.u-hs { font-size: 15px; font-weight: 500; fill: var(--muted); }
.hub text.u-hs--hub { font-size: 18px; fill: #D5E6EE; }
.hub .u-bar { fill: var(--brand); transform-box: fill-box; transform-origin: 50% 100%; }
.hub .u-base { fill: none; stroke: #BFD3DF; stroke-width: 2; stroke-linecap: round; }
.hub .u-cf { stroke: rgba(10, 34, 51, .2); stroke-width: 1; stroke-linejoin: round; }
.hub .u-cf-t { fill: #FFFFFF; }
.hub .u-cf-l { fill: #CFE3EC; }
.hub .u-cf-r { fill: #9CC3D4; }
.hub .u-sheet { fill: #F1E6D2; stroke: #B99467; stroke-width: 1.6; }
.hub .u-cell { fill: #C99D62; stroke: #8A6638; stroke-width: 1; }
.hub .u-tp { fill: none; stroke: #B87B16; stroke-width: 1.8; stroke-dasharray: 1; stroke-dashoffset: 0; }
.hub .u-tool { fill: #E0A93A; stroke: #fff; stroke-width: 1.4; opacity: 0; }
.hub .u-dot { fill: #B9D4E2; }
.hub .u-ln { fill: none; stroke: #B9D4E2; stroke-width: 3; stroke-linejoin: round; }
.hub .u-ar { fill: #B9D4E2; }
.hub .u-lnon { fill: none; stroke: var(--cyan); stroke-width: 3.5; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.hub .u-aron { fill: var(--cyan); }
.hub .u-pill rect { fill: #fff; stroke: #BFD3DF; stroke-width: 1.5; }
.hub .u-pill text { font-size: 15px; font-weight: 600; fill: var(--ink); }
.hub .u-pk { opacity: 0; }
.hub .u-halo { fill: rgba(42, 143, 178, .28); }
.hub .u-pkc { fill: var(--brand); stroke: #fff; stroke-width: 2.5; }
.hubtext { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s4); margin-top: var(--s4); }
.hubtext li { padding-top: var(--s2); border-top: 1px solid var(--line); }
.hubtext h3 { margin-bottom: var(--s1); font-size: 1.125rem; font-weight: 700; color: var(--ink); }
.hubtext p { display: flex; gap: 10px; font-size: 1rem; line-height: 1.5; color: var(--text); }
.hubtext p + p { margin-top: var(--s1); }
.dir { flex: none; font-weight: 700; color: var(--brand); }
.u1{animation:u1 15s ease-out infinite both}@keyframes u1{0%{opacity:0;transform:scale(1)}92%{opacity:0.7;transform:scale(1)}96.667%{opacity:0;transform:scale(1.14)}97.333%{opacity:0;transform:scale(1.14)}98%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.u2{animation:u2 15s ease-out infinite both}@keyframes u2{0%{opacity:0;transform:scale(1)}14%{opacity:0.7;transform:scale(1)}18.667%{opacity:0;transform:scale(1.1)}47.333%{opacity:0.7;transform:scale(1)}52%{opacity:0;transform:scale(1.1)}80.667%{opacity:0.7;transform:scale(1)}85.333%{opacity:0;transform:scale(1.1)}97.333%{opacity:0;transform:scale(1.1)}98%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.u3{animation:u3 15s ease-out infinite both}@keyframes u3{0%{opacity:0;transform:scale(1)}30%{opacity:0.7;transform:scale(1)}34.667%{opacity:0;transform:scale(1.14)}97.333%{opacity:0;transform:scale(1.14)}98%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.u4{animation:u4 15s ease-out infinite both}@keyframes u4{0%{opacity:0;transform:scale(1)}63.333%{opacity:0.7;transform:scale(1)}68%{opacity:0;transform:scale(1.14)}97.333%{opacity:0;transform:scale(1.14)}98%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.u5{animation:u5 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u5{0%{transform:scaleY(1)}3.333%{transform:scaleY(1)}5%{transform:scaleY(.45)}7.333%{transform:scaleY(1)}92%{transform:scaleY(1)}93.667%{transform:scaleY(.45)}96%{transform:scaleY(1)}97.333%{transform:scaleY(1)}98%{transform:scaleY(1)}100%{transform:scaleY(1)}}
.u6{animation:u6 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u6{0%{transform:scaleY(1)}3.867%{transform:scaleY(1)}5.533%{transform:scaleY(.45)}7.867%{transform:scaleY(1)}92.533%{transform:scaleY(1)}94.2%{transform:scaleY(.45)}96.533%{transform:scaleY(1)}97.333%{transform:scaleY(1)}98%{transform:scaleY(1)}100%{transform:scaleY(1)}}
.u7{animation:u7 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u7{0%{transform:scaleY(1)}4.4%{transform:scaleY(1)}6.067%{transform:scaleY(.45)}8.4%{transform:scaleY(1)}93.067%{transform:scaleY(1)}94.733%{transform:scaleY(.45)}97.067%{transform:scaleY(1)}97.333%{transform:scaleY(1)}98%{transform:scaleY(1)}100%{transform:scaleY(1)}}
.u8{animation:u8 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u8{0%{fill:#FFFFFF}14%{fill:#FFFFFF}15%{fill:#BFE9F7}18%{fill:#FFFFFF}18.667%{fill:#FFFFFF}19%{fill:#BFE9F7}22.667%{fill:#FFFFFF}47.333%{fill:#FFFFFF}48.333%{fill:#BFE9F7}51.333%{fill:#FFFFFF}52%{fill:#FFFFFF}52.333%{fill:#BFE9F7}56%{fill:#FFFFFF}80.667%{fill:#FFFFFF}81.667%{fill:#BFE9F7}85.333%{fill:#FFFFFF}97.333%{fill:#FFFFFF}98%{fill:#FFFFFF}100%{fill:#FFFFFF}}
.u9{animation:u9 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u9{0%{fill:#CFE3EC}14%{fill:#CFE3EC}15%{fill:#BFE9F7}18%{fill:#CFE3EC}18.667%{fill:#CFE3EC}19%{fill:#BFE9F7}22.667%{fill:#CFE3EC}47.333%{fill:#CFE3EC}48.333%{fill:#BFE9F7}51.333%{fill:#CFE3EC}52%{fill:#CFE3EC}52.333%{fill:#BFE9F7}56%{fill:#CFE3EC}80.667%{fill:#CFE3EC}81.667%{fill:#BFE9F7}85.333%{fill:#CFE3EC}97.333%{fill:#CFE3EC}98%{fill:#CFE3EC}100%{fill:#CFE3EC}}
.u10{animation:u10 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u10{0%{fill:#9CC3D4}14%{fill:#9CC3D4}15%{fill:#BFE9F7}18%{fill:#9CC3D4}18.667%{fill:#9CC3D4}19%{fill:#BFE9F7}22.667%{fill:#9CC3D4}47.333%{fill:#9CC3D4}48.333%{fill:#BFE9F7}51.333%{fill:#9CC3D4}52%{fill:#9CC3D4}52.333%{fill:#BFE9F7}56%{fill:#9CC3D4}80.667%{fill:#9CC3D4}81.667%{fill:#BFE9F7}85.333%{fill:#9CC3D4}97.333%{fill:#9CC3D4}98%{fill:#9CC3D4}100%{fill:#9CC3D4}}
.u11{animation:u11 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u11{0%{opacity:0}30%{opacity:0}32%{opacity:1}97.333%{opacity:1}98%{opacity:0}100%{opacity:0}}
.u12{animation:u12 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u12{0%{opacity:0}31.333%{opacity:0}33.333%{opacity:1}97.333%{opacity:1}98%{opacity:0}100%{opacity:0}}
.u13{animation:u13 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u13{0%{opacity:0}32.667%{opacity:0}34.667%{opacity:1}97.333%{opacity:1}98%{opacity:0}100%{opacity:0}}
.u14{animation:u14 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u14{0%{opacity:0}34%{opacity:0}36%{opacity:1}97.333%{opacity:1}98%{opacity:0}100%{opacity:0}}
.u15{animation:u15 15s linear infinite both}@keyframes u15{0%{stroke-dashoffset:1}64%{stroke-dashoffset:1}74.667%{stroke-dashoffset:0}97.333%{stroke-dashoffset:0}98%{stroke-dashoffset:1}100%{stroke-dashoffset:1}}
.u16{animation:u16 15s linear infinite both}@keyframes u16{0%{transform:translate(1251px,263px);opacity:0}63.667%{opacity:0}64%{transform:translate(1251px,263px);opacity:1}67.333%{transform:translate(1281px,263px)}69.333%{transform:translate(1281px,281px)}72.667%{transform:translate(1251px,281px)}74.667%{transform:translate(1251px,263px);opacity:1}76.667%{opacity:0}97.333%{transform:translate(1251px,263px);opacity:0}98%{transform:translate(1251px,263px);opacity:0}100%{transform:translate(1251px,263px);opacity:0}}
.u17{animation:u17 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u17{0%{opacity:1}94%{opacity:1}96.667%{opacity:0}97.333%{opacity:0}98%{opacity:1}100%{opacity:1}}
.u18{animation:u18 15s linear infinite both}@keyframes u18{0%{stroke-dashoffset:1}3.333%{stroke-dashoffset:1}13.655%{stroke-dashoffset:0}97.333%{stroke-dashoffset:0}98%{stroke-dashoffset:1}100%{stroke-dashoffset:1}}
.u19{animation:u19 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u19{0%{opacity:0}13.667%{opacity:0}15%{opacity:1}97.333%{opacity:1}98%{opacity:0}100%{opacity:0}}
.u20{animation:u20 15s linear infinite both}@keyframes u20{0%{stroke-dashoffset:1}18%{stroke-dashoffset:1}29.59%{stroke-dashoffset:0}97.333%{stroke-dashoffset:0}98%{stroke-dashoffset:1}100%{stroke-dashoffset:1}}
.u21{animation:u21 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u21{0%{opacity:0}29.667%{opacity:0}31%{opacity:1}97.333%{opacity:1}98%{opacity:0}100%{opacity:0}}
.u22{animation:u22 15s linear infinite both}@keyframes u22{0%{stroke-dashoffset:1}34%{stroke-dashoffset:1}46.983%{stroke-dashoffset:0}97.333%{stroke-dashoffset:0}98%{stroke-dashoffset:1}100%{stroke-dashoffset:1}}
.u23{animation:u23 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u23{0%{opacity:0}47%{opacity:0}48.333%{opacity:1}97.333%{opacity:1}98%{opacity:0}100%{opacity:0}}
.u24{animation:u24 15s linear infinite both}@keyframes u24{0%{stroke-dashoffset:1}51.333%{stroke-dashoffset:1}62.923%{stroke-dashoffset:0}97.333%{stroke-dashoffset:0}98%{stroke-dashoffset:1}100%{stroke-dashoffset:1}}
.u25{animation:u25 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u25{0%{opacity:0}63%{opacity:0}64.333%{opacity:1}97.333%{opacity:1}98%{opacity:0}100%{opacity:0}}
.u26{animation:u26 15s linear infinite both}@keyframes u26{0%{stroke-dashoffset:1}67.333%{stroke-dashoffset:1}80.317%{stroke-dashoffset:0}97.333%{stroke-dashoffset:0}98%{stroke-dashoffset:1}100%{stroke-dashoffset:1}}
.u27{animation:u27 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u27{0%{opacity:0}80.333%{opacity:0}81.667%{opacity:1}97.333%{opacity:1}98%{opacity:0}100%{opacity:0}}
.u28{animation:u28 15s linear infinite both}@keyframes u28{0%{stroke-dashoffset:1}83.333%{stroke-dashoffset:1}91.72%{stroke-dashoffset:0}97.333%{stroke-dashoffset:0}98%{stroke-dashoffset:1}100%{stroke-dashoffset:1}}
.u29{animation:u29 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u29{0%{opacity:0}91.667%{opacity:0}93%{opacity:1}97.333%{opacity:1}98%{opacity:0}100%{opacity:0}}
.u30{animation:u30 15s linear infinite both}@keyframes u30{0%{transform:translate(210px,165px);opacity:0}3.333%{transform:translate(210px,165px);opacity:0}4.133%{opacity:1}13.667%{opacity:1}14%{transform:translate(550px,165px)}14.8%{opacity:0}97.333%{transform:translate(550px,165px);opacity:0}98%{transform:translate(210px,165px);opacity:0}100%{transform:translate(210px,165px);opacity:0}}
.u31{animation:u31 15s linear infinite both}@keyframes u31{0%{transform:translate(790px,130px);opacity:0}18%{transform:translate(790px,130px);opacity:0}18.8%{opacity:1}18.933%{transform:translate(815px,130px)}21.6%{transform:translate(815px,58px)}29.667%{opacity:1}30%{transform:translate(1040px,58px)}30.8%{opacity:0}97.333%{transform:translate(1040px,58px);opacity:0}98%{transform:translate(790px,130px);opacity:0}100%{transform:translate(790px,130px);opacity:0}}
.u32{animation:u32 15s linear infinite both}@keyframes u32{0%{transform:translate(1175px,126px);opacity:0}34%{transform:translate(1175px,126px);opacity:0}34.8%{opacity:1}35.067%{transform:translate(1175px,160px)}47%{opacity:1}47.333%{transform:translate(790px,160px)}48.133%{opacity:0}97.333%{transform:translate(790px,160px);opacity:0}98%{transform:translate(1175px,126px);opacity:0}100%{transform:translate(1175px,126px);opacity:0}}
.u33{animation:u33 15s linear infinite both}@keyframes u33{0%{transform:translate(790px,240px);opacity:0}51.333%{transform:translate(790px,240px);opacity:0}52.133%{opacity:1}52.267%{transform:translate(815px,240px)}54.933%{transform:translate(815px,312px)}63%{opacity:1}63.333%{transform:translate(1040px,312px)}64.133%{opacity:0}97.333%{transform:translate(1040px,312px);opacity:0}98%{transform:translate(790px,240px);opacity:0}100%{transform:translate(790px,240px);opacity:0}}
.u34{animation:u34 15s linear infinite both}@keyframes u34{0%{transform:translate(1175px,244px);opacity:0}67.333%{transform:translate(1175px,244px);opacity:0}68.133%{opacity:1}68.4%{transform:translate(1175px,210px)}80.333%{opacity:1}80.667%{transform:translate(790px,210px)}81.467%{opacity:0}97.333%{transform:translate(790px,210px);opacity:0}98%{transform:translate(1175px,244px);opacity:0}100%{transform:translate(1175px,244px);opacity:0}}
.u35{animation:u35 15s linear infinite both}@keyframes u35{0%{transform:translate(550px,205px);opacity:0}83.333%{transform:translate(550px,205px);opacity:0}84.133%{opacity:1}91.667%{opacity:1}92%{transform:translate(210px,205px)}92.8%{opacity:0}97.333%{transform:translate(210px,205px);opacity:0}98%{transform:translate(550px,205px);opacity:0}100%{transform:translate(550px,205px);opacity:0}}
.u36{animation:u36 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u36{0%{fill:#FFFFFF;stroke:#BFD3DF}3.333%{fill:#FFFFFF;stroke:#BFD3DF}4.667%{fill:#1A5F7A;stroke:#1A5F7A}16%{fill:#1A5F7A;stroke:#1A5F7A}19.333%{fill:#FFFFFF;stroke:#BFD3DF}97.333%{fill:#FFFFFF;stroke:#BFD3DF}98%{fill:#FFFFFF;stroke:#BFD3DF}100%{fill:#FFFFFF;stroke:#BFD3DF}}
.u37{animation:u37 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u37{0%{fill:#113247}3.333%{fill:#113247}4.667%{fill:#FFFFFF}16%{fill:#FFFFFF}19.333%{fill:#113247}97.333%{fill:#113247}98%{fill:#113247}100%{fill:#113247}}
.u38{animation:u38 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u38{0%{fill:#FFFFFF;stroke:#BFD3DF}18%{fill:#FFFFFF;stroke:#BFD3DF}19.333%{fill:#1A5F7A;stroke:#1A5F7A}32%{fill:#1A5F7A;stroke:#1A5F7A}35.333%{fill:#FFFFFF;stroke:#BFD3DF}97.333%{fill:#FFFFFF;stroke:#BFD3DF}98%{fill:#FFFFFF;stroke:#BFD3DF}100%{fill:#FFFFFF;stroke:#BFD3DF}}
.u39{animation:u39 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u39{0%{fill:#113247}18%{fill:#113247}19.333%{fill:#FFFFFF}32%{fill:#FFFFFF}35.333%{fill:#113247}97.333%{fill:#113247}98%{fill:#113247}100%{fill:#113247}}
.u40{animation:u40 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u40{0%{fill:#FFFFFF;stroke:#BFD3DF}34%{fill:#FFFFFF;stroke:#BFD3DF}35.333%{fill:#1A5F7A;stroke:#1A5F7A}49.333%{fill:#1A5F7A;stroke:#1A5F7A}52.667%{fill:#FFFFFF;stroke:#BFD3DF}97.333%{fill:#FFFFFF;stroke:#BFD3DF}98%{fill:#FFFFFF;stroke:#BFD3DF}100%{fill:#FFFFFF;stroke:#BFD3DF}}
.u41{animation:u41 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u41{0%{fill:#113247}34%{fill:#113247}35.333%{fill:#FFFFFF}49.333%{fill:#FFFFFF}52.667%{fill:#113247}97.333%{fill:#113247}98%{fill:#113247}100%{fill:#113247}}
.u42{animation:u42 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u42{0%{fill:#FFFFFF;stroke:#BFD3DF}51.333%{fill:#FFFFFF;stroke:#BFD3DF}52.667%{fill:#1A5F7A;stroke:#1A5F7A}65.333%{fill:#1A5F7A;stroke:#1A5F7A}68.667%{fill:#FFFFFF;stroke:#BFD3DF}97.333%{fill:#FFFFFF;stroke:#BFD3DF}98%{fill:#FFFFFF;stroke:#BFD3DF}100%{fill:#FFFFFF;stroke:#BFD3DF}}
.u43{animation:u43 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u43{0%{fill:#113247}51.333%{fill:#113247}52.667%{fill:#FFFFFF}65.333%{fill:#FFFFFF}68.667%{fill:#113247}97.333%{fill:#113247}98%{fill:#113247}100%{fill:#113247}}
.u44{animation:u44 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u44{0%{fill:#FFFFFF;stroke:#BFD3DF}67.333%{fill:#FFFFFF;stroke:#BFD3DF}68.667%{fill:#1A5F7A;stroke:#1A5F7A}82.667%{fill:#1A5F7A;stroke:#1A5F7A}86%{fill:#FFFFFF;stroke:#BFD3DF}97.333%{fill:#FFFFFF;stroke:#BFD3DF}98%{fill:#FFFFFF;stroke:#BFD3DF}100%{fill:#FFFFFF;stroke:#BFD3DF}}
.u45{animation:u45 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u45{0%{fill:#113247}67.333%{fill:#113247}68.667%{fill:#FFFFFF}82.667%{fill:#FFFFFF}86%{fill:#113247}97.333%{fill:#113247}98%{fill:#113247}100%{fill:#113247}}
.u46{animation:u46 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u46{0%{fill:#FFFFFF;stroke:#BFD3DF}83.333%{fill:#FFFFFF;stroke:#BFD3DF}84.667%{fill:#1A5F7A;stroke:#1A5F7A}94%{fill:#1A5F7A;stroke:#1A5F7A}97.333%{fill:#FFFFFF;stroke:#BFD3DF}98%{fill:#FFFFFF;stroke:#BFD3DF}100%{fill:#FFFFFF;stroke:#BFD3DF}}
.u47{animation:u47 15s cubic-bezier(.45,0,.25,1) infinite both}@keyframes u47{0%{fill:#113247}83.333%{fill:#113247}84.667%{fill:#FFFFFF}94%{fill:#FFFFFF}97.333%{fill:#113247}98%{fill:#113247}100%{fill:#113247}}

/* Hardware */
.hw__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s2); margin-bottom: var(--s4); }
.hw__list li { padding: var(--s3); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.hw__list svg { width: 48px; height: 48px; fill: none; stroke: var(--brand); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.hw__list h3 { margin-top: var(--s2); font-family: var(--body); font-size: 1.125rem; font-weight: 700; line-height: 1.3; }
.hw__list p { margin-top: var(--s1); font-size: 1rem; line-height: 1.5; color: var(--muted); }

/* Sobre */
.nums { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s4) var(--s3); }
.nums li { padding-top: var(--s2); border-top: 3px solid var(--cyan); }
.nums b { display: block; font-family: var(--display); font-size: clamp(3rem, 5vw, 4rem); font-weight: 800; line-height: 1; letter-spacing: -.04em; color: var(--brand); }
.nums span { display: block; margin-top: var(--s1); max-width: 16em; font-size: 1rem; line-height: 1.5; color: var(--text); }

/* Contato */
.contact__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: var(--s6); align-items: start; }
.contact h1, .contact h2 { color: var(--ink); }
.contact__copy > p { margin-top: var(--s2); max-width: 28em; font-size: 1.125rem; color: var(--text); }
.contact__mail { margin-top: var(--s4) !important; font-size: 1rem !important; }
.contact__mail a { color: var(--brand); font-weight: 700; text-underline-offset: 4px; }
.form { display: grid; gap: var(--s2); padding: var(--s4); border-radius: 20px; background: var(--white); color: var(--ink); border: 1px solid var(--line); box-shadow: 0 28px 56px -36px rgba(17, 50, 71, .4); }
.form__hint { font-size: 0.90625rem; color: var(--muted); }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s2); }
.field { display: grid; gap: 6px; align-content: start; }
.field label { font-size: 0.90625rem; font-weight: 600; color: var(--ink); }
.req { color: var(--danger); }
.opt { font-weight: 400; color: var(--muted); }
.form input, .form select, .form textarea {
  width: 100%; min-height: 50px; padding: 12px 14px; border: 1.5px solid #6F8797; border-radius: 12px; background: var(--white); color: var(--ink);
  font-size: 1rem; transition: border-color var(--t), box-shadow var(--t);
}
.form textarea { resize: vertical; min-height: 96px; }
.form ::placeholder { color: #5A6E7C; }
.form input:focus, .form select:focus, .form textarea:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 4px rgba(26, 95, 122, .2); }
.form [aria-invalid="true"] { border-color: var(--danger); }
.field__err { font-size: 0.90625rem; font-weight: 500; color: #9A3412; }
.form__next { font-size: 0.9375rem; line-height: 1.5; color: var(--muted); }
.form .btn { justify-self: start; }
.form .btn[disabled] { opacity: .7; cursor: progress; }
.form__status { padding: var(--s2); border-radius: 12px; font-size: 1rem; line-height: 1.5; }
.form__status--ok { background: #E1F4EA; color: #14583A; }
.form__status--err { background: var(--err-bg); color: var(--err-ink); }
.form__status--info { background: var(--tint); color: var(--ink); }
.form__status b { display: block; }
.form__noscript { padding: var(--s2); border-radius: 12px; background: var(--err-bg); color: var(--err-ink); font-size: 1rem; line-height: 1.5; }
.form__noscript a { color: inherit; font-weight: 600; }
/* Campo isca contra robôs: fora da tela, sem ocupar espaço nem receber foco */
.trap { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Rodapé */
.foot { padding: var(--s6) 0 var(--s5); background: var(--silver); color: var(--text); font-size: 0.9375rem; }
.foot__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: var(--s5); align-items: start; }
.foot__brand p { margin-top: var(--s2); }
.foot nav { display: grid; gap: 2px; align-content: start; }
.foot h2 { margin-bottom: 8px; font-family: var(--body); font-size: 0.9375rem; font-weight: 700; color: var(--ink); }
.foot nav a, .foot__legal a { padding: 4px 0; }
.foot a { text-decoration: none; transition: color var(--t); }
.foot a:hover { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.foot__legal { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px var(--s3); padding-top: var(--s3); border-top: 1px solid rgba(17, 50, 71, .16); font-size: 0.875rem; }

/* Animações explicativas (ciclos contínuos; pausadas fora da tela) */
@keyframes land { 0% { transform: translate(var(--fx), var(--fy)) rotate(var(--r)); opacity: 0; } 4% { opacity: 1; } 16%, 78% { transform: none; opacity: 1; } 92%, 100% { transform: none; opacity: 0; } }
@keyframes blink { 0%, 100% { opacity: 0; } 8%, 32% { opacity: 1; } 40% { opacity: 0; } }
@keyframes holePop { 0% { transform: scale(0); } 5% { transform: scale(1.2); } 8%, 90% { transform: scale(1); } 100% { transform: scale(0); } }
@keyframes drawtp { 0% { stroke-dashoffset: 1; opacity: 1; } 70% { stroke-dashoffset: 0; opacity: 1; } 92% { opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes chipOn { 0%, 100% { fill: #FFFFFF; } 4%, 17% { fill: #3AA0C2; } 24% { fill: #FFFFFF; } }
@keyframes chipTxt { 0%, 100% { fill: var(--ink); } 4%, 17% { fill: #04202F; } 24% { fill: var(--ink); } }
@keyframes dimA { 0%, 14% { opacity: 1; } 22%, 78% { opacity: 0; } 86%, 100% { opacity: 1; } }
@keyframes dimB { 0%, 18% { opacity: 0; } 26%, 36% { opacity: 1; } 44%, 56% { opacity: 0; } 64%, 74% { opacity: 1; } 82%, 100% { opacity: 0; } }
@keyframes dimC { 0%, 40% { opacity: 0; } 46%, 54% { opacity: 1; } 60%, 100% { opacity: 0; } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes ctr { from { transform: rotate(calc(var(--a) * -1deg)); } to { transform: rotate(calc(var(--a) * -1deg - 360deg)); } }
@keyframes ring { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(3.1); opacity: 0; } }

.np { transform-box: fill-box; transform-origin: center; animation: land 9s cubic-bezier(.3, .9, .3, 1) infinite both; animation-delay: calc(var(--i) * .32s); }
.scrap { animation: blink 9s ease infinite both; animation-delay: 5s; }
.chip-g rect { fill: #FFFFFF; stroke: rgba(26, 95, 122, .4); animation: chipOn 10s ease infinite; animation-delay: calc(var(--i) * 2s); }
.chip-g text { animation: chipTxt 10s ease infinite; animation-delay: calc(var(--i) * 2s); }
.fmt rect, .fmt text { animation-duration: 9s; animation-delay: calc(var(--i) * 2.25s); }
.dim text, .dim-a, .dim-b, .dim-c { font-family: var(--display); font-weight: 800; font-size: 22px; fill: var(--brand); }
.dim-a { animation: dimA 10s infinite; }
.dim-b { animation: dimB 10s infinite; opacity: 0; }
.dim-c { animation: dimC 10s infinite; opacity: 0; }
.hole { fill: #FFFFFF; stroke: #B87B16; stroke-width: 3; transform-box: fill-box; transform-origin: center; animation: holePop 9s ease infinite; }
.hole.small { stroke-width: 2.5; }
.tp-ghost { fill: none; stroke: rgba(26, 95, 122, .3); stroke-width: 3; stroke-dasharray: 4 7; }
.tp-draw { fill: none; stroke: var(--brand); stroke-width: 4.5; stroke-dasharray: 1; stroke-dashoffset: 1; animation: drawtp 9s linear infinite; }
.dimtxt { fill: #4B6173; font-size: 14px; font-weight: 500; }
.orbit { animation: spin 42s linear infinite; }
.ctr { animation: ctr 42s linear infinite; transform: rotate(calc(var(--a) * -1deg)); }
.ring { fill: none; stroke: var(--cyan); stroke-width: 2; animation: ring 4.8s linear infinite; }
.gfx-svg .core { font-family: var(--display); font-weight: 800; font-size: 20px; fill: var(--white); }

/* Abertura: do pedido ao móvel montado, em cinco cenas (22 s). O estado base (sem animação) é o quadro final: móvel montado e produção concluída.
   As regras de movimento (@keyframes a1, a2, ...) são geradas junto com o desenho e seguem o mesmo relógio de 22 s. */
.hero-svg text { font-family: var(--body); }
.hero-svg .h-gl { stroke: rgba(26, 95, 122, .07); stroke-width: 1; }
.hero-svg .h-card { fill: #F4F8FB; stroke: #C9DAE5; }
.hero-svg .h-chip { fill: rgba(42, 143, 178, .12); stroke: #2A8FB2; }
.hero-svg .h-sk { fill: rgba(17, 50, 71, .1); }
.hero-svg .h-stat { fill: rgba(45, 179, 124, .16); stroke: #2DB37C; }
.hero-svg .h-chk, .hero-svg .h-badge .h-bdg { fill: #2DB37C; }
.hero-svg .h-chk0 { fill: none; stroke: rgba(17, 50, 71, .3); stroke-width: 1.6; }
.hero-svg .h-chkp, .hero-svg .h-bdgp { fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.hero-svg .h-bdgp { stroke-width: 4; }
.hero-svg .h-bar { fill: rgba(17, 50, 71, .1); }
.hero-svg .h-barf { fill: var(--cyan); transform-box: fill-box; transform-origin: 0 50%; }
.hero-svg .h-sw1 { fill: #C99D62; }
.hero-svg .h-sw2 { fill: none; stroke: #E0A93A; stroke-width: 1.6; stroke-dasharray: 3 3; }
.hero-svg text.h-t { font-family: var(--display); font-size: 28px; font-weight: 800; fill: var(--ink); }
.hero-svg text.h-r { font-size: 21px; font-weight: 600; fill: var(--ink); }
.hero-svg text.h-m { font-size: 20px; font-weight: 500; fill: var(--muted); }
.hero-svg text.h-v { font-family: var(--display); font-size: 40px; font-weight: 800; fill: var(--brand); }
.hero-svg text.h-ct { font-size: 18px; font-weight: 600; fill: #1A5F7A; }
.hero-svg text.h-ok { font-size: 20px; font-weight: 600; fill: #14583A; }
.hero-svg text.h-rl { font-size: 20px; font-weight: 600; fill: #5A6E7C; }
.hero-svg text.h-lb { font-size: 17px; font-weight: 700; fill: #3B2A14; }
.hero-svg text.h-sb { font-size: 18px; font-weight: 600; fill: #5E4526; }
.hero-svg text.h-dm { font-size: 21px; font-weight: 600; fill: #1A5F7A; }
.hero-svg .h-rt { fill: rgba(17, 50, 71, .12); }
.hero-svg .h-rf { fill: var(--cyan); transform-box: fill-box; transform-origin: 0 50%; }
.hero-svg .h-ghost { fill: none; stroke: var(--cyan); stroke-width: 2; stroke-dasharray: 7 7; stroke-linejoin: round; opacity: 0; }
.hero-svg .h-shadow { opacity: 1; }
.hero-svg .h-shb { fill: #D6B88A; stroke: #A98657; stroke-width: 3; }
.hero-svg .h-sob { fill: none; stroke: #7A5C33; stroke-width: 2; stroke-dasharray: 8 6; }
.hero-svg .h-cut { fill: none; stroke: #E0A93A; stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; }
.hero-svg .h-saw0 { opacity: 0; }
.hero-svg .h-saw { fill: #F4D58D; stroke: #8A6638; stroke-width: 2; stroke-dasharray: 4 3; transform-box: fill-box; transform-origin: center; }
.hero-svg .h-pr { stroke: rgba(8,25,42,.55); stroke-width: 1.4; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 0; }
.hero-svg .h-handle { stroke: #E8F4F9; stroke-width: 3; stroke-linecap: round; }
.hero-svg .h-cup { fill: #08192A; stroke: #E0A93A; stroke-width: 1.6; opacity: 0; transform-box: fill-box; transform-origin: center; }
.hero-svg .h-tp { fill: none; stroke: #E0A93A; stroke-width: 1.5; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; }
.hero-svg .h-tool { fill: #FFE7A8; stroke: #E0A93A; stroke-width: 1.4; opacity: 0; }
.hero-svg .h-lb { opacity: 0; }
.hero-svg .h-dims { opacity: 0; }
.hero-svg .h-dl { fill: none; stroke: #2A8FB2; stroke-width: 1.6; opacity: .85; }
.hero-svg .h-dd { fill: #2A8FB2; }
.hero-svg .h-p1, .hero-svg .h-p2, .hero-svg .h-p3, .hero-svg .h-p4 { opacity: 0; }
.hero-svg .h-sheet { opacity: 0; }
.h-p-fundo{transform:matrix(0.936,0.541,0,1.081,582.12,83.4)}.h-p-fundo .h-pr{fill:#B7CCD9}
.h-p-latL{transform:matrix(0.936,-0.541,0,1.081,482.01,134)}.h-p-latL .h-pr{fill:#C5DAE6}
.h-p-base{transform:matrix(0.936,0.541,-0.936,0.541,582.12,223.8)}.h-p-base .h-pr{fill:#8DB0C4}
.h-p-prat{transform:matrix(0.936,0.541,-0.936,0.541,580.39,152.8)}.h-p-prat .h-pr{fill:#C5DAE6}
.h-p-latR{transform:matrix(0.936,-0.541,0,1.081,620.57,214)}.h-p-latR .h-pr{fill:#8DB0C4}
.h-p-tampo{transform:matrix(0.936,0.541,-0.936,0.541,579,78)}.h-p-tampo .h-pr{fill:#E3EEF5}
.h-p-portaR{transform:matrix(0.936,0.541,0,1.081,551.63,174.6)}.h-p-portaR .h-pr{fill:#2E9CC2}
.h-p-portaL{transform:matrix(0.936,0.541,0,1.081,482.35,134.6)}.h-p-portaL .h-pr{fill:#2E9CC2}
.a1{animation:a1 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a1{0%{opacity:0}2.273%{opacity:1}96.364%{opacity:1}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a2{animation:a2 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a2{0%{opacity:0}0.909%{opacity:0}3.182%{opacity:1}15.455%{opacity:1}17.273%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a3{animation:a3 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a3{0%{opacity:0;transform:translate(0px,8px)}1.591%{opacity:0;transform:translate(0px,8px)}3.409%{opacity:1}3.636%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a4{animation:a4 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a4{0%{opacity:0;transform:translate(0px,8px)}2.5%{opacity:0;transform:translate(0px,8px)}4.318%{opacity:1}4.545%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a5{animation:a5 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a5{0%{opacity:0;transform:translate(0px,8px)}3.864%{opacity:0;transform:translate(0px,8px)}5.682%{opacity:1}5.909%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a6{animation:a6 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a6{0%{opacity:0;transform:translate(0px,8px)}4.773%{opacity:0;transform:translate(0px,8px)}6.591%{opacity:1}6.818%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a7{animation:a7 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a7{0%{opacity:0;transform:translate(0px,8px)}5.909%{opacity:0;transform:translate(0px,8px)}7.727%{opacity:1}7.955%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a8{animation:a8 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a8{0%{opacity:0;transform:scale(.5)}10.455%{opacity:0;transform:scale(.5)}11.364%{opacity:1}11.409%{transform:scale(1.12)}12.045%{transform:scale(1)}98.636%{opacity:1;transform:scale(1)}99.091%{opacity:0;transform:scale(.5)}100%{opacity:0;transform:scale(.5)}}
.a9{animation:a9 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a9{0%{opacity:0}16.818%{opacity:0}18.636%{opacity:1}38.182%{opacity:1}40%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a10{animation:a10 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a10{0%{opacity:0;transform:translate(0px,8px)}17.727%{opacity:0;transform:translate(0px,8px)}19.545%{opacity:1}19.773%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a11{animation:a11 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a11{0%{opacity:0;transform:translate(0px,8px)}18.409%{opacity:0;transform:translate(0px,8px)}20.227%{opacity:1}20.455%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a12{animation:a12 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a12{0%{opacity:0;transform:translate(0px,8px)}20%{opacity:0;transform:translate(0px,8px)}21.818%{opacity:1}22.045%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a13{animation:a13 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a13{0%{opacity:0;transform:translate(0px,8px)}21.273%{opacity:0;transform:translate(0px,8px)}23.091%{opacity:1}23.318%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a14{animation:a14 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a14{0%{opacity:0;transform:translate(0px,8px)}22.545%{opacity:0;transform:translate(0px,8px)}24.364%{opacity:1}24.591%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a15{animation:a15 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a15{0%{opacity:0;transform:translate(0px,8px)}23.818%{opacity:0;transform:translate(0px,8px)}25.636%{opacity:1}25.864%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a16{animation:a16 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a16{0%{opacity:0;transform:translate(0px,8px)}25.091%{opacity:0;transform:translate(0px,8px)}26.909%{opacity:1}27.136%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a17{animation:a17 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a17{0%{opacity:0;transform:translate(0px,8px)}26.364%{opacity:0;transform:translate(0px,8px)}28.182%{opacity:1}28.409%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a18{animation:a18 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a18{0%{opacity:0}40.455%{opacity:0}42.273%{opacity:1}60%{opacity:1}61.818%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a19{animation:a19 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a19{0%{opacity:0;transform:translate(0px,8px)}41.364%{opacity:0;transform:translate(0px,8px)}43.182%{opacity:1}43.409%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a20{animation:a20 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a20{0%{opacity:0;transform:translate(0px,8px)}42.045%{opacity:0;transform:translate(0px,8px)}43.864%{opacity:1}44.091%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a21{animation:a21 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a21{0%{opacity:0;transform:translate(0px,8px)}43.636%{opacity:0;transform:translate(0px,8px)}45.455%{opacity:1}45.682%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a22{animation:a22 22s cubic-bezier(.3,.6,.3,1) infinite both}@keyframes a22{0%{transform:scaleX(0)}51.364%{transform:scaleX(0)}57.727%{transform:scaleX(0.83)}98.636%{transform:scaleX(0.83)}99.091%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.a23{animation:a23 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a23{0%{opacity:0;transform:translate(0px,6px)}56.364%{opacity:0;transform:translate(0px,6px)}58.182%{opacity:1}58.636%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,6px)}100%{opacity:0;transform:translate(0px,6px)}}
.a24{animation:a24 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a24{0%{opacity:0;transform:translate(0px,8px)}58.182%{opacity:0;transform:translate(0px,8px)}60%{opacity:1}60.227%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a25{animation:a25 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a25{0%{opacity:0}62.273%{opacity:0}64.091%{opacity:1}78.636%{opacity:1}80.455%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a26{animation:a26 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a26{0%{opacity:0;transform:translate(0px,8px)}63.182%{opacity:0;transform:translate(0px,8px)}65%{opacity:1}65.227%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a27{animation:a27 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a27{0%{opacity:0;transform:translate(0px,8px)}63.636%{opacity:0;transform:translate(0px,8px)}65.455%{opacity:1}65.682%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a28{animation:a28 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a28{0%{opacity:0;transform:translate(0px,8px)}64.091%{opacity:0;transform:translate(0px,8px)}65.909%{opacity:1}66.136%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a29{animation:a29 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a29{0%{opacity:0;transform:scale(.5)}66.818%{opacity:0;transform:scale(.5)}67.727%{opacity:1}67.773%{transform:scale(1.12)}68.409%{transform:scale(1)}98.636%{opacity:1;transform:scale(1)}99.091%{opacity:0;transform:scale(.5)}100%{opacity:0;transform:scale(.5)}}
.a30{animation:a30 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a30{0%{opacity:0;transform:translate(0px,8px)}65%{opacity:0;transform:translate(0px,8px)}66.818%{opacity:1}67.045%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a31{animation:a31 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a31{0%{opacity:0;transform:scale(.5)}74.318%{opacity:0;transform:scale(.5)}75.227%{opacity:1}75.273%{transform:scale(1.12)}75.909%{transform:scale(1)}98.636%{opacity:1;transform:scale(1)}99.091%{opacity:0;transform:scale(.5)}100%{opacity:0;transform:scale(.5)}}
.a32{animation:a32 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a32{0%{opacity:0;transform:translate(0px,8px)}65.909%{opacity:0;transform:translate(0px,8px)}67.727%{opacity:1}67.955%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a33{animation:a33 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a33{0%{opacity:0;transform:scale(.5)}76.818%{opacity:0;transform:scale(.5)}77.727%{opacity:1}77.773%{transform:scale(1.12)}78.409%{transform:scale(1)}98.636%{opacity:1;transform:scale(1)}99.091%{opacity:0;transform:scale(.5)}100%{opacity:0;transform:scale(.5)}}
.a34{animation:a34 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a34{0%{opacity:0}80.909%{opacity:0}82.727%{opacity:1}98.636%{opacity:1}99.091%{opacity:0}100%{opacity:0}}
.a35{animation:a35 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a35{0%{opacity:0;transform:translate(0px,8px)}81.818%{opacity:0;transform:translate(0px,8px)}83.636%{opacity:1}83.864%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a36{animation:a36 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a36{0%{opacity:0;transform:translate(0px,8px)}82.273%{opacity:0;transform:translate(0px,8px)}84.091%{opacity:1}84.318%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a37{animation:a37 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a37{0%{opacity:0;transform:translate(0px,8px)}83.182%{opacity:0;transform:translate(0px,8px)}85%{opacity:1}85.227%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a38{animation:a38 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a38{0%{opacity:0;transform:translate(0px,8px)}84.091%{opacity:0;transform:translate(0px,8px)}85.909%{opacity:1}86.136%{transform:translate(0px,0px)}98.636%{opacity:1;transform:translate(0px,0px)}99.091%{opacity:0;transform:translate(0px,8px)}100%{opacity:0;transform:translate(0px,8px)}}
.a39{animation:a39 22s cubic-bezier(.3,.6,.3,1) infinite both}@keyframes a39{0%{transform:scaleX(0)}84.545%{transform:scaleX(0)}90.455%{transform:scaleX(1)}98.636%{transform:scaleX(1)}99.091%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.a40{animation:a40 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a40{0%{opacity:0;transform:scale(.5)}91.364%{opacity:0;transform:scale(.5)}92.273%{opacity:1}92.318%{transform:scale(1.12)}92.955%{transform:scale(1)}98.636%{opacity:1;transform:scale(1)}99.091%{opacity:0;transform:scale(.5)}100%{opacity:0;transform:scale(.5)}}
.a41{animation:a41 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a41{0%{opacity:0}4.545%{opacity:0}9.091%{opacity:0.55}16.364%{opacity:0.55}18.182%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a42{animation:a42 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a42{0%{opacity:0}26.818%{opacity:0}30.455%{opacity:1}39.091%{opacity:1}40.909%{opacity:0}87.273%{opacity:0}90.455%{opacity:1}98.636%{opacity:1}99.091%{opacity:0}100%{opacity:0}}
.a43{animation:a43 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a43{0%{opacity:0}39.545%{opacity:0}42.727%{opacity:1}61.364%{opacity:1}63.636%{opacity:0.35}77.273%{opacity:0.35}79.545%{opacity:1}81.364%{opacity:1}84.545%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a44{animation:a44 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a44{0%{opacity:0}58.636%{opacity:0}60.909%{opacity:1}98.636%{opacity:1}99.091%{opacity:0}100%{opacity:0}}
.a45{animation:a45 22s linear infinite both}@keyframes a45{0%{stroke-dashoffset:1;opacity:0}52.227%{opacity:0}52.273%{stroke-dashoffset:1;opacity:1}55.909%{stroke-dashoffset:0}98.636%{stroke-dashoffset:0;opacity:1}99.091%{stroke-dashoffset:1;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
.a46{animation:a46 22s linear infinite both}@keyframes a46{0%{stroke-dashoffset:1;opacity:0}55.864%{opacity:0}55.909%{stroke-dashoffset:1;opacity:1}57.955%{stroke-dashoffset:0}98.636%{stroke-dashoffset:0;opacity:1}99.091%{stroke-dashoffset:1;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
.a47{animation:a47 22s linear infinite both}@keyframes a47{0%{stroke-dashoffset:1;opacity:0}56.318%{opacity:0}56.364%{stroke-dashoffset:1;opacity:1}58.409%{stroke-dashoffset:0}98.636%{stroke-dashoffset:0;opacity:1}99.091%{stroke-dashoffset:1;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
.a48{animation:a48 22s linear infinite both}@keyframes a48{0%{stroke-dashoffset:1;opacity:0}56.773%{opacity:0}56.818%{stroke-dashoffset:1;opacity:1}58.864%{stroke-dashoffset:0}98.636%{stroke-dashoffset:0;opacity:1}99.091%{stroke-dashoffset:1;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
.a49{animation:a49 22s linear infinite both}@keyframes a49{0%{stroke-dashoffset:1;opacity:0}57.227%{opacity:0}57.273%{stroke-dashoffset:1;opacity:1}59.318%{stroke-dashoffset:0}98.636%{stroke-dashoffset:0;opacity:1}99.091%{stroke-dashoffset:1;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
.a50{animation:a50 22s linear infinite both}@keyframes a50{0%{stroke-dashoffset:1;opacity:0}56.773%{opacity:0}56.818%{stroke-dashoffset:1;opacity:1}58.864%{stroke-dashoffset:0}98.636%{stroke-dashoffset:0;opacity:1}99.091%{stroke-dashoffset:1;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
.a51{animation:a51 22s linear infinite both}@keyframes a51{0%{stroke-dashoffset:1;opacity:0}57.227%{opacity:0}57.273%{stroke-dashoffset:1;opacity:1}59.318%{stroke-dashoffset:0}98.636%{stroke-dashoffset:0;opacity:1}99.091%{stroke-dashoffset:1;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
.a52{animation:a52 22s linear infinite both}@keyframes a52{0%{stroke-dashoffset:1;opacity:0}57.682%{opacity:0}57.727%{stroke-dashoffset:1;opacity:1}59.773%{stroke-dashoffset:0}98.636%{stroke-dashoffset:0;opacity:1}99.091%{stroke-dashoffset:1;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
.a53{animation:a53 22s linear infinite both}@keyframes a53{0%{transform:translate(0px,137.7px);opacity:0}52.045%{opacity:0}52.273%{transform:translate(0px,137.7px)}52.5%{opacity:1}55.682%{opacity:1}55.909%{transform:translate(520px,137.7px)}56.591%{opacity:0}98.636%{transform:translate(520px,137.7px);opacity:0}99.091%{transform:translate(0px,137.7px);opacity:0}100%{transform:translate(0px,137.7px);opacity:0}}
.a54{animation:a54 22s linear infinite both}@keyframes a54{0%{transform:rotate(0deg)}52.273%{transform:rotate(0deg)}56.818%{transform:rotate(1440deg)}98.636%{transform:rotate(1440deg)}99.091%{transform:rotate(0deg)}100%{transform:rotate(0deg)}}
.a55{animation:a55 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a55{0%{transform:matrix(0.936,0.541,0,1.081,582.12,83.4);opacity:0}17.727%{opacity:0}18.409%{opacity:1}44.727%{transform:matrix(0.936,0.541,0,1.081,582.12,83.4)}50.182%{transform:matrix(1,0,0,1,556.2,99)}61.364%{opacity:1}63.636%{opacity:0.22}77.727%{opacity:0.22}79.545%{opacity:1}82.727%{transform:matrix(1,0,0,1,556.2,99)}87.727%{transform:matrix(0.936,0.541,0,1.081,582.12,83.4)}98.636%{transform:matrix(0.936,0.541,0,1.081,582.12,83.4);opacity:1}99.091%{transform:matrix(0.936,0.541,0,1.081,582.12,83.4);opacity:0}100%{transform:matrix(0.936,0.541,0,1.081,582.12,83.4);opacity:0}}
.a56{animation:a56 22s cubic-bezier(.4,0,.4,1) infinite both}@keyframes a56{0%{transform:translate(0px,0px)}44.727%{transform:translate(0px,0px)}47.455%{transform:translate(0px,-26px)}50.182%{transform:translate(0px,0px)}82.727%{transform:translate(0px,0px)}85.227%{transform:translate(0px,-26px)}87.727%{transform:translate(0px,0px)}98.636%{transform:translate(0px,0px)}99.091%{transform:translate(0px,0px)}100%{transform:translate(0px,0px)}}
.a57{animation:a57 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a57{0%{stroke:#2A8FB2;fill:#B7CCD9;fill-opacity:0;stroke-dashoffset:1}17.727%{stroke-dashoffset:1}21.818%{stroke-dashoffset:0}26.818%{stroke:#2A8FB2;fill-opacity:0}29.545%{stroke:rgba(8,25,42,.55);fill-opacity:1}44.727%{stroke:rgba(8,25,42,.55);fill:#B7CCD9}50.182%{stroke:#8A6638;fill:#C99D62}82.727%{stroke:#8A6638;fill:#C99D62}87.727%{stroke:rgba(8,25,42,.55);fill:#B7CCD9}98.636%{stroke:rgba(8,25,42,.55);fill:#B7CCD9;fill-opacity:1;stroke-dashoffset:0}99.091%{stroke:#2A8FB2;fill:#B7CCD9;fill-opacity:0;stroke-dashoffset:1}100%{stroke:#2A8FB2;fill:#B7CCD9;fill-opacity:0;stroke-dashoffset:1}}
.a58{animation:a58 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a58{0%{opacity:0}50.636%{opacity:0}52.455%{opacity:1}81.136%{opacity:1}82.5%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a59{animation:a59 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a59{0%{transform:matrix(0.936,-0.541,0,1.081,482.01,134);opacity:0}18.364%{opacity:0}19.045%{opacity:1}44.182%{transform:matrix(0.936,-0.541,0,1.081,482.01,134)}49.636%{transform:matrix(1,0,0,1,343,99)}61.364%{opacity:1}63.636%{opacity:0.22}77.727%{opacity:0.22}79.545%{opacity:1}82.045%{transform:matrix(1,0,0,1,343,99)}87.045%{transform:matrix(0.936,-0.541,0,1.081,482.01,134)}98.636%{transform:matrix(0.936,-0.541,0,1.081,482.01,134);opacity:1}99.091%{transform:matrix(0.936,-0.541,0,1.081,482.01,134);opacity:0}100%{transform:matrix(0.936,-0.541,0,1.081,482.01,134);opacity:0}}
.a60{animation:a60 22s cubic-bezier(.4,0,.4,1) infinite both}@keyframes a60{0%{transform:translate(0px,0px)}44.182%{transform:translate(0px,0px)}46.909%{transform:translate(0px,-26px)}49.636%{transform:translate(0px,0px)}82.045%{transform:translate(0px,0px)}84.545%{transform:translate(0px,-26px)}87.045%{transform:translate(0px,0px)}98.636%{transform:translate(0px,0px)}99.091%{transform:translate(0px,0px)}100%{transform:translate(0px,0px)}}
.a61{animation:a61 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a61{0%{stroke:#2A8FB2;fill:#C5DAE6;fill-opacity:0;stroke-dashoffset:1}18.364%{stroke-dashoffset:1}22.455%{stroke-dashoffset:0}27.045%{stroke:#2A8FB2;fill-opacity:0}29.773%{stroke:rgba(8,25,42,.55);fill-opacity:1}44.182%{stroke:rgba(8,25,42,.55);fill:#C5DAE6}49.636%{stroke:#8A6638;fill:#C99D62}82.045%{stroke:#8A6638;fill:#C99D62}87.045%{stroke:rgba(8,25,42,.55);fill:#C5DAE6}98.636%{stroke:rgba(8,25,42,.55);fill:#C5DAE6;fill-opacity:1;stroke-dashoffset:0}99.091%{stroke:#2A8FB2;fill:#C5DAE6;fill-opacity:0;stroke-dashoffset:1}100%{stroke:#2A8FB2;fill:#C5DAE6;fill-opacity:0;stroke-dashoffset:1}}
.a62{animation:a62 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a62{0%{opacity:0}50.091%{opacity:0}51.909%{opacity:1}80.455%{opacity:1}81.818%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a63{animation:a63 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a63{0%{transform:matrix(0.936,0.541,-0.936,0.541,582.12,223.8);opacity:0}19%{opacity:0}19.682%{opacity:1}43.636%{transform:matrix(0.936,0.541,-0.936,0.541,582.12,223.8)}49.091%{transform:matrix(1,0,0,1,343,235.2)}61.364%{opacity:1}63.636%{opacity:0.22}77.727%{opacity:0.22}79.545%{opacity:1}81.364%{transform:matrix(1,0,0,1,343,235.2)}86.364%{transform:matrix(0.936,0.541,-0.936,0.541,582.12,223.8)}98.636%{transform:matrix(0.936,0.541,-0.936,0.541,582.12,223.8);opacity:1}99.091%{transform:matrix(0.936,0.541,-0.936,0.541,582.12,223.8);opacity:0}100%{transform:matrix(0.936,0.541,-0.936,0.541,582.12,223.8);opacity:0}}
.a64{animation:a64 22s cubic-bezier(.4,0,.4,1) infinite both}@keyframes a64{0%{transform:translate(0px,0px)}43.636%{transform:translate(0px,0px)}46.364%{transform:translate(0px,-26px)}49.091%{transform:translate(0px,0px)}81.364%{transform:translate(0px,0px)}83.864%{transform:translate(0px,-26px)}86.364%{transform:translate(0px,0px)}98.636%{transform:translate(0px,0px)}99.091%{transform:translate(0px,0px)}100%{transform:translate(0px,0px)}}
.a65{animation:a65 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a65{0%{stroke:#2A8FB2;fill:#8DB0C4;fill-opacity:0;stroke-dashoffset:1}19%{stroke-dashoffset:1}23.091%{stroke-dashoffset:0}27.273%{stroke:#2A8FB2;fill-opacity:0}30%{stroke:rgba(8,25,42,.55);fill-opacity:1}43.636%{stroke:rgba(8,25,42,.55);fill:#8DB0C4}49.091%{stroke:#8A6638;fill:#C99D62}81.364%{stroke:#8A6638;fill:#C99D62}86.364%{stroke:rgba(8,25,42,.55);fill:#8DB0C4}98.636%{stroke:rgba(8,25,42,.55);fill:#8DB0C4;fill-opacity:1;stroke-dashoffset:0}99.091%{stroke:#2A8FB2;fill:#8DB0C4;fill-opacity:0;stroke-dashoffset:1}100%{stroke:#2A8FB2;fill:#8DB0C4;fill-opacity:0;stroke-dashoffset:1}}
.a66{animation:a66 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a66{0%{opacity:0}49.545%{opacity:0}51.364%{opacity:1}79.773%{opacity:1}81.136%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a67{animation:a67 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a67{0%{transform:matrix(0.936,0.541,-0.936,0.541,580.39,152.8);opacity:0}19.636%{opacity:0}20.318%{opacity:1}43.091%{transform:matrix(0.936,0.541,-0.936,0.541,580.39,152.8)}48.545%{transform:matrix(1,0,0,1,638.34,235.2)}61.364%{opacity:1}63.636%{opacity:0.22}77.727%{opacity:0.22}79.545%{opacity:1}83.409%{transform:matrix(1,0,0,1,638.34,235.2)}88.409%{transform:matrix(0.936,0.541,-0.936,0.541,580.39,152.8)}98.636%{transform:matrix(0.936,0.541,-0.936,0.541,580.39,152.8);opacity:1}99.091%{transform:matrix(0.936,0.541,-0.936,0.541,580.39,152.8);opacity:0}100%{transform:matrix(0.936,0.541,-0.936,0.541,580.39,152.8);opacity:0}}
.a68{animation:a68 22s cubic-bezier(.4,0,.4,1) infinite both}@keyframes a68{0%{transform:translate(0px,0px)}43.091%{transform:translate(0px,0px)}45.818%{transform:translate(0px,-26px)}48.545%{transform:translate(0px,0px)}83.409%{transform:translate(0px,0px)}85.909%{transform:translate(0px,-26px)}88.409%{transform:translate(0px,0px)}98.636%{transform:translate(0px,0px)}99.091%{transform:translate(0px,0px)}100%{transform:translate(0px,0px)}}
.a69{animation:a69 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a69{0%{stroke:#2A8FB2;fill:#C5DAE6;fill-opacity:0;stroke-dashoffset:1}19.636%{stroke-dashoffset:1}23.727%{stroke-dashoffset:0}27.5%{stroke:#2A8FB2;fill-opacity:0}30.227%{stroke:rgba(8,25,42,.55);fill-opacity:1}43.091%{stroke:rgba(8,25,42,.55);fill:#C5DAE6}48.545%{stroke:#8A6638;fill:#C99D62}83.409%{stroke:#8A6638;fill:#C99D62}88.409%{stroke:rgba(8,25,42,.55);fill:#C5DAE6}98.636%{stroke:rgba(8,25,42,.55);fill:#C5DAE6;fill-opacity:1;stroke-dashoffset:0}99.091%{stroke:#2A8FB2;fill:#C5DAE6;fill-opacity:0;stroke-dashoffset:1}100%{stroke:#2A8FB2;fill:#C5DAE6;fill-opacity:0;stroke-dashoffset:1}}
.a70{animation:a70 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a70{0%{opacity:0}49%{opacity:0}50.818%{opacity:1}81.818%{opacity:1}83.182%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a71{animation:a71 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a71{0%{transform:matrix(0.936,-0.541,0,1.081,620.57,214);opacity:0}20.273%{opacity:0}20.955%{opacity:1}42.545%{transform:matrix(0.936,-0.541,0,1.081,620.57,214)}48%{transform:matrix(1,0,0,1,449.6,99)}61.364%{opacity:1}63.636%{opacity:0.22}77.727%{opacity:0.22}79.545%{opacity:1}84.091%{transform:matrix(1,0,0,1,449.6,99)}89.091%{transform:matrix(0.936,-0.541,0,1.081,620.57,214)}98.636%{transform:matrix(0.936,-0.541,0,1.081,620.57,214);opacity:1}99.091%{transform:matrix(0.936,-0.541,0,1.081,620.57,214);opacity:0}100%{transform:matrix(0.936,-0.541,0,1.081,620.57,214);opacity:0}}
.a72{animation:a72 22s cubic-bezier(.4,0,.4,1) infinite both}@keyframes a72{0%{transform:translate(0px,0px)}42.545%{transform:translate(0px,0px)}45.273%{transform:translate(0px,-26px)}48%{transform:translate(0px,0px)}84.091%{transform:translate(0px,0px)}86.591%{transform:translate(0px,-26px)}89.091%{transform:translate(0px,0px)}98.636%{transform:translate(0px,0px)}99.091%{transform:translate(0px,0px)}100%{transform:translate(0px,0px)}}
.a73{animation:a73 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a73{0%{stroke:#2A8FB2;fill:#8DB0C4;fill-opacity:0;stroke-dashoffset:1}20.273%{stroke-dashoffset:1}24.364%{stroke-dashoffset:0}27.727%{stroke:#2A8FB2;fill-opacity:0}30.455%{stroke:rgba(8,25,42,.55);fill-opacity:1}42.545%{stroke:rgba(8,25,42,.55);fill:#8DB0C4}48%{stroke:#8A6638;fill:#C99D62}84.091%{stroke:#8A6638;fill:#C99D62}89.091%{stroke:rgba(8,25,42,.55);fill:#8DB0C4}98.636%{stroke:rgba(8,25,42,.55);fill:#8DB0C4;fill-opacity:1;stroke-dashoffset:0}99.091%{stroke:#2A8FB2;fill:#8DB0C4;fill-opacity:0;stroke-dashoffset:1}100%{stroke:#2A8FB2;fill:#8DB0C4;fill-opacity:0;stroke-dashoffset:1}}
.a74{animation:a74 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a74{0%{opacity:0}48.455%{opacity:0}50.273%{opacity:1}82.5%{opacity:1}83.864%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a75{animation:a75 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a75{0%{transform:matrix(0.936,0.541,-0.936,0.541,579,78);opacity:0}20.909%{opacity:0}21.591%{opacity:1}40.909%{transform:matrix(0.936,0.541,-0.936,0.541,579,78)}46.364%{transform:matrix(1,0,0,1,487.34,235.2)}61.364%{opacity:1}63.636%{opacity:0.22}77.727%{opacity:0.22}79.545%{opacity:1}84.773%{transform:matrix(1,0,0,1,487.34,235.2)}89.773%{transform:matrix(0.936,0.541,-0.936,0.541,579,78)}98.636%{transform:matrix(0.936,0.541,-0.936,0.541,579,78);opacity:1}99.091%{transform:matrix(0.936,0.541,-0.936,0.541,579,78);opacity:0}100%{transform:matrix(0.936,0.541,-0.936,0.541,579,78);opacity:0}}
.a76{animation:a76 22s cubic-bezier(.4,0,.4,1) infinite both}@keyframes a76{0%{transform:translate(0px,0px)}40.909%{transform:translate(0px,0px)}43.636%{transform:translate(0px,-26px)}46.364%{transform:translate(0px,0px)}84.773%{transform:translate(0px,0px)}87.273%{transform:translate(0px,-26px)}89.773%{transform:translate(0px,0px)}98.636%{transform:translate(0px,0px)}99.091%{transform:translate(0px,0px)}100%{transform:translate(0px,0px)}}
.a77{animation:a77 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a77{0%{stroke:#2A8FB2;fill:#E3EEF5;fill-opacity:0;stroke-dashoffset:1}20.909%{stroke-dashoffset:1}25%{stroke-dashoffset:0}27.955%{stroke:#2A8FB2;fill-opacity:0}30.682%{stroke:rgba(8,25,42,.55);fill-opacity:1}40.909%{stroke:rgba(8,25,42,.55);fill:#E3EEF5}46.364%{stroke:#8A6638;fill:#C99D62}84.773%{stroke:#8A6638;fill:#C99D62}89.773%{stroke:rgba(8,25,42,.55);fill:#E3EEF5}98.636%{stroke:rgba(8,25,42,.55);fill:#E3EEF5;fill-opacity:1;stroke-dashoffset:0}99.091%{stroke:#2A8FB2;fill:#E3EEF5;fill-opacity:0;stroke-dashoffset:1}100%{stroke:#2A8FB2;fill:#E3EEF5;fill-opacity:0;stroke-dashoffset:1}}
.a78{animation:a78 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a78{0%{opacity:0}46.818%{opacity:0}48.636%{opacity:1}83.182%{opacity:1}84.545%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a79{animation:a79 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a79{0%{transform:matrix(0.936,0.541,0,1.081,551.63,174.6);opacity:0}21.545%{opacity:0}22.227%{opacity:1}41.455%{transform:matrix(0.936,0.541,0,1.081,551.63,174.6)}46.909%{transform:matrix(1,0,0,1,700.54,99)}61.364%{opacity:1}63.636%{opacity:0.22}77.727%{opacity:0.22}79.545%{opacity:1}85.455%{transform:matrix(1,0,0,1,700.54,99)}90.455%{transform:matrix(0.936,0.541,0,1.081,551.63,174.6)}98.636%{transform:matrix(0.936,0.541,0,1.081,551.63,174.6);opacity:1}99.091%{transform:matrix(0.936,0.541,0,1.081,551.63,174.6);opacity:0}100%{transform:matrix(0.936,0.541,0,1.081,551.63,174.6);opacity:0}}
.a80{animation:a80 22s cubic-bezier(.4,0,.4,1) infinite both}@keyframes a80{0%{transform:translate(0px,0px)}41.455%{transform:translate(0px,0px)}44.182%{transform:translate(0px,-26px)}46.909%{transform:translate(0px,0px)}85.455%{transform:translate(0px,0px)}87.955%{transform:translate(0px,-26px)}90.455%{transform:translate(0px,0px)}98.636%{transform:translate(0px,0px)}99.091%{transform:translate(0px,0px)}100%{transform:translate(0px,0px)}}
.a81{animation:a81 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a81{0%{stroke:#2A8FB2;fill:#2E9CC2;fill-opacity:0;stroke-dashoffset:1}21.545%{stroke-dashoffset:1}25.636%{stroke-dashoffset:0}28.182%{stroke:#2A8FB2;fill-opacity:0}30.909%{stroke:rgba(8,25,42,.55);fill-opacity:1}41.455%{stroke:rgba(8,25,42,.55);fill:#2E9CC2}46.909%{stroke:#8A6638;fill:#C99D62}85.455%{stroke:#8A6638;fill:#C99D62}90.455%{stroke:rgba(8,25,42,.55);fill:#2E9CC2}98.636%{stroke:rgba(8,25,42,.55);fill:#2E9CC2;fill-opacity:1;stroke-dashoffset:0}99.091%{stroke:#2A8FB2;fill:#2E9CC2;fill-opacity:0;stroke-dashoffset:1}100%{stroke:#2A8FB2;fill:#2E9CC2;fill-opacity:0;stroke-dashoffset:1}}
.a82{animation:a82 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a82{0%{opacity:0}30%{opacity:0}31.818%{opacity:1}41.455%{opacity:1}43.273%{opacity:0}88.636%{opacity:0}90.455%{opacity:1}98.636%{opacity:1}99.091%{opacity:0}100%{opacity:0}}
.a83{animation:a83 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a83{0%{opacity:0}47.364%{opacity:0}49.182%{opacity:1}83.864%{opacity:1}85.227%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a84{animation:a84 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a84{0%{transform:matrix(0.936,0.541,0,1.081,482.35,134.6);opacity:0}22.182%{opacity:0}22.864%{opacity:1}42%{transform:matrix(0.936,0.541,0,1.081,482.35,134.6)}47.455%{transform:matrix(1,0,0,1,776.8,99)}61.364%{transform:matrix(1,0,0,1,776.8,99)}64.091%{transform:matrix(2.2,0,0,2.2,529.41,76.29)}77.273%{transform:matrix(2.2,0,0,2.2,529.41,76.29)}80%{transform:matrix(1,0,0,1,776.8,99)}86.136%{transform:matrix(1,0,0,1,776.8,99)}91.136%{transform:matrix(0.936,0.541,0,1.081,482.35,134.6)}98.636%{transform:matrix(0.936,0.541,0,1.081,482.35,134.6);opacity:1}99.091%{transform:matrix(0.936,0.541,0,1.081,482.35,134.6);opacity:0}100%{transform:matrix(0.936,0.541,0,1.081,482.35,134.6);opacity:0}}
.a85{animation:a85 22s cubic-bezier(.4,0,.4,1) infinite both}@keyframes a85{0%{transform:translate(0px,0px)}42%{transform:translate(0px,0px)}44.727%{transform:translate(0px,-26px)}47.455%{transform:translate(0px,0px)}86.136%{transform:translate(0px,0px)}88.636%{transform:translate(0px,-26px)}91.136%{transform:translate(0px,0px)}98.636%{transform:translate(0px,0px)}99.091%{transform:translate(0px,0px)}100%{transform:translate(0px,0px)}}
.a86{animation:a86 22s cubic-bezier(.5,0,.25,1) infinite both}@keyframes a86{0%{stroke:#2A8FB2;fill:#2E9CC2;fill-opacity:0;stroke-dashoffset:1}22.182%{stroke-dashoffset:1}26.273%{stroke-dashoffset:0}28.409%{stroke:#2A8FB2;fill-opacity:0}31.136%{stroke:rgba(8,25,42,.55);fill-opacity:1}42%{stroke:rgba(8,25,42,.55);fill:#2E9CC2}47.455%{stroke:#8A6638;fill:#C99D62}86.136%{stroke:#8A6638;fill:#C99D62}91.136%{stroke:rgba(8,25,42,.55);fill:#2E9CC2}98.636%{stroke:rgba(8,25,42,.55);fill:#2E9CC2;fill-opacity:1;stroke-dashoffset:0}99.091%{stroke:#2A8FB2;fill:#2E9CC2;fill-opacity:0;stroke-dashoffset:1}100%{stroke:#2A8FB2;fill:#2E9CC2;fill-opacity:0;stroke-dashoffset:1}}
.a87{animation:a87 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a87{0%{opacity:0}30.227%{opacity:0}32.045%{opacity:1}42%{opacity:1}43.818%{opacity:0}89.318%{opacity:0}91.136%{opacity:1}98.636%{opacity:1}99.091%{opacity:0}100%{opacity:0}}
.a88{animation:a88 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a88{0%{opacity:0}47.909%{opacity:0}49.727%{opacity:1}60.909%{opacity:1}62.273%{opacity:0}80.455%{opacity:0}82.273%{opacity:1}84.545%{opacity:1}85.909%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a89{animation:a89 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a89{0%{transform:scale(0);opacity:0}63.591%{opacity:0}63.636%{transform:scale(0);opacity:1}64.455%{transform:scale(1.25)}65.091%{transform:scale(1)}77.273%{opacity:1}79.091%{opacity:0}98.636%{transform:scale(1);opacity:0}99.091%{transform:scale(0);opacity:0}100%{transform:scale(0);opacity:0}}
.a90{animation:a90 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a90{0%{transform:scale(0);opacity:0}64.5%{opacity:0}64.545%{transform:scale(0);opacity:1}65.364%{transform:scale(1.25)}66%{transform:scale(1)}77.273%{opacity:1}79.091%{opacity:0}98.636%{transform:scale(1);opacity:0}99.091%{transform:scale(0);opacity:0}100%{transform:scale(0);opacity:0}}
.a91{animation:a91 22s linear infinite both}@keyframes a91{0%{stroke-dashoffset:1;opacity:0}65.864%{opacity:0}65.909%{stroke-dashoffset:1;opacity:1}74.091%{stroke-dashoffset:0}77.273%{opacity:1}79.091%{opacity:0}98.636%{stroke-dashoffset:0;opacity:0}99.091%{stroke-dashoffset:1;opacity:0}100%{stroke-dashoffset:1;opacity:0}}
.a92{animation:a92 22s linear infinite both}@keyframes a92{0%{transform:translate(6px,6px);opacity:0}65.682%{opacity:0}65.909%{transform:translate(6px,6px);opacity:1}67.288%{transform:translate(67.26px,6px)}70%{transform:translate(67.26px,126.46px)}71.379%{transform:translate(6px,126.46px)}74.091%{transform:translate(6px,6px);opacity:1}75.455%{opacity:0}98.636%{transform:translate(6px,6px);opacity:0}99.091%{transform:translate(6px,6px);opacity:0}100%{transform:translate(6px,6px);opacity:0}}
.a93{animation:a93 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a93{0%{opacity:0}30.455%{opacity:0}32.727%{opacity:1}37.727%{opacity:1}39.545%{opacity:0}98.636%{opacity:0}99.091%{opacity:0}100%{opacity:0}}
.a94{animation:a94 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a94{0%{opacity:0;transform:scale(.4)}91.364%{opacity:0;transform:scale(.4)}92.045%{transform:scale(1.15)}92.273%{opacity:1}93.182%{transform:scale(1)}98.636%{opacity:1;transform:scale(1)}99.091%{opacity:0;transform:scale(.4)}100%{opacity:0;transform:scale(.4)}}
.a95{animation:a95 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a95{0%{transform:scaleX(0)}0.909%{transform:scaleX(0)}3.636%{transform:scaleX(1)}98.636%{transform:scaleX(1)}99.091%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.a96{animation:a96 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a96{0%{fill:#5A6E7C}0.909%{fill:#5A6E7C}2.727%{fill:#113247}98.636%{fill:#113247}99.091%{fill:#5A6E7C}100%{fill:#5A6E7C}}
.a97{animation:a97 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a97{0%{transform:scaleX(0)}16.818%{transform:scaleX(0)}19.545%{transform:scaleX(1)}98.636%{transform:scaleX(1)}99.091%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.a98{animation:a98 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a98{0%{fill:#5A6E7C}16.818%{fill:#5A6E7C}18.636%{fill:#113247}98.636%{fill:#113247}99.091%{fill:#5A6E7C}100%{fill:#5A6E7C}}
.a99{animation:a99 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a99{0%{transform:scaleX(0)}40%{transform:scaleX(0)}42.727%{transform:scaleX(1)}98.636%{transform:scaleX(1)}99.091%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.a100{animation:a100 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a100{0%{fill:#5A6E7C}40%{fill:#5A6E7C}41.818%{fill:#113247}98.636%{fill:#113247}99.091%{fill:#5A6E7C}100%{fill:#5A6E7C}}
.a101{animation:a101 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a101{0%{transform:scaleX(0)}61.364%{transform:scaleX(0)}64.091%{transform:scaleX(1)}98.636%{transform:scaleX(1)}99.091%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.a102{animation:a102 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a102{0%{fill:#5A6E7C}61.364%{fill:#5A6E7C}63.182%{fill:#113247}98.636%{fill:#113247}99.091%{fill:#5A6E7C}100%{fill:#5A6E7C}}
.a103{animation:a103 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a103{0%{transform:scaleX(0)}80.455%{transform:scaleX(0)}83.182%{transform:scaleX(1)}98.636%{transform:scaleX(1)}99.091%{transform:scaleX(0)}100%{transform:scaleX(0)}}
.a104{animation:a104 22s cubic-bezier(.45,0,.25,1) infinite both}@keyframes a104{0%{fill:#5A6E7C}80.455%{fill:#5A6E7C}82.273%{fill:#113247}98.636%{fill:#113247}99.091%{fill:#5A6E7C}100%{fill:#5A6E7C}}

/* Só roda enquanto a seção está visível; sem JavaScript, as animações seguem rodando e o conteúdo permanece visível */
.js [data-motion]:not(.is-live) *, .js [data-motion].is-paused * { animation-play-state: paused !important; }

/* Botão de pausa das animações */
.motion-toggle { position: absolute; right: 10px; bottom: 10px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--ink); cursor: pointer; opacity: .85; transition: opacity var(--t), border-color var(--t); }
.motion-toggle:hover, .motion-toggle:focus-visible { opacity: 1; border-color: var(--brand); }
.motion-toggle:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
.motion-toggle svg { width: 16px; height: 16px; }

/* Barra de ação fixa do celular: criada pelo script.js, só em telas de menu recolhido */
.cta-bar { display: none; }
@media (max-width: 880px) {
  .cta-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: block; visibility: hidden; transform: translateY(100%);
    padding: 12px var(--pad) calc(12px + env(safe-area-inset-bottom)); background: var(--white); border-top: 1px solid var(--line);
    box-shadow: 0 -12px 24px -16px rgba(17, 50, 71, .3); transition: transform .18s ease-out, visibility 0s linear .18s;
  }
  .cta-bar.is-on { visibility: visible; transform: none; transition: transform .18s ease-out; }
  .cta-bar .btn { width: 100%; }
  html.has-cta { scroll-padding-bottom: calc(var(--cta-h) + env(safe-area-inset-bottom)); }
  html.has-cta .foot { padding-bottom: calc(var(--s5) + var(--cta-h) + env(safe-area-inset-bottom)); }
}

/* Telas menores */
@media (max-width: 1100px) {
  .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--s3); }
  .step:nth-child(3)::after, .step:last-child::after { display: none; }
  .hw__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hubtext { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 960px) {
  :root { --section: var(--s5); }
  .hero { padding: var(--s5) 0 var(--s6); }
  .hero__grid, .contact__grid { grid-template-columns: minmax(0, 1fr); gap: var(--s5); }
  .hero__fig { max-width: 640px; }
  .hero h1 { font-size: clamp(2.75rem, 10vw, 4.75rem); }
  .product__grid, .product--rev .product__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-template-areas: "top" "fig" "bottom"; row-gap: var(--s4); }
  .product__fig { max-width: 640px; }
  .nums { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .hubfig { display: none; }
  .hubtext { margin-top: 0; }
}

@media (max-width: 880px) {
  .menu-btn { display: block; }
  .menu {
    position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0;
    max-height: calc(100vh - var(--header-h)); overflow-y: auto; padding: var(--s1) var(--pad) var(--s4);
    background: var(--white); border-bottom: 1px solid var(--line);
  }
  .menu.is-open { display: flex; }
  .menu__link { width: 100%; min-height: 52px; justify-content: space-between; padding: 12px 0; font-size: 1.125rem; border-bottom: 1px solid var(--line); border-radius: 0; }
  .dd { width: 100%; }
  .dd__menu { position: static; min-width: 0; margin: 0 0 var(--s1); padding: 0; background: transparent; border: 0; box-shadow: none; }
  .dd__menu a { min-height: 56px; padding: 12px var(--s2); }
  .menu .btn { margin-top: var(--s2); min-height: 54px; }
}

/* Sem JavaScript o menu do celular não abre: vira uma lista sempre visível, em linha, e o cabeçalho deixa de ser fixo */
@media (max-width: 880px) {
  html:not(.js) .bar { position: static; }
  html:not(.js) .bar__in { flex-wrap: wrap; padding-bottom: var(--s1); }
  html:not(.js) .menu-btn { display: none; }
  html:not(.js) .menu {
    position: static; display: flex; flex: 1 1 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 0 var(--s3);
    max-height: none; overflow: visible; padding: 0 0 var(--s1); background: none; border: 0;
  }
  html:not(.js) .menu__link { width: auto; min-height: 44px; justify-content: flex-start; padding: 8px 0; font-size: 1rem; border-bottom: 0; }
  html:not(.js) .menu .btn { margin-top: 0; min-height: 44px; }
  html:not(.js) .dd, html:not(.js) .dd .dd__menu, html:not(.js) .dd:hover .dd__menu, html:not(.js) .dd:focus-within .dd__menu { display: contents; }
  html:not(.js) .dd__btn { display: none; }
  html:not(.js) .dd__menu a { display: flex; align-items: center; min-height: 44px; padding: 8px 0; border-radius: 6px; }
  html:not(.js) .dd__n { font-size: 1rem; font-weight: 500; color: var(--ink); }
  html:not(.js) .dd__d { display: none; }
}

@media (max-width: 760px) {
  .logo { padding: 5px 0; }
  .logo svg { height: 34px; }
  .foot nav { gap: 0; }
  .foot nav a, .foot__legal a { display: flex; align-items: center; min-height: 44px; padding: 0; }
  .foot__legal { gap: 0 var(--s3); }
  .head h2, .contact h1, .contact h2 { font-size: 1.875rem; }
  .product h2 { font-size: 2.125rem; }
  .actions .btn { flex: 1 1 100%; }
  .steps { grid-template-columns: minmax(0, 1fr); gap: var(--s2); }
  .step:not(:last-child)::after { top: auto; bottom: calc(var(--s2) * -1); right: auto; left: 52px; width: 3px; height: var(--s2); }
  .step:nth-child(3)::after { display: block; }
  .step a { grid-template-columns: 56px 1fr; column-gap: var(--s2); row-gap: 2px; padding: var(--s2); }
  .step__ico { grid-row: 1 / 4; margin: 0; }
  .step__name, .step__sw, .step__desc { grid-column: 2; }

  .hubtext { margin-top: 0; }
  .hw__list { grid-template-columns: minmax(0, 1fr); }
  .frame { padding: var(--s2); }
  /* Rótulos das ilustrações: tamanho efetivo >= 12 px em 360 px de largura (font-size em unidades do viewBox x largura do SVG / largura do viewBox) */
  .np text { display: none; }
  .gfx-svg .chip-g text { font-size: 23px; }
  .gfx-svg .dimtxt { font-size: 24px; }
  .gfx-svg .fmt text { font-size: 24px; }
  .gfx-svg text.core { font-size: 23px; }
  .gfx-svg g.ctr text { font-size: 22px; }
  .gfx-svg g.ctr rect { transform-box: fill-box; transform-origin: center; transform: scaleX(1.3); vector-effect: non-scaling-stroke; }
  .dim text, .dim-a, .dim-b, .dim-c { font-size: 26px; }
  /* Abertura (desenho de 900 unidades de largura): rótulos maiores; legenda da base e medidas das peças saem no celular */
  .hero-svg .h-panel, .hero-svg .h-rl, .hero-svg .h-lb, .hero-svg .h-dims, .hero-svg .h-sb { display: none; }
  .hero-svg .h-stage { transform-origin: 600px 218px; transform: translateX(-150px) scale(1.35); }
  .hero-svg .h-rail { transform: scaleX(.86); }
  .form { padding: var(--s3) var(--s2); }
  .form__row { grid-template-columns: minmax(0, 1fr); }
  .form .btn { justify-self: stretch; }
  .nums b { font-size: 3rem; }
}

@media (max-width: 420px) {
  .nums { grid-template-columns: minmax(0, 1fr); }
}

/* Páginas internas */
.menu__link[aria-current="page"] { color: var(--brand); box-shadow: inset 0 -2px 0 var(--cyan); border-radius: 0; }
.dd__menu a[aria-current="page"] { background: var(--tint); }
.wrap--narrow { max-width: calc(820px + 2 * var(--pad)); }
.crumbs { margin-bottom: var(--s3); font-size: 0.90625rem; }
.crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; }
.crumbs li + li::before { content: "/"; margin-right: 6px; opacity: .6; }
.crumbs a { display: inline-block; padding: 4px 0; margin: -4px 0; text-decoration: underline; text-underline-offset: 3px; }
.crumbs [aria-current] { font-weight: 600; }
.band--hero .crumbs { color: var(--muted); }
.band--hero .crumbs a:hover { color: var(--ink); }
.sec .crumbs { color: var(--muted); }
.page-top { padding-top: var(--s5); }
.h1-page { font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 800; line-height: 1.08; letter-spacing: -.035em; }
.hero--page { padding: var(--s5) 0; }
.hero--page h1 { white-space: normal; font-size: clamp(2.5rem, 5vw, 4rem); }
.hero--page .hero__lead { max-width: 32em; }
.hero--page .status { margin-top: var(--s2); }
.fig-note--center { text-align: center; }
.plogo--hero { height: clamp(44px, 5vw, 64px); }
.plogo--lignum-cam { height: clamp(48px, 5.6vw, 72px); }
.plogo--sectum { height: clamp(52px, 6vw, 76px); }
.plogo--moventus { height: clamp(72px, 8vw, 104px); margin-left: -6px; }
.prova__in { max-width: 820px; }
.prova h2 { font-size: clamp(1.75rem, 3.2vw, 2.5rem); font-weight: 800; line-height: 1.15; letter-spacing: -.03em; }
.prova p { margin-top: var(--s2); max-width: 46em; font-size: 1.125rem; color: var(--muted); }
.textlink { font-weight: 600; color: var(--brand); text-decoration: underline; text-underline-offset: 4px; transition: color var(--t); }
.textlink:hover { color: var(--ink); }
.more-link { margin-top: var(--s4); }
.two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s6); align-items: start; }
.two h2 { font-size: clamp(1.75rem, 3vw, 2.375rem); font-weight: 800; line-height: 1.12; letter-spacing: -.03em; }
.lede { margin-top: var(--s2); max-width: 36em; font-size: 1.125rem; color: var(--ink); }
.h3 { font-size: 1.25rem; font-weight: 700; letter-spacing: -.02em; }
.h3 + .ticks { margin-top: var(--s2); }
.prose { max-width: 38em; margin-top: var(--s2); font-size: 1.0625rem; line-height: 1.65; color: var(--text); }
.prose p + p { margin-top: var(--s2); }
.nf { margin-top: var(--s4); }
.prose .tbl { margin-bottom: var(--s2); }
.pfaz .ticks { margin-top: var(--s3); }

/* Cartões de produto e de setor */
.pcards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s2); }
.pcard a, .setor-card a, .linkcards a {
  display: grid; gap: var(--s1); align-content: start; height: 100%; padding: var(--s3); text-decoration: none; background: var(--white);
  border: 1.5px solid var(--line); border-radius: var(--radius); transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}
.pcard a:hover, .pcard a:focus-visible, .setor-card a:hover, .setor-card a:focus-visible, .linkcards a:hover, .linkcards a:focus-visible {
  border-color: var(--brand); box-shadow: var(--shadow-hover); transform: translateY(-2px);
}
.sec--tint .setor-card a, .sec--tint .linkcards a { background: var(--white); }
.pcard__status { display: flex; align-items: center; gap: var(--s1); font-size: 0.875rem; font-weight: 600; color: var(--muted); }
.pcard__status .status__dot { background: var(--ok); }
.pcard__status--eval .status__dot { background: var(--amber); }
.pcard__name { font-family: var(--display); font-size: 1.625rem; font-weight: 800; letter-spacing: -.03em; color: var(--ink); }
.pcard__tag { font-size: 0.9375rem; font-weight: 600; color: var(--brand); }
.pcard__sum { font-size: 0.96875rem; line-height: 1.5; color: var(--text); }
.pcard__go { margin-top: var(--s1); font-size: 0.9375rem; font-weight: 600; color: var(--brand); }
.setor-card { max-width: 620px; }
.setor-card__name { font-family: var(--display); font-size: 1.625rem; font-weight: 800; letter-spacing: -.03em; color: var(--ink); }
.setor-card__sum { font-size: 1.0625rem; color: var(--text); max-width: 32em; }
.setor-line { margin-top: var(--s3); font-size: 1.0625rem; color: var(--text); }
.linkcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--s2); }
.linkcards__n { font-family: var(--display); font-size: 1.375rem; font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.linkcards__t { font-size: 1rem; line-height: 1.5; color: var(--text); }
.hwband__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s4); }
.hwband h2 { font-size: clamp(1.75rem, 3vw, 2.375rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.12; }
.hwband p { margin-top: var(--s1); max-width: 40em; font-size: 1.125rem; color: var(--muted); }
.form__lgpd { font-size: 0.90625rem; line-height: 1.5; color: var(--muted); }
.form__lgpd a { color: var(--brand); font-weight: 600; text-underline-offset: 3px; }

/* Texto legal */
.legal h2 { margin-top: var(--s4); font-size: 1.375rem; font-weight: 700; letter-spacing: -.02em; }
.legal p { margin-top: var(--s1); max-width: 40em; font-size: 1.0625rem; line-height: 1.65; }
.legal .h1-page { margin-bottom: var(--s2); }
.draft { padding: var(--s2); border: 1.5px solid var(--amber); border-radius: 12px; background: #FDF4E0; color: #5C3F00; }

@media (max-width: 1100px) {
  .pcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .two { grid-template-columns: minmax(0, 1fr); gap: var(--s4); }
  .foot__grid { grid-template-columns: 1fr 1fr; }
  .foot__brand { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .pcards { grid-template-columns: minmax(0, 1fr); }
  .hwband__in { align-items: flex-start; }
  .hero--page h1 { font-size: 2.5rem; }
  .foot__grid { grid-template-columns: 1fr; }
  .crumbs { margin-bottom: var(--s1); }
  .crumbs ol { align-items: center; }
  .crumbs a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; margin: 0; }
}

/* Movimento reduzido: ilustrações e decorações ficam paradas no quadro estático (o estado base do CSS; o script usa data-poster
   e pausa o SMIL). O feedback de interação continua, mas só em cor, sombra e opacidade, em até 120 ms e sem deslocamento. */
@media (prefers-reduced-motion: reduce) {
  :root { --t: .12s; }
  html { scroll-behavior: auto; }
  svg, svg * { animation: none !important; }
  .tp-draw { stroke-dashoffset: 0; }
  .motion-toggle { display: none; }
  .btn, .step a, .pcard a, .setor-card a, .linkcards a { transition: background-color var(--t), border-color var(--t), color var(--t), box-shadow var(--t); }
  .btn:active, .step a:hover, .step a:focus-visible, .pcard a:hover, .pcard a:focus-visible, .setor-card a:hover, .setor-card a:focus-visible, .linkcards a:hover, .linkcards a:focus-visible { transform: none; }
  .chev, .menu-btn__bars, .menu-btn__bars::before, .menu-btn__bars::after, .step__sw::after, .cta-bar, .cta-bar.is-on { transition: none; }
}

/* Impressão: fundo branco, texto escuro, sem cabeçalho nem barra fixa, sem ilustrações animadas nem formulário */
@media print {
  :root { --section: 24px; }
  html { scroll-behavior: auto; }
  body { background: #fff; color: #000; font-size: 11pt; line-height: 1.45; }
  .bar, .cta-bar, .skip, .motion-toggle, .menu-btn, .hero__fig, .product__fig, .hubfig, .frame, .form, .actions .btn[href^="#"] { display: none !important; }
  .band, .sec { padding: 24px 0; background: none !important; border-top: 1px solid #999; }
  .band--hero, .band--hero *, .band--sky, .band--sky *, .foot, .foot * { background: none !important; color: #000 !important; text-shadow: none !important; }
  .band--hero .status__dot { background: #444 !important; }
  .hero h1 { white-space: normal; }
  .hero__grid, .product__grid, .product--rev .product__grid, .contact__grid, .two { display: block; }
  .btn { min-height: 0; padding: 0; border: 0; text-decoration: underline; }
  .logo text { fill: #000; }
  main a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .85em; font-weight: 400; word-break: break-all; }
  .step a, .pcard a, .setor-card a, .linkcards a, .hw__list li, .hubtext li, .nums li, .more, .draft, .tbl tr, figure { break-inside: avoid; }
  h1, h2, h3, h4 { break-after: avoid; }
  p, li { orphans: 3; widows: 3; }
  .step a:hover, .pcard a:hover, .setor-card a:hover, .linkcards a:hover { transform: none; box-shadow: none; }
  .foot { padding: 16px 0 !important; border-top: 1px solid #999; font-size: 10pt; }
  .foot a { text-decoration: underline; }
  .foot__grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 16px; }
}
