/* ==========================================================================
   Aethereuum Business+ — Site Institucional (motor SiteRender)
   Assinatura visual "profundidade premium": hero escuro com aurora do tema,
   corpo claro disciplinado, tipografia Sora (display) + Instrument Sans
   (texto), motion orquestrado com prefers-reduced-motion respeitado.
   Temas clássicos preservados; os oito modelos também variam a composição.
   ========================================================================== */
:root {
    /* Tipografia */
    --si-display: 'Sora', 'Avenir Next', 'Segoe UI', system-ui, sans-serif;
    --si-corpo: 'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    /* Tema aurora (padrão): violeta profundo → ciano */
    --si-fundo: #f7f6fc; --si-superficie: #ffffff; --si-tinta: #1a1733;
    --si-suave: #5b5a78; --si-borda: #e5e2f2; --si-realce: #efedfa;
    --si-primaria: #5a46e8; --si-primaria-hover: #4a37d4; --si-primaria-tinta: #ffffff;
    --si-hero-a: #120d33; --si-hero-b: #241a57;
    --si-hero-tinta: #f4f2ff; --si-hero-suave: rgba(228, 224, 255, .74);
    --si-hero-borda: rgba(255, 255, 255, .16);
    --si-aurora-1: #7c5cff; --si-aurora-2: #8ef9ff;
    --si-acento: #8ef9ff;
    --si-sombra: 0 1px 2px rgba(18, 13, 51, .05), 0 12px 32px -18px rgba(18, 13, 51, .18);
    --si-sombra-alta: 0 2px 6px rgba(18, 13, 51, .06), 0 22px 44px -20px rgba(18, 13, 51, .28);
    --si-raio: 16px;
    --si-transicao: .55s cubic-bezier(.16, 1, .3, 1);
}
.si-tema-automotivo {
    --si-fundo: #f4f7f2; --si-superficie: #fff; --si-tinta: #182319;
    --si-suave: #49604c; --si-borda: #d7e4d4; --si-realce: #e7f0df;
    --si-primaria: #315f12; --si-primaria-hover: #264a0e; --si-primaria-tinta: #fff;
    --si-hero-a: #090e0b; --si-hero-b: #18341c;
    --si-hero-tinta: #f6fff0; --si-hero-suave: #c6dec0;
    --si-aurora-1: #75bd22; --si-aurora-2: #45b9db; --si-acento: #b2ed65;
    --si-raio: 10px;
}
.si-logo-img { width: 112px; height: 66px; object-fit: contain; display: block; }
.si-commerce-link { padding: .65rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.si-intro { position: relative; background: #090e0b; }
.si-intro video, .si-intro > img { display: block; width: 100%; max-height: 72vh; object-fit: contain; }
.si-intro-pular { position: absolute; right: 1rem; top: 1rem; z-index: 1; }
#si-conteudo { scroll-margin-top: 100px; }
.si-tema-grafite {
    --si-fundo: #f6f7f9; --si-superficie: #ffffff; --si-tinta: #16181d;
    --si-suave: #5a616c; --si-borda: #e3e5ea; --si-realce: #edeff3;
    --si-primaria: #23262e; --si-primaria-hover: #3a3f4b;
    --si-hero-a: #0f1116; --si-hero-b: #21262f;
    --si-hero-tinta: #f2f4f8; --si-hero-suave: rgba(214, 222, 234, .72);
    --si-aurora-1: #6f7f9b; --si-aurora-2: #c3d0e2; --si-acento: #aab8cf;
    --si-sombra: 0 1px 2px rgba(15, 17, 22, .05), 0 12px 32px -18px rgba(15, 17, 22, .18);
    --si-sombra-alta: 0 2px 6px rgba(15, 17, 22, .06), 0 22px 44px -20px rgba(15, 17, 22, .28);
}
.si-tema-esmeralda {
    --si-fundo: #f4faf7; --si-superficie: #ffffff; --si-tinta: #122a22;
    --si-suave: #4d6a5e; --si-borda: #dcebe2; --si-realce: #e8f4ee;
    --si-primaria: #157a5e; --si-primaria-hover: #0f6049;
    --si-hero-a: #06231b; --si-hero-b: #0d3d2f;
    --si-hero-tinta: #edfaf3; --si-hero-suave: rgba(206, 240, 224, .74);
    --si-aurora-1: #2ec98f; --si-aurora-2: #a5f4d3; --si-acento: #7fe6bb;
    --si-sombra: 0 1px 2px rgba(6, 35, 27, .05), 0 12px 32px -18px rgba(6, 35, 27, .18);
    --si-sombra-alta: 0 2px 6px rgba(6, 35, 27, .06), 0 22px 44px -20px rgba(6, 35, 27, .28);
}
.si-tema-oceano {
    --si-fundo: #f4f8fb; --si-superficie: #ffffff; --si-tinta: #10222f;
    --si-suave: #4b6273; --si-borda: #dde8ef; --si-realce: #e7f1f8;
    --si-primaria: #0f5f96; --si-primaria-hover: #0b4b78;
    --si-hero-a: #071c2c; --si-hero-b: #0e3a5c;
    --si-hero-tinta: #edf6fd; --si-hero-suave: rgba(205, 231, 249, .74);
    --si-aurora-1: #2f9fe8; --si-aurora-2: #8fe3ff; --si-acento: #7fd4ff;
    --si-sombra: 0 1px 2px rgba(7, 28, 44, .05), 0 12px 32px -18px rgba(7, 28, 44, .18);
    --si-sombra-alta: 0 2px 6px rgba(7, 28, 44, .06), 0 22px 44px -20px rgba(7, 28, 44, .28);
}
.si-tema-terracota {
    --si-fundo: #faf6f1; --si-superficie: #ffffff; --si-tinta: #2c1a12;
    --si-suave: #6f584b; --si-borda: #ecdfd3; --si-realce: #f6ece2;
    --si-primaria: #b05a36; --si-primaria-hover: #96482a;
    --si-hero-a: #29120a; --si-hero-b: #522612;
    --si-hero-tinta: #fdf3ea; --si-hero-suave: rgba(250, 224, 202, .76);
    --si-aurora-1: #e88b52; --si-aurora-2: #ffd9a3; --si-acento: #ffc487;
    --si-sombra: 0 1px 2px rgba(41, 18, 10, .05), 0 12px 32px -18px rgba(41, 18, 10, .18);
    --si-sombra-alta: 0 2px 6px rgba(41, 18, 10, .06), 0 22px 44px -20px rgba(41, 18, 10, .28);
}

/* ------------------------------------------------------------------ base */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0; background: var(--si-fundo); color: var(--si-tinta);
    font-family: var(--si-corpo); font-size: 1.03rem; line-height: 1.68;
    -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
h1, h2, h3, h4 {
    font-family: var(--si-display); font-weight: 700; line-height: 1.16;
    letter-spacing: -.022em; text-wrap: balance; margin: 0 0 .55em;
}
h2 { font-size: clamp(1.55rem, 3vw, 2.15rem); }
h3 { font-size: 1.14rem; font-weight: 600; letter-spacing: -.012em; }
p { margin: 0 0 14px; }
a { color: var(--si-primaria); }
:focus-visible { outline: 2px solid var(--si-primaria); outline-offset: 3px; border-radius: 4px; }
.si-container { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.si-display { font-size: clamp(2.15rem, 5.2vw, 3.6rem); letter-spacing: -.03em; }

.si-ic { width: 1.15em; height: 1.15em; vertical-align: -.22em; flex: none; }

/* Eyebrow tipográfico (numeração de seção / marca no hero) */
.si-eyebrow {
    display: flex; align-items: center; gap: 14px; margin: 0 0 14px;
    font-family: var(--si-display); font-weight: 600; font-size: .8rem;
    letter-spacing: .18em; text-transform: uppercase; color: var(--si-primaria);
}
.si-eyebrow i { font-style: normal; }
.si-eyebrow::after { content: ''; height: 1px; width: 52px; background: currentColor; opacity: .45; }

/* ------------------------------------------------------------------ topo */
.si-topo {
    position: sticky; top: 0; z-index: 50;
    background: color-mix(in srgb, var(--si-hero-a) 82%, transparent);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--si-hero-borda, rgba(255,255,255,.14));
    transition: background .3s ease;
}
@supports not (background: color-mix(in srgb, red 50%, blue)) {
    .si-topo { background: rgba(10, 10, 24, .86); }
}
.si-topo-in { display: flex; align-items: center; gap: 24px; height: 74px; transition: height .3s ease; }
.si-topo.si-rolou .si-topo-in { height: 60px; }
.si-topo.si-rolou { box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .5); }
.si-logo {
    font-family: var(--si-display); font-size: 1.16rem; font-weight: 700;
    letter-spacing: -.02em; color: var(--si-hero-tinta); text-decoration: none; white-space: nowrap;
}
.si-nav { display: flex; gap: 2px; flex: 1 1 auto; justify-content: center; flex-wrap: wrap; }
.si-nav a {
    color: var(--si-hero-suave); text-decoration: none; font-size: .93rem; font-weight: 500;
    padding: 8px 13px; border-radius: 9px; white-space: nowrap; transition: color .2s, background .2s;
}
.si-nav a:hover { color: var(--si-hero-tinta); background: rgba(255, 255, 255, .08); }
.si-nav a[aria-current="page"] { color: var(--si-acento); }

/* ---- Mega-menu do topo ------------------------------------------------- */
/* Pílula compartilhada que desliza entre os itens (o JS move; sem JS cada
   item acende o próprio fundo no :hover — nunca fica sem retorno visual). */
.si-mm { position: relative; display: flex; align-items: center; list-style: none; margin: 0; padding: 0; gap: 0; flex-wrap: wrap; }
.si-mm-pilula {
    position: absolute; left: 0; top: 50%; height: 34px; width: 0; border-radius: 99px;
    background: rgba(255, 255, 255, .1); opacity: 0; pointer-events: none;
    transform: translate(0, -50%); transition: transform .3s cubic-bezier(.16, 1, .3, 1), width .3s cubic-bezier(.16, 1, .3, 1), opacity .2s ease;
    /* A largura é animada de propósito: com scaleX o raio de 99px virava uma
       elipse achatada (o framer-motion resolve isso com correção inversa de
       escala, que não existe em CSS puro). O custo fica contido — o elemento
       é absoluto, está fora do fluxo e `contain` isola o recálculo nele. */
    will-change: transform, width; contain: layout style;
}
.si-mm-item { position: relative; display: flex; align-items: center; }
.si-mm-btn {
    display: inline-flex; align-items: center; gap: 5px; position: relative; z-index: 1;
    color: var(--si-hero-suave); text-decoration: none; font-size: .93rem; font-weight: 500;
    padding: 8px 13px; border-radius: 99px; white-space: nowrap; transition: color .25s ease;
}
.si-mm-btn:hover, .si-mm-item:focus-within > .si-mm-btn { color: var(--si-hero-tinta); background: transparent; }
.si-mm-btn[aria-current="page"] { color: var(--si-acento); }
.si-mm-chev { width: 15px; height: 15px; transition: transform .3s ease; }
.si-mm-item:hover > .si-mm-btn .si-mm-chev,
.si-mm-item:focus-within > .si-mm-btn .si-mm-chev { transform: rotate(180deg); }
.si-mm-toggle { display: none; }
/* Painel: abre no hover E no foco (teclado) — funciona sem JavaScript. */
.si-mm-painel {
    position: absolute; left: 0; top: 100%; padding-top: 10px; z-index: 30;
    opacity: 0; visibility: hidden; transform: translateY(-6px);
    transition: opacity .22s ease, transform .28s cubic-bezier(.16, 1, .3, 1), visibility .22s;
}
.si-mm-tem:hover > .si-mm-painel, .si-mm-tem:focus-within > .si-mm-painel {
    opacity: 1; visibility: visible; transform: none;
}
.si-mm-cols {
    display: flex; gap: 34px; width: max-content; max-width: min(88vw, 720px);
    background: var(--si-hero-a); border: 1px solid var(--si-hero-borda); border-radius: 16px;
    padding: 20px 22px; box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .7);
}
.si-mm-col h3 {
    margin: 0 0 14px; font-family: var(--si-corpo); font-size: .78rem; font-weight: 500;
    letter-spacing: .04em; text-transform: uppercase; color: var(--si-hero-suave);
}
.si-mm-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.si-mm-link { display: flex; align-items: flex-start; gap: 12px; text-decoration: none; padding: 0; background: none; }
.si-mm-ic {
    display: flex; align-items: center; justify-content: center; flex: 0 0 auto;
    width: 36px; height: 36px; border-radius: 9px; border: 1px solid rgba(255, 255, 255, .3);
    color: var(--si-hero-tinta); transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.si-mm-link:hover .si-mm-ic { background: var(--si-hero-tinta); color: var(--si-hero-a); border-color: var(--si-hero-tinta); }
.si-mm-txt { display: flex; flex-direction: column; gap: 2px; line-height: 1.32; min-width: 0; }
.si-mm-txt strong { font-size: .9rem; font-weight: 500; color: var(--si-hero-tinta); }
.si-mm-txt span { font-size: .78rem; color: var(--si-hero-suave); transition: color .25s ease; }
.si-mm-link:hover .si-mm-txt span { color: var(--si-hero-tinta); }
@media (prefers-reduced-motion: reduce) {
    .si-mm-pilula, .si-mm-painel, .si-mm-chev, .si-mm-ic { transition: none; }
}
.si-topo-acoes { display: flex; align-items: center; gap: 10px; }

/* ---------------------------------------------------------------- botões */
.si-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 9px;
    padding: 12px 24px; border-radius: 12px; text-decoration: none;
    font-family: var(--si-corpo); font-weight: 500; font-size: .97rem; letter-spacing: .005em;
    border: 1px solid transparent; cursor: pointer;
    transition: transform .2s ease, box-shadow .25s ease, background .2s ease, border-color .2s ease;
}
.si-btn:hover { transform: translateY(-1px); }
.si-btn:active { transform: translateY(0); }
.si-btn-cta { background: var(--si-primaria); color: var(--si-primaria-tinta); box-shadow: var(--si-sombra); }
.si-btn-cta:hover { background: var(--si-primaria-hover); box-shadow: var(--si-sombra-alta); }
.si-btn-ghost { border-color: var(--si-borda); color: var(--si-tinta); background: var(--si-superficie); }
.si-btn-ghost:hover { border-color: var(--si-primaria); color: var(--si-primaria); }
.si-btn-hero-ghost { border-color: var(--si-hero-borda); color: var(--si-hero-tinta); background: rgba(255, 255, 255, .06); }
.si-btn-hero-ghost:hover { border-color: var(--si-acento); background: rgba(255, 255, 255, .1); }
.si-btn-claro { background: var(--si-hero-tinta); color: var(--si-hero-a); }
.si-btn-claro:hover { box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .5); }
.si-btn-lg { padding: 15px 30px; font-size: 1.03rem; border-radius: 14px; }
.si-link {
    display: inline-flex; align-items: center; gap: 7px;
    font-weight: 500; text-decoration: none; color: var(--si-primaria);
}
.si-link .si-ic { transition: transform .25s ease; }
.si-link:hover .si-ic { transform: translateX(3px); }
.si-acoes { display: flex; gap: 12px; flex-wrap: wrap; }

