/* =========================================================
   MODELOS — dois heroes de site feitos pela Storche Tech
   100% CSS + SVG. Sem JS próprio: a entrada é disparada pela
   classe .is-visible que o main.js já coloca em ".reveal".
   Tamanhos em cqw: o modelo escala junto com o cartão.
   ========================================================= */

.models { display: grid; gap: 56px; margin-top: 48px; }

.model__screen {
  position: relative; overflow: hidden; container-type: inline-size;
  aspect-ratio: 16 / 10; border-radius: var(--radius);
  border: 1px solid var(--line); isolation: isolate;
  box-shadow: 0 30px 70px -30px rgba(0, 0, 0, 0.7);
}
.model__screen > *, .lay > * { position: absolute; }
/* Camadas de entrada: cobrem o cartão inteiro, então o "left/top" dos filhos segue relativo a ele. */
.lay { inset: 0; pointer-events: none; }
.model__caption { padding: 22px 4px 0; }
.model__caption h3 { margin: 10px 0 8px; }

/* ---- entrada em cascata (só quando o JS está ativo) ---- */
@keyframes m-enter { from { opacity: 0; transform: translate3d(0, 3cqw, 0) scale(0.96); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes m-fade  { from { opacity: 0; } to { opacity: 1; } }
html.js .model:not(.is-visible) .m-in { opacity: 0; }
html.js .model.is-visible .m-in { animation: m-enter 0.95s var(--ease-out) both; animation-delay: calc(var(--d, 0) * 130ms + 150ms); }
html.js .model.is-visible .m-fade { animation: m-fade 1.2s ease both; animation-delay: calc(var(--d, 0) * 130ms); }
html.js .model:not(.is-visible) .m-fade { opacity: 0; }

/* =========================================================
   MODELO A — hero "Orbyt" (elementos e animação vindos do Figma)
   Tela de 1920x1080 escalada por --u (1px do Figma = --u).
   Estado final = estado base; a entrada anima a partir do "Frame 1".
   ========================================================= */
.mA { --u: calc(100cqw / 1920); aspect-ratio: 16 / 9; color: #fff; background: linear-gradient(-60deg, #1c1c1c 1.8%, #000 71.9%, #1d1d1d 99%); font-family: "Atkinson Hyperlegible", var(--font); }
.mA .bart { font-family: "BBH Sans Bartle", var(--font); text-transform: uppercase; font-weight: 400; }

/* animação de entrada: cada elemento define --an (nome), --d (atraso) e opcionalmente --t (duração) */
@keyframes a-drop  { from { opacity: 0; transform: translate3d(0, calc(var(--u) * -140), 0); } }
@keyframes a-rise  { from { opacity: 0; transform: translate3d(0, calc(var(--u) * 90), 0); } }
@keyframes a-left  { from { opacity: 0; transform: translate3d(calc(var(--u) * -80), 0, 0); } }
@keyframes a-fade  { from { opacity: 0; } }
@keyframes a-line  { from { transform: scaleY(0); } }
@keyframes a-fly   { from { opacity: 0; transform: translate3d(0, calc(var(--u) * -180), 0) scale(0.55); filter: blur(calc(var(--u) * 24)); } }
@keyframes a-letter { from { opacity: 0; transform: translate3d(0, calc(var(--u) * var(--rise)), 0); } }
@keyframes a-slide { from { transform: translate3d(0, calc(var(--u) * -190), 0); } }
@keyframes a-mini  { from { opacity: 0; transform: translate3d(calc(var(--u) * -120), calc(var(--u) * -90), 0) rotate(36deg) scale(0.3); } }
.model.is-visible .mA .a, .model.is-visible .mB .a { animation: var(--an) var(--t, 1.1s) var(--ease-out) var(--d, 0s) backwards; }
html.js .model:not(.is-visible) .mA .a, html.js .model:not(.is-visible) .mB .a { opacity: 0; }

.mA .sky { left: 50%; top: 50%; width: calc(var(--u) * 1976); height: calc(var(--u) * 1108); transform: translate(-50%, -50%); }
.mA .sky img { display: block; width: 100%; height: 100%; object-fit: cover; filter: blur(calc(var(--u) * 10)); animation: mA-sky 22s ease-in-out infinite alternate; }
@keyframes mA-sky { from { transform: scale(1) translateX(0); } to { transform: scale(1.06) translateX(-1.5%); } }

.mA .vline { top: 0; width: 1px; height: 100%; transform-origin: top; background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.06)); }
.mA .streak { width: calc(var(--u) * 18); height: calc(var(--u) * 140); overflow: hidden; opacity: 0; mix-blend-mode: lighten; animation: mA-streak var(--s, 5s) linear var(--w, 0s) infinite; }
.mA .streak i { position: absolute; left: 0; width: 100%; height: 190.31%; top: -75.89%; background: url(../img/modelos/streak.webp) 0 0 / 100% 100%; }
@keyframes mA-streak { 0% { opacity: 0; transform: translateY(calc(var(--u) * -240)); } 15% { opacity: 0.6; } 85% { opacity: 0.6; } 100% { opacity: 0; transform: translateY(calc(var(--u) * 260)); } }

.mA .orbit { left: 0; top: calc(var(--u) * 343); width: 100%; height: calc(var(--u) * 260); pointer-events: none; }
.mA .orbit span { position: absolute; top: 0; left: calc(var(--u) * var(--x)); font-size: calc(var(--u) * 300); line-height: 1; letter-spacing: 0; color: rgba(255, 255, 255, 0.12); white-space: nowrap; }

.mA .ax { left: calc(var(--u) * 683); top: calc(var(--u) * 254); width: calc(var(--u) * 554); height: calc(var(--u) * 60); overflow: hidden; }
.mA .ax span { display: block; text-align: center; font-size: calc(var(--u) * 82); line-height: calc(var(--u) * 66); color: rgba(255, 255, 255, 0.48); white-space: nowrap; }

.mA .drone { left: 50%; top: calc(var(--u) * 370); width: calc(var(--u) * 962); height: calc(var(--u) * 641); margin-left: calc(var(--u) * -480); }
.mA .drone img { display: block; width: 100%; height: 100%; object-fit: cover; filter: drop-shadow(0 calc(var(--u) * 60) calc(var(--u) * 50) rgba(0, 0, 0, 0.55)); animation: mA-float 6s ease-in-out infinite; }
@keyframes mA-float { 0%, 100% { transform: translateY(0) rotate(-0.8deg); } 50% { transform: translateY(calc(var(--u) * -18)) rotate(0.8deg); } }

.mA .mnav { left: calc(var(--u) * 48); top: calc(var(--u) * 22); width: calc(var(--u) * 1824); height: calc(var(--u) * 49); }
.mA .mnav > * { position: absolute; }
.mA .mnav .logo { left: 0; top: calc(var(--u) * 19); width: calc(var(--u) * 70); height: auto; }
.mA .mnav .pillnav { left: 50%; top: 0; transform: translateX(-50%); display: flex; gap: calc(var(--u) * 8); padding: calc(var(--u) * 8); border-radius: 999px; background: rgba(0, 0, 0, 0.4); }
.mA .mnav .pillnav span { padding: calc(var(--u) * 12) calc(var(--u) * 20); border-radius: 999px; font-size: calc(var(--u) * 14); line-height: 1.4; text-transform: uppercase; white-space: nowrap; opacity: 0.2; }
.mA .mnav .pillnav span.on { background: rgba(255, 255, 255, 0.11); font-weight: 700; opacity: 0.6; }
.mA .mnav .acct { left: calc(var(--u) * 1605); top: calc(var(--u) * 7); display: flex; align-items: center; gap: calc(var(--u) * 60); text-transform: uppercase; white-space: nowrap; }
.mA .mnav .acct span { font-size: calc(var(--u) * 14); font-weight: 700; opacity: 0.6; }
.mA .mnav .acct b { padding: calc(var(--u) * 12) calc(var(--u) * 20); border-radius: 999px; background: rgba(176, 177, 179, 0.4); font-size: calc(var(--u) * 16); line-height: 1.4; }

.mA .bl { left: 0; top: calc(var(--u) * 723); width: calc(var(--u) * 407); height: calc(var(--u) * 219); }
.mA .bl > * { position: absolute; }
.mA .bl .row { left: 0; width: calc(var(--u) * 319); height: calc(var(--u) * 26); overflow: hidden; text-align: right; font-size: calc(var(--u) * 24); line-height: calc(var(--u) * 26); color: rgba(255, 255, 255, 0.4); white-space: nowrap; }
.mA .bl .row.hi { color: #fff; }
.mA .bl .box { left: calc(var(--u) * 128); top: calc(var(--u) * 135); width: calc(var(--u) * 80); height: calc(var(--u) * 80); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: calc(var(--u) * 12); display: grid; place-items: center; transition: background 0.3s, transform 0.3s; }
.mA .bl .box svg { width: calc(var(--u) * 22); height: calc(var(--u) * 36); fill: rgba(255, 255, 255, 0.7); animation: mA-nudge 2s ease-in-out infinite; }
@keyframes mA-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(calc(var(--u) * 6)); } }
.model__screen:hover .bl .box { background: rgba(255, 255, 255, 0.1); transform: scale(1.05); }
.mA .bl p { left: calc(var(--u) * 247); top: calc(var(--u) * 132); width: calc(var(--u) * 160); margin: 0; font-size: calc(var(--u) * 16); line-height: 1.2; opacity: 0.7; }