/* ------------------------------------------------------- menu mobile */
.si-menu-btn {
    display: none; flex-direction: column; gap: 4px; background: none;
    border: 1px solid var(--si-hero-borda); border-radius: 9px; padding: 11px 10px; cursor: pointer;
}
.si-menu-btn span { width: 18px; height: 2px; border-radius: 2px; background: var(--si-hero-tinta); display: block; transition: transform .25s ease, opacity .2s ease; }
.si-menu-btn[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.si-menu-btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.si-menu-btn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
@media (max-width: 940px) {
    .si-menu-btn { display: flex; }
    .si-nav {
        display: none; position: absolute; top: 100%; left: 0; right: 0;
        background: var(--si-hero-a); border-bottom: 1px solid var(--si-hero-borda);
        flex-direction: column; align-items: stretch; padding: 12px 18px 18px; gap: 2px;
    }
    .si-nav.aberto { display: flex; }
    .si-nav a { padding: 12px 14px; font-size: 1rem; }
    /* Mega-menu no celular: vira lista empilhada. Sem JS os painéis já vêm
       abertos (tudo navegável); com JS (.si-mm-js) viram sanfona. */
    .si-mm { flex-direction: column; align-items: stretch; width: 100%; }
    .si-mm-pilula { display: none; }
    .si-mm-item { flex-direction: column; align-items: stretch; }
    .si-mm-btn { font-size: 1rem; padding: 12px 14px; justify-content: space-between; }
    .si-mm-btn .si-mm-chev { display: none; }
    .si-mm-tem { position: relative; }
    .si-mm-toggle {
        display: flex; align-items: center; justify-content: center;
        position: absolute; right: 6px; top: 4px; width: 40px; height: 40px; z-index: 2;
        border: 0; background: none; color: var(--si-hero-suave); cursor: pointer;
    }
    /* O link do item não pode cobrir o botão da sanfona (ele tem z-index 1). */
    .si-mm-tem > .si-mm-btn { padding-right: 52px; }
    .si-mm-toggle .si-mm-chev { width: 18px; height: 18px; }
    .si-mm-painel {
        position: static; padding: 0 0 6px 12px; opacity: 1; visibility: visible; transform: none;
    }
    .si-mm-cols {
        flex-direction: column; gap: 18px; width: auto; max-width: none;
        background: transparent; border: 0; box-shadow: none; padding: 4px 0 8px;
    }
    .si-mm-col ul { gap: 14px; }
    /* Só com JS a sanfona fecha por padrão. */
    .si-mm-js .si-mm-tem > .si-mm-painel { display: none; }
    .si-mm-js .si-mm-tem.si-mm-aberto > .si-mm-painel { display: block; }
    .si-mm-js .si-mm-aberto > .si-mm-toggle .si-mm-chev { transform: rotate(180deg); }
    .si-topo-in { justify-content: space-between; }
    .si-topo-acoes .si-btn { padding: 10px 15px; font-size: .9rem; }
}

/* ------------------------------------------------------------------ hero */
.si-hero {
    position: relative; overflow: hidden; isolation: isolate;
    /* Header sticky sobrepõe — margem negativa "cola" o gradiente no topo. */
    margin-top: -74px; padding: calc(74px + clamp(72px, 11vw, 128px)) 0 clamp(72px, 10vw, 116px);
    background:
        radial-gradient(120% 90% at 85% -10%, color-mix(in srgb, var(--si-aurora-1) 34%, transparent), transparent 60%),
        linear-gradient(160deg, var(--si-hero-a), var(--si-hero-b));
    color: var(--si-hero-tinta); text-align: center;
}
.si-aurora {
    position: absolute; inset: -10%; width: 120%; height: 120%; z-index: -1;
    filter: blur(52px) saturate(1.15); opacity: .5; pointer-events: none;
}
.si-hero-in { position: relative; max-width: 880px; }
.si-hero-marca { justify-content: center; color: var(--si-acento); }
.si-hero-marca::before { content: ''; height: 1px; width: 52px; background: currentColor; opacity: .45; }
.si-hero .si-display { margin: 0 auto 18px; max-width: 18ch; color: var(--si-hero-tinta); }
.si-hero-desc { font-size: clamp(1.04rem, 2vw, 1.2rem); color: var(--si-hero-suave); max-width: 56ch; margin: 0 auto 10px; }
.si-hero-acoes { justify-content: center; margin-top: 30px; }
.si-hero-prova {
    display: flex; gap: 12px 30px; justify-content: center; flex-wrap: wrap;
    margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--si-hero-borda);
    color: var(--si-hero-suave); font-size: .93rem; font-weight: 500;
}
.si-prova-item { display: inline-flex; align-items: center; gap: 9px; }
.si-prova-item .si-ic { color: var(--si-acento); }
.si-estrelas { display: inline-flex; gap: 2px; color: var(--si-acento); }
.si-estrela { width: .95em; height: .95em; }

/* Hero interno (subpáginas): faixa escura menor, breadcrumb tipográfico */
.si-hero-int {
    margin-top: -74px; padding: calc(74px + clamp(44px, 7vw, 72px)) 0 clamp(36px, 6vw, 60px);
    background:
        radial-gradient(110% 130% at 90% -30%, color-mix(in srgb, var(--si-aurora-1) 26%, transparent), transparent 58%),
        linear-gradient(160deg, var(--si-hero-a), var(--si-hero-b));
    color: var(--si-hero-tinta);
}
.si-hero-int .si-display { margin: 0; font-size: clamp(1.8rem, 4vw, 2.7rem); color: var(--si-hero-tinta); }
.si-breadcrumb {
    display: flex; align-items: center; gap: 10px; margin-bottom: 16px;
    font-family: var(--si-display); font-weight: 600; font-size: .78rem;
    letter-spacing: .16em; text-transform: uppercase; color: var(--si-hero-suave);
}
.si-breadcrumb a { color: inherit; text-decoration: none; }
.si-breadcrumb a:hover { color: var(--si-acento); }
.si-breadcrumb .si-bc-sep { opacity: .5; }
.si-breadcrumb span:last-child { color: var(--si-acento); }

/* ---------------------------------------------------------------- seções */
.si-secao { padding: clamp(60px, 8vw, 96px) 0; }
.si-secao-alt { background: var(--si-superficie); border-block: 1px solid var(--si-borda); }
.si-sec-cab { max-width: 640px; margin-bottom: clamp(28px, 4vw, 44px); }
.si-sec-sub { color: var(--si-suave); font-size: 1.05rem; margin: 0; }
.si-h-secao { margin-top: clamp(38px, 5vw, 56px); }
.si-pagina { padding-top: clamp(44px, 6vw, 64px); padding-bottom: clamp(56px, 8vw, 88px); }

/* ---------------------------------------------------------------- cards */
.si-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(264px, 1fr)); gap: 18px; }
.si-card {
    position: relative; background: var(--si-superficie);
    border: 1px solid var(--si-borda); border-radius: var(--si-raio);
    padding: 26px 24px; box-shadow: var(--si-sombra);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.si-card:hover { transform: translateY(-4px); box-shadow: var(--si-sombra-alta); border-color: color-mix(in srgb, var(--si-primaria) 45%, var(--si-borda)); }
.si-card-ic {
    display: inline-flex; align-items: center; justify-content: center;
    width: 46px; height: 46px; margin-bottom: 16px; border-radius: 13px;
    background: var(--si-realce); color: var(--si-primaria);
}
.si-card-ic .si-ic { width: 22px; height: 22px; }
.si-card-meta { display: flex; align-items: center; gap: 8px; color: var(--si-suave); font-size: .93rem; margin: 0 0 10px; }
.si-card-meta .si-ic { width: 1em; height: 1em; }
.si-card-meta strong { color: var(--si-tinta); font-variant-numeric: tabular-nums; }
.si-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--si-borda); }
.si-card-preco { font-family: var(--si-display); font-weight: 600; font-size: 1.12rem; font-variant-numeric: tabular-nums; margin-bottom: 10px; }
.si-ver-todos { margin-top: 26px; }

/* Sobre resumido (home) */
.si-sobre-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.si-sobre-trecho { font-size: 1.1rem; line-height: 1.75; color: var(--si-suave); }
@media (max-width: 800px) { .si-sobre-grid { grid-template-columns: 1fr; } }