.mA .br { left: calc(var(--u) * 1448); top: calc(var(--u) * 712); width: calc(var(--u) * 464); height: calc(var(--u) * 359); }
.mA .br > * { position: absolute; }
.mA .br .cardbg { left: calc(var(--u) * 74); top: calc(var(--u) * 43); width: calc(var(--u) * 390); height: calc(var(--u) * 316); }
.mA .br .mini { left: 0; top: 0; width: calc(var(--u) * 305); height: calc(var(--u) * 244); display: grid; place-items: center; }
.mA .br .mini img { width: calc(var(--u) * 266); height: calc(var(--u) * 177); object-fit: cover; transform: rotate(15.95deg); animation: mA-mini 5s ease-in-out infinite; }
@keyframes mA-mini { 0%, 100% { transform: rotate(15.95deg) translate(0, 0); } 50% { transform: rotate(13deg) translate(calc(var(--u) * 8), calc(var(--u) * -10)); } }
.mA .br .t1 { left: calc(var(--u) * 305); top: calc(var(--u) * 84); width: calc(var(--u) * 146); margin: 0; font-size: calc(var(--u) * 20); font-weight: 700; line-height: 1.2; opacity: 0.7; }
.mA .br .t2 { left: calc(var(--u) * 111); top: calc(var(--u) * 252); width: calc(var(--u) * 195); margin: 0; font-size: calc(var(--u) * 16); line-height: 1.2; opacity: 0.7; }
.mA .br .num { left: calc(var(--u) * 329); top: calc(var(--u) * 268); font-size: calc(var(--u) * 82); font-weight: 700; line-height: 1; letter-spacing: calc(var(--u) * -7.4); opacity: 0.9; }
.mA .br .k { left: calc(var(--u) * 404); top: calc(var(--u) * 272); font-size: calc(var(--u) * 52); font-weight: 700; line-height: 1; opacity: 0.2; background: linear-gradient(-90deg, #fff 19%, transparent 95%); -webkit-background-clip: text; background-clip: text; color: transparent; }

.mA .scroll { left: calc(var(--u) * 948); top: calc(var(--u) * 1019); width: calc(var(--u) * 25); height: calc(var(--u) * 36); border: 1px solid #fff; border-radius: 999px; }
.mA .scroll::after { content: ""; position: absolute; left: 50%; top: calc(var(--u) * 21); width: 1px; height: calc(var(--u) * 7); margin-left: -0.5px; border-radius: 99px; background: #fff; animation: mA-scroll 1.8s ease-in-out infinite; }
@keyframes mA-scroll { 0% { opacity: 0; transform: translateY(calc(var(--u) * -8)); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(calc(var(--u) * 8)); } }
/* =========================================================
   MODELO B — hero "Abrany" (elementos do Figma, tela 1440x810)
   ========================================================= */
@keyframes a-brain { from { opacity: 0; transform: scale(0.55) rotate(-10deg); filter: blur(calc(var(--u) * 26)); } }
@keyframes a-pop   { from { opacity: 0; transform: scale(0.6); } }
.mB { --u: calc(100cqw / 1440); aspect-ratio: 16 / 9; background: #c5d7f0; color: #273c59; font-family: "Funnel Sans", var(--font); border-color: rgba(255, 255, 255, 0.5); }
.mB .fd { font-family: "Funnel Display", "Funnel Sans", var(--font); }
.mB img { display: block; }
.mB .b-abs { position: absolute; }

.mB .b-halo { left: calc(var(--u) * -88); top: calc(var(--u) * 464); width: calc(var(--u) * 1617); height: calc(var(--u) * 602); }
.mB .b-halo img { position: absolute; inset: -66.45% -24.74%; width: 149.5%; height: 232.9%; max-width: none; }
.mB .b-word { left: calc(var(--u) * -534); top: calc(var(--u) * 585); width: calc(var(--u) * 1575); text-align: center; font-family: "Archivo", var(--font); font-weight: 900; font-stretch: 125%; font-size: calc(var(--u) * 300); line-height: 1.2; letter-spacing: calc(var(--u) * -18); text-transform: uppercase; white-space: nowrap; background: linear-gradient(180deg, rgba(228, 240, 255, 0.2), rgba(197, 215, 240, 0.2)); -webkit-background-clip: text; background-clip: text; color: transparent; filter: blur(calc(var(--u) * 20)); opacity: 0.5; }

.mB .b-glow { left: calc(var(--u) * 467); top: calc(var(--u) * 134); width: calc(var(--u) * 768); height: calc(var(--u) * 585); filter: blur(calc(var(--u) * 115)); animation: mB-glowpulse 5s ease-in-out infinite; }
.mB .b-glow img { width: 100%; height: 100%; }
@keyframes mB-glowpulse { 0%, 100% { opacity: 0.75; transform: scale(0.96); } 50% { opacity: 1; transform: scale(1.06); } }
.mB .b-ring1 { left: calc(var(--u) * 364); top: calc(var(--u) * -73); width: calc(var(--u) * 975); height: calc(var(--u) * 975); }
.mB .b-ring1 img, .mB .b-ring2 img { width: 100%; height: 100%; animation: mB-spin 90s linear infinite; }
.mB .b-ring2 { left: calc(var(--u) * 457); top: calc(var(--u) * 20); width: calc(var(--u) * 788); height: calc(var(--u) * 788); }
.mB .b-ring2 img { animation-direction: reverse; animation-duration: 120s; }
@keyframes mB-spin { to { transform: rotate(360deg); } }
.mB .b-brain { left: calc(var(--u) * 222); top: calc(var(--u) * -52); width: calc(var(--u) * 1258.5); height: calc(var(--u) * 892.6); display: grid; place-items: center; }
.mB .b-brain img { width: calc(var(--u) * 1137); height: calc(var(--u) * 620); max-width: none; transform: rotate(15deg); animation: mB-breathe 6s ease-in-out infinite; }
@keyframes mB-breathe { 0%, 100% { transform: rotate(15deg) scale(0.985); } 50% { transform: rotate(16.2deg) scale(1.035) translateY(calc(var(--u) * -10)); } }
.mB .b-play { left: calc(var(--u) * 824); top: calc(var(--u) * 335); width: calc(var(--u) * 139); height: calc(var(--u) * 139); }
.mB .b-play img { width: 100%; height: 100%; }
.mB .b-play::after { content: ""; position: absolute; inset: 8%; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.8); animation: mB-ring 3s ease-out infinite; }
@keyframes mB-ring { 0% { transform: scale(1); opacity: 0.9; } 100% { transform: scale(1.7); opacity: 0; } }

.mB .b-title { left: 0; top: 0; }
.mB .b-title span { position: absolute; left: var(--x); top: var(--y); font-family: "Funnel Display", var(--font); font-weight: 600; font-size: calc(var(--u) * 72); line-height: calc(var(--u) * 49); letter-spacing: calc(var(--u) * -2.16); text-transform: uppercase; white-space: nowrap; color: #273c59; }
.mB .b-title .soft { background: linear-gradient(180deg, #9badc7 60%, rgba(68, 77, 142, 0)); -webkit-background-clip: text; background-clip: text; color: transparent; }

.mB .b-desc { left: calc(var(--u) * 111.5); top: calc(var(--u) * 442); width: calc(var(--u) * 258); margin: 0; font-size: calc(var(--u) * 16); line-height: 1.2; }
.mB .b-cta { left: calc(var(--u) * 111.5); top: calc(var(--u) * 559); display: flex; align-items: center; gap: calc(var(--u) * 20); padding: calc(var(--u) * 4) calc(var(--u) * 32) calc(var(--u) * 4) calc(var(--u) * 4); border-radius: 999px; background: rgba(255, 255, 255, 0.62); transition: transform 0.35s var(--ease-out); }
.model__screen:hover .b-cta { transform: translateX(calc(var(--u) * 8)); }
.mB .b-cta .ic { width: calc(var(--u) * 72); height: calc(var(--u) * 72); border-radius: 50%; background: #bbc9e5; display: grid; place-items: center; }
.mB .b-cta .ic img { width: calc(var(--u) * 26); height: calc(var(--u) * 26); }
.mB .b-cta b { font-size: calc(var(--u) * 16); font-weight: 600; letter-spacing: calc(var(--u) * -0.32); opacity: 0.9; }
.mB .b-cta .row { display: flex; align-items: center; gap: calc(var(--u) * 12); }
.mB .b-cta .row img { width: calc(var(--u) * 18); height: calc(var(--u) * 18); animation: mB-nudge 2s ease-in-out infinite; }
@keyframes mB-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(calc(var(--u) * 5)); } }

.mB .b-glass { background: rgba(158, 180, 212, 0.15); backdrop-filter: blur(calc(var(--u) * 12)); -webkit-backdrop-filter: blur(calc(var(--u) * 12)); overflow: hidden; color: #fff; }
.mB .b-fl { animation: mB-float 7s ease-in-out infinite; }
@keyframes mB-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(calc(var(--u) * -9)); } }
.mB .b-ni { left: calc(var(--u) * 545); top: calc(var(--u) * 477); width: calc(var(--u) * 231); height: calc(var(--u) * 176); border-radius: calc(var(--u) * 40); animation-delay: -2s; }
.mB .b-ni > * { position: absolute; }
.mB .b-ni .t1 { left: calc(var(--u) * 121.5); top: calc(var(--u) * 33); font-size: calc(var(--u) * 18); font-weight: 300; line-height: 1; letter-spacing: calc(var(--u) * -0.36); opacity: 0.67; }
.mB .b-ni .t2 { left: calc(var(--u) * 121.5); top: calc(var(--u) * 56); font-size: calc(var(--u) * 21); font-weight: 600; line-height: 1; letter-spacing: calc(var(--u) * -0.42); }
.mB .b-ni .thumb { left: calc(var(--u) * -3); top: calc(var(--u) * 21.5); width: calc(var(--u) * 124.6); height: calc(var(--u) * 69.8); object-fit: cover; }
.mB .b-ni .w1 { left: calc(var(--u) * -8); top: calc(var(--u) * 98); width: calc(var(--u) * 247); height: calc(var(--u) * 103.6); }
.mB .b-ni .w2 { left: calc(var(--u) * -33.5); top: calc(var(--u) * 97); width: calc(var(--u) * 342.8); height: calc(var(--u) * 97.2); }
.mB .b-ni .d1 { left: calc(var(--u) * 72.5); top: calc(var(--u) * 100.8); width: calc(var(--u) * 5.5); height: calc(var(--u) * 5.5); }
.mB .b-ni .d2 { left: calc(var(--u) * 138.4); top: calc(var(--u) * 120.8); width: calc(var(--u) * 5.5); height: calc(var(--u) * 5.5); }
.mB .b-ni .w1, .mB .b-ni .w2 { animation: mB-wave 6s ease-in-out infinite alternate; }
@keyframes mB-wave { from { transform: translateX(calc(var(--u) * -8)); } to { transform: translateX(calc(var(--u) * 8)); } }

.mB .b-st { left: calc(var(--u) * 1090); top: calc(var(--u) * 328.75); width: calc(var(--u) * 231); height: calc(var(--u) * 267); border-radius: calc(var(--u) * 40); }
.mB .b-st > * { position: absolute; }
.mB .b-st .g { left: calc(var(--u) * 8.5); top: calc(var(--u) * 22.5); width: calc(var(--u) * 215); height: calc(var(--u) * 99); overflow: hidden; }
.mB .b-st .g img { position: absolute; width: calc(var(--u) * 215); height: calc(var(--u) * 215); max-width: none; left: calc(50% - var(--u) * 107.5); top: calc(50% + var(--u) * 58 - var(--u) * 107.5); }
.mB .b-st .g1 img { opacity: 0.1; }
.mB .b-st .g2 { width: calc(var(--u) * 116); }
.mB .b-st .g2 img { left: calc(50% + var(--u) * 48.9 - var(--u) * 107.5); }
.mB .b-st .n { left: 0; right: 0; top: calc(var(--u) * 64); text-align: center; font-family: "Funnel Display", var(--font); font-size: calc(var(--u) * 32); line-height: 1; letter-spacing: calc(var(--u) * -0.96); }
.mB .b-st .l { left: 0; right: 0; top: calc(var(--u) * 97); text-align: center; font-size: calc(var(--u) * 18); font-weight: 300; line-height: 1; letter-spacing: calc(var(--u) * -0.36); opacity: 0.67; }
.mB .b-st .mini { top: calc(var(--u) * 146); width: calc(var(--u) * 106.5); height: calc(var(--u) * 115); background: rgba(255, 255, 255, 0.13); }
.mB .b-st .mini.a1 { left: calc(var(--u) * 6); border-radius: calc(var(--u) * 12) calc(var(--u) * 12) calc(var(--u) * 12) calc(var(--u) * 34); }
.mB .b-st .mini.a2 { left: calc(var(--u) * 118.5); border-radius: calc(var(--u) * 12) calc(var(--u) * 12) calc(var(--u) * 34) calc(var(--u) * 12); }
.mB .b-st .mini > * { position: absolute; left: calc(var(--u) * 15); }
.mB .b-st .mini img { top: calc(var(--u) * 11); width: calc(var(--u) * 26); height: calc(var(--u) * 26); }
.mB .b-st .mini .v { top: calc(var(--u) * 58); font-size: calc(var(--u) * 21); font-weight: 600; line-height: 1; letter-spacing: calc(var(--u) * -0.42); }
.mB .b-st .mini .k { top: calc(var(--u) * 84); font-size: calc(var(--u) * 14); font-weight: 300; line-height: 1; letter-spacing: calc(var(--u) * -0.28); opacity: 0.67; white-space: nowrap; }
.mB .b-st .mini img.up { left: calc(var(--u) * 60); top: calc(var(--u) * 61); width: calc(var(--u) * 12); height: calc(var(--u) * 12); }

.mB .b-lr { left: calc(var(--u) * 970); top: calc(var(--u) * 175); width: calc(var(--u) * 321); height: calc(var(--u) * 73); border-radius: calc(var(--u) * 24); animation-delay: -3s; }
.mB .b-lr .avs { position: absolute; left: calc(var(--u) * 19); top: 50%; transform: translateY(-50%); display: flex; }
.mB .b-lr .avs img { width: calc(var(--u) * 33.2); height: calc(var(--u) * 33.2); margin-right: calc(var(--u) * -7); }
.mB .b-lr .tx { position: absolute; left: calc(var(--u) * 177); top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: calc(var(--u) * 10); line-height: 1; }
.mB .b-lr .tx b { font-size: calc(var(--u) * 21); font-weight: 600; letter-spacing: calc(var(--u) * -0.42); }
.mB .b-lr .tx span { font-size: calc(var(--u) * 18); font-weight: 300; letter-spacing: calc(var(--u) * -0.36); opacity: 0.67; white-space: nowrap; }

.mB .b-nav { left: 0; top: 0; width: 100%; height: calc(var(--u) * 60); font-size: calc(var(--u) * 12); }
.mB .b-nav > * { position: absolute; white-space: nowrap; }
.mB .b-nav .links { left: 50%; top: calc(var(--u) * 34); transform: translateX(-50%); display: flex; gap: calc(var(--u) * 95); font-family: "Funnel Display", var(--font); line-height: 1; text-transform: capitalize; }
.mB .b-nav .links i { font-style: normal; opacity: 0.4; }
.mB .b-nav .logo { left: calc(var(--u) * 38); top: calc(var(--u) * 32); width: calc(var(--u) * 13); height: calc(var(--u) * 13); }
.mB .b-nav .brand { left: calc(var(--u) * 54.5); top: calc(var(--u) * 34); font-family: "Archivo", var(--font); font-stretch: 125%; font-weight: 600; font-size: calc(var(--u) * 10); letter-spacing: calc(var(--u) * -0.6); text-transform: uppercase; line-height: 1; }
.mB .b-nav .contact { left: calc(var(--u) * 1266); top: calc(var(--u) * 34); display: flex; align-items: center; gap: calc(var(--u) * 38); font-family: "Funnel Display", var(--font); font-weight: 500; text-transform: uppercase; line-height: 1; }
.mB .b-nav .contact img { width: calc(var(--u) * 23); height: calc(var(--u) * 5); }
.mB .b-tick { left: calc(var(--u) * 513); top: 0; width: 1px; height: calc(var(--u) * 18); }
.mB .b-tick img { width: 100%; height: 100%; }

.mB .b-up { left: calc(var(--u) * 1245); top: calc(var(--u) * 700); font-family: "Funnel Display", var(--font); font-weight: 600; font-size: calc(var(--u) * 24); line-height: 1; letter-spacing: calc(var(--u) * -0.72); text-transform: uppercase; white-space: nowrap; }
.mB .b-mini { left: calc(var(--u) * 1306); top: calc(var(--u) * 643); width: calc(var(--u) * 107); height: calc(var(--u) * 107); object-fit: cover; animation: mB-float 6s ease-in-out infinite; }
.mB .b-count { left: calc(var(--u) * 34.4); top: calc(var(--u) * 750); display: flex; align-items: flex-end; gap: calc(var(--u) * 20); font-family: "Funnel Display", var(--font); font-weight: 600; letter-spacing: calc(var(--u) * -0.42); line-height: 1; }
.mB .b-count i { font-style: normal; font-size: calc(var(--u) * 14); }
.mB .b-count img { width: calc(var(--u) * 41.8); height: 1px; }
.mB .b-count em { font-style: normal; font-size: calc(var(--u) * 28); }
/* ---- acessibilidade: sem movimento contínuo ---- */
@media (prefers-reduced-motion: reduce) {
  .model__screen *, .model__screen *::before, .model__screen *::after { animation: none !important; transition: none !important; }
  html.js .model:not(.is-visible) .m-in, html.js .model:not(.is-visible) .m-fade, html.js .model:not(.is-visible) .mA .a, html.js .model:not(.is-visible) .mB .a { opacity: 1; }
}

/* =========================================================
   ARTE "edge" — motion design vetorial (substitui o vídeo)
   Visitantes passam pela Cloudflare até o site; robôs são barrados.
   ========================================================= */
.edge-art { position: absolute; inset: 0; }
.edge-art svg { display: block; width: 100%; height: 100%; }
.edge-art .ea-shield { transform-box: view-box; transform-origin: 400px 300px; animation: ea-breathe 4s ease-in-out infinite; }
@keyframes ea-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.035); } }
.edge-art .ea-check { stroke-dasharray: 90; animation: ea-check 4s ease-in-out infinite; }
@keyframes ea-check { 0% { stroke-dashoffset: 90; } 25%, 85% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 90; } }
.edge-art .sk { animation: ea-sk 2.4s ease-in-out infinite alternate; }
.edge-art .sk2 { animation-delay: -.8s; } .edge-art .sk3 { animation-delay: -1.6s; }
@keyframes ea-sk { from { opacity: 0.35; } to { opacity: 1; } }
.edge-art .ea-bolt { animation: ea-bolt 2s ease-in-out infinite; }
@keyframes ea-bolt { 0%, 100% { opacity: 0.6; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .edge-art .pk, .edge-art circle[opacity="0"] { display: none; } .edge-art * { animation: none !important; } }
/* arte "manutenção" — painel mensal vetorial (substitui a foto) */
.maint-art .ck path { stroke-dasharray: 30; stroke-dashoffset: 30; animation: ma-ck 10s ease-in-out infinite; animation-delay: calc(var(--i) * 1.3s); }
@keyframes ma-ck { 0% { stroke-dashoffset: 30; } 8%, 84% { stroke-dashoffset: 0; } 94%, 100% { stroke-dashoffset: 30; } }
.maint-art .row rect:first-child { animation: ma-row 10s ease-in-out infinite; animation-delay: calc(var(--i) * 1.3s); }
@keyframes ma-row { 0%, 100% { stroke: rgba(255, 255, 255, 0.1); } 4%, 12% { stroke: rgba(25, 198, 240, 0.6); } 24% { stroke: rgba(255, 255, 255, 0.1); } }
.maint-art .ecg { stroke-dasharray: 22 100; animation: ma-ecg 2.6s linear infinite; }
@keyframes ma-ecg { from { stroke-dashoffset: 22; } to { stroke-dashoffset: -100; } }
.maint-art .gauge { stroke-dasharray: 100; transform: rotate(-90deg); transform-origin: 458px 385px; transform-box: view-box; animation: ma-gauge 8s ease-in-out infinite; }
@keyframes ma-gauge { 0% { stroke-dashoffset: 100; } 40%, 90% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 100; } }
.maint-art .bar { transform-box: view-box; transform-origin: 112px 455px; animation: ma-bar 10s ease-in-out infinite; }
@keyframes ma-bar { 0% { transform: scaleX(0); } 60%, 90% { transform: scaleX(1); } 100% { transform: scaleX(0); } }
.maint-art .blink { animation: ea-bolt 2s ease-in-out infinite; }
.maint-art .scan { animation: ma-scan 10s linear infinite; transform-box: view-box; }
@keyframes ma-scan { 0% { transform: translateY(-250px); opacity: 0; } 8% { opacity: 1; } 60% { opacity: 1; } 70%, 100% { transform: translateY(250px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .maint-art .ck path, .maint-art .gauge { stroke-dashoffset: 0; } .maint-art .bar { transform: none; } .maint-art .scan { display: none; } }