/* Como funciona (passos numerados) */
.si-passos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; counter-reset: passo; }
.si-passo { position: relative; background: var(--si-superficie); border: 1px solid var(--si-borda); border-radius: var(--si-raio); padding: 28px 24px 24px; box-shadow: var(--si-sombra); }
/* Número do passo em cor SÓLIDA, de propósito. Antes usava background-clip:text
   com color:transparent, que some por completo em modo de alto contraste
   (forced-colors) — e aqui o número é conteúdo, não enfeite. Esse efeito também
   é dos traços mais reconhecíveis de página feita por IA, e estes sites saem
   com a marca do cliente. */
.si-passo-n {
    display: block; font-family: var(--si-display); font-weight: 700; font-size: 2rem;
    letter-spacing: -.03em; margin-bottom: 10px;
    color: var(--si-primaria);
}
.si-passo p { color: var(--si-suave); margin: 0; font-size: .97rem; }
@media (max-width: 800px) { .si-passos { grid-template-columns: 1fr; } }

/* Depoimentos */
.si-depos { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.si-depo {
    position: relative; margin: 0; background: var(--si-superficie);
    border: 1px solid var(--si-borda); border-radius: var(--si-raio);
    padding: 30px 28px 24px; box-shadow: var(--si-sombra);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.si-depo:hover { transform: translateY(-4px); box-shadow: var(--si-sombra-alta); border-color: color-mix(in srgb, var(--si-primaria) 45%, var(--si-borda)); }
.si-depo-aspas { position: absolute; top: 18px; right: 20px; color: var(--si-realce); }
.si-depo-aspas .si-ic { width: 44px; height: 44px; stroke: none; fill: color-mix(in srgb, var(--si-primaria) 22%, var(--si-realce)); }
.si-depo .si-estrelas { color: var(--si-primaria); margin-bottom: 12px; }
.si-depo blockquote { margin: 0 0 14px; }
.si-depo blockquote p { font-size: 1.05rem; line-height: 1.7; margin: 0; }
.si-depo figcaption { font-weight: 500; color: var(--si-suave); font-size: .93rem; }
.si-depo figcaption::before { content: '— '; }

/* Equipe (retratos) */
.si-equipe { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.si-pessoa {
    text-align: center; background: var(--si-superficie); border: 1px solid var(--si-borda);
    border-radius: var(--si-raio); padding: 34px 24px 28px; box-shadow: var(--si-sombra);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.si-pessoa:hover { transform: translateY(-4px); box-shadow: var(--si-sombra-alta); border-color: color-mix(in srgb, var(--si-primaria) 45%, var(--si-borda)); }
.si-avatar {
    display: inline-flex; align-items: center; justify-content: center;
    width: 84px; height: 84px; border-radius: 50%; margin-bottom: 16px;
    background: linear-gradient(150deg, var(--si-hero-a), var(--si-hero-b));
    color: var(--si-acento); font-family: var(--si-display); font-size: 2rem; font-weight: 700;
    border: 2px solid color-mix(in srgb, var(--si-acento) 40%, transparent);
}
.si-pessoa-cargo {
    font-family: var(--si-display); font-weight: 600; font-size: .76rem;
    letter-spacing: .14em; text-transform: uppercase; color: var(--si-primaria); margin-bottom: 10px;
}
.si-pessoa-bio { color: var(--si-suave); font-size: .96rem; margin: 0; }

/* Badges (convênios / credenciais) */
.si-badges { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.si-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--si-superficie); border: 1px solid var(--si-borda); border-radius: 999px;
    padding: 9px 18px; font-weight: 500; font-size: .95rem; box-shadow: var(--si-sombra);
}
.si-badge .si-ic { color: var(--si-primaria); }
.si-badges-lg .si-badge { padding: 12px 22px; font-size: 1rem; }
.si-nota { color: var(--si-suave); font-size: .93rem; margin-top: 18px; }

/* Galeria */
.si-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.si-galeria-item { margin: 0; overflow: hidden; border-radius: var(--si-raio); box-shadow: var(--si-sombra); }
.si-galeria-item img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; transition: transform .5s ease; }
.si-galeria-item:hover img { transform: scale(1.04); }

/* Timeline (Nossa história) */
.si-timeline { list-style: none; margin: 0; padding: 6px 0 6px 6px; position: relative; }
.si-timeline::before {
    content: ''; position: absolute; left: 12px; top: 8px; bottom: 8px; width: 2px;
    background: linear-gradient(180deg, var(--si-primaria), color-mix(in srgb, var(--si-aurora-2) 60%, var(--si-primaria)));
    border-radius: 2px; opacity: .5;
}
.si-tl-item { position: relative; padding: 0 0 26px 40px; }
.si-tl-item:last-child { padding-bottom: 6px; }
.si-tl-ponto {
    position: absolute; left: 6px; top: 7px; width: 14px; height: 14px; border-radius: 50%;
    background: var(--si-fundo); border: 3px solid var(--si-primaria);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--si-primaria) 14%, transparent);
}
.si-tl-item p { margin: 0; max-width: 62ch; }

/* Prosa (sobre / legais) */
.si-prosa { max-width: 68ch; }
.si-prosa p { font-size: 1.05rem; line-height: 1.78; }

/* FAQ — acordeão animado (grid-template-rows). Sem JS: aberto (fail open). */
.si-faq { max-width: 780px; }
.si-faq-item {
    background: var(--si-superficie); border: 1px solid var(--si-borda);
    border-radius: 14px; margin-bottom: 12px; overflow: hidden;
    transition: border-color .25s ease, box-shadow .25s ease;
}
.si-faq-item.aberto { border-color: color-mix(in srgb, var(--si-primaria) 45%, var(--si-borda)); box-shadow: var(--si-sombra); }
.si-faq-q {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    width: 100%; background: none; border: 0; cursor: pointer; text-align: left;
    font: inherit; font-weight: 500; color: var(--si-tinta); padding: 17px 20px;
}
.si-faq-chev { color: var(--si-primaria); transition: transform .3s ease; }
.si-faq-item.aberto .si-faq-chev { transform: rotate(180deg); }
.si-faq-r { display: grid; grid-template-rows: 1fr; }
.si-js .si-faq-r { grid-template-rows: 0fr; transition: grid-template-rows .35s cubic-bezier(.16, 1, .3, 1); }
.si-js .si-faq-item.aberto .si-faq-r { grid-template-rows: 1fr; }
.si-faq-r-in { overflow: hidden; }
.si-faq-r-in p { color: var(--si-suave); margin: 0; padding: 0 20px 18px; }

/* Contato */
.si-contato-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 5vw, 56px); align-items: start; }
@media (max-width: 860px) { .si-contato-grid { grid-template-columns: 1fr; } }
.si-canais { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin: 18px 0 8px; }
.si-contato-card {
    background: var(--si-superficie); border: 1px solid var(--si-borda);
    border-radius: var(--si-raio); padding: 28px 26px; box-shadow: var(--si-sombra);
}
.si-contato-card p { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.si-contato-card .si-ic { color: var(--si-primaria); margin-top: .18em; }
.si-mapa { display: block; width: 100%; height: clamp(240px, 30vw, 360px); margin: 18px 0; border: 0; border-radius: var(--si-raio); }
.si-form-titulo { margin-top: 34px; }
.si-form { display: grid; gap: 14px; max-width: 520px; margin-top: 12px; }
.si-form label { display: grid; gap: 6px; font-weight: 500; font-size: .93rem; }
.si-form input, .si-form textarea {
    width: 100%; box-sizing: border-box; padding: 12px 14px;
    border: 1px solid var(--si-borda); border-radius: 12px; font: inherit;
    background: var(--si-superficie); color: var(--si-tinta);
    transition: border-color .2s ease, box-shadow .2s ease;
}
.si-form input:focus, .si-form textarea:focus {
    outline: none; border-color: var(--si-primaria);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--si-primaria) 18%, transparent);
}
.si-form button { justify-self: start; font: inherit; font-weight: 500; }

/* CTA (painel escuro com o gradiente do tema) */
.si-cta-marg { margin-top: clamp(44px, 6vw, 64px); }
.si-cta-painel {
    position: relative; overflow: hidden; text-align: center;
    border-radius: calc(var(--si-raio) + 8px); padding: clamp(40px, 6vw, 64px) 28px;
    background:
        radial-gradient(90% 120% at 15% 0%, color-mix(in srgb, var(--si-aurora-1) 38%, transparent), transparent 55%),
        radial-gradient(80% 110% at 90% 110%, color-mix(in srgb, var(--si-aurora-2) 22%, transparent), transparent 60%),
        linear-gradient(150deg, var(--si-hero-a), var(--si-hero-b));
    color: var(--si-hero-tinta); box-shadow: var(--si-sombra-alta);
}
.si-cta-titulo { color: inherit; font-size: clamp(1.5rem, 3vw, 2rem); }
.si-cta-painel > p { color: var(--si-hero-suave); max-width: 46ch; margin: 0 auto 26px; }
.si-cta-painel .si-acoes { justify-content: center; }

/* WhatsApp flutuante (pulso discreto) */
.si-wa-flutuante {
    position: fixed; right: 20px; bottom: 20px; z-index: 60;
    width: 56px; height: 56px; border-radius: 50%;
    background: #22c15e; color: #fff;
    display: flex; align-items: center; justify-content: center;
    text-decoration: none; box-shadow: 0 10px 26px -8px rgba(18, 140, 70, .6);
    transition: transform .25s ease, box-shadow .25s ease;
}
.si-wa-flutuante .si-ic { width: 26px; height: 26px; }
.si-wa-flutuante::before {
    content: ''; position: absolute; inset: 0; border-radius: 50%;
    border: 2px solid #22c15e; animation: si-pulso 2.6s ease-out infinite;
}
.si-wa-flutuante:hover { transform: scale(1.07); box-shadow: 0 14px 32px -8px rgba(18, 140, 70, .7); }
@keyframes si-pulso {
    0% { transform: scale(1); opacity: .7; }
    70%, 100% { transform: scale(1.55); opacity: 0; }
}

/* ---------------------------------------------------------------- rodapé */
.si-rodape {
    margin-top: clamp(56px, 8vw, 88px);
    background: linear-gradient(170deg, var(--si-hero-a), var(--si-hero-b));
    color: var(--si-hero-suave); padding: clamp(48px, 6vw, 72px) 0 28px;
}
.si-rodape-grid {
    display: grid; grid-template-columns: minmax(220px, 1.4fr) repeat(auto-fit, minmax(160px, 1fr));
    gap: 36px 44px;
}
@media (max-width: 720px) { .si-rodape-grid { grid-template-columns: 1fr; gap: 30px; } }
.si-rodape-nome { display: block; font-family: var(--si-display); font-weight: 700; font-size: 1.2rem; color: var(--si-hero-tinta); margin-bottom: 10px; }
.si-rodape p { font-size: .94rem; margin: 0 0 8px; display: flex; align-items: flex-start; gap: 9px; }
.si-rodape p .si-ic { color: var(--si-acento); margin-top: .18em; }
.si-rodape a { color: inherit; text-decoration: none; transition: color .2s ease; }
.si-rodape a:hover { color: var(--si-hero-tinta); }
.si-rodape-col h4 {
    font-family: var(--si-display); font-weight: 600; font-size: .76rem;
    letter-spacing: .16em; text-transform: uppercase; color: var(--si-acento); margin: 0 0 14px;
}
.si-rodape-nav { display: block; }
.si-rodape-nav a { display: block; padding: 4px 0; font-size: .94rem; }
.si-rodape-nav a[aria-current="page"] { color: var(--si-hero-tinta); }
.si-rodape-social { display: flex; gap: 10px; margin-top: 14px; }
.si-rodape-social a {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 11px; border: 1px solid var(--si-hero-borda);
    transition: border-color .2s ease, color .2s ease;
}
.si-rodape-social a:hover { border-color: var(--si-acento); color: var(--si-acento); }
.si-rodape-base {
    display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap;
    border-top: 1px solid var(--si-hero-borda); margin-top: 40px; padding-top: 20px; font-size: .87rem;
}
.si-rodape-legais { display: flex; gap: 16px; flex-wrap: wrap; }
.si-selo { display: inline-flex; align-items: center; gap: 7px; opacity: .8; }
.si-selo .si-ic { color: var(--si-acento); }

/* ---------------------------------------------------------------- motion */
/* Reveal on scroll: só esconde quando o JS está presente (fail open). */
.si-js [data-rvl] { opacity: 0; transform: translateY(18px); transition: opacity var(--si-transicao), transform var(--si-transicao); }
.si-js [data-rvl].si-vis { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .si-js [data-rvl] { opacity: 1; transform: none; }
    .si-wa-flutuante::before { display: none; }
}

/* Automotivo: fotografia real e hierarquia editorial; mesmo motor e dados do painel. */
.si-tema-automotivo { --si-fundo:#fff; --si-realce:#eef1f3; --si-tinta:#20292d; --si-suave:#52616a; --si-borda:#dce2e5; --si-primaria:#176448; --si-primaria-hover:#104a35; --si-acento:#b8dec9; --si-hero-a:#20292d; --si-hero-b:#20292d; --si-display:'Segoe UI',system-ui,sans-serif; --si-corpo:'Segoe UI',system-ui,sans-serif; --si-raio:8px; }
.si-tema-automotivo .si-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); max-width:1320px; margin:32px auto 0; padding:0; background:#eef1f3; border-radius:12px; overflow:hidden; text-align:left; }
.si-tema-automotivo .si-hero::before,.si-tema-automotivo .si-hero::after { display:none; }
.si-tema-automotivo .si-hero-in { padding:clamp(28px,5vw,76px); margin:0; align-self:center; width:100%; }
.si-tema-automotivo .si-hero .si-display { font-size:clamp(2.6rem,5.6vw,5.1rem); line-height:1.02; letter-spacing:-.055em; color:#20292d; margin:0 0 28px; max-width:12ch; font-weight:750; }
.si-tema-automotivo .si-hero-desc { color:#52616a; margin:0 0 30px; max-width:40ch; font-size:1.1rem; }
.si-tema-automotivo .si-hero-marca { color:#176448; text-transform:none; letter-spacing:0; justify-content:flex-start; font-size:1rem; }
.si-tema-automotivo .si-hero-marca::after { display:none; }
.si-tema-automotivo .si-hero-acoes { justify-content:flex-start; }
.si-tema-automotivo .si-hero-visual,.si-tema-automotivo .si-hero-visual .si-intro { height:100%; min-height:560px; }
.si-tema-automotivo .si-hero-visual img,.si-tema-automotivo .si-hero-visual video { width:100%; height:100%; max-height:650px; object-fit:cover; }
.si-tema-automotivo .si-hero-visual .si-intro-pular { top:auto; bottom:20px; }
.si-tema-automotivo .si-hero-visual .si-intro:not(:has(video)) .si-intro-pular { display:none; }
.si-tema-automotivo .si-btn { border-radius:6px; box-shadow:none; }
.si-tema-automotivo .si-hero .si-btn-hero-ghost { color:#176448; border-color:#176448; }
.si-tema-automotivo .si-secao { padding:64px 0; }
.si-tema-automotivo .si-sec-cab .si-eyebrow { display:none; }
.si-tema-automotivo .si-card { box-shadow:none; border:1px solid #dce2e5; padding:28px; }
.si-tema-automotivo .si-servico { border-width:0 0 1px; border-radius:0; background:transparent; }
.si-tema-automotivo .si-servico-desc { color:var(--si-suave); line-height:1.7; }
.si-tema-automotivo .si-card h3 { font-size:1.4rem; }
.si-tema-automotivo .si-galeria { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.si-tema-automotivo .si-galeria-item { aspect-ratio:3/4; border-radius:8px; }
.si-tema-automotivo .si-galeria-item img { height:100%; width:100%; object-fit:cover; }
.si-tema-automotivo .si-cta-painel,.si-tema-automotivo .si-rodape { background:#20292d; }
.si-tema-automotivo .si-wa-flutuante::before { display:none; }
.si-tema-automotivo [data-rvl] { opacity:1; transform:none; }
@media(max-width:800px) { .si-tema-automotivo .si-hero { grid-template-columns:1fr; margin:16px; } .si-tema-automotivo .si-hero-visual,.si-tema-automotivo .si-hero-visual .si-intro { min-height:0; height:340px; } .si-tema-automotivo .si-hero-visual img { height:340px; object-position:center 35%; } .si-tema-automotivo .si-hero .si-display { max-width:15ch; } .si-tema-automotivo .si-galeria { gap:10px; } .si-tema-automotivo .si-secao { padding:40px 0; } }

.si-tema-automotivo { font-family:'Segoe UI',system-ui,sans-serif; }
.si-tema-automotivo .si-hero-marca::before { display:none; }
.si-tema-automotivo .si-topo { background:#20292d; }
.si-tema-automotivo .si-topo-in { gap:16px; height:auto; min-height:82px; }
.si-tema-automotivo .si-topo-acoes .si-btn { white-space:nowrap; font-size:.88rem; padding:12px 16px; }
.si-tema-automotivo .si-nav { font-size:.88rem; gap:10px; }
.si-tema-automotivo .si-commerce-link { padding:.4rem; }
/* Galeria por cadastro: fotos acessíveis e vídeo com controles nativos. */
.si-item-midia{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin:16px 0}.si-item-midia img,.si-item-midia video{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:8px}.si-item-midia video{grid-column:1/-1}

/* Modelos neutros: fontes nativas, conteúdo do cadastro e detalhes progressivos. */
.si-pular{position:fixed;top:8px;left:8px;z-index:200;transform:translateY(-150%);padding:10px 18px;background:#fff;color:#14224f;border:2px solid currentColor;border-radius:8px}.si-pular:focus{transform:none}
.si-demo{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:12px 24px;background:#fff7d6;color:#433812;border-bottom:1px solid #d4bd76;font-size:.9rem}.si-demo a{color:inherit;font-weight:700}
.si-modelo{--si-display:'Segoe UI',system-ui,sans-serif;--si-corpo:'Segoe UI',system-ui,sans-serif;--si-superficie:#fff;--si-fundo:#fff;--si-hero-tinta:#fff;--si-hero-suave:#e4ecf1;--si-hero-borda:#73818f;--si-sombra:0 8px 32px -20px #10222f66;--si-sombra-alta:0 18px 40px -24px #10222f88;overflow-wrap:anywhere}
.si-modelo-energia{--si-tinta:#102d37;--si-suave:#4d626a;--si-borda:#d7e9e4;--si-realce:#e3f4ed;--si-primaria:#087c68;--si-primaria-hover:#066454;--si-hero-a:#102d37;--si-hero-b:#164b49;--si-acento:#6dedc7;--si-raio:10px}
.si-modelo-atelier{--si-tinta:#153b5f;--si-suave:#526474;--si-borda:#e4e4de;--si-realce:#f7f5f1;--si-primaria:#ab4e28;--si-primaria-hover:#863b1e;--si-hero-a:#153b5f;--si-hero-b:#153b5f;--si-acento:#ffc4a1;--si-raio:2px}
.si-modelo-precisao{--si-tinta:#14344b;--si-suave:#506675;--si-borda:#dce4e9;--si-realce:#f7f8fa;--si-primaria:#75550e;--si-primaria-hover:#59400b;--si-hero-a:#14344b;--si-hero-b:#102537;--si-acento:#f4d274;--si-raio:4px}
.si-modelo-corporativo{--si-tinta:#092c48;--si-suave:#506779;--si-borda:#dce9ef;--si-realce:#f3f7fa;--si-primaria:#1466c5;--si-primaria-hover:#104f98;--si-hero-a:#092c48;--si-hero-b:#073652;--si-acento:#9ad8ff;--si-raio:4px}
.si-modelo-tecnologia{--si-tinta:#14224f;--si-suave:#556284;--si-borda:#dce1f4;--si-realce:#f5f7ff;--si-primaria:#4059bc;--si-primaria-hover:#304395;--si-hero-a:#14224f;--si-hero-b:#25355f;--si-acento:#b9cbff;--si-raio:20px}
.si-modelo-beneficios{--si-tinta:#402d58;--si-suave:#705d7d;--si-borda:#eadfe7;--si-realce:#fff8ee;--si-primaria:#ab2c59;--si-primaria-hover:#842044;--si-hero-a:#402d58;--si-hero-b:#552549;--si-acento:#ffdd8c;--si-raio:24px}
.si-modelo-industrial{--si-tinta:#242821;--si-suave:#626659;--si-borda:#e2e3d8;--si-realce:#faf9f1;--si-primaria:#6b5b07;--si-primaria-hover:#504405;--si-hero-a:#242821;--si-hero-b:#242821;--si-acento:#e5ce63;--si-raio:0px}
.si-modelo-servicos{--si-tinta:#153c58;--si-suave:#526d77;--si-borda:#d9e9df;--si-realce:#f5fbf7;--si-primaria:#166a50;--si-primaria-hover:#10533e;--si-hero-a:#153c58;--si-hero-b:#1b504a;--si-acento:#b8eaca;--si-raio:24px}
.si-modelo .si-logo{max-width:230px;white-space:normal;line-height:1.2;overflow-wrap:anywhere}.si-modelo .si-nav{min-width:0}.si-modelo .si-topo-in{height:auto;min-height:74px;padding-top:10px;padding-bottom:10px}.si-modelo .si-topo.si-rolou .si-topo-in{height:auto;min-height:60px}
.si-hero-modelo{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(24px,5vw,72px);align-items:center;margin:0;padding:clamp(48px,7vw,100px) max(24px,calc((100vw - 1160px)/2));text-align:left;background:linear-gradient(135deg,var(--si-hero-a),var(--si-hero-b))}
.si-hero-modelo .si-hero-in{width:100%;max-width:none;padding:0;margin:0}.si-hero-modelo .si-display{margin-left:0;font-size:clamp(2.2rem,4.8vw,4.2rem);max-width:16ch}.si-hero-modelo .si-hero-marca{justify-content:flex-start;letter-spacing:.12em}.si-hero-modelo .si-hero-marca::before{display:none}.si-hero-modelo .si-hero-desc{margin-left:0;max-width:48ch}.si-hero-modelo .si-hero-acoes{justify-content:flex-start}
.si-hero-modelo-visual{position:relative;min-width:0}.si-modelo-visual{position:relative;padding:20px;border:1px solid var(--si-hero-borda);border-radius:var(--si-raio);background:#ffffff10;box-shadow:0 24px 70px -30px #0009}.si-modelo-visual>span{display:block;text-align:center;font-size:.85rem;margin-top:14px;color:inherit}.si-modelo-mini{display:block;width:100%;height:auto}.si-hero-modelo-visual .si-intro{border-radius:var(--si-raio);overflow:hidden}.si-hero-modelo-visual .si-intro video,.si-hero-modelo-visual .si-intro>img{width:100%;height:auto;max-height:560px;object-fit:cover}
.si-entradas{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1px;margin-top:-20px;z-index:1}.si-entradas a{display:flex;align-items:center;gap:12px;padding:22px;background:var(--si-superficie);color:var(--si-tinta);text-decoration:none;border:1px solid var(--si-borda)}.si-entradas a>span{font-size:.85rem;color:var(--si-primaria)}.si-entradas a>svg{margin-left:auto}.si-entradas a:hover{background:var(--si-realce)}
.si-modelo-secao{padding:clamp(44px,7vw,84px) 0}.si-modelo-secao:nth-of-type(even){background:var(--si-realce)}.si-modelo-secao .si-sec-cab{max-width:720px}.si-modelo-secao .si-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.si-modelo .si-depos,.si-modelo .si-equipe,.si-modelo .si-galeria{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.si-modelo-diagrama{display:grid;place-items:center;min-height:180px;border-radius:var(--si-raio);background:var(--si-realce);border:1px solid var(--si-borda);color:var(--si-primaria)}.si-modelo-diagrama svg{width:80px;height:80px}.si-imagem-vazia{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;min-height:210px;border:1px dashed var(--si-borda);border-radius:var(--si-raio);background:var(--si-superficie);color:var(--si-suave)}.si-imagem-vazia svg{width:40px;height:40px}
.si-modelo-faq{border-bottom:1px solid var(--si-borda);padding:18px 0}.si-modelo-faq summary{cursor:pointer;font-weight:650;color:var(--si-tinta)}.si-modelo-faq p{margin:14px 0 0;color:var(--si-suave)}
.si-busca{display:none;margin:0 0 28px}.si-js .si-busca{display:grid;gap:8px}.si-busca label{display:grid;gap:6px;max-width:540px;font-weight:600}.si-busca input{width:100%;padding:12px 16px;border:1px solid var(--si-suave);background:var(--si-superficie);color:var(--si-tinta);font:inherit}.si-busca output{font-size:.9rem;color:var(--si-suave)}.si-modelo .si-card[hidden]{display:none}
.si-modelo .si-form input,.si-modelo .si-form textarea{border-color:var(--si-suave)}
/* Ateliê: imagem editorial à esquerda etexto claro, portfólio antes dos serviços. */
.si-modelo-atelier .si-hero-modelo{background:var(--si-realce);color:var(--si-tinta);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.si-modelo-atelier .si-hero-modelo-visual{order:-1}.si-modelo-atelier .si-hero .si-display{color:var(--si-tinta);font-size:clamp(2.3rem,4.5vw,4.5rem);font-weight:500}.si-modelo-atelier .si-hero-marca{color:var(--si-primaria)}.si-modelo-atelier .si-hero-desc{color:var(--si-suave)}.si-modelo-atelier .si-modelo-visual{border-color:var(--si-borda);box-shadow:none;transform:translateY(18px)}.si-modelo-atelier .si-hero .si-btn-hero-ghost{border-color:var(--si-primaria);color:var(--si-primaria)}.si-modelo-atelier .si-hero .si-btn-claro{background:var(--si-primaria);color:#fff}.si-modelo-atelier .si-card{box-shadow:none;border-width:0 0 1px;border-radius:0;padding:24px 0}.si-modelo-atelier .si-galeria-item:nth-child(2){margin-top:32px}.si-modelo-atelier .si-galeria-item img{aspect-ratio:3/4}
/* Precisão: catálogo primeiro, entradas horizontais e geometria técnica. */
.si-modelo-precisao .si-hero-modelo{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);border-bottom:8px solid var(--si-primaria)}.si-modelo-precisao .si-modelo-visual{padding:0;border:0;box-shadow:none;transform:rotate(4deg)}.si-modelo-precisao .si-card{border-top:4px solid var(--si-primaria);box-shadow:none}.si-modelo-precisao .si-card-ic{border-radius:0}.si-modelo-precisao .si-entradas a{background:var(--si-tinta);color:#fff;border-color:var(--si-hero-borda)}.si-modelo-precisao .si-entradas a>span{color:var(--si-acento)}
/* Corporativo: panorama largo, manifesto central etratamento institucional. */
.si-modelo-corporativo .si-hero-modelo{grid-template-columns:1fr;text-align:center}.si-modelo-corporativo .si-hero-in{max-width:900px;margin:auto}.si-modelo-corporativo .si-hero .si-display,.si-modelo-corporativo .si-hero-desc{margin-left:auto}.si-modelo-corporativo .si-hero-acoes,.si-modelo-corporativo .si-hero-marca{justify-content:center}.si-modelo-corporativo .si-hero-modelo-visual{max-width:1040px;width:100%;margin:auto}.si-modelo-corporativo .si-modelo-visual{max-width:600px;margin:auto;border:0;box-shadow:none}.si-modelo-corporativo .si-modelo-secao-sobre .si-sobre-grid{grid-template-columns:1fr;max-width:800px}.si-modelo-corporativo .si-modelo-diagrama{display:none}.si-modelo-corporativo .si-sobre-grid .si-prosa{font-size:1.3rem}.si-modelo-corporativo .si-card{border:0;border-left:3px solid var(--si-primaria);border-radius:0;box-shadow:none}
/* Tecnologia: painel em moldura, cartões suaves erevelação progressiva existente. */
.si-modelo-tecnologia .si-hero-modelo{margin:24px;border-radius:30px;padding:clamp(32px,5vw,72px);background:var(--si-hero-a)}.si-modelo-tecnologia .si-modelo-visual{transform:perspective(900px) rotateY(-8deg)}.si-modelo-tecnologia .si-modelo-secao-faq .si-container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px}.si-modelo-tecnologia .si-modelo-secao-faq .si-ver-todos{grid-column:2}.si-modelo-tecnologia .si-card:hover{transform:translateY(-6px)}
/* Benefícios: cartões sobrepostos, produtos em quatro entradas ebotões arredondados. */
.si-modelo-beneficios .si-hero-modelo{background:var(--si-realce);color:var(--si-tinta);border-radius:0 0 60px 0}.si-modelo-beneficios .si-hero .si-display{color:var(--si-tinta)}.si-modelo-beneficios .si-hero-desc{color:var(--si-suave)}.si-modelo-beneficios .si-hero-marca{color:var(--si-primaria)}.si-modelo-beneficios .si-modelo-visual{background:var(--si-superficie);border-color:var(--si-borda);transform:rotate(-5deg);border-radius:24px}.si-modelo-beneficios .si-btn{border-radius:99px}.si-modelo-beneficios .si-hero .si-btn-claro{background:var(--si-primaria);color:#fff}.si-modelo-beneficios .si-hero .si-btn-hero-ghost{border-color:var(--si-primaria);color:var(--si-primaria)}.si-modelo-beneficios .si-card{border-width:0;box-shadow:var(--si-sombra);min-height:230px}.si-modelo-beneficios .si-card-ic{border-radius:99px}.si-modelo-beneficios .si-modelo-secao-catalogo .si-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
/* Industrial: régua técnica, catálogo denso eraios retos. */
.si-modelo-industrial .si-hero-modelo{border-bottom:8px solid var(--si-acento);grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.si-modelo-industrial .si-modelo-visual{padding:0;border:0;box-shadow:none}.si-modelo-industrial .si-sec-cab{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:22px}.si-modelo-industrial .si-sec-cab .si-eyebrow{margin:0}.si-modelo-industrial .si-sec-cab .si-eyebrow::after{display:none}.si-modelo-industrial .si-card{box-shadow:none;border-radius:0}.si-modelo-industrial .si-card:hover{transform:none;background:var(--si-realce)}.si-modelo-industrial .si-card-ic{border-radius:0}.si-modelo-industrial .si-btn{border-radius:0}
/* Serviços: hero acolhedor, raios assimétricos, quatro entradas eFAQ fácil. */
.si-modelo-servicos .si-hero-modelo{max-width:1320px;margin:24px auto;border-radius:50px 8px 50px 8px;padding:clamp(32px,5vw,70px);background:var(--si-hero-a)}.si-modelo-servicos .si-modelo-visual{border-radius:50px 8px 50px 8px;transform:rotate(2deg)}.si-modelo-servicos .si-btn{border-radius:99px}.si-modelo-servicos .si-card{border-radius:24px}.si-modelo-servicos .si-modelo-secao-servicos .si-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.si-modelo-servicos .si-modelo-secao-sobre .si-sobre-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.si-modelo-servicos .si-modelo-diagrama{border-radius:50px 8px 50px 8px;min-height:260px}
.si-modelo-servicos{--si-acento:#f1d888}.si-modelo-servicos .si-topo{background:var(--si-primaria);border-bottom:5px solid var(--si-acento)}
@media(max-width:1100px){.si-modelo-beneficios .si-modelo-secao-catalogo .si-cards,.si-modelo-servicos .si-modelo-secao-servicos .si-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.si-modelo .si-topo-in{gap:14px}.si-modelo .si-nav a{padding-left:9px;padding-right:9px}}
@media(max-width:800px){.si-hero-modelo,.si-modelo-atelier .si-hero-modelo,.si-modelo-precisao .si-hero-modelo,.si-modelo-industrial .si-hero-modelo{grid-template-columns:1fr;gap:30px}.si-hero-modelo .si-display{max-width:none}.si-modelo-atelier .si-hero-modelo-visual{order:0}.si-modelo-atelier .si-modelo-visual{transform:none}.si-modelo .si-hero-modelo-visual{max-width:580px;width:100%;margin:auto}.si-modelo-tecnologia .si-hero-modelo,.si-modelo-servicos .si-hero-modelo{margin:16px;padding:28px;border-radius:28px 6px}.si-modelo .si-modelo-visual{transform:none}.si-entradas{margin-top:0;padding-top:12px}.si-modelo-tecnologia .si-modelo-secao-faq .si-container,.si-modelo-servicos .si-modelo-secao-sobre .si-sobre-grid{grid-template-columns:1fr}.si-modelo-tecnologia .si-modelo-secao-faq .si-ver-todos{grid-column:auto}.si-modelo-atelier .si-galeria-item:nth-child(2){margin-top:0}.si-modelo .si-topo-acoes .si-btn{max-width:145px;white-space:normal;text-align:center}}
@media(max-width:480px){.si-modelo .si-container{padding-left:18px;padding-right:18px}.si-hero-modelo{padding:34px 18px}.si-modelo-beneficios .si-modelo-secao-catalogo .si-cards,.si-modelo-servicos .si-modelo-secao-servicos .si-cards{grid-template-columns:1fr}.si-modelo .si-logo{max-width:140px;font-size:1rem}.si-hero-modelo .si-btn{width:100%}.si-modelo .si-hero-modelo-visual .si-modelo-visual{padding:10px}.si-modelo .si-topo-acoes .si-btn{display:none}.si-modelo-industrial .si-sec-cab{grid-template-columns:1fr;gap:10px}}
/* Sem JavaScript o menu mobile continua disponível; o botão inerte desaparece. */
@media(max-width:940px){html:not(.si-js) .si-nav{display:flex;position:static;order:3;flex-basis:100%;padding:8px 0}html:not(.si-js) .si-topo-in{height:auto;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}html:not(.si-js) .si-menu-btn{display:none}}
@media(prefers-reduced-motion:reduce){.si-modelo .si-modelo-visual,.si-modelo .si-card:hover{transform:none}}
/* Heros de fundo: imagem do dono quando cadastrada, composição abstrata quando em branco. */
.si-modelo-energia .si-hero-modelo,.si-modelo-atelier .si-hero-modelo,.si-modelo-tecnologia .si-hero-modelo{display:flex;align-items:center;position:relative;isolation:isolate;min-height:580px;overflow:hidden}
.si-modelo-energia .si-hero-modelo-visual,.si-modelo-atelier .si-hero-modelo-visual,.si-modelo-tecnologia .si-hero-modelo-visual{position:absolute;inset:0;max-width:none;width:100%;margin:0;z-index:-1;order:0}
.si-modelo-energia .si-modelo-visual,.si-modelo-atelier .si-modelo-visual,.si-modelo-tecnologia .si-modelo-visual{height:100%;padding:0;border:0;border-radius:0;box-shadow:none;transform:none;background:linear-gradient(140deg,var(--si-realce),var(--si-hero-b))}
.si-modelo-energia .si-modelo-visual svg,.si-modelo-atelier .si-modelo-visual svg,.si-modelo-tecnologia .si-modelo-visual svg{width:100%;height:100%;opacity:.3}.si-modelo-energia .si-modelo-visual>span,.si-modelo-atelier .si-modelo-visual>span,.si-modelo-tecnologia .si-modelo-visual>span{position:absolute;right:20px;top:20px;margin:0;padding:8px 14px;background:var(--si-hero-a);color:#fff;border-radius:8px}
.si-modelo-energia .si-hero-modelo-visual .si-intro,.si-modelo-atelier .si-hero-modelo-visual .si-intro,.si-modelo-tecnologia .si-hero-modelo-visual .si-intro{height:100%;border-radius:0}.si-modelo-energia .si-hero-modelo-visual .si-intro>img,.si-modelo-atelier .si-hero-modelo-visual .si-intro>img,.si-modelo-tecnologia .si-hero-modelo-visual .si-intro>img,.si-modelo-energia .si-hero-modelo-visual .si-intro video,.si-modelo-atelier .si-hero-modelo-visual .si-intro video,.si-modelo-tecnologia .si-hero-modelo-visual .si-intro video{height:100%;max-height:none;object-fit:cover}
.si-modelo-energia .si-hero-modelo{max-width:1320px;margin:24px auto;padding:clamp(32px,6vw,88px);border-radius:40px}.si-modelo-energia .si-hero-in{max-width:820px;padding:clamp(28px,4vw,48px);background:var(--si-hero-a);border-radius:28px}.si-modelo-energia .si-hero .si-display{max-width:24ch;font-weight:500;font-size:clamp(2rem,3.8vw,3.3rem)}.si-modelo-energia .si-hero-acoes{justify-content:flex-end}
.si-modelo-atelier .si-hero-modelo{align-items:flex-end;min-height:640px;margin:0;padding:clamp(36px,6vw,80px);color:#fff;background:var(--si-hero-a)}.si-modelo-atelier .si-hero-in{max-width:760px;padding:28px;background:#153b5fe8}.si-modelo-atelier .si-hero .si-display{max-width:23ch;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:650;color:#fff}.si-modelo-atelier .si-hero-desc{color:#e4ecf1}.si-modelo-atelier .si-hero-marca{color:var(--si-acento)}.si-modelo-atelier .si-hero .si-btn-hero-ghost{border-color:var(--si-acento);color:#fff}
.si-js .si-modelo-atelier .si-menu-btn{display:flex}.si-js .si-modelo-atelier .si-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--si-hero-a);padding:20px;justify-content:flex-end}.si-js .si-modelo-atelier .si-nav.aberto{display:flex}.si-modelo-atelier .si-topo-in{justify-content:space-between}.si-modelo-atelier .si-topo-acoes{margin-left:auto}
.si-modelo-tecnologia .si-hero-modelo{justify-content:center;text-align:center;min-height:620px;margin:24px;border-radius:30px;padding:64px 28px}.si-modelo-tecnologia .si-hero-modelo::before{content:'';position:absolute;inset:0;z-index:0;background:#14224fe0;pointer-events:none}.si-modelo-tecnologia .si-hero-in{max-width:850px;z-index:1}.si-modelo-tecnologia .si-hero .si-display{max-width:20ch;margin-left:auto;font-size:clamp(2.2rem,4.4vw,4rem)}.si-modelo-tecnologia .si-hero-desc{margin-left:auto}.si-modelo-tecnologia .si-hero-marca,.si-modelo-tecnologia .si-hero-acoes{justify-content:center}
@media(max-width:800px){.si-modelo-energia .si-hero-modelo,.si-modelo-tecnologia .si-hero-modelo{margin:16px;min-height:500px;border-radius:26px}.si-modelo-energia .si-hero-modelo{padding:28px 18px}.si-modelo-energia .si-hero-in{padding:26px 20px;border-radius:18px}.si-modelo-atelier .si-hero-modelo{min-height:560px;padding:70px 18px 28px}.si-modelo-atelier .si-hero-in{padding:24px}.si-modelo-tecnologia .si-hero-modelo{padding:72px 22px 48px}.si-modelo-energia .si-hero-modelo-visual,.si-modelo-atelier .si-hero-modelo-visual,.si-modelo-tecnologia .si-hero-modelo-visual{max-width:none}.si-modelo-energia .si-hero-acoes{justify-content:flex-start}}
