/*
 * main.css — Renditech Theme
 * Design System V1 — Renditech Tecnologia
 * Consultar DESIGN_SYSTEM.md antes de qualquer adição.
 */

/* Montserrat — Google Fonts (pesos autorizados: 400, 500, 600, 700) */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap');

/* ==========================================================================
   1. VARIÁVEIS CSS — Design System V1 Renditech
   Fonte: DESIGN_SYSTEM.md
   ========================================================================== */

:root {

    /* --- Cores Institucionais da Marca --- */
    --color-navy:  #022859;   /* Renditech Navy  — cor institucional principal */
    --color-blue:  #022873;   /* Renditech Blue  — cor institucional principal */
    --color-cyan:  #2EDFF2;   /* Renditech Cyan  — destaque/acento, não usar como fundo dominante */
    --color-white: #FFFFFF;   /* White */

    /* --- Neutros de Interface (funcionais, não são cores de marca) --- */
    --color-text-primary:   #172033;  /* Títulos e textos de maior contraste em fundos claros */
    --color-text-secondary: #596273;  /* Textos auxiliares e descrições */
    --color-border:         #E3E7EC;  /* Divisórias e bordas discretas */
    --color-surface-light:  #F6F8FA;  /* Fundos alternativos de seções e cards */
    --color-surface-white:  #FFFFFF;  /* Áreas principais claras */

    /* --- Tipografia --- */
    --font-primary: 'Montserrat', system-ui, -apple-system, sans-serif;
    /* TechLiner: PENDENTE DE DEFINIÇÃO — não substituir por outra fonte */

    /* --- Pesos Tipográficos Autorizados --- */
    --font-weight-regular:   400;
    --font-weight-medium:    500;
    --font-weight-semibold:  600;
    --font-weight-bold:      700;

    /* --- Escala Tipográfica — Desktop (DESIGN_SYSTEM.md seção 5) --- */
    --text-h1:          3rem;       /* 48px */
    --text-h2:          2.25rem;    /* 36px */
    --text-h3:          1.375rem;   /* 22px */
    --text-body-large:  1.125rem;   /* 18px */
    --text-body:        1rem;       /* 16px */
    --text-small:       0.875rem;   /* 14px */
    --text-button:      1rem;       /* 16px */
    --text-nav:         1rem;       /* 15–16px */

    /* --- Line-heights --- */
    --lh-h1:         1.10;
    --lh-h2:         1.20;
    --lh-h3:         1.30;
    --lh-body-large: 1.60;
    --lh-body:       1.65;
    --lh-small:      1.50;

    /* --- Espaçamento (escala 8px — DESIGN_SYSTEM.md seção 8) --- */
    --space-1:   8px;
    --space-2:  16px;
    --space-3:  24px;
    --space-4:  32px;
    --space-5:  40px;
    --space-6:  48px;
    --space-8:  64px;
    --space-10: 80px;
    --space-12: 96px;

    /* --- Malha da Home: largura ampliada conforme auditoria autorizada --- */
    --container-max: 1440px;
    --container-padding: var(--space-3);
    --home-text-max: 656px;
    --home-column-gap: var(--space-4);
    /* Área visual até a borda, ancorada 24px antes do eixo central. */
    --home-visual-width: calc(50% + var(--space-3));

    /* --- Border Radius (DESIGN_SYSTEM.md seções 9 e 10) --- */
    --radius-button: 6px;
    --radius-card:   10px;
}

/* ==========================================================================
   2. RESET MÍNIMO SEGURO
   ========================================================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ==========================================================================
   3. BASE GLOBAL
   ========================================================================== */

html {
    font-size: 100%; /* 1rem = 16px */
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-primary);
    font-size: var(--text-body);
    font-weight: var(--font-weight-regular);
    line-height: var(--lh-body);
    color: var(--color-text-primary);
    background-color: var(--color-surface-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   4. ESCALA TIPOGRÁFICA MOBILE — base inicial (DESIGN_SYSTEM.md seção 6)
   Refinamentos serão aplicados via media queries em etapas posteriores.
   ========================================================================== */

h1 {
    font-size: 2.25rem;   /* 36px — mobile base */
    font-weight: var(--font-weight-bold);
    line-height: 1.15;
}

h2 {
    font-size: 1.875rem;  /* 30px — mobile base */
    font-weight: var(--font-weight-bold);
    line-height: 1.20;
}

h3 {
    font-size: 1.3125rem; /* 21px — mobile base */
    font-weight: var(--font-weight-semibold);
    line-height: 1.30;
}

/*
 * TODO: Implementar media query desktop (min-width: 1024px) com a escala
 * tipográfica desktop do DESIGN_SYSTEM.md seção 5 em etapa posterior.
 *
 * Referência desktop:
 *   h1 → 48px / lh 1.10
 *   h2 → 36px / lh 1.20
 *   h3 → 22px / lh 1.30
 */

/* ==========================================================================
   5. IMAGENS
   ========================================================================== */

img,
svg {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ==========================================================================
   FIM DA BASE GLOBAL
   ========================================================================== */


/* ==========================================================================
   6. HEADER — site-header
   Especificação: docs/HOME_V1.md — Seção 01 | DESIGN_SYSTEM.md
   ========================================================================== */

/* Container único: mesmo eixo e mesma largura útil nos três componentes. */
.site-header__inner,
.hero__inner,
.problemas__inner {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
}

@media (min-width: 768px) {
    :root {
        --container-padding: var(--space-4);
    }
}

/* --- Estrutura principal --- */
.site-header {
    background-color: #FFFFFF;
    border-bottom: 1px solid var(--color-border);
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
}

/* A barra do WordPress é fixa acima de 600px e rola com a página abaixo disso. */
body.admin-bar .site-header {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .site-header {
        top: 46px;
    }
}

@media (max-width: 600px) {
    body.admin-bar .site-header {
        top: 0;
    }
}

.site-header__inner {
    padding: 0 var(--container-padding);
    height: 80px;
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

/* --- Logo --- */
.site-header__logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
}

.site-header__logo img {
    width: 230px;
    height: auto;
}

/* --- Navegação --- */
.site-nav {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}

.site-nav__list {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-nav__item {
    position: relative;
}

/* Links de navegação */
.site-nav__link {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: var(--space-1) var(--space-2);
    font-family: var(--font-primary);
    font-size: var(--text-nav);
    font-weight: var(--font-weight-medium);
    color: var(--color-white);
    text-decoration: none;
    border-radius: var(--radius-button);
    background: none;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    transition: color 0.18s ease, background-color 0.18s ease;
    line-height: 1;
}

.site-nav__link:hover,
.site-nav__link:focus-visible {
    color: var(--color-cyan);
    background-color: rgba(46, 223, 242, 0.08);
    outline: none;
}

.site-nav__link:focus-visible {
    outline: 2px solid var(--color-cyan);
    outline-offset: 2px;
}

/* Seta do dropdown */
.site-nav__arrow {
    display: inline-block;
    width: 8px;
    height: 5px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid currentColor;
    transition: transform 0.18s ease;
    flex-shrink: 0;
}

.site-nav__dropdown-trigger[aria-expanded="true"] .site-nav__arrow {
    transform: rotate(180deg);
}

/* --- Dropdown --- */
.site-nav__dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 240px;
    background-color: var(--color-surface-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-card);
    padding: var(--space-1) 0;
    list-style: none;
    margin: 0;
    box-shadow: 0 4px 16px rgba(2, 40, 115, 0.08);
    z-index: 200;
}

.site-nav__dropdown.is-open {
    display: block;
}

/* Mantém o caminho do mouse contínuo entre o botão e o submenu. */
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
    .site-nav__dropdown::before {
        content: '';
        position: absolute;
        top: -5px;
        left: 0;
        right: 0;
        height: 5px;
    }
}

.site-nav__dropdown-link {
    display: block;
    padding: 10px var(--space-3);
    font-family: var(--font-primary);
    font-size: var(--text-small);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.site-nav__dropdown-link:hover,
.site-nav__dropdown-link:focus-visible {
    color: var(--color-navy);
    background-color: var(--color-surface-light);
    outline: none;
}

.site-nav__dropdown-link:focus-visible {
    outline: 2px solid var(--color-cyan);
    outline-offset: -2px;
}

/* --- CTA Header --- */
.site-header__cta {
    flex-shrink: 0;
    margin-left: var(--space-2);
}

/* Botão primário — base */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px var(--space-3);
    font-family: var(--font-primary);
    font-size: var(--text-button);
    font-weight: var(--font-weight-semibold);
    line-height: 1;
    text-decoration: none;
    border-radius: var(--radius-button);
    border: 2px solid transparent;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.btn--primary {
    background-color: var(--color-cyan);
    color: var(--color-navy);
    border-color: var(--color-cyan);
    font-weight: var(--font-weight-semibold);
}

.btn--primary:hover {
    background-color: #20c8da;
    border-color: #20c8da;
    color: var(--color-navy);
}

.btn--primary:focus-visible {
    outline: 2px solid var(--color-white);
    outline-offset: 3px;
}

/* --- Botão de menu mobile (hamburger) --- */
.site-header__menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--space-1);
    border-radius: var(--radius-button);
    margin-left: auto;
    flex-shrink: 0;
}

.site-header__menu-toggle:focus-visible {
    outline: 2px solid var(--color-cyan);
    outline-offset: 2px;
}

.hamburger {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
}

.hamburger__bar {
    display: block;
    width: 100%;
    height: 2px;
    background-color: var(--color-navy);
    border-radius: 2px;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Animação hamburger → X quando menu aberto */
.site-header__menu-toggle[aria-expanded="true"] .hamburger__bar:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.site-header__menu-toggle[aria-expanded="true"] .hamburger__bar:nth-child(2) {
    opacity: 0;
}

.site-header__menu-toggle[aria-expanded="true"] .hamburger__bar:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* ==========================================================================
   7. HEADER — RESPONSIVIDADE MOBILE
   Breakpoints: DESIGN_SYSTEM.md seção 17
   Mobile: até 767px | Tablet: 768px–1023px | Desktop: 1024px+
   ========================================================================== */

@media (max-width: 1023px) {

    /* Mostrar botão de menu, ocultar nav e CTA no topo */
    .site-header__menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .site-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        height: calc(100dvh - 80px);
        background-color: var(--color-navy);
        border-top: 1px solid rgba(255, 255, 255, 0.10);
        overflow-y: auto;
        z-index: 99;
        padding: var(--space-3) var(--space-3) var(--space-6);
        flex-direction: column;
        justify-content: flex-start;
    }

    .site-nav.is-open {
        display: flex;
    }

    .site-nav__list {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        width: 100%;
    }

    .site-nav__item {
        border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    }

    .site-nav__item:last-child {
        border-bottom: none;
    }

    .site-nav__link {
        width: 100%;
        padding: var(--space-2) var(--space-1);
        font-size: 1rem;
        justify-content: space-between;
    }

    /* Dropdown mobile — exibição em bloco */
    .site-nav__dropdown {
        position: static;
        box-shadow: none;
        border: none;
        border-radius: 0;
        padding: 0 0 var(--space-1) var(--space-3);
        background-color: rgba(255, 255, 255, 0.05);
    }

    .site-nav__dropdown.is-open {
        display: block;
    }

    .site-nav__dropdown-link {
        padding: 10px var(--space-2);
        font-size: var(--text-small);
        color: #FFFFFF;
    }

    .site-nav__dropdown-link:hover,
    .site-nav__dropdown-link:focus-visible {
        color: var(--color-cyan);
        background-color: rgba(255, 255, 255, 0.08);
    }

    /* CTA dentro do menu mobile */
    .site-header__cta {
        display: none; /* Ocultado no topo; disponível dentro do menu via JS */
    }

    /* CTA inserido no menu mobile via JS */
    .site-nav__cta-mobile {
        margin-top: var(--space-3);
        padding-top: var(--space-3);
        border-top: 1px solid rgba(255, 255, 255, 0.12);
    }

    .site-nav__cta-mobile .btn--primary {
        display: inline-flex;
        width: 100%;
        justify-content: center;
        padding: 14px var(--space-3);
    }

    /* Logo menor no mobile */
    .site-header__logo img {
        width: 175px;
    }
}

@media (min-width: 1024px) {
    /* Garantir que nav e CTA estejam visíveis no desktop */
    .site-nav {
        display: flex !important;
        position: static;
        overflow: visible;
        padding: 0;
        border: none;
        background: none;
    }

    .site-header__cta {
        display: inline-flex;
    }

    .site-header__menu-toggle {
        display: none;
    }

    .site-nav__cta-mobile {
        display: none;
    }

    /* Altura do header no desktop */
    .site-header__inner {
        height: 86px;
    }

    /* Menu desktop sobre fundo branco */
    .site-nav__link {
        color: var(--color-navy);
    }

    .site-nav__link:hover,
    .site-nav__link:focus-visible {
        color: var(--color-navy);
        background-color: rgba(46, 223, 242, 0.12);
    }

    /* CTA sobre fundo branco */
    .site-header__cta.btn--primary {
        background-color: var(--color-navy);
        color: var(--color-white);
        border-color: var(--color-navy);
        border-radius: var(--radius-button); /* 6px */
    }

    .site-header__cta.btn--primary:hover {
        background-color: var(--color-blue);
        border-color: var(--color-blue);
        color: var(--color-white);
    }

    .site-header__cta.btn--primary:focus-visible {
        outline: 2px solid var(--color-cyan);
        outline-offset: 3px;
    }
}

/* ==========================================================================
   8. HERO — front-page.php (Home / Seção 02) — V3
   Reprodução da referência aprovada: reference/hero_v3_aprovado.png
   Coluna textual à esquerda (~52%) sobre Surface Light; área visual à direita
   (~48%) com foto, recorte diagonal e planos Navy/Blue + acento Cyan.
   Mobile-first.
   ========================================================================== */

.hero {
    position: relative;
    overflow: hidden;
    background-color: var(--color-surface-light);
}

.hero__inner {
    position: relative;
    z-index: 2;
    padding: var(--space-8) var(--container-padding);
}

.hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 560px;
}

/* --- Identificador --- */
.hero__eyebrow {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    font-family: var(--font-primary);
    font-size: var(--text-small);
    font-weight: var(--font-weight-semibold);   /* 600 */
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-navy);
}

.hero__eyebrow-dash {
    display: block;
    flex-shrink: 0;
    width: 32px;
    height: 2px;
    background-color: var(--color-cyan);
}

/* --- H1 — Montserrat 700; "sua empresa." em Cyan --- */
.hero__title {
    margin-bottom: var(--space-4);
    font-family: var(--font-primary);
    font-size: 2.25rem;              /* 36px — escala mobile do Design System */
    font-weight: var(--font-weight-bold);   /* 700 */
    line-height: 1.14;
    letter-spacing: -0.015em;
    color: var(--color-navy);
}

.hero__title-accent {
    color: var(--color-cyan);
}

/* Quebras de linha forçadas da referência: só a partir do tablet */
.hero__br {
    display: none;
}

/* --- Subtítulo --- */
.hero__subtitle {
    margin-bottom: var(--space-6);
    font-family: var(--font-primary);
    font-size: var(--text-body-large);   /* 18px */
    font-weight: var(--font-weight-regular);
    line-height: 1.6;
    color: var(--color-text-secondary);
}

/* --- Ações --- */
.hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3) var(--space-5);
    margin-bottom: var(--space-6);
}

/* CTA principal — Cyan sólido, texto Navy, Montserrat 600, raio 6px */
.hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px var(--space-4);
    font-family: var(--font-primary);
    font-size: var(--text-button);       /* 16px */
    font-weight: var(--font-weight-semibold);   /* 600 */
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    color: var(--color-navy);
    background-color: var(--color-cyan);
    border: 2px solid var(--color-cyan);
    border-radius: var(--radius-button);  /* 6px */
    transition: background-color 0.18s ease, border-color 0.18s ease;
}

.hero__cta:hover {
    background-color: #20c8da;
    border-color: #20c8da;
}

.hero__cta:focus-visible {
    outline: 2px solid var(--color-navy);
    outline-offset: 3px;
}

/* CTA secundário — ação textual Navy com borda inferior discreta, hover Cyan */
.hero__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 4px;
    font-family: var(--font-primary);
    font-size: var(--text-button);
    font-weight: var(--font-weight-semibold);
    text-decoration: none;
    color: var(--color-navy);
    border-bottom: 2px solid var(--color-navy);
    transition: color 0.18s ease, border-color 0.18s ease;
}

.hero__link:hover,
.hero__link:focus-visible {
    color: var(--color-cyan);
    border-color: var(--color-cyan);
}

.hero__link:focus-visible {
    outline: 2px solid var(--color-navy);
    outline-offset: 3px;
}

/* --- Linha de confiança — três informações com ícone linear Navy --- */
.hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3) var(--space-5);
    margin: 0;
    padding: 0;
    list-style: none;
}

.hero__trust-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.hero__trust-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: var(--color-navy);
}

.hero__trust-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.hero__trust-text {
    font-family: var(--font-primary);
    font-size: var(--text-small);        /* 14px */
    font-weight: var(--font-weight-medium);
    line-height: 1.3;
    color: var(--color-navy);
}

/* --------------------------------------------------------------------------
   Área visual direita — foto (placeholder Navy até a foto definitiva) e
   recorte diagonal com planos Navy/Blue + acento Cyan. Decorativa.
   Preparada para receber theme/renditech/assets/images/hero-infraestrutura.jpg
   -------------------------------------------------------------------------- */

.hero__visual {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 240px;
}

.hero__photo {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background-color: var(--color-navy);   /* área visual neutra até a foto */
    clip-path: polygon(0 14%, 100% 0, 100% 100%, 0 100%);
}

.hero__photo-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Camadas decorativas do recorte diagonal — apenas desktop */
.hero__decor {
    display: none;
}

.hero__decor > * {
    position: absolute;
}

.hero__wedge {
    inset: 0;
}

.hero__wedge--1 {
    background-color: rgba(2, 40, 115, 0.48);   /* Blue translúcido — plano superior */
    clip-path: polygon(13% 0, 44% 0, 3% 64%);
}

.hero__wedge--2 {
    background-color: rgba(2, 40, 89, 0.66);    /* Navy translúcido — plano inferior esquerdo */
    clip-path: polygon(4% 44%, 30% 100%, 4% 100%);
}

.hero__seam {
    inset: 0;
    background-color: var(--color-cyan);
    clip-path: polygon(13% 0, 13.9% 0, 4.9% 100%, 4% 100%);
}

.hero__corner {
    inset: 0;
    background-color: var(--color-navy);
    clip-path: polygon(62% 100%, 100% 54%, 100% 100%);
}

.hero__tagline {
    right: var(--space-5);
    bottom: var(--space-5);
    margin: 0;
    text-align: right;
    font-family: var(--font-primary);
    font-size: var(--text-small);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.16em;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.62);
}

.hero__tagline::before {
    content: "";
    display: block;
    width: 26px;
    height: 2px;
    margin: 0 0 10px auto;
    background-color: var(--color-cyan);
}

/* --------------------------------------------------------------------------
   Mobile (<768px) — coluna única; CTA principal fácil de tocar
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
    .hero__cta {
        width: 100%;
        justify-content: center;
    }

    .hero__trust {
        gap: var(--space-3) var(--space-4);
    }
}

/* --------------------------------------------------------------------------
   Tablet (>=768px) — copy protagonista, área visual reduzida de forma controlada
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
    .hero__inner {
        padding: var(--space-10) var(--container-padding);
    }

    .hero__content {
        max-width: 620px;
    }

    .hero__br {
        display: inline;
    }

    .hero__title {
        font-size: 2.5rem;   /* 40px */
        line-height: 1.12;
    }

    .hero__visual {
        height: 340px;
    }
}

/* --------------------------------------------------------------------------
   Desktop (>=1024px) — texto em meia malha; visual até a borda direita
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
    .hero__inner {
        display: flex;
        align-items: center;
        min-height: 720px;
        padding: var(--space-10) var(--container-padding);
    }

    .hero__content {
        width: 50%;
        max-width: calc(var(--home-text-max) + var(--home-column-gap));
        min-width: 0;
        padding-right: var(--home-column-gap);
    }

    .hero__title {
        font-size: 3rem;     /* 48px — escala desktop do Design System */
        line-height: 1.10;
    }

    .hero__subtitle {
        max-width: 42ch;
    }

    /* Área visual à direita, ampla, com recorte diagonal da referência */
    .hero__visual {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: var(--home-visual-width);
        height: auto;
        pointer-events: none;
    }

    .hero__photo {
        clip-path: polygon(13% 0, 100% 0, 100% 100%, 4% 100%);
    }

    .hero__decor {
        display: block;
        position: absolute;
        inset: 0;
    }
}

/* Desktop estreito (1024–1199) — evita a diagonal encostar no texto */
@media (min-width: 1024px) and (max-width: 1199px) {
    .hero__title {
        font-size: 2.625rem;   /* 42px */
    }

    .hero__subtitle {
        max-width: 38ch;
    }

}


/* ==========================================================================
   9. REVISÃO DA HOME — marcas, problemas editoriais e seções institucionais
   Header, Hero e tokens anteriores preservados.
   ========================================================================== */

.home-section__inner {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: var(--space-10) var(--container-padding);
}

.home-section__eyebrow {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    font-size: var(--text-small);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-navy);
}

.home-section__title {
    max-width: 30ch;
    margin-bottom: var(--space-3);
    font-size: 1.875rem;
    font-weight: var(--font-weight-bold);
    line-height: var(--lh-h2);
    color: var(--color-navy);
}

.home-section__intro {
    max-width: 62ch;
    font-size: var(--text-body-large);
    line-height: var(--lh-body-large);
    color: var(--color-text-secondary);
}

.home-section__link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) 0;
    font-weight: var(--font-weight-semibold);
    color: var(--color-navy);
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
}

.home-section__link:hover { text-decoration-thickness: 2px; }

.home-section__link:focus-visible,
.home-solutions__complement a:focus-visible,
.home-contact__primary:focus-visible {
    outline: 2px solid var(--color-cyan);
    outline-offset: 4px;
}

/* Dois grupos iguais, sem gap entre eles: -50% completa exatamente um ciclo. */
.brands {
    background-color: var(--color-surface-white);
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
}

.brands__inner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--space-1) var(--space-2);
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
}

.brands__heading {
    font-size: var(--text-small);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
}

.brands__pause-input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}

.brands__pause {
    display: flex;
    align-items: center;
    min-height: 44px;
    font-size: var(--text-small);
    color: var(--color-navy);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.brands__pause-input:focus-visible + .brands__pause {
    outline: 2px solid var(--color-navy);
    outline-offset: 4px;
}

.brands__pause-input:checked + .brands__pause {
    font-weight: var(--font-weight-bold);
    text-decoration-style: double;
}

.brands__viewport {
    grid-column: 1 / -1;
    min-width: 0;
    overflow: hidden;
}

.brands__track {
    display: flex;
    width: max-content;
    min-width: 200%;
    animation: renditech-brands-scroll 40s linear infinite;
}

.brands__group {
    display: flex;
    flex: 1 0 auto;
    align-items: center;
    justify-content: space-around;
    gap: var(--space-6);
    padding-right: var(--space-6);
    list-style: none;
}

.brands__item {
    display: flex;
    flex: 0 0 168px;
    align-items: center;
    justify-content: center;
    height: 48px;
    color: var(--color-text-secondary);
    font-size: var(--text-body);
    font-weight: var(--font-weight-semibold);
    white-space: nowrap;
}

.brands__item img {
    width: auto;
    height: auto;
    max-width: 160px;
    max-height: 32px;
    object-fit: contain;
}

/* PNG original 160x85: tamanho de exibição abaixo da resolução nativa. */
.brands__item img[src$="/unifi.png"] {
    max-width: 64px;
    max-height: 34px;
}

.brands__viewport:hover .brands__track,
.brands__viewport:focus-within .brands__track,
.brands__pause-input:checked ~ .brands__viewport .brands__track {
    animation-play-state: paused;
}

@keyframes renditech-brands-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* Home enxuta: seções no fluxo e alinhadas ao container existente. */
.home-solutions,
.home-sectors,
.home-testimonials,
.home-contact { scroll-margin-top: 128px; }
.home-solutions > .home-section__inner,
.home-sectors > .home-section__inner,
.home-testimonials > .home-section__inner,
.home-contact > .home-section__inner { padding-top: var(--space-6); padding-bottom: var(--space-6); }
.home-section__eyebrow::before {
    content: "";
    flex: 0 0 32px;
    height: 2px;
    background-color: var(--color-cyan);
}
.home-line-icon { width: 32px; height: 32px; flex-shrink: 0; }

.home-solutions { background-color: var(--color-navy); color: var(--color-white); }
.home-solutions .home-section__title,
.home-solutions .home-section__intro,
.home-solutions .home-section__eyebrow { color: var(--color-white); }
.home-solutions .home-section__link { color: var(--color-cyan); font-size: var(--text-small); }
.home-solutions__heading { display: grid; gap: var(--space-3); }
.home-solutions__support { max-width: 26ch; font-size: var(--text-body); }
.home-solutions__support::before { content: ""; display: block; width: 32px; height: 2px; background: var(--color-cyan); margin-bottom: var(--space-2); }
.home-solutions__grid { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
.home-solutions__primary {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-3);
    border: 1px solid rgba(46, 223, 242, 0.24);
    border-radius: var(--radius-card);
    background-color: var(--color-blue);
}
.home-solutions__primary > .home-line-icon { width: 40px; height: 40px; }
.home-solutions .home-line-icon { color: var(--color-cyan); }
.home-solutions__copy { min-width: 0; }
.home-solutions__copy h3 { font-size: var(--text-body-large); margin-bottom: var(--space-1); line-height: 1.3; }
.home-solutions__copy p { max-width: 56ch; font-size: var(--text-body); line-height: 1.55; }
.home-solutions__secondary { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
.home-solutions__complement { display: flex; align-items: flex-start; gap: var(--space-2); min-width: 0; padding-top: var(--space-3); border-top: 1px solid rgba(255,255,255,0.20); }
.home-solutions__complement h3,
.home-solutions__complement p { font-size: var(--text-small); }

.home-sectors { background-color: var(--color-surface-white); }
.home-sectors__heading { display: grid; gap: var(--space-2); align-items: start; }
.home-sectors__list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); list-style: none; gap: var(--space-3) 0; margin-top: var(--space-3); }
.home-sectors__list li { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); padding: 0 var(--space-2); text-align: center; color: var(--color-navy); font-size: var(--text-small); font-weight: var(--font-weight-semibold); line-height: 1.4; }
.home-sectors__list li:nth-child(even) { border-left: 1px solid var(--color-border); }
.home-sectors__list .home-line-icon { width: 40px; height: 40px; }
.home-sectors__note { margin-top: var(--space-3); font-size: var(--text-small); color: var(--color-text-secondary); }

.home-testimonials { background-color: var(--color-surface-light); }
.home-testimonials__inner { display: grid; gap: var(--space-3); }
.home-testimonials__heading { min-width: 0; }
.home-testimonials__controls { display: flex; gap: var(--space-2); margin-top: var(--space-3); }
.home-testimonials__controls[hidden] { display: none; }
.home-testimonials__controls button { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--color-border); border-radius: var(--radius-button); background: var(--color-white); color: var(--color-navy); font: inherit; font-size: var(--text-h3); cursor: pointer; }
.home-testimonials__controls button:disabled { opacity: 0.45; cursor: default; }
.home-testimonials__controls button:hover:not(:disabled) { border-color: var(--color-navy); }
.home-testimonials__controls button:focus-visible,
.home-testimonials__track:focus-visible { outline: 2px solid var(--color-navy); outline-offset: 3px; }
.home-testimonials__track {
    position: relative;
    display: flex;
    gap: var(--space-3);
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    padding-bottom: var(--space-2);
}
.home-testimonials__item { flex: 0 0 100%; min-width: 0; display: flex; flex-direction: column; padding: var(--space-3); border-radius: var(--radius-card); background: var(--color-white); scroll-snap-align: start; scroll-snap-stop: always; }
.home-testimonials__item blockquote { color: var(--color-navy); font-size: var(--text-body); line-height: 1.55; margin-bottom: var(--space-3); }
.home-testimonials__item figcaption { margin-top: auto; font-size: var(--text-small); line-height: 1.5; }
.home-testimonials__item strong,
.home-testimonials__item figcaption span { display: block; }
.home-testimonials__item strong { color: var(--color-navy); font-weight: var(--font-weight-semibold); }
.home-testimonials__item figcaption span { color: var(--color-text-secondary); }

.home-contact { background: var(--color-surface-white); }
.home-contact__inner { display: grid; align-items: center; gap: var(--space-3); }
.home-contact__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-1); }
.home-contact__primary { gap: var(--space-2); padding: var(--space-2) var(--space-3); background-color: var(--color-cyan); border-color: var(--color-cyan); color: var(--color-navy); white-space: normal; }
.home-contact__primary:hover { border-color: var(--color-navy); }

.site-footer { background-color: var(--color-navy); color: var(--color-white); }
.site-footer__inner { width: 100%; max-width: var(--container-max); margin: 0 auto; padding: var(--space-6) var(--container-padding); display: grid; gap: var(--space-4); align-items: center; }
.site-footer__logo { display: inline-block; }
.site-footer__logo img { width: 220px; height: auto; }
.site-footer__brand p { max-width: 30ch; margin-top: var(--space-2); font-size: var(--text-small); }
.site-footer__contact { display: grid; gap: var(--space-1); font-style: normal; font-size: var(--text-small); }
.site-footer a { color: var(--color-white); text-decoration: none; }
.site-footer a:hover { text-decoration: underline; text-underline-offset: 4px; }
.site-footer a:focus-visible { outline: 2px solid var(--color-cyan); outline-offset: 4px; }
.site-footer__copyright { font-size: var(--text-small); max-width: 34ch; }

@media (max-width: 767px) {
    .brands__inner { grid-template-columns: 1fr; }
    .brands__pause { justify-self: start; }
    .brands__group { gap: var(--space-3); padding-right: var(--space-3); }
    .brands__track { animation-duration: 32s; }
    .home-contact__primary { width: 100%; }
    .home-contact__actions { align-items: stretch; }
}

@media (min-width: 768px) {
    .home-section__title { font-size: var(--text-h2); }
    .home-solutions > .home-section__inner,
    .home-sectors > .home-section__inner,
    .home-testimonials > .home-section__inner,
    .home-contact > .home-section__inner { padding-top: var(--space-8); padding-bottom: var(--space-8); }
    .home-solutions__grid,
    .home-solutions__secondary { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .home-solutions__complement:nth-child(even) { padding-left: var(--space-3); border-left: 1px solid rgba(255,255,255,0.20); }
    .home-sectors__heading { grid-template-columns: 1fr 1fr; gap: var(--space-6); }
    .home-sectors__list { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .home-sectors__list li:nth-child(even) { border-left: 0; }
    .home-sectors__list li:not(:nth-child(3n + 1)) { border-left: 1px solid var(--color-border); }
    .home-testimonials__item { flex-basis: calc((100% - var(--space-3)) / 2); }
    .site-footer__inner { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1024px) {
    .home-solutions__heading { grid-template-columns: minmax(0,1fr) 26ch; gap: var(--space-8); align-items: center; }
    .home-solutions__support { padding-left: var(--space-4); border-left: 1px solid rgba(255,255,255,0.20); }
    .home-solutions__secondary { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .home-solutions__complement { border-top: 0; padding-top: 0; }
    .home-solutions__complement:not(:first-child) { padding-left: var(--space-3); border-left: 1px solid rgba(255,255,255,0.20); }
    .home-sectors__list { grid-template-columns: repeat(6, minmax(0,1fr)); }
    .home-sectors__list li:not(:first-child) { border-left: 1px solid var(--color-border); }
    .home-testimonials__inner { grid-template-columns: minmax(0, 0.9fr) minmax(0, 2fr); gap: var(--space-4); align-items: start; }
    .home-contact__inner { grid-template-columns: minmax(0,1fr) auto; gap: var(--space-8); }
    .site-footer__inner { grid-template-columns: 1fr 1fr 1fr; gap: var(--space-6); }
    .site-footer__contact,
    .site-footer__copyright { padding-left: var(--space-4); border-left: 1px solid rgba(255,255,255,0.20); }
}

@media (prefers-reduced-motion: reduce) {
    .brands__track { animation: none; width: 100%; min-width: 0; }
    .brands__group { flex: 1 1 100%; flex-wrap: wrap; gap: var(--space-3); padding-right: 0; }
    .brands__group[aria-hidden="true"],
    .brands__pause-input,
    .brands__pause { display: none; }
    .brands__heading { grid-column: 1 / -1; }
}


/* FAQ — acordeão nativo, isolado dos componentes existentes. */
.home-faq {
    background-color: var(--color-navy);
    position: relative;
    isolation: isolate;
    overflow: clip;
    font-family: var(--font-primary);
}
.home-faq__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: var(--space-6) var(--container-padding);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
    align-items: start;
}
.home-faq__heading,
.home-faq__questions { min-width: 0; }
.home-faq__eyebrow {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    font-size: var(--text-small);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0.12em;
    color: var(--color-cyan);
}
.home-faq__eyebrow::before {
    content: "";
    flex: 0 0 32px;
    height: 2px;
    background-color: var(--color-cyan);
}
.home-faq__title {
    margin-bottom: var(--space-3);
    font-size: 1.875rem;
    font-weight: var(--font-weight-bold);
    line-height: var(--lh-h2);
    color: var(--color-white);
}
.home-faq__intro {
    max-width: 42ch;
    font-size: var(--text-body);
    line-height: var(--lh-body);
    color: rgba(255, 255, 255, 0.88);
}
.home-faq__item {
    background-color: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--radius-button);
}
.home-faq__item + .home-faq__item { margin-top: var(--space-1); }
.home-faq__item:hover { border-color: rgba(255, 255, 255, 0.30); }
.home-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    min-height: 56px;
    padding: var(--space-3);
    list-style: none;
    cursor: pointer;
    font-size: var(--text-body);
    font-weight: var(--font-weight-semibold);
    line-height: 1.5;
    color: var(--color-white);
}
.home-faq__question::-webkit-details-marker { display: none; }
.home-faq__question:focus-visible {
    outline: 2px solid var(--color-cyan);
    outline-offset: 3px;
}
.home-faq__indicator {
    color: var(--color-cyan);
    position: relative;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
}
.home-faq__indicator::before,
.home-faq__indicator::after {
    content: "";
    position: absolute;
    background-color: currentColor;
}
.home-faq__indicator::before { top: 7px; left: 0; width: 16px; height: 2px; }
.home-faq__indicator::after { top: 0; left: 7px; width: 2px; height: 16px; }
.home-faq__item[open] .home-faq__indicator::after { display: none; }
.home-faq__answer {
    max-width: 72ch;
    padding: 0 var(--space-3) var(--space-3);
    font-size: var(--text-body);
    line-height: var(--lh-body);
    color: rgba(255, 255, 255, 0.88);
}
@media (min-width: 768px) {
    .home-faq__inner {
    position: relative;
    z-index: 1; padding-top: var(--space-8); padding-bottom: var(--space-8); }
    .home-faq__title { font-size: var(--text-h2); }
}
@media (min-width: 1024px) {
    .home-faq__inner {
    position: relative;
    z-index: 1; grid-template-columns: minmax(0, 3fr) minmax(0, 7fr); gap: var(--space-6); }
}

/* Formas limitadas às bordas, atrás do conteúdo e sem capturar interação. */
.home-faq::before,
.home-faq::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 0;
}
.home-faq::before {
    top: 0;
    bottom: 0;
    left: 0;
    width: min(14%, 180px);
    background-color: var(--color-blue);
    opacity: 0.30;
    clip-path: polygon(0 0, 65% 0, 12% 48%, 100% 100%, 0 100%);
}
.home-faq::after {
    top: 12%;
    right: -160px;
    width: 190px;
    height: 76%;
    border: 1px solid var(--color-blue);
    border-radius: 50%;
    box-shadow: 0 0 0 12px var(--color-navy), 0 0 0 13px var(--color-blue), 0 0 0 25px var(--color-navy), 0 0 0 26px var(--color-blue);
    opacity: 0.55;
}

/* Sophos Firewall — estilos exclusivos; componentes globais preservados. */
.sophos-inner { width: 100%; max-width: var(--container-max); margin: 0 auto; padding: var(--space-6) var(--container-padding); }
.sophos-page h2 { max-width: 32ch; color: var(--color-navy); }
.sophos-page h3 { color: var(--color-navy); }
.sophos-page p { max-width: 65ch; }
.sophos-page .sophos-intro { margin-top: var(--space-3); font-size: var(--text-body-large); }
.sophos-eyebrow { display: flex; align-items: center; gap: var(--space-2); margin-bottom: var(--space-3); font-size: var(--text-small); font-weight: 600; letter-spacing: 0.10em; }
.sophos-eyebrow::before { content: ''; width: 24px; height: 2px; flex-shrink: 0; background: var(--color-cyan); }
.sophos-hero, .sophos-approach { background: var(--color-navy); color: var(--color-white); }
.sophos-hero__inner, .sophos-approach__inner { display: grid; gap: var(--space-5); align-items: center; }
.sophos-hero h1 { max-width: 22ch; }
.sophos-hero .sophos-eyebrow, .sophos-approach .sophos-eyebrow { color: var(--color-cyan); }
.sophos-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-top: var(--space-4); }
.sophos-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 48px; padding: 12px 24px; border: 1px solid transparent; border-radius: var(--radius-button); background: var(--color-navy); color: var(--color-white); font-size: var(--text-button); font-weight: 600; text-decoration: none; text-align: center; }
.sophos-button:hover { background: var(--color-blue); }
.sophos-hero .sophos-button { background: var(--color-cyan); color: var(--color-navy); }
.sophos-hero .sophos-button:hover { background: var(--color-white); }
.sophos-button:focus-visible, .sophos-link:focus-visible { outline: 2px solid var(--color-cyan); outline-offset: 4px; }
.sophos-link { color: var(--color-white); font-weight: 600; text-underline-offset: 5px; padding: 12px 0; }
.sophos-hero__trust { margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid rgba(255,255,255,.20); font-size: var(--text-small); }
.sophos-hero__product { min-width: 0; width: 100%; max-width: 447px; justify-self: center; }
.sophos-hero__product img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; border-radius: var(--radius-card); }
.sophos-hero__product figcaption { margin-top: var(--space-2); font-size: var(--text-small); color: rgba(255,255,255,.88); }
.sophos-features { scroll-margin-top: 104px; }
.admin-bar .sophos-features { scroll-margin-top: 150px; }
.sophos-features__grid { display: grid; gap: var(--space-4); margin-top: var(--space-5); }
.sophos-features__item { min-width: 0; border-top: 1px solid var(--color-border); padding-top: var(--space-3); }
.sophos-features__item svg { color: var(--color-navy); margin-bottom: var(--space-2); }
.sophos-features__item h3 { margin-bottom: var(--space-2); }
.sophos-features__item p, .sophos-note { color: var(--color-text-secondary); }
.sophos-page .sophos-note { max-width: 100%; margin-top: var(--space-4); font-size: var(--text-small); }
.sophos-page .sophos-approach h2, .sophos-page .sophos-approach h3, .sophos-page .home-faq__title { color: var(--color-white); }
.sophos-approach__steps { list-style: none; }
.sophos-approach__steps li { display: flex; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid rgba(255,255,255,.20); }
.sophos-approach__steps li > span { color: var(--color-cyan); font-size: var(--text-h3); }
.sophos-approach__steps h3 { margin-bottom: var(--space-1); }
.sophos-contract { background: var(--color-surface-light); }
.sophos-contract__grid { display: grid; gap: var(--space-4); margin-top: var(--space-5); }
.sophos-contract__option { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-card); background: var(--color-white); }
.sophos-contract__option ul { padding-left: 20px; }
.sophos-contract__option li + li { margin-top: var(--space-1); }
.sophos-contract__option .sophos-button { margin-top: auto; }
.sophos-contact { background: var(--color-white); }
.sophos-contact__inner { display: grid; gap: var(--space-4); align-items: center; }
.sophos-contact .sophos-button { justify-self: start; }
@media (max-width: 600px) {
    .admin-bar .sophos-features { scroll-margin-top: 104px; }
}
@media (min-width: 768px) {
    .sophos-inner { padding-top: var(--space-10); padding-bottom: var(--space-10); }
    .sophos-features__grid, .sophos-contract__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sophos-contract__option { padding: var(--space-4); }
    .admin-bar .sophos-features { scroll-margin-top: 136px; }
}
@media (min-width: 1024px) {
    .sophos-hero__inner { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--space-8); }
    .sophos-page h1 { font-size: var(--text-h1); line-height: var(--lh-h1); }
    .sophos-page h2 { font-size: var(--text-h2); }
    .sophos-page h3 { font-size: var(--text-h3); }
    .sophos-features__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sophos-approach__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); }
    .sophos-contact__inner { grid-template-columns: minmax(0, 1fr) auto; }
}
/* Revisão Sophos aprovada: composição editorial, sem alterar a Home. */
.sophos-page .sophos-inner { padding-top: 40px; padding-bottom: 40px; }
.sophos-hero { background: linear-gradient(110deg, var(--color-navy) 20%, var(--color-blue) 100%); }
.sophos-hero__inner { position: relative; }
.sophos-hero__product { max-width: 680px; align-self: center; }
.sophos-hero__product img { border-radius: 0; background: none; aspect-ratio: 1; object-fit: contain; margin-top: -28%; margin-bottom: -28%; }
.sophos-hero__product figcaption { position: relative; text-align: center; }
.sophos-hero__trust { border: 0; padding-top: 0; padding-left: 16px; border-left: 2px solid var(--color-cyan); max-width: 30ch; }
.sophos-hero .sophos-link { border: 1px solid rgba(255,255,255,.7); border-radius: var(--radius-button); padding: 12px 24px; text-decoration: none; text-align: center; }
.sophos-features__grid { gap: 32px; margin-top: 32px; }
.sophos-features__item { text-align: center; border-top: 0; padding-top: 0; }
.sophos-features__item svg { width: 44px; height: 44px; margin: 0 auto 16px; color: var(--color-blue); }
.sophos-page .sophos-features__item h3 { font-size: 18px; }
.sophos-features__item p { font-size: 14px; }
.sophos-results { background: var(--color-surface-light); }
.sophos-results__inner { display: grid; align-items: center; gap: 40px; }
.sophos-results__visual { min-width: 0; padding: 24px 12px; background: var(--color-navy); overflow: hidden; }
.sophos-results__screen { border: 8px solid var(--color-navy); border-radius: 10px; background: var(--color-surface-light); transform: perspective(900px) rotateY(8deg); }
.sophos-results__toolbar { display: flex; gap: 6px; padding: 12px; border-bottom: 1px solid var(--color-border); }
.sophos-results__toolbar span { width: 6px; height: 6px; background: var(--color-blue); border-radius: 50%; }
.sophos-results__dashboard { display: grid; grid-template-columns: 48px 1fr; gap: 20px; padding: 16px; color: var(--color-blue); }
.sophos-results__rail { background: repeating-linear-gradient(to bottom, var(--color-navy) 0 8px, transparent 8px 24px); opacity: .5; }
.sophos-results__dashboard svg { width: 100%; }
.sophos-results .sophos-eyebrow { color: var(--color-blue); }
.sophos-approach__inner { gap: 32px; }
.sophos-contract { background: var(--color-white); }
.sophos-contract__grid { gap: 24px; margin-top: 24px; }
.sophos-contract__option { padding: 24px; background: var(--color-surface-light); }
.sophos-contract__option .sophos-button { width: 100%; }
.sophos-contract__option li::marker { color: var(--color-blue); }
.sophos-continuity { background: linear-gradient(110deg, var(--color-navy), var(--color-blue)); color: var(--color-white); }
.sophos-continuity__inner { display: grid; gap: 24px; align-items: center; }
.sophos-page .sophos-continuity h2 { color: var(--color-white); font-size: 30px; }
.sophos-continuity .sophos-eyebrow { color: var(--color-cyan); }
.sophos-continuity__inner > p { padding-left: 24px; border-left: 2px solid var(--color-cyan); font-size: 18px; }
.sophos-continuity svg { width: 100px; height: 100px; justify-self: center; color: var(--color-white); }
.sophos-page .sophos-faq { background: var(--color-white); margin-top: 24px; }
.sophos-faq::before, .sophos-faq::after { display: none; }
.sophos-page .sophos-faq .home-faq__title { color: var(--color-navy); }
.sophos-faq .home-faq__inner { padding-top: 24px; padding-bottom: 40px; }
.sophos-faq .home-faq__item { border-color: var(--color-border); background: var(--color-white); border-radius: 0; }
.sophos-faq .home-faq__item:first-child { border-radius: 6px 6px 0 0; }
.sophos-faq .home-faq__item:last-child { border-radius: 0 0 6px 6px; }
.sophos-faq .home-faq__item + .home-faq__item { margin-top: -1px; }
.sophos-faq .home-faq__question { color: var(--color-navy); min-height: 48px; padding: 12px 16px; }
.sophos-faq .home-faq__indicator { color: var(--color-navy); }
.sophos-faq .home-faq__answer { color: var(--color-text-secondary); padding: 0 16px 16px; }
.sophos-faq .home-faq__item:hover { border-color: var(--color-blue); position: relative; }
.sophos-contact { background: var(--color-surface-light); }
.sophos-page .sophos-contact h2 { font-size: 28px; }
.sophos-contact .sophos-intro { font-size: 16px; margin-top: 8px; }
.sophos-contact .sophos-actions { margin-top: 0; }
.sophos-button--outline { background: transparent; border-color: var(--color-navy); color: var(--color-navy); }
.sophos-button--outline:hover { color: var(--color-white); }
@media (min-width: 768px) {
    .sophos-results__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sophos-continuity__inner { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 100px; }
}
@media (min-width: 1024px) {
    .sophos-page .sophos-hero__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 32px; padding-top: 56px; padding-bottom: 56px; }
    .sophos-hero h1 { font-size: 48px; }
    .sophos-hero__product { align-self: end; padding-bottom: 24px; }
    .sophos-page .sophos-approach h2 { font-size: 30px; }
    .sophos-contact__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
/* Ajuste pontual após comparação: CTAs do Hero lado a lado no desktop. */
@media (min-width: 1024px) {
    .sophos-hero .sophos-actions { gap: 16px; }
    .sophos-hero .sophos-button, .sophos-hero .sophos-link { font-size: 14px; padding: 12px 16px; }
    .sophos-hero h1 { font-size: 44px; }
}
/* Hero Sophos — composição da referência; regras restritas ao Hero. */
.sophos-hero { background: linear-gradient(100deg, rgba(0,0,0,.48), transparent 72%), linear-gradient(160deg, var(--color-navy) 35%, var(--color-blue)); overflow: hidden; }
.sophos-page .sophos-hero__inner { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-top: 32px; padding-bottom: 32px; }
.sophos-hero .sophos-eyebrow { margin-bottom: 10px; font-size: 14px; font-weight: 500; }
.sophos-hero .sophos-eyebrow::before { display: none; }
.sophos-page .sophos-hero h1 { font-size: 36px; line-height: 1.04; color: var(--color-white); font-weight: 700; max-width: none; }
.sophos-page .sophos-hero .sophos-intro { margin-top: 16px; font-size: 16px; line-height: 1.45; color: rgba(255,255,255,.94); }
.sophos-hero__break { display: none; }
.sophos-hero .sophos-actions { gap: 16px; margin-top: 20px; }
.sophos-hero .sophos-button, .sophos-hero .sophos-link { font-size: 14px; padding: 12px 20px; min-height: 48px; }
.sophos-hero__trust { display: flex; align-items: center; gap: 24px; max-width: none; margin-top: 24px; padding: 0; border: 0; }
.sophos-hero__trust strong { font-size: 30px; line-height: 1; font-weight: 700; letter-spacing: -.04em; }
.sophos-hero__trust > span { border-left: 1px solid rgba(255,255,255,.6); padding-left: 24px; font-size: 16px; line-height: 1.25; }
.sophos-hero__product { position: relative; align-self: stretch; width: 100%; max-width: none; height: 230px; padding: 0; margin: 0; }
.sophos-hero__product img { position: absolute; top: 65%; left: 0; transform: translateY(-50%); width: 100%; max-width: 100%; height: auto; margin: 0; object-fit: contain; border: 0; border-radius: 0; background: none; }
.sophos-hero .sophos-hero__promise { position: relative; z-index: 1; margin-left: auto; width: max-content; padding-left: 20px; border-left: 2px solid var(--color-cyan); font-size: 16px; line-height: 1.4; }
@media (min-width: 900px) {
    .sophos-page .sophos-hero__inner { grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); gap: 24px; min-height: 460px; }
    .sophos-hero__product { height: auto; min-height: 360px; }
    .sophos-hero__product img { top: 80%; }
    .sophos-hero .sophos-hero__promise { position: absolute; top: 28px; right: 24px; font-size: 20px; }
}
@media (min-width: 1200px) {
    .sophos-page .sophos-hero__inner { min-height: 480px; padding-top: 32px; padding-bottom: 32px; }
    .sophos-page .sophos-hero h1 { font-size: 48px; }
    .sophos-page .sophos-hero .sophos-intro { font-size: 18px; }
    .sophos-hero__break { display: inline; }
    .sophos-hero .sophos-actions { flex-wrap: nowrap; }
}
/* Assets aprovados Sophos — sete seções, sem alterações nos componentes globais. */
.sophos-page { --sophos-action: #007bff; }
.sophos-page .sophos-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sophos-hero { background: var(--color-navy) url('../images/Sophos/hero-background-final.jpg') center / cover no-repeat; }
.sophos-page .sophos-button { background: var(--sophos-action); color: var(--color-white); }
.sophos-page .sophos-button:hover { background: var(--color-blue); }
.sophos-page .sophos-button--outline { color: var(--color-navy); background: transparent; border-color: var(--color-navy); }
.sophos-page .sophos-button--outline:hover { color: var(--color-white); background: var(--color-navy); }
.sophos-features__grid { margin-top: 0; }
.sophos-features__icon { width: 80px; height: 80px; object-fit: contain; margin: 0 auto 0; }
.sophos-page .sophos-features__item h3 { font-size: 17px; margin-bottom: 8px; }
.sophos-features .sophos-note { margin-top: 16px; font-size: 12px; text-align: center; }
.sophos-page .sophos-features > .sophos-inner { padding-top: 16px; padding-bottom: 20px; }
.sophos-results__visual { padding: 0; background: none; height: 100%; overflow: hidden; }
.sophos-results__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.sophos-page .sophos-results__inner { padding: 0; gap: 0; max-width: var(--container-max); }
.sophos-results__inner > div:last-child { padding: 32px var(--container-padding); }
.sophos-results .sophos-eyebrow { margin-bottom: 10px; font-size: 13px; }
.sophos-results .sophos-eyebrow::before, .sophos-contract .sophos-eyebrow::before, .sophos-faq .sophos-eyebrow::before, .sophos-contact .sophos-eyebrow::before { display: none; }
.sophos-page .sophos-results h2 { font-size: 34px; line-height: 1.05; }
.sophos-page .sophos-results .sophos-intro { margin-top: 16px; font-size: 17px; line-height: 1.5; }
.sophos-contract { scroll-margin-top: 136px; }
.sophos-contract__heading { display: grid; gap: 16px; align-items: center; }
.sophos-page .sophos-contract__heading .sophos-intro, .sophos-contract__heading .sophos-note { margin-top: 0; font-size: 13px; line-height: 1.5; }
.sophos-contract__heading .sophos-note { margin-top: 6px; }
.sophos-page .sophos-contract > .sophos-inner { padding-top: 28px; padding-bottom: 28px; }
.sophos-contract .sophos-eyebrow { margin-bottom: 8px; color: var(--sophos-action); font-size: 13px; }
.sophos-page .sophos-contract h2 { max-width: none; font-size: 32px; }
.sophos-contract__option { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 12px 16px; align-content: start; background: #f0f7ff; }
.sophos-contract__icon { grid-column: 1; grid-row: 1 / 4; width: 88px; height: 88px; object-fit: contain; background: #e1f0ff; border-radius: 10px; }
.sophos-contract__option h3, .sophos-contract__option p, .sophos-contract__option ul { grid-column: 2; }
.sophos-page .sophos-contract__option h3 { font-size: 22px; }
.sophos-contract__option p, .sophos-contract__option ul { font-size: 15px; line-height: 1.5; }
.sophos-contract__option .sophos-button { grid-column: 1 / -1; align-self: end; }
.sophos-contract__option ul { list-style: none; padding-left: 0; }
.sophos-contract__option li { position: relative; padding-left: 25px; }
.sophos-contract__option li::before { content: '✓'; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; border-radius: 50%; background: var(--sophos-action); color: white; font-size: 12px; text-align: center; line-height: 18px; }
.sophos-continuity { background: var(--color-navy) url('../images/Sophos/banner-continuidadade.jpg') center / cover no-repeat; }
.sophos-continuity__inner { min-height: 170px; grid-template-columns: minmax(0, 1fr); }
.sophos-page .sophos-continuity .sophos-inner { padding-top: 28px; padding-bottom: 28px; }
.sophos-page .sophos-continuity h2 { font-size: 30px; }
.sophos-continuity .sophos-eyebrow { margin-bottom: 12px; font-size: 13px; }
.sophos-continuity .sophos-eyebrow::before { display: none; }
.sophos-faq .sophos-eyebrow, .sophos-contact .sophos-eyebrow { margin-bottom: 8px; color: var(--sophos-action); font-size: 13px; }
.sophos-page .sophos-faq .home-faq__title { font-size: 32px; }
.sophos-page .sophos-faq { margin-top: 0; }
.sophos-faq .home-faq__inner { padding-top: 24px; padding-bottom: 28px; }
.sophos-faq .home-faq__item { border-radius: 6px; }
.sophos-faq .home-faq__item + .home-faq__item { margin-top: 4px; }
.sophos-faq .home-faq__question { font-size: 14px; font-weight: 500; padding: 10px 16px; min-height: 42px; }
.sophos-page .sophos-contact > .sophos-inner { padding-top: 24px; padding-bottom: 24px; }
.sophos-page .sophos-contact h2 { font-size: 28px; }
.sophos-contact .sophos-button { font-size: 14px; padding: 12px 16px; }
@media (min-width: 768px) {
    .sophos-results__inner { grid-template-columns: minmax(0, 56fr) minmax(0, 44fr); }
    .sophos-results__visual { min-height: 330px; max-height: 390px; }
    .sophos-continuity__inner { grid-template-columns: minmax(0, 46fr) minmax(0, 34fr) minmax(0, 20fr); }
}
@media (min-width: 1024px) {
    .sophos-features__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
    .sophos-contract__heading { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 32px; }
    .sophos-contract__heading > div:last-child { text-align: right; }
    .sophos-continuity { background-size: auto 100%; background-position: right center; background-repeat: no-repeat; }
    .sophos-results__inner > div:last-child { padding-right: var(--container-padding); padding-left: 40px; }
}
@media (max-width: 767px) {
    .sophos-results__visual { height: 260px; }
    .sophos-contract__option { grid-template-columns: 64px minmax(0, 1fr); padding: 20px; }
    .sophos-contract__icon { width: 64px; height: 64px; }
    .sophos-contract__icon { grid-row: 1; }
    .sophos-contract__option p, .sophos-contract__option ul { grid-column: 1 / -1; }
    .sophos-continuity { background-position: 65% center; }
    .sophos-continuity__inner { background: rgba(2,40,89,.75); }
}
/* Contenção técnica dos assets Sophos; proporção nativa do appliance. */
.sophos-page .sophos-hero__product { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; min-width: 0; height: auto; overflow: hidden; }
.sophos-page .sophos-hero__product img { position: static; inset: auto; transform: none; display: block; width: 100%; max-width: 680px; height: auto; aspect-ratio: auto; object-fit: contain; margin: 0 auto; flex-shrink: 0; }
.sophos-results__visual { position: relative; min-width: 0; max-width: 100%; overflow: hidden; }
.sophos-results__visual img { position: absolute; inset: 0; display: block; width: 100%; max-width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.sophos-page .sophos-continuity { position: relative; overflow: hidden; background-image: url('../images/Sophos/banner-continuidadade.jpg'); background-size: cover; background-position: center right; background-repeat: no-repeat; }
.sophos-continuity__inner { position: relative; }
.sophos-features__icon, .sophos-contract__icon { width: 48px; height: 48px; max-width: 100%; object-fit: contain; flex-shrink: 0; }
/* Arte final do Hero; conteúdo textual preservado em HTML. */
@media (max-width: 899px) {
    .sophos-hero { background-size: auto clamp(220px, 33.35vw, 300px); background-position: 82% bottom; }
    .sophos-page .sophos-hero__inner { padding-bottom: clamp(240px, 36vw, 324px); }
}
@media (min-width: 900px) {
    .sophos-hero { background-size: auto 100%; }
    .sophos-page .sophos-hero__inner { max-width: 1280px; grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); }
    .sophos-page .sophos-hero__product { max-width: 680px; justify-self: end; }
}
/* Estende somente as colunas das bordas da arte nas telas largas. */
@media (min-width: 1440px) {
    .sophos-hero { position: relative; }
    .sophos-hero::before, .sophos-hero::after { content: ''; position: absolute; top: 0; bottom: 0; width: max(0px, calc((100% - 480px * 2171 / 724) / 2 + 1px)); background-image: url('../images/Sophos/hero-background-final.jpg'); background-size: 217100% 100%; background-repeat: no-repeat; pointer-events: none; }
    .sophos-hero::before { left: 0; background-position: left center; }
    .sophos-hero::after { right: 0; background-position: right center; }
}

/* Segurança da Informação — mockup aprovado; estilos exclusivos da página. */
.security-page { font-family: var(--font-primary); color: var(--color-navy); background: var(--color-white); }
.security-page__inner { width: min(100%, 1200px); margin-inline: auto; padding: 48px 32px; }
.security-page h1, .security-page h2, .security-page h3 { color: inherit; }
.security-page h1 { font-size: 48px; line-height: 1.06; letter-spacing: -.025em; }
.security-page h2 { font-size: 32px; line-height: 1.12; letter-spacing: -.025em; }
.security-page h3 { font-size: 17px; line-height: 1.3; font-weight: 700; }
.security-page p { line-height: 1.45; }
.security-page .security-page__eyebrow { margin-bottom: 12px; color: var(--color-blue); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.security-page__intro { margin-top: 20px; font-size: 17px; }
.security-page__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 24px; }
.security-page__button { display: inline-flex; justify-content: center; align-items: center; gap: 16px; min-height: 52px; padding: 14px 24px; border: 1px solid var(--color-cyan); border-radius: 6px; background: var(--color-cyan); color: var(--color-navy); font-size: 14px; font-weight: 600; line-height: 1.4; text-decoration: none; text-align: center; }
.security-page__button:hover { background: var(--color-white); border-color: var(--color-white); color: var(--color-navy); }
.security-page__link { color: inherit; font-size: 14px; font-weight: 600; text-underline-offset: 3px; }
.security-page__link span { display: inline-block; padding-left: 8px; color: var(--color-cyan); }
.security-page a:focus-visible { outline: 3px solid var(--color-cyan); outline-offset: 4px; }
.security-page__button:focus-visible { outline-color: var(--color-white); }
.security-hero { background: var(--color-navy) url('../images/Seguranca-Informacao/protection-banner.jpg') center / cover no-repeat; color: var(--color-white); }
.security-hero__inner { position: relative; min-height: 520px; padding-top: 48px; padding-bottom: 40px; }
.security-hero__copy { max-width: 680px; }
.security-hero .security-page__eyebrow, .security-layers .security-page__eyebrow, .security-cta .security-page__eyebrow { color: var(--color-cyan); }
.security-hero h1 span { color: var(--color-cyan); }
.security-hero__credentials { display: flex; align-items: center; flex-wrap: wrap; gap: 32px; list-style: none; margin-top: 40px; font-size: 12px; line-height: 1.4; }
.security-hero__credentials li { padding-left: 12px; border-left: 1px solid var(--color-cyan); }
.security-hero__credentials strong { font-weight: 600; }
.security-hero__promise, .security-cta__promise { border-left: 2px solid var(--color-cyan); padding-left: 18px; font-size: 18px; }
.security-hero__promise { position: static; width: fit-content; max-width: 100%; margin-top: 24px; }
.security-risks__heading { display: grid; grid-template-columns: 1.15fr 1fr; gap: 88px; align-items: center; }
.security-risks__heading > p { font-size: 15px; }
.security-risks__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 40px; }
.security-risks__item { border-radius: 16px; background: var(--color-surface-light); padding: 28px 24px; }
.security-risks__item img { width: 56px; height: 56px; object-fit: contain; margin-bottom: 24px; }
.security-risks__item p { margin-top: 14px; font-size: 14px; }
.security-layers { background: var(--color-navy); color: var(--color-white); scroll-margin-top: 136px; }
.security-layers__inner { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; padding-top: 48px; padding-bottom: 48px; }
.security-layers .security-page__button { margin-top: 24px; }
.security-layers__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 24px; }
.security-layers__icon { display: block; width: 44px; height: auto; object-fit: contain; margin-bottom: 16px; }
.security-layers__item h3 { font-size: 15px; }
.security-layers__item p { margin-top: 10px; font-size: 13px; }
.security-trust { display: grid; grid-template-columns: 1.02fr .98fr; }
.security-trust__visual { position: relative; min-height: 420px; background: var(--color-navy); }
.security-trust__visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.security-trust__visual > p { position: absolute; left: max(32px, calc((100vw - 1200px) / 2)); bottom: 48px; padding-left: 28px; border-left: 2px solid var(--color-cyan); color: var(--color-white); font-size: 18px; }
.security-trust__copy { align-self: center; max-width: 624px; padding: 40px 48px 40px 60px; }
.security-trust__checks { list-style: none; display: grid; gap: 16px; margin-top: 24px; font-size: 16px; }
.security-trust__checks li { display: flex; align-items: center; gap: 12px; }
.security-trust__checks img { flex: 0 0 26px; width: 26px; height: 26px; object-fit: contain; }
.security-partners { background: var(--color-surface-light); text-align: center; }
.security-partners .security-page__inner { padding-top: 32px; padding-bottom: 40px; }
.security-partners h2 { font-size: 30px; }
.security-partners__logos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; list-style: none; margin-top: 40px; }
.security-partners__logos li { padding: 0 28px; }
.security-partners__logos li + li { border-left: 1px solid var(--color-border); }
.security-partners__logos img { width: 100%; height: 48px; object-fit: contain; }
.security-faq__inner { display: grid; grid-template-columns: .9fr 1fr; gap: 64px; align-items: start; padding-top: 40px; padding-bottom: 32px; }
.security-faq .home-faq__item { background: var(--color-white); border-color: var(--color-border); }
.security-faq .home-faq__item:hover { border-color: var(--color-blue); }
.security-faq .home-faq__question { min-height: 48px; padding: 12px 18px; font-size: 13px; color: var(--color-text-primary); }
.security-faq .home-faq__indicator { color: var(--color-navy); flex-basis: 12px; width: 12px; height: 12px; }
.security-faq .home-faq__indicator::before { top: 5px; width: 12px; }
.security-faq .home-faq__indicator::after { left: 5px; height: 12px; }
.security-faq .home-faq__answer { padding: 0 18px 18px; font-size: 14px; color: var(--color-text-secondary); }
.security-cta { background: var(--color-navy) url('../images/Seguranca-Informacao/hero-background.jpg') center / cover no-repeat; color: var(--color-white); }
.security-cta__inner { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; min-height: 320px; padding-top: 40px; padding-bottom: 48px; }
.security-cta__promise { margin-top: 32px; }
@media (max-width: 1199px) and (min-width: 768px) {
    .security-hero__copy { max-width: 600px; }
    .security-hero__promise { right: 24px; font-size: 15px; }
    .security-page h1 { font-size: 44px; }
    .security-page h2 { font-size: 28px; }
    .security-risks__heading, .security-layers__inner, .security-faq__inner { gap: 32px; }
    .security-risks__item { padding: 24px 16px; }
    .security-layers__inner { grid-template-columns: .8fr 1.2fr; }
    .security-layers__grid { gap: 32px 16px; }
    .security-trust__copy { padding: 32px; }
    .security-partners__logos li { padding-inline: 16px; }
}
@media (max-width: 767px) {
    .security-page__inner { padding: 40px 24px; }
    .security-page h1 { font-size: clamp(30px, 8vw, 36px); line-height: 1.15; }
    .security-page h2 { font-size: 30px; line-height: 1.2; }
    .security-page__desktop-break { display: none; }
    .security-page__intro { font-size: 16px; }
    .security-page__actions { align-items: stretch; flex-direction: column; gap: 20px; }
    .security-page__button { width: 100%; }
    .security-page__link { align-self: flex-start; }
    .security-hero { background-position: center; }
    .security-hero__inner { padding-bottom: 240px; background: linear-gradient(to bottom, var(--color-navy) 0%, var(--color-navy) 63%, transparent 85%); }
    .security-hero__credentials { gap: 20px; margin-top: 32px; }
    .security-hero__promise { position: static; width: fit-content; margin-top: 32px; font-size: 16px; }
    .security-risks__heading, .security-risks__grid, .security-layers__inner, .security-trust, .security-faq__inner { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .security-risks__grid { margin-top: 28px; }
    .security-risks__item { padding: 24px; }
    .security-risks__item img { margin-bottom: 16px; }
    .security-risks__item h3 { font-size: 20px; }
    .security-risks__item p { font-size: 16px; }
    .security-layers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; margin-top: 8px; }
    .security-layers__item p { font-size: 14px; }
    .security-trust { gap: 0; }
    .security-trust__visual { min-height: 320px; }
    .security-trust__visual > p { left: 24px; bottom: 24px; padding-left: 16px; font-size: 16px; }
    .security-trust__copy { padding: 32px 24px 40px; }
    .security-partners h2 { font-size: 28px; }
    .security-partners__logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 32px; }
    .security-partners__logos li { padding-inline: 12px; }
    .security-partners__logos li + li { border: 0; }
    .security-partners__logos li:last-child { grid-column: 1 / -1; width: 50%; justify-self: center; }
    .security-faq .home-faq__question { font-size: 14px; padding: 16px; }
    .security-cta__inner { flex-direction: column; background: rgba(2,40,89,.8); }
    .security-cta__inner > div { width: 100%; }
    .security-cta__promise { margin-top: 0; font-size: 16px; }
}
@media (max-width: 359px) {
    .security-layers__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Gestão e Suporte de TI — V1; regras restritas à página aprovada. */
.support-page { color: var(--color-navy); background: white; }
.support-inner { width: min(100%, 1280px); margin-inline: auto; padding: 28px 32px; }
.support-page h1, .support-page h2, .support-page h3 { color: inherit; }
.support-page h1 { font-size: 38px; line-height: 1.12; letter-spacing: -.035em; }
.support-page h2 { font-size: 28px; line-height: 1.13; letter-spacing: -.035em; }
.support-page h3 { font-size: 14px; line-height: 1.25; letter-spacing: -.025em; }
.support-page p { line-height: 1.35; }
.support-page .support-eyebrow { margin-bottom: 8px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--color-blue); }
.support-intro { margin-top: 12px; font-size: 16px; }
.support-heading { text-align: center; }
.support-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 24px; }
.support-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 48px; padding: 12px 22px; border: 1px solid var(--color-blue); border-radius: 28px; background: var(--color-blue); color: white; font-size: 13px; line-height: 1.35; font-weight: 600; text-align: center; text-decoration: none; }
.support-button span { font-size: 22px; line-height: 1; }
.support-button:hover { background: var(--color-navy); border-color: var(--color-cyan); }
.support-button--outline { background: transparent; border-color: currentColor; color: inherit; }
.support-button--outline:hover { background: var(--color-navy); color: white; }
.support-page a:focus-visible { outline: 3px solid var(--color-cyan); outline-offset: 4px; }
.support-hero { background: var(--color-navy) url('../images/suporte-ti/hero-suporte-ti.jpg') center / cover no-repeat; color: white; }
.support-hero__inner { position: relative; min-height: 424px; padding: 32px 80px 28px; }
.support-hero__copy { max-width: 650px; }
.support-hero .support-eyebrow, .support-services .support-eyebrow { color: var(--color-cyan); }
.support-hero h1 span { color: var(--color-cyan); }
.support-hero .support-intro { max-width: 535px; margin-top: 16px; }
.support-hero__benefits { display: flex; gap: 32px; margin-top: 36px; list-style: none; max-width: 590px; }
.support-hero__benefits li { display: flex; align-items: center; gap: 10px; flex: 1; font-size: 12px; line-height: 1.35; font-weight: 600; }
.support-hero__benefits img { width: 36px; height: 36px; object-fit: contain; flex: 0 0 36px; }
.support-hero__promise { position: absolute; right: 32px; bottom: 62px; padding-left: 18px; border-left: 2px solid var(--color-cyan); font-size: 20px; font-weight: 600; }
.support-technologies { background: var(--color-navy) url('../images/suporte-ti/faixa-tecnologias.jpg') center / cover no-repeat; color: white; }
.support-technologies .support-inner { position: relative; padding-top: 30px; padding-bottom: 30px; }
.support-page .support-technologies__heading { display: flex; align-items: center; gap: 24px; margin-bottom: 20px; font-size: 10px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; text-align: center; }
.support-technologies__heading::before, .support-technologies__heading::after { content: ''; flex: 1; height: 1px; background: rgba(255,255,255,.35); }
.support-technologies .brands__group { gap: 38px; padding-right: 38px; }
.support-technologies .brands__item { flex-basis: 162px; }
.support-technologies .brands__item img { filter: grayscale(1) brightness(0) invert(.94); max-height: 34px; max-width: 152px; }
.support-technologies .brands__item img[src$='/unifi.png'] { max-width: 100px; max-height: 48px; }
.support-technologies .support-technologies__pause { position: absolute; right: 32px; top: 0; min-height: 26px; color: white; font-size: 10px; opacity: 0; }
.support-technologies:hover .support-technologies__pause, .support-technologies:focus-within .support-technologies__pause { opacity: 1; }
.support-problems, .support-faq { background: #f2f9fc; }
.support-problems__grid, .support-sectors__grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.support-problems__item { padding: 20px 24px; border-radius: 10px; background: white; }
.support-problems__item img { width: 46px; height: 46px; object-fit: contain; margin-bottom: 12px; }
.support-problems__item p, .support-services__item p, .support-sectors__item p { margin-top: 8px; font-size: 14px; color: var(--color-text-secondary); }
.support-services { background: #02243f; color: white; scroll-margin-top: 128px; }
.support-services__inner { display: grid; grid-template-columns: .95fr 1.6fr; gap: 74px; align-items: center; padding-top: 30px; padding-bottom: 26px; }
.support-services .support-button { margin-top: 20px; }
.support-services__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px 32px; }
.support-services__item img { width: 44px; height: 44px; object-fit: contain; margin-bottom: 10px; }
.support-services__item:nth-child(n+4) { border-top: 1px solid rgba(46,223,242,.12); padding-top: 14px; }
.support-services__item p { color: #e3e7ec; }
.support-operation { position: relative; isolation: isolate; background: #f2f9fc; overflow: hidden; }
.support-operation__image { position: absolute; z-index: -2; inset: 0 0 0 auto; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.support-operation .support-inner { position: relative; min-height: 246px; padding-top: 30px; padding-bottom: 26px; }
.support-operation__copy { max-width: 510px; }
.support-operation__benefits { display: flex; gap: 20px; list-style: none; margin-top: 22px; max-width: 640px; }
.support-operation__benefits li { display: flex; align-items: center; gap: 8px; font-size: 10px; font-weight: 600; }
.support-operation__benefits img { width: 28px; height: 28px; object-fit: contain; flex-shrink: 0; }
.support-sectors .support-inner { padding-top: 20px; padding-bottom: 16px; }
.support-sectors h2 { font-size: 24px; }
.support-sectors__item { border: 1px solid var(--color-border); border-radius: 8px; text-align: center; padding: 16px 20px; }
.support-sectors__item img { width: 44px; height: 44px; object-fit: contain; margin: 0 auto 8px; }
.support-sectors__item p { font-size: 13px; }
.support-faq__inner { display: grid; grid-template-columns: .9fr 1.9fr; gap: 70px; padding-top: 18px; padding-bottom: 20px; align-items: center; }
.support-faq .support-intro { font-size: 14px; }
.support-faq .home-faq__item { background: white; border-color: var(--color-border); }
.support-faq .home-faq__item + .home-faq__item { margin-top: 4px; }
.support-faq .home-faq__item:hover { border-color: var(--color-blue); }
.support-faq .home-faq__question { color: var(--color-navy); font-size: 13px; font-weight: 500; padding: 7px 18px; min-height: 34px; }
.support-faq .home-faq__indicator { color: var(--color-blue); }
.support-faq .home-faq__answer { padding: 8px 18px 16px; font-size: 14px; color: var(--color-text-secondary); }
.support-cta__inner { display: flex; justify-content: space-between; gap: 32px; align-items: center; padding-top: 20px; padding-bottom: 20px; }
.support-cta h2 { font-size: 24px; }
.support-cta p:not(.support-eyebrow) { font-size: 12px; margin-top: 6px; color: var(--color-text-secondary); }
.support-cta .support-actions { margin-top: 0; flex-wrap: nowrap; flex-shrink: 0; }
.support-cta .support-button { padding-inline: 20px; font-size: 11px; }
@media (min-width: 768px) and (max-width: 1100px) {
    .support-hero__inner { padding-inline: 32px; }
    .support-hero__copy { max-width: 610px; }
    .support-hero__promise { font-size: 16px; right: 24px; }
    .support-services__inner { gap: 30px; }
    .support-services__grid { gap: 16px; }
    .support-problems__item, .support-sectors__item { padding: 18px 14px; }
    .support-operation__copy { max-width: 48%; }
    .support-operation__benefits { max-width: 50%; flex-wrap: wrap; }
    .support-cta__inner { align-items: flex-start; }
    .support-cta .support-actions { flex-direction: column; }
}
@media (max-width: 767px) {
    .support-inner { padding: 32px 24px; }
    .support-page h1 { font-size: 32px; line-height: 1.15; }
    .support-page h2 { font-size: 27px; line-height: 1.18; }
    .support-page h3 { font-size: 17px; }
    .support-desktop-break { display: none; }
    .support-hero { background-size: auto 290px; background-position: 70% bottom; }
    .support-hero__inner { padding-bottom: 260px; background: linear-gradient(to bottom, #022859 0%, #022859 calc(100% - 280px), transparent calc(100% - 190px)); }
    .support-hero__benefits { flex-direction: column; gap: 16px; margin-top: 26px; }
    .support-hero__benefits li { font-size: 13px; }
    .support-hero__promise { right: 24px; bottom: 24px; font-size: 16px; background: rgba(2,40,89,.8); padding: 10px 14px; }
    .support-actions { flex-direction: column; align-items: stretch; gap: 12px; }
    .support-button { width: 100%; }
    .support-technologies .support-inner { padding-inline: 0; }
    .support-page .support-technologies__heading { font-size: 9px; gap: 12px; padding-inline: 16px; }
    .support-problems__grid, .support-services__inner, .support-faq__inner { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .support-problems__item { padding: 24px; }
    .support-problems__item p, .support-services__item p { font-size: 15px; }
    .support-services__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
    .support-services__item:nth-child(n+3) { border-top: 1px solid rgba(46,223,242,.12); padding-top: 16px; }
    .support-services__item h3 { font-size: 16px; }
    .support-operation__image { top: auto; height: 230px; object-position: right center; width: 200%; max-width: none; }
    .support-operation .support-inner { padding-bottom: 254px; }
    .support-operation__copy { max-width: none; }
    .support-operation__benefits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 12px; }
    .support-operation__benefits li { font-size: 11px; }
    .support-sectors__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 24px; }
    .support-sectors__item { padding: 20px 12px; }
    .support-sectors__item h3 { font-size: 15px; }
    .support-sectors__item:last-child { grid-column: 1 / -1; }
    .support-faq .home-faq__question { min-height: 48px; padding: 12px; font-size: 14px; }
    .support-cta__inner { flex-direction: column; align-items: stretch; gap: 20px; }
    .support-cta .support-actions { flex-direction: column; }
    .support-cta .support-button { font-size: 13px; }
    .support-cta p:not(.support-eyebrow) { font-size: 14px; }
}
@media (max-width: 359px) {
    .support-services__grid, .support-sectors__grid { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .support-technologies .brands__track { animation: none; width: 100%; min-width: 0; }
    .support-technologies .brands__group { gap: 16px; padding: 0 16px; }
    .support-technologies .brands__item { flex-basis: 140px; }
}
/* Respiro externo; prolonga o fundo claro sem alterar as dimensões do banner. */
.support-operation {
    margin-top: 68px;
    box-shadow: 0 -68px 0 #f2f9fc;
}
@media (max-width: 767px) {
    .support-operation {
        margin-top: 44px;
        box-shadow: 0 -44px 0 #f2f9fc;
    }
}

/* Única correção estrutural após comparação: imagem à direita, texto em área clara. */
@media (min-width: 768px) {
    .support-operation__image { width: 55%; }
    .support-operation::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, #f2f9fc 0%, #f2f9fc 43%, rgba(242,249,252,.94) 49%, transparent 64%); pointer-events: none; }
    .support-operation__copy { max-width: 49%; }
    .support-operation__benefits { max-width: 53%; gap: 14px; }
}

/* Backup — escopo isolado; referência: backup_aprovado.png. */
.page-backup { color: var(--color-navy); background: white; font-family: var(--font-primary); }
.page-backup .backup-inner { width: min(100%, 1280px); margin-inline: auto; padding: 40px 24px; }
.page-backup h1, .page-backup h2, .page-backup h3, .page-backup h4 { color: inherit; }
.page-backup h1 { font-size: 48px; line-height: 1.1; letter-spacing: -.035em; }
.page-backup h2 { font-size: 36px; line-height: 1.15; letter-spacing: -.035em; }
.page-backup h3 { font-size: 20px; line-height: 1.3; letter-spacing: -.025em; }
.page-backup p { line-height: 1.45; }
.page-backup .backup-eyebrow { margin-bottom: 10px; color: var(--color-blue); font-size: 13px; font-weight: 700; letter-spacing: .1em; }
.page-backup .backup-intro { margin-top: 14px; font-size: 18px; }
.page-backup .backup-icon { display: block; width: 56px; height: 56px; object-fit: contain; flex-shrink: 0; }
.page-backup .backup-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 24px; }
.page-backup .backup-button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 48px; padding: 14px 24px; border: 1px solid transparent; border-radius: 28px; background: var(--color-cyan); color: var(--color-navy); font-size: 14px; line-height: 1.4; font-weight: 600; text-align: center; text-decoration: none; }
.page-backup .backup-button > span { font-size: 24px; line-height: 1; }
.page-backup .backup-button:hover { background: white; color: var(--color-navy); border-color: var(--color-navy); }
.page-backup .backup-button--outline { background: transparent; border-color: white; color: white; }
.page-backup a:focus-visible, .page-backup button:focus-visible { outline: 3px solid var(--color-blue); outline-offset: 4px; }
.page-backup .backup-hero a:focus-visible, .page-backup .backup-final-cta a:focus-visible { outline-color: white; }
.page-backup .backup-hero { background: var(--color-navy) url('../images/backup/banners/hero-backup.jpg') center / cover no-repeat; color: white; }
.page-backup .backup-hero__inner { position: relative; min-height: 574px; padding-top: 40px; padding-bottom: 36px; }
.page-backup .backup-hero__copy { max-width: 700px; }
.page-backup .backup-hero h1 { max-width: 510px; }
.page-backup .backup-hero h1 span, .page-backup .backup-hero .backup-eyebrow { color: var(--color-cyan); }
.page-backup .backup-hero .backup-intro { max-width: 620px; margin-top: 20px; }
.page-backup .backup-benefits { display: flex; gap: 28px; max-width: 700px; margin-top: 48px; list-style: none; }
.page-backup .backup-benefits li { display: flex; flex: 1; align-items: center; gap: 12px; font-size: 14px; line-height: 1.4; }
.page-backup .backup-benefits .backup-icon { width: 48px; height: 48px; }
.page-backup .backup-hero__promise { position: absolute; right: 24px; top: 48%; font-size: 22px; font-weight: 600; }
.page-backup .backup-hero__promise::after { content: ''; display: block; margin-top: 24px; width: 72px; height: 3px; background: var(--color-cyan); }
/* Estrutura e animação brands__* da Home/Suporte TI, sem novos keyframes. */
.page-backup .backup-technologies__inner { position: relative; padding: 30px 0; }
.page-backup .backup-technologies__heading { display: flex; align-items: center; gap: 24px; margin: 0 auto 20px; padding-inline: 24px; max-width: 1280px; color: white; font-size: 11px; line-height: 1.4; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; text-align: center; }
.page-backup .backup-technologies__heading::before, .page-backup .backup-technologies__heading::after { content: ''; flex: 1; height: 1px; background: rgba(255,255,255,.35); }
.page-backup .backup-technologies .brands__pause-input:focus-visible + .brands__pause { outline-color: white; }
.page-backup .backup-nable { position: relative; display: block; width: 152px; height: 27px; overflow: hidden; }
.page-backup .backup-nable img { position: absolute; width: 177.26px; height: 88.63px; max-width: none; max-height: none; left: -12.56px; top: -30.9px; }
.page-backup .backup-solutions { background: #f2f9fc; scroll-margin-top: 110px; }
.page-backup .backup-solutions__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 38px; }
.page-backup .backup-solutions__item { padding: 0 44px; }
.page-backup .backup-solutions__item + .backup-solutions__item { border-left: 1px solid #cde5ef; }
.page-backup .backup-solutions__item .backup-icon { width: 80px; height: 80px; margin: 0 auto 22px; }
.page-backup .backup-solutions__item h3 { text-align: center; min-height: 52px; }
.page-backup .backup-solutions__item p { margin-top: 18px; font-size: 18px; }
.page-backup .backup-solutions__closing { margin-top: 36px; padding-top: 20px; border-top: 1px solid #cde5ef; text-align: center; font-size: 17px; }
.page-backup .backup-cloud { background: #e7f6fc; }
.page-backup .backup-cloud h2 { max-width: 780px; }
.page-backup .backup-cloud > .backup-inner > .backup-intro { max-width: 760px; }
.page-backup .backup-cloud__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 28px; }
.page-backup .backup-cloud__card { background: white; border-radius: 6px; padding: 22px 18px 14px; }
.page-backup .backup-cloud__description { display: flex; gap: 20px; align-items: flex-start; }
.page-backup .backup-cloud__description h3 { font-size: 18px; }
.page-backup .backup-cloud__description p { margin-top: 10px; font-size: 16px; }
.page-backup .backup-cloud__offer { margin-top: 18px; padding: 12px 16px; background: #e7f6fc; border-radius: 4px; }
.page-backup .backup-cloud__offer h4 { font-size: 16px; }
.page-backup .backup-cloud__offer dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 14px; text-align: center; }
.page-backup .backup-cloud__offer dl > div + div { border-left: 2px solid var(--color-cyan); }
.page-backup .backup-cloud__offer dt { font-size: 32px; line-height: 1.1; font-weight: 700; }
.page-backup .backup-cloud__offer dd { margin: 0; font-size: 16px; }
.page-backup .backup-cloud__note { margin-top: 12px; font-size: 12px; }
.page-backup .backup-cloud__action { margin-top: 24px; text-align: center; }
.page-backup .backup-impact { position: relative; display: grid; grid-template-columns: 47% 53%; min-height: 610px; }
.page-backup .backup-impact__photo { position: absolute; inset: 0 auto 0 0; width: 47%; height: 100%; object-fit: cover; object-position: 48% 45%; }
.page-backup .backup-impact__copy { grid-column: 2; grid-row: 1; min-width: 0; padding: 26px max(24px,calc((100vw - 1280px) / 2 + 24px)) 30px 32px; }
.page-backup .backup-impact__copy h2 { max-width: 470px; }
.page-backup .backup-impact__copy .backup-intro { margin-top: 10px; }
.page-backup .backup-impact__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 22px; }
.page-backup .backup-impact__grid .backup-icon { width: 48px; height: 48px; margin-bottom: 8px; }
.page-backup .backup-impact__grid h3 { font-size: 15px; }
.page-backup .backup-impact__grid p { margin-top: 12px; font-size: 14px; }
.page-backup .backup-managed { background: var(--color-navy); color: white; }
.page-backup .backup-managed__heading { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.page-backup .backup-managed__heading h2 { max-width: 460px; }
.page-backup .backup-managed__heading p { font-size: 16px; }
.page-backup .backup-managed__steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 44px; margin-top: 32px; list-style: none; }
.page-backup .backup-managed__steps li { position: relative; min-width: 0; }
.page-backup .backup-managed__steps li:not(:last-child)::before { content: ''; position: absolute; top: 31px; left: 80px; width: calc(100% - 36px); height: 2px; background: var(--color-cyan); }
.page-backup .backup-managed__number { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 0 22px 16px; border: 2px solid var(--color-cyan); border-radius: 50%; color: var(--color-cyan); font-size: 28px; }
.page-backup .backup-managed__steps h3 { font-size: 18px; }
.page-backup .backup-managed__steps p { margin-top: 14px; font-size: 16px; }
.page-backup .backup-faq { background: #e7f6fc; }
.page-backup .backup-faq__inner { display: grid; grid-template-columns: .85fr 1.9fr; gap: 64px; }
.page-backup .backup-faq__inner > div > .backup-intro { max-width: 290px; }
.page-backup .backup-faq__item { background: white; border-radius: 4px; }
.page-backup .backup-faq__item + .backup-faq__item { margin-top: 8px; }
.page-backup .backup-faq__question { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; min-height: 44px; padding: 10px 16px; border: 0; background: transparent; color: var(--color-navy); font: inherit; font-size: 14px; line-height: 1.35; font-weight: 600; text-align: left; cursor: pointer; }
.page-backup .backup-faq__question span { position: relative; flex: 0 0 18px; height: 18px; }
.page-backup .backup-faq__question span::before, .page-backup .backup-faq__question span::after { content: ''; position: absolute; background: var(--color-blue); }
.page-backup .backup-faq__question span::before { width: 18px; height: 2px; top: 8px; }
.page-backup .backup-faq__question[aria-expanded='false'] span::after { width: 2px; height: 18px; left: 8px; }
.page-backup .backup-faq__answer { padding: 2px 16px 16px; font-size: 15px; }
.page-backup .backup-faq__answer[hidden] { display: none; }
.page-backup .backup-final-cta { position: relative; isolation: isolate; overflow: hidden; background: var(--color-navy); color: white; }
.page-backup .backup-final-cta::before, .page-backup .backup-final-cta::after { content: ''; position: absolute; z-index: -1; width: 900px; height: 220px; right: -120px; bottom: -36px; border: 1px solid rgba(46,223,242,.3); border-radius: 50%; transform: rotate(-16deg); box-shadow: 0 -14px 0 -13px rgba(46,223,242,.25), 0 -40px 0 -39px rgba(46,223,242,.15), 0 18px 0 -17px rgba(46,223,242,.2); pointer-events: none; }
.page-backup .backup-final-cta::after { transform: rotate(-28deg); right: -250px; bottom: -54px; }
.page-backup .backup-final-cta__inner { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 72px; padding-top: 40px; padding-bottom: 40px; }
.page-backup .backup-final-cta h2 { font-size: 32px; }
.page-backup .backup-final-cta .backup-button { justify-self: end; }
@media (min-width: 768px) and (max-width: 1100px) {
    .page-backup .backup-hero__copy { max-width: 65%; }
    .page-backup .backup-hero__promise { font-size: 18px; }
    .page-backup .backup-benefits { gap: 12px; }
    .page-backup .backup-benefits li { flex-direction: column; align-items: flex-start; }
    .page-backup .backup-solutions__item { padding-inline: 24px; }
    .page-backup .backup-impact__grid { grid-template-columns: 1fr; }
    .page-backup .backup-managed__steps { gap: 24px; }
    .page-backup .backup-managed__steps li:not(:last-child)::before { width: calc(100% - 56px); }
}
@media (max-width: 767px) {
    .page-backup .backup-inner { padding: 36px 24px; }
    .page-backup h1 { font-size: 32px; line-height: 1.15; }
    .page-backup h2 { font-size: 29px; line-height: 1.18; }
    .page-backup h3 { font-size: 21px; }
    .page-backup .backup-intro { font-size: 17px; }
    .page-backup .backup-hero { background-size: auto 290px; background-position: 75% bottom; }
    .page-backup .backup-hero__inner { padding-bottom: 300px; background: linear-gradient(to bottom,#022859 0%,#022859 calc(100% - 300px),transparent calc(100% - 210px)); }
    .page-backup .backup-hero__copy { max-width: none; }
    .page-backup .backup-actions { flex-direction: column; gap: 12px; }
    .page-backup .backup-button { width: 100%; min-height: 50px; padding-inline: 18px; }
    .page-backup .backup-benefits { flex-direction: column; gap: 18px; margin-top: 30px; }
    .page-backup .backup-benefits li { font-size: 15px; }
    .page-backup .backup-benefits .backup-icon { width: 40px; height: 40px; }
    .page-backup .backup-hero__promise { top: auto; right: 24px; bottom: 30px; padding: 12px; background: rgba(2,40,89,.85); font-size: 17px; }
    .page-backup .backup-hero__promise::after { margin-top: 12px; }
    .page-backup .backup-technologies__heading { font-size: 10px; gap: 12px; }
    .page-backup .backup-solutions__grid, .page-backup .backup-cloud__grid, .page-backup .backup-impact, .page-backup .backup-managed__heading, .page-backup .backup-managed__steps, .page-backup .backup-faq__inner, .page-backup .backup-final-cta__inner { grid-template-columns: minmax(0,1fr); gap: 28px; }
    .page-backup .backup-solutions__grid { margin-top: 30px; }
    .page-backup .backup-solutions__item { padding: 0; }
    .page-backup .backup-solutions__item + .backup-solutions__item { border-left: 0; border-top: 1px solid #cde5ef; padding-top: 28px; }
    .page-backup .backup-solutions__item h3 { min-height: 0; }
    .page-backup .backup-solutions__item .backup-icon { width: 64px; height: 64px; margin-bottom: 16px; }
    .page-backup .backup-solutions__item p { margin-top: 14px; font-size: 16px; }
    .page-backup .backup-solutions__closing { font-size: 16px; }
    .page-backup .backup-cloud__card { padding: 22px 16px 18px; }
    .page-backup .backup-cloud__description { gap: 12px; }
    .page-backup .backup-cloud__description .backup-icon { width: 40px; height: 40px; }
    .page-backup .backup-cloud__offer h4 { font-size: 14px; }
    .page-backup .backup-cloud__note { font-size: 13px; }
    .page-backup .backup-impact { gap: 0; min-height: 0; }
    .page-backup .backup-impact__copy { grid-column: 1; grid-row: 1; padding: 36px 24px; }
    .page-backup .backup-impact__photo { position: static; grid-column: 1; grid-row: 2; width: 100%; height: auto; aspect-ratio: 1.15; object-fit: cover; }
    .page-backup .backup-impact__grid { grid-template-columns: 1fr; gap: 28px; }
    .page-backup .backup-impact__grid h3 { font-size: 19px; }
    .page-backup .backup-impact__grid p { font-size: 16px; margin-top: 8px; }
    .page-backup .backup-managed__steps { gap: 32px; }
    .page-backup .backup-managed__steps li { padding-left: 80px; min-height: 90px; }
    .page-backup .backup-managed__number { position: absolute; top: 0; left: 0; margin: 0; width: 54px; height: 54px; font-size: 24px; }
    .page-backup .backup-managed__steps li:not(:last-child)::before { width: 2px; height: calc(100% - 22px); left: 26px; top: 54px; }
    .page-backup .backup-faq__inner > div > .backup-intro { max-width: none; }
    .page-backup .backup-faq__question { min-height: 48px; padding: 14px 12px; font-size: 15px; }
    .page-backup .backup-faq__answer { padding-inline: 12px; font-size: 16px; }
    .page-backup .backup-final-cta h2 { font-size: 29px; }
    .page-backup .backup-final-cta .backup-button { justify-self: stretch; }
}

/* Infraestrutura e Redes — escopo exclusivo; mockup infraestrutura_redes_aprovado.png. */
.infrastructure-page { color: var(--color-blue); background: white; font-family: var(--font-primary); font-size: 15px; line-height: 1.4; }
.infrastructure-page .infrastructure-inner { width: 100%; max-width: 1440px; padding-inline: 4.8%; margin-inline: auto; }
.infrastructure-page h1, .infrastructure-page h2, .infrastructure-page h3 { color: var(--color-navy); margin: 0; }
.infrastructure-page h2 { font-size: clamp(26px, 2.65vw, 38px); line-height: 1.12; letter-spacing: -.045em; }
.infrastructure-page h3 { font-size: 14px; line-height: 1.3; letter-spacing: -.025em; }
.infrastructure-page .infrastructure-eyebrow { color: #0078a8; font-size: 12px; font-weight: 600; letter-spacing: .09em; margin-bottom: 12px; }
.infrastructure-page .infrastructure-icon { display: block; width: 36px; height: 36px; object-fit: contain; flex: 0 0 36px; }
.infrastructure-page .infrastructure-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 48px; padding: 12px 26px; background: #00def2; color: #001c3e; border: 1px solid #00def2; border-radius: 3px; font-size: 13px; font-weight: 600; text-decoration: none; text-align: center; }
.infrastructure-page .infrastructure-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding-block: 10px; border-bottom: 1px solid #00def2; color: var(--color-blue); font-size: 12px; font-weight: 600; text-decoration: none; }
.infrastructure-page a:focus-visible { outline: 2px solid #0078a8; outline-offset: 4px; }
.infrastructure-page .infrastructure-hero { position: relative; background: #f2faff; overflow: hidden; }
.infrastructure-page .infrastructure-hero__image { position: absolute; top: 0; right: 0; width: 56.5%; height: 100%; object-fit: cover; object-position: center; clip-path: polygon(16% 0,100% 0,100% 100%,0 100%); }
.infrastructure-page .infrastructure-hero__inner { position: relative; padding-top: 48px; padding-bottom: 48px; min-height: 480px; }
.infrastructure-page .infrastructure-hero__copy { width: 46%; }
.infrastructure-page .infrastructure-hero h1 { font-size: clamp(32px, 3.55vw, 51px); line-height: 1.03; letter-spacing: -.035em; }
.infrastructure-page .infrastructure-hero h1 span { color: #00dced; }
.infrastructure-page .infrastructure-hero__intro { margin-top: 20px; font-size: 16px; max-width: 490px; }
.infrastructure-page .infrastructure-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 26px; }
.infrastructure-page .infrastructure-hero__badges { display: flex; justify-content: space-between; gap: 16px; margin-top: 44px; list-style: none; }
.infrastructure-page .infrastructure-hero__badges li { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 500; }
.infrastructure-page .infrastructure-hero__badges .infrastructure-icon { width: 28px; height: 28px; flex-basis: 28px; }
.infrastructure-page .infrastructure-hero__caption { position: absolute; right: 4%; bottom: 38px; padding-left: 10px; border-left: 3px solid #00def2; color: white; font-size: 12px; }
.infrastructure-page .infrastructure-benefits__inner { display: grid; grid-template-columns: .72fr 1fr; gap: 36px; padding-top: 32px; padding-bottom: 32px; }
.infrastructure-page .infrastructure-benefits h2 + p { margin-top: 18px; }
.infrastructure-page .infrastructure-benefits__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.infrastructure-page .infrastructure-benefits__grid article { padding: 16px 18px 20px; border: 1px solid #dbeaf7; border-radius: 7px; }
.infrastructure-page .infrastructure-benefits__grid h3 { margin: 14px 0 12px; }
.infrastructure-page .infrastructure-benefits__grid p, .infrastructure-page .infrastructure-solutions__grid p { color: #29487f; font-size: 13px; }
.infrastructure-page .infrastructure-section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin-bottom: 20px; }
.infrastructure-page .infrastructure-solutions { padding: 8px 0 16px; scroll-margin-top: 120px; }
.infrastructure-page .infrastructure-solutions__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px 16px; }
.infrastructure-page .infrastructure-solutions__grid article { display: flex; align-items: flex-start; gap: 16px; padding: 16px; border: 1px solid #dbeaf7; border-radius: 7px; }
.infrastructure-page .infrastructure-solutions__grid h3 { margin-bottom: 8px; }
.infrastructure-page .infrastructure-process { background: #eff9fd; padding-block: 28px; }
.infrastructure-page .infrastructure-process .infrastructure-eyebrow { margin-bottom: 7px; }
.infrastructure-page .infrastructure-process__steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; gap: 36px; position: relative; }
.infrastructure-page .infrastructure-process__steps::before { content: ''; position: absolute; top: 19px; left: 20px; right: 0; height: 1px; background: #c5dfef; }
.infrastructure-page .infrastructure-process__number { position: relative; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: #004b77; color: #00def2; font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.infrastructure-page .infrastructure-process__steps h3 { font-size: 15px; margin-bottom: 3px; }
.infrastructure-page .infrastructure-process__steps p { max-width: 250px; color: #29487f; font-size: 14px; }
.infrastructure-page .infrastructure-cta { background: var(--color-navy) url('../images/infraestrutura-redes/banners/cta-infraestrutura.jpg') center / cover no-repeat; color: white; }
.infrastructure-page .infrastructure-cta__inner { display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px; align-items: center; padding-block: 36px; }
.infrastructure-page .infrastructure-cta h2 { color: white; }
.infrastructure-page .infrastructure-cta p { font-size: 14px; font-weight: 500; margin-top: 14px; }
.infrastructure-page .infrastructure-cta h2 span, .infrastructure-page .infrastructure-cta p span { color: #00def2; }
.infrastructure-page .infrastructure-cta .infrastructure-button { justify-self: start; padding-inline: 28px; min-height: 52px; }
.infrastructure-page .infrastructure-faq__inner { display: grid; grid-template-columns: 1fr 1.45fr auto; gap: 38px; align-items: center; padding-block: 30px; }
.infrastructure-page .infrastructure-faq .infrastructure-eyebrow { margin-bottom: 7px; }
.infrastructure-page .infrastructure-faq p:not(.infrastructure-eyebrow) { font-size: 14px; }
@media (min-width: 1440px) {
    .infrastructure-page .infrastructure-inner { padding-inline: 64px; }
    .infrastructure-page .infrastructure-hero__inner { padding-block: 60px; min-height: 565px; }
}
@media (max-width: 1100px) {
    .infrastructure-page { font-size: 13px; }
    .infrastructure-page .infrastructure-hero__inner { min-height: 414px; padding-block: 40px; }
    .infrastructure-page .infrastructure-hero__intro { font-size: 14px; }
    .infrastructure-page .infrastructure-button { font-size: 11px; padding-inline: 20px; min-height: 40px; }
    .infrastructure-page .infrastructure-link { font-size: 10px; }
    .infrastructure-page .infrastructure-hero__badges { gap: 10px; margin-top: 36px; }
    .infrastructure-page .infrastructure-hero__badges li { font-size: 9px; gap: 8px; }
    .infrastructure-page .infrastructure-hero__badges .infrastructure-icon { width: 25px; height: 25px; flex-basis: 25px; }
    .infrastructure-page .infrastructure-benefits__inner { gap: 28px; }
    .infrastructure-page .infrastructure-benefits__grid article { padding: 14px; }
    .infrastructure-page .infrastructure-icon { width: 30px; height: 30px; flex-basis: 30px; }
    .infrastructure-page h3 { font-size: 12px; }
    .infrastructure-page .infrastructure-benefits__grid p, .infrastructure-page .infrastructure-solutions__grid p { font-size: 11px; }
    .infrastructure-page .infrastructure-solutions__grid article { padding: 12px; gap: 12px; }
    .infrastructure-page .infrastructure-eyebrow { font-size: 10px; }
}
@media (max-width: 900px) {
    .infrastructure-page .infrastructure-hero__copy { width: 52%; }
    .infrastructure-page .infrastructure-hero__image { width: 48%; }
    .infrastructure-page .infrastructure-hero h1 { font-size: 32px; }
    .infrastructure-page .infrastructure-actions { flex-wrap: wrap; justify-content: flex-start; }
    .infrastructure-page .infrastructure-hero__badges { flex-wrap: wrap; }
    .infrastructure-page .infrastructure-benefits__inner { grid-template-columns: 1fr; }
    .infrastructure-page .infrastructure-solutions__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .infrastructure-page .infrastructure-faq__inner { grid-template-columns: 1fr 1.3fr; gap: 20px; }
    .infrastructure-page .infrastructure-faq .infrastructure-link { grid-column: 2; justify-self: start; }
}
@media (max-width: 600px) {
    .infrastructure-page { font-size: 16px; }
    .infrastructure-page .infrastructure-inner { padding-inline: 22px; }
    .infrastructure-page h2 { font-size: 28px; }
    .infrastructure-page .infrastructure-eyebrow { font-size: 11px; }
    .infrastructure-page .infrastructure-hero__inner { padding-block: 34px 0; }
    .infrastructure-page .infrastructure-hero__copy { width: 100%; }
    .infrastructure-page .infrastructure-hero h1 { font-size: clamp(27px,8.2vw,42px); }
    .infrastructure-page .infrastructure-hero__intro { font-size: 16px; }
    .infrastructure-page .infrastructure-hero__image { top: auto; bottom: 0; width: 100%; height: 240px; clip-path: none; object-position: center; }
    .infrastructure-page .infrastructure-actions { display: grid; gap: 12px; }
    .infrastructure-page .infrastructure-button { min-height: 48px; font-size: 13px; }
    .infrastructure-page .infrastructure-link { min-height: 44px; font-size: 12px; }
    .infrastructure-page .infrastructure-hero__badges { display: grid; gap: 16px; margin-block: 26px; }
    .infrastructure-page .infrastructure-hero__badges li { font-size: 12px; }
    .infrastructure-page .infrastructure-hero__badges br { display: none; }
    .infrastructure-page .infrastructure-hero__caption { position: relative; right: auto; bottom: auto; margin-top: 200px; margin-bottom: 24px; font-size: 12px; }
    .infrastructure-page .infrastructure-benefits__inner { padding-block: 32px; }
    .infrastructure-page .infrastructure-benefits__grid, .infrastructure-page .infrastructure-solutions__grid, .infrastructure-page .infrastructure-section-heading, .infrastructure-page .infrastructure-process__steps, .infrastructure-page .infrastructure-cta__inner, .infrastructure-page .infrastructure-faq__inner { grid-template-columns: minmax(0,1fr); gap: 22px; }
    .infrastructure-page .infrastructure-benefits__grid article { padding: 20px; }
    .infrastructure-page h3, .infrastructure-page .infrastructure-process__steps h3 { font-size: 17px; }
    .infrastructure-page .infrastructure-benefits__grid p, .infrastructure-page .infrastructure-solutions__grid p, .infrastructure-page .infrastructure-process__steps p, .infrastructure-page .infrastructure-faq p:not(.infrastructure-eyebrow) { font-size: 15px; }
    .infrastructure-page .infrastructure-icon { width: 36px; height: 36px; flex-basis: 36px; }
    .infrastructure-page .infrastructure-solutions { padding-block: 8px 32px; }
    .infrastructure-page .infrastructure-solutions__grid article { padding: 20px 16px; gap: 16px; }
    .infrastructure-page .infrastructure-process__steps::before { top: 0; bottom: 0; left: 18px; width: 1px; height: auto; }
    .infrastructure-page .infrastructure-process__steps li { position: relative; padding-left: 56px; min-height: 65px; }
    .infrastructure-page .infrastructure-process__number { position: absolute; left: 0; top: 0; }
    .infrastructure-page .infrastructure-process__steps p { max-width: none; }
    .infrastructure-page .infrastructure-cta { background-position: 62% center; }
    .infrastructure-page .infrastructure-cta__inner { padding-block: 32px; }
    .infrastructure-page .infrastructure-cta .infrastructure-button { justify-self: stretch; }
    .infrastructure-page .infrastructure-faq .infrastructure-link { grid-column: auto; }
}


/* Única rodada de ajuste após comparação desktop/mobile com a referência. */
.infrastructure-page .infrastructure-hero__badges br::after { content: ' '; }
.infrastructure-page .infrastructure-cta { background-image: linear-gradient(90deg, rgba(2,40,89,.45), rgba(2,40,89,.25)), url('../images/infraestrutura-redes/banners/cta-infraestrutura.jpg'); }
@media (min-width: 901px) {
    .infrastructure-page .infrastructure-benefits__inner { padding-top: 26px; padding-bottom: 26px; }
    .infrastructure-page .infrastructure-benefits__grid h3 { max-width: 95px; }
    .infrastructure-page .infrastructure-icon { width: 40px; height: 40px; flex-basis: 40px; }
    .infrastructure-page .infrastructure-benefits__grid article { padding: 12px 18px 18px; }
    .infrastructure-page .infrastructure-benefits__grid h3 { margin: 8px 0 10px; }
    .infrastructure-page .infrastructure-solutions__grid article { gap: 8px; }
    .infrastructure-page .infrastructure-solutions__grid h3 { letter-spacing: -.04em; }
    .infrastructure-page .infrastructure-process { padding-block: 24px; }
    .infrastructure-page .infrastructure-process__steps { gap: 40px; }
    .infrastructure-page .infrastructure-process__steps p { max-width: 210px; }
    .infrastructure-page .infrastructure-process__number { width: 34px; height: 34px; margin-bottom: 8px; }
    .infrastructure-page .infrastructure-process__steps::before { top: 17px; }
    .infrastructure-page .infrastructure-cta__inner { padding-block: 30px; }
}
@media (min-width: 901px) and (max-width: 1100px) {
    .infrastructure-page .infrastructure-hero__copy { width: 43%; }
    .infrastructure-page .infrastructure-hero h1 { font-size: 38px; }
    .infrastructure-page .infrastructure-hero__badges { gap: 8px; }
    .infrastructure-page .infrastructure-hero__badges li { font-size: 10px; gap: 7px; }
    .infrastructure-page .infrastructure-hero__intro { margin-top: 16px; }
    .infrastructure-page .infrastructure-actions { gap: 28px; }
    .infrastructure-page .infrastructure-actions .infrastructure-button { flex-shrink: 0; }
    .infrastructure-page .infrastructure-actions .infrastructure-link { white-space: nowrap; }
    .infrastructure-page .infrastructure-benefits__grid p, .infrastructure-page .infrastructure-solutions__grid p { font-size: 12px; }
    .infrastructure-page .infrastructure-solutions__grid article { min-height: 80px; }
    .infrastructure-page .infrastructure-section-heading { margin-bottom: 16px; }
    .infrastructure-page .infrastructure-process__steps p { font-size: 13px; }
    .infrastructure-page .infrastructure-cta p { font-size: 13px; }
}
@media (max-width: 600px) {
    .infrastructure-page .infrastructure-hero__badges br { display: initial; }
    .infrastructure-page .infrastructure-cta { background-image: linear-gradient(rgba(2,40,89,.7), rgba(2,40,89,.7)), url('../images/infraestrutura-redes/banners/cta-infraestrutura.jpg'); }
}


/* Carrossel de Infraestrutura: mesma apresentação e comportamento de Backup. */
.infrastructure-page .infrastructure-technologies { font-family: var(--font-primary); }
.infrastructure-page .infrastructure-technologies__inner { position: relative; padding: 30px 0; }
.infrastructure-page .infrastructure-technologies__heading { display: flex; align-items: center; gap: 24px; margin: 0 auto 20px; padding-inline: 24px; max-width: 1280px; color: white; font-size: 11px; line-height: 1.4; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; text-align: center; }
.infrastructure-page .infrastructure-technologies__heading::before, .infrastructure-page .infrastructure-technologies__heading::after { content: ''; flex: 1; height: 1px; background: rgba(255,255,255,.35); }
.infrastructure-page .infrastructure-technologies .brands__pause-input:focus-visible + .brands__pause { outline-color: white; }
.infrastructure-page .infrastructure-nable { position: relative; display: block; width: 152px; height: 27px; overflow: hidden; }
.infrastructure-page .infrastructure-nable img { position: absolute; width: 177.26px; height: 88.63px; max-width: none; max-height: none; left: -12.56px; top: -30.9px; }
@media (max-width: 767px) {
    .infrastructure-page .infrastructure-technologies__heading { font-size: 10px; gap: 12px; }
}

/* Componente único de tecnologias para todas as páginas: padrão de Backup. */
.support-technologies.technology-carousel { margin-top: 16px; font-family: var(--font-primary); color: white; }
.technology-carousel .technology-carousel__inner { position: relative; padding: 30px 0; }
.technology-carousel .technology-carousel__heading { display: flex; align-items: center; gap: 24px; margin: 0 auto 20px; padding-inline: 24px; max-width: 1280px; color: white; font-size: 11px; line-height: 1.4; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; text-align: center; }
.technology-carousel .technology-carousel__heading::before, .technology-carousel .technology-carousel__heading::after { content: ''; flex: 1; height: 1px; background: rgba(255,255,255,.35); }
.technology-carousel .brands__pause-input:focus-visible + .brands__pause { outline-color: white; }
.technology-carousel .technology-carousel-nable { position: relative; display: block; width: 152px; height: 27px; overflow: hidden; }
.technology-carousel .technology-carousel-nable img { position: absolute; width: 177.26px; height: 88.63px; max-width: none; max-height: none; left: -12.56px; top: -30.9px; }
@media (max-width: 767px) {
    .technology-carousel .technology-carousel__heading { font-size: 10px; gap: 12px; }
}

/* Tipografia de Infraestrutura alinhada à escala da página Backup. */
.infrastructure-page { font-family: var(--font-primary); font-size: 16px; line-height: 1.45; }
.infrastructure-page .infrastructure-hero h1 { font-size: 48px; line-height: 1.1; letter-spacing: -.035em; }
.infrastructure-page h2:not(.technology-carousel__heading) { font-size: 36px; line-height: 1.15; letter-spacing: -.035em; }
.infrastructure-page h3, .infrastructure-page .infrastructure-process__steps h3 { font-size: 20px; line-height: 1.3; letter-spacing: -.025em; }
.infrastructure-page .infrastructure-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .1em; }
.infrastructure-page .infrastructure-hero__intro { font-size: 18px; line-height: 1.45; }
.infrastructure-page .infrastructure-benefits__grid p, .infrastructure-page .infrastructure-solutions__grid p, .infrastructure-page .infrastructure-process__steps p, .infrastructure-page .infrastructure-cta p, .infrastructure-page .infrastructure-faq p:not(.infrastructure-eyebrow) { font-size: 16px; line-height: 1.45; }
.infrastructure-page .infrastructure-button, .infrastructure-page .infrastructure-link { font-size: 14px; line-height: 1.4; }
.infrastructure-page .infrastructure-hero__badges li, .infrastructure-page .infrastructure-hero__caption { font-size: 14px; line-height: 1.4; }
.infrastructure-page .infrastructure-actions { flex-wrap: wrap; justify-content: flex-start; gap: 16px; }
.infrastructure-page .infrastructure-actions .infrastructure-link { white-space: normal; }
.infrastructure-page .infrastructure-hero__badges { flex-wrap: wrap; justify-content: flex-start; gap: 20px; }
.infrastructure-page .infrastructure-hero__copy { width: 43%; }
.infrastructure-page .infrastructure-benefits__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.infrastructure-page .infrastructure-benefits__grid h3 { max-width: none; }
.infrastructure-page .infrastructure-solutions__grid article > div { min-width: 0; }
.infrastructure-page .infrastructure-process__steps p { max-width: none; }
@media (min-width: 601px) and (max-width: 1100px) {
    .infrastructure-page .infrastructure-solutions__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .infrastructure-page .infrastructure-process__steps { gap: 24px; }
}
@media (max-width: 900px) and (min-width: 601px) {
    .infrastructure-page .infrastructure-hero__copy { width: 52%; }
    .infrastructure-page .infrastructure-hero h1 { font-size: 38px; }
}
@media (max-width: 767px) {
    .infrastructure-page .infrastructure-hero h1 { font-size: 32px; line-height: 1.15; }
    .infrastructure-page h2:not(.technology-carousel__heading) { font-size: 29px; line-height: 1.18; }
    .infrastructure-page h3, .infrastructure-page .infrastructure-process__steps h3 { font-size: 21px; }
    .infrastructure-page .infrastructure-hero__intro { font-size: 17px; }
    .infrastructure-page .infrastructure-hero__badges li { font-size: 15px; }
}
@media (max-width: 600px) {
    .infrastructure-page .infrastructure-hero__copy { width: 100%; }
    .infrastructure-page .infrastructure-benefits__grid { grid-template-columns: minmax(0,1fr); }
}
@media (min-width: 601px) and (max-width: 900px) {
    .infrastructure-page .infrastructure-process__steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .infrastructure-page .infrastructure-process__steps::before { display: none; }
}

/* Escala tipográfica compartilhada — auditoria das páginas, modelo Backup.
   O escopo main-content preserva Header/Footer e a faixa de tecnologias.
   As regras de página anteriores continuam responsáveis pela composição. */
#main-content {
    --page-h1: 48px;
    --page-h2: 36px;
    --page-h3: 20px;
    --page-intro: 18px;
    --page-h1-leading: 1.1;
    --page-h2-leading: 1.15;
    --page-faq-question: 14px;
    --page-faq-answer: 15px;
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.45;
}
#main-content h1 { font-family: inherit; font-size: var(--page-h1); line-height: var(--page-h1-leading); font-weight: 700; letter-spacing: -.035em; }
#main-content h2:not(.technology-carousel__heading) { font-family: inherit; font-size: var(--page-h2); line-height: var(--page-h2-leading); font-weight: 700; letter-spacing: -.035em; }
#main-content h3 { font-family: inherit; font-size: var(--page-h3); line-height: 1.3; font-weight: 600; letter-spacing: -.025em; }
#main-content p { font-family: inherit; font-size: 16px; line-height: 1.45; font-weight: 400; letter-spacing: normal; }
#main-content :is(.hero__subtitle, .home-section__intro, .home-faq__intro, .backup-intro, .infrastructure-hero__intro, .support-intro, .security-page__intro, .sophos-intro) { font-size: var(--page-intro); }
#main-content :is(.hero__eyebrow, .home-section__eyebrow, .home-faq__eyebrow, .backup-eyebrow, .infrastructure-eyebrow, .support-eyebrow, .security-page__eyebrow, .sophos-eyebrow) { font-size: 13px; font-weight: 700; line-height: 1.45; letter-spacing: .1em; text-transform: uppercase; }
#main-content :is(.hero__cta, .hero__link, .home-section__link, .backup-button, .infrastructure-button, .infrastructure-link, .support-button, .security-page__button, .security-page__link, .sophos-button, .sophos-link) { font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: normal; }
#main-content :is(.home-faq__question, .backup-faq__question) { font-family: inherit; font-size: var(--page-faq-question); font-weight: 600; line-height: 1.35; letter-spacing: normal; }
#main-content :is(.home-faq__answer, .backup-faq__answer, .backup-faq__answer p) { font-size: var(--page-faq-answer); line-height: 1.45; font-weight: 400; }
#main-content :is(.sophos-note, .backup-cloud__note, .home-sectors__note) { font-size: 13px; line-height: 1.45; }
#main-content :is(.hero__badges, .backup-benefits, .infrastructure-hero__badges, .support-hero__benefits, .security-hero__credentials) li { font-size: 14px; line-height: 1.4; }
#main-content :is(.backup-hero__promise, .support-hero__promise, .security-hero__promise, .sophos-hero__promise) { font-size: 22px; font-weight: 600; line-height: 1.4; }
#main-content .infrastructure-hero__caption { font-size: 14px; line-height: 1.4; }
#main-content :is(.home-sectors__list, .security-trust__checks, .sophos-contract__option, .support-services__grid) li { font-size: 16px; line-height: 1.45; }
#main-content .home-testimonials__item blockquote { font-size: 16px; line-height: 1.45; }
#main-content .home-testimonials__item figcaption { font-size: 14px; line-height: 1.4; }
/* Longos títulos e legendas precisam poder crescer dentro de grids e flex. */
#main-content :is(article, .support-services__grid > *, .security-layers__item > *, .sophos-contract__option > *) { min-width: 0; }
#main-content :is(.hero__actions, .support-actions, .security-page__actions, .sophos-actions) { flex-wrap: wrap; }
@media (max-width: 767px) {
    #main-content { --page-h1: 32px; --page-h2: 29px; --page-h3: 21px; --page-intro: 17px; --page-h1-leading: 1.15; --page-h2-leading: 1.18; --page-faq-question: 15px; --page-faq-answer: 16px; }
    #main-content :is(.backup-hero__promise, .support-hero__promise, .security-hero__promise, .sophos-hero__promise) { font-size: 17px; }
    #main-content :is(.hero__badges, .backup-benefits, .infrastructure-hero__badges, .support-hero__benefits, .security-hero__credentials) li { font-size: 15px; }
}
#main-content .support-operation__benefits { flex-wrap: wrap; gap: 16px; }
#main-content .support-operation__benefits li { font-size: 14px; line-height: 1.4; }
/* Cards se reorganizam conforme o espaço disponível para a fonte padrão. */
#main-content :is(.support-problems__grid, .support-sectors__grid, .support-services__grid, .security-layers__grid) { grid-template-columns: repeat(auto-fit,minmax(min(100%,200px),1fr)); }
/* Microsoft 365 e Google Workspace — composição local, tipografia compartilhada. */
#main-content.m365-google-page { font-family: var(--font-primary); color: #022859; background: #fff; }
#main-content.m365-google-page .m365-google-inner { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
#main-content.m365-google-page h1 { color: #022859; }
#main-content.m365-google-page h2:not(.technology-carousel__heading) { color: #022873; }

#main-content.m365-google-page p { margin: 0; }
#main-content.m365-google-page h2 + p, #main-content.m365-google-page h3 + p { margin-top: 14px; }
#main-content.m365-google-page .m365-google-eyebrow { margin-bottom: 14px; color: #022873; }
#main-content.m365-google-page .m365-google-icon { width: 34px; height: 34px; object-fit: contain; flex-shrink: 0; }
#main-content.m365-google-page .m365-google-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
#main-content.m365-google-page .m365-google-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 12px 20px; border: 1px solid transparent; border-radius: 4px; background: #2edff2; color: #022859; text-decoration: none; }
#main-content.m365-google-page .m365-google-button:hover { background: #fff; border-color: #022873; }
#main-content.m365-google-page .m365-google-link { color: inherit; text-decoration: underline; text-underline-offset: 6px; }
#main-content.m365-google-page a:focus-visible, #main-content.m365-google-page summary:focus-visible { outline: 3px solid #2edff2; outline-offset: 4px; }
#main-content.m365-google-page .m365-google-hero { position: relative; isolation: isolate; overflow: hidden; }
#main-content.m365-google-page .m365-google-hero__inner { min-height: 550px; padding-block: 36px 42px; }
#main-content.m365-google-page .m365-google-hero__copy { width: 49%; }
#main-content.m365-google-page .m365-google-hero h1 span { color: #2edff2; }
#main-content.m365-google-page .m365-google-hero__intro { margin: 18px 0 26px; max-width: 465px; color: #022859; font-size: var(--page-intro); }
#main-content.m365-google-page .m365-google-hero__visual { position: absolute; z-index: -1; inset: 0 0 0 46%; clip-path: polygon(17% 0,100% 0,100% 100%,0 100%); }
#main-content.m365-google-page .m365-google-hero__visual > img { width: 100%; height: 100%; object-fit: cover; }
#main-content.m365-google-page .m365-google-hero__brands { position: absolute; right: 15%; top: 12%; display: grid; gap: 20px; width: 46%; }
#main-content.m365-google-page .m365-google-hero__brands > div { display: flex; justify-content: center; align-items: center; gap: 7px; min-height: 160px; padding: 22px; border-radius: 16px; background: rgba(255,255,255,.95); box-shadow: 0 0 16px #ffffff80; }
#main-content.m365-google-page .m365-google-hero__brands img { width: 65%; max-height: 40px; }
#main-content.m365-google-page .m365-google-hero__brands span { font-size: 17px; letter-spacing: -.04em; }
#main-content.m365-google-page .m365-google-hero__badges { display: flex; gap: 14px; list-style: none; margin: 48px 0 0; padding: 0; }
#main-content.m365-google-page .m365-google-hero__badges li { display: flex; align-items: center; gap: 8px; }
#main-content.m365-google-page .m365-google-challenges { background: linear-gradient(100deg,#2edff210,#2edff218); }
#main-content.m365-google-page .m365-google-challenges__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; padding-block: 38px 28px; align-items: center; }
#main-content.m365-google-page .m365-google-challenges__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
#main-content.m365-google-page .m365-google-challenges__grid article { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 110px; padding: 16px 14px; border: 1px solid #02285915; border-radius: 7px; background: #ffffffd9; text-align: center; }

#main-content.m365-google-page .m365-google-platforms { width: min(1240px,calc(100% - 48px)); margin: 16px auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; scroll-margin-top: 100px; }
#main-content.m365-google-page .m365-google-platform { position: relative; isolation: isolate; overflow: hidden; border-radius: 10px; padding: 32px 36px; }
#main-content.m365-google-page .m365-google-platform__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#main-content.m365-google-page .m365-google-platform::before { content: ''; position: absolute; z-index: -1; inset: 0; }
#main-content.m365-google-page .m365-google-platform--microsoft::before { background: linear-gradient(90deg,#022859 0%,#022873eb 58%,#02287350); }
#main-content.m365-google-page .m365-google-platform--google::before { background: linear-gradient(90deg,#fff 0%,#fffffff2 58%,#ffffff85); }
#main-content.m365-google-page .m365-google-platform__copy { max-width: 335px; display: flex; flex-direction: column; height: 100%; align-items: flex-start; }
#main-content.m365-google-page .m365-google-brand { display: flex; align-items: center; gap: 7px; margin-bottom: 15px; font-size: 28px; font-weight: 500; letter-spacing: -.06em; min-height: 44px; }
#main-content.m365-google-page .m365-google-brand img { width: 185px; max-height: 40px; }
#main-content.m365-google-page .m365-google-platform--google .m365-google-brand img { width: 104px; }
#main-content.m365-google-page .m365-google-platform--microsoft, #main-content.m365-google-page .m365-google-platform--microsoft h2, #main-content.m365-google-page .m365-google-platform--microsoft h3 { color: #fff; }
#main-content.m365-google-page .m365-google-platform--microsoft .m365-google-brand img { filter: brightness(0) invert(1); }
#main-content.m365-google-page .m365-google-platform p { margin-bottom: 20px; }
#main-content.m365-google-page .m365-google-button--light { margin-top: auto; background: #fff; border-color: #02287360; padding-inline: 15px; }
#main-content.m365-google-page .m365-google-security { background: linear-gradient(100deg,#fff,#02285905); }
#main-content.m365-google-page .m365-google-security__inner { display: grid; grid-template-columns: 150px 1.25fr 1fr; gap: 28px; align-items: center; padding-block: 22px; }
#main-content.m365-google-page .m365-google-security__image { width: 150px; height: 165px; object-fit: cover; border-radius: 50%; }
#main-content.m365-google-page .m365-google-security__list { list-style: none; padding: 16px 20px; margin: 0; background: #ffffffcc; border: 1px solid #02285915; border-radius: 6px; }
#main-content.m365-google-page .m365-google-security__list li { display: flex; align-items: center; gap: 12px; }
#main-content.m365-google-page .m365-google-security__list li + li { margin-top: 10px; }
#main-content.m365-google-page .m365-google-security__list span { display: grid; place-items: center; border-radius: 50%; background: #2edff2; width: 18px; height: 18px; flex-shrink: 0; }
#main-content.m365-google-page .m365-google-services { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
#main-content.m365-google-page .m365-google-services section { display: flex; gap: 44px; padding: 24px max(32px,calc((100vw - 1120px)/2)); padding-right: 32px; background: #02285904; border-radius: 10px; }
#main-content.m365-google-page .m365-google-services section + section { padding-left: 44px; padding-right: max(32px,calc((100vw - 1120px)/2)); }
#main-content.m365-google-page .m365-google-services .m365-google-icon { width: 50px; height: 50px; margin-top: 12px; }


#main-content.m365-google-page .m365-google-faq { padding-block: 24px; }
#main-content.m365-google-page .m365-google-faq__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 14px; }
#main-content.m365-google-page .m365-google-faq .m365-google-eyebrow { margin-bottom: 6px; }
#main-content.m365-google-page .m365-google-faq__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 18px; align-items: start; }
#main-content.m365-google-page .m365-google-faq details { border: 1px solid #02285920; border-radius: 5px; }
#main-content.m365-google-page .m365-google-faq summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 38px; padding: 8px 15px; cursor: pointer; }
#main-content.m365-google-page .m365-google-faq summary::-webkit-details-marker { display: none; }
#main-content.m365-google-page .m365-google-faq details[open] summary span { transform: rotate(180deg); }
#main-content.m365-google-page .m365-google-faq details > p { padding: 6px 15px 16px; }
#main-content.m365-google-page .m365-google-cta { color: #fff; background: linear-gradient(105deg,#022859f5 0%,#022873ec 68%,#02285940 68%),url('../images/microsoft365-google-workspace/banners/cta-microsoft-google.jpg?v=3') center / cover; }
#main-content.m365-google-page .m365-google-cta__inner { display: grid; grid-template-columns: 1.7fr 1fr; align-items: center; gap: 40px; padding-block: 30px 38px; }
#main-content.m365-google-page .m365-google-cta .m365-google-eyebrow { color: #2edff2; }
#main-content.m365-google-page .m365-google-cta h2 { color: #fff; }
#main-content.m365-google-page .m365-google-cta .m365-google-actions { flex-direction: column; align-items: flex-start; gap: 12px; }

@media (max-width: 1000px) {
    #main-content.m365-google-page .m365-google-hero__copy { width: 53%; }
    #main-content.m365-google-page .m365-google-hero__brands { right: 6%; width: 52%; }
    #main-content.m365-google-page .m365-google-hero__brands > div { padding: 14px; min-height: 130px; }
    #main-content.m365-google-page .m365-google-challenges__inner { gap: 24px; }
    #main-content.m365-google-page .m365-google-platform { padding: 28px 22px; }
    #main-content.m365-google-page .m365-google-security__inner { grid-template-columns: 110px 1fr; }
    #main-content.m365-google-page .m365-google-security__image { width: 110px; height: 130px; }
    #main-content.m365-google-page .m365-google-security__list { grid-column: 2; }
    #main-content.m365-google-page .m365-google-services section, #main-content.m365-google-page .m365-google-services section + section { padding: 24px; gap: 20px; }
}
@media (max-width: 767px) {
    #main-content.m365-google-page .m365-google-inner { width: calc(100% - 40px); }


    #main-content.m365-google-page .m365-google-hero { display: flex; flex-direction: column; }
    #main-content.m365-google-page .m365-google-hero__inner { min-height: 0; padding-block: 32px 28px; }
    #main-content.m365-google-page .m365-google-hero__copy { width: 100%; }
    #main-content.m365-google-page .m365-google-hero__visual { position: relative; inset: auto; order: 2; height: 270px; clip-path: none; }
    #main-content.m365-google-page .m365-google-hero__brands { inset: 35px 20px auto auto; width: 58%; gap: 16px; }
    #main-content.m365-google-page .m365-google-hero__brands > div { min-height: 90px; }
    #main-content.m365-google-page .m365-google-hero__brands span { font-size: 14px; }
    #main-content.m365-google-page .m365-google-hero__badges { gap: 10px; margin-top: 28px; }
    #main-content.m365-google-page .m365-google-hero__badges li { flex: 1; flex-direction: column; align-items: flex-start; }
    #main-content.m365-google-page .m365-google-challenges__inner, #main-content.m365-google-page .m365-google-platforms, #main-content.m365-google-page .m365-google-services, #main-content.m365-google-page .m365-google-faq__grid, #main-content.m365-google-page .m365-google-cta__inner { grid-template-columns: minmax(0,1fr); }
    #main-content.m365-google-page .m365-google-challenges__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    #main-content.m365-google-page .m365-google-platforms { width: calc(100% - 24px); gap: 12px; }
    #main-content.m365-google-page .m365-google-platform { min-height: 350px; padding: 28px 22px; }
    #main-content.m365-google-page .m365-google-platform__copy { max-width: none; }
    #main-content.m365-google-page .m365-google-security__inner { grid-template-columns: minmax(0,1fr); gap: 20px; }
    #main-content.m365-google-page .m365-google-security__image { justify-self: center; width: 140px; height: 145px; }
    #main-content.m365-google-page .m365-google-security__list { grid-column: auto; }
    #main-content.m365-google-page .m365-google-services section, #main-content.m365-google-page .m365-google-services section + section { padding: 26px 20px; gap: 20px; }
    #main-content.m365-google-page .m365-google-services .m365-google-icon { width: 36px; height: 36px; }
    #main-content.m365-google-page .m365-google-faq__heading { align-items: flex-start; flex-direction: column; }
    #main-content.m365-google-page .m365-google-faq summary { min-height: 48px; }
    #main-content.m365-google-page .m365-google-cta { background-image: linear-gradient(#022859ed,#022859ed),url('../images/microsoft365-google-workspace/banners/cta-microsoft-google.jpg?v=3'); }
    #main-content.m365-google-page .m365-google-button { min-height: 48px; }
    #main-content.m365-google-page .m365-google-cta__inner { gap: 24px; }
}

/* Mesma escala de Backup, Suporte TI e Infraestrutura. */
#main-content.m365-google-page .m365-google-eyebrow { font-size: 13px; font-weight: 700; line-height: 1.45; letter-spacing: .1em; text-transform: uppercase; }
#main-content.m365-google-page :is(.m365-google-button, .m365-google-link) { font-size: 14px; font-weight: 600; line-height: 1.4; letter-spacing: normal; }
#main-content.m365-google-page .m365-google-hero__badges { flex-wrap: wrap; gap: 20px; }
#main-content.m365-google-page .m365-google-hero__badges li { font-size: 14px; line-height: 1.4; }
#main-content.m365-google-page .m365-google-faq summary { font-size: var(--page-faq-question); font-weight: 600; line-height: 1.35; }
#main-content.m365-google-page .m365-google-faq details > p { font-size: var(--page-faq-answer); }
#main-content.m365-google-page .m365-google-services section > div { min-width: 0; }
#main-content.m365-google-page .m365-google-platform__copy { max-width: 100%; }
@media (max-width: 767px) {
    #main-content.m365-google-page .m365-google-hero__badges li { font-size: 15px; flex: 1 1 135px; }
}
@media (max-width: 767px) {
    #main-content.m365-google-page .m365-google-platforms { grid-auto-rows: 1fr; }
    #main-content.m365-google-page :is(h2, h3) br { display: none; }
}

/* Assets V2 — composição alinhada ao mockup, mantendo a escala compartilhada. */
#main-content.m365-google-page .m365-google-hero__visual > img:not(.m365-google-hero__mug) { object-position: 35% center; }
#main-content.m365-google-page .m365-google-hero__brands { width: min(42%, 295px); right: 18%; top: 10%; gap: 18px; }
#main-content.m365-google-page .m365-google-hero__brands > img { display: block; width: 100%; max-height: none; height: auto; border-radius: 16px; }
#main-content.m365-google-page .m365-google-hero__visual > .m365-google-hero__mug { position: absolute; right: 2%; bottom: 0; width: 25%; height: auto; object-fit: contain; border-radius: 8px; }
#main-content.m365-google-page .m365-google-hero__badges { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
#main-content.m365-google-page .m365-google-hero__badges li { gap: 8px; align-items: flex-start; }
#main-content.m365-google-page .m365-google-hero__badges br { display: none; }
#main-content.m365-google-page .m365-google-hero__badges .m365-google-icon { width: 30px; height: 30px; }
#main-content.m365-google-page .m365-google-platform { padding: 32px 36px; }
#main-content.m365-google-page .m365-google-platform--microsoft { background: linear-gradient(110deg,#022859,#022873 35%,#0079cc); }
#main-content.m365-google-page .m365-google-platform--google { background: linear-gradient(110deg,#fff,#f1f8fb); border: 1px solid #e7f3f8; }
#main-content.m365-google-page .m365-google-platform::before { display: none; }
#main-content.m365-google-page .m365-google-platform__copy { position: relative; max-width: 62%; }
#main-content.m365-google-page .m365-google-platform__image { z-index: 0; inset: auto 3% auto auto; top: 50%; transform: translateY(-50%); width: 34%; height: auto; object-fit: contain; border-radius: 14px; }
#main-content.m365-google-page .m365-google-brand { white-space: nowrap; }
#main-content.m365-google-page .m365-google-brand img { width: 168px; }
#main-content.m365-google-page .m365-google-platform--google .m365-google-brand img { width: 96px; }
#main-content.m365-google-page .m365-google-security__image { border-radius: 0; width: 160px; height: 165px; object-fit: cover; object-position: center bottom; }
#main-content.m365-google-page .m365-google-security__inner { grid-template-columns: 160px 1.25fr 1fr; }
#main-content.m365-google-page .m365-google-cta { position: relative; isolation: isolate; background: url('../images/microsoft365-google-workspace/banners/cta-microsoft-google.jpg?v=3') right center / cover; }
#main-content.m365-google-page .m365-google-cta::before { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(110deg,#022859 0%,#022873 48%,#006aa9 78%); clip-path: polygon(0 0,76% 0,70% 100%,0 100%); }
#main-content.m365-google-page .m365-google-cta::after { content: ''; position: absolute; z-index: -1; inset: 0; background: #02285928; clip-path: polygon(49% 0,64% 0,69% 100%,42% 100%); }
#main-content.m365-google-page .m365-google-cta__inner { grid-template-columns: minmax(0,1fr) 250px; width: min(850px,calc(76% - 64px)); margin-left: max(32px,calc((100% - 1120px)/2)); margin-right: 0; gap: 32px; }
@media (min-width: 768px) and (max-width: 1100px) {
    #main-content.m365-google-page .m365-google-platform { padding: 24px; }
    #main-content.m365-google-page .m365-google-platform__copy { max-width: 100%; }
    #main-content.m365-google-page .m365-google-platform__image { position: relative; top: auto; right: auto; transform: none; width: 150px; margin: 0 auto 20px; }
    #main-content.m365-google-page .m365-google-security__inner { grid-template-columns: 140px 1fr; }
    #main-content.m365-google-page .m365-google-security__list { grid-column: 2; }
    #main-content.m365-google-page .m365-google-cta__inner { width: calc(100% - 64px); grid-template-columns: minmax(0,1fr) 250px; }
    #main-content.m365-google-page .m365-google-cta::before { clip-path: none; opacity: .93; }
}
@media (max-width: 767px) {
    #main-content.m365-google-page .m365-google-hero__visual { height: 380px; }
    #main-content.m365-google-page .m365-google-hero__brands { width: 47%; right: 21%; top: 6%; gap: 12px; }
    #main-content.m365-google-page .m365-google-hero__visual > .m365-google-hero__mug { width: 26%; }
    #main-content.m365-google-page .m365-google-hero__badges { grid-template-columns: minmax(0,1fr); gap: 16px; }
    #main-content.m365-google-page .m365-google-hero__badges li { flex-direction: row; align-items: center; }
    #main-content.m365-google-page .m365-google-platform { display: flex; flex-direction: column; padding: 28px 22px; }
    #main-content.m365-google-page .m365-google-platform__image { position: relative; order: 2; top: auto; right: auto; transform: none; width: 160px; margin: 24px auto 0; }
    #main-content.m365-google-page .m365-google-platform__copy { max-width: 100%; height: auto; flex: 1; }
    #main-content.m365-google-page .m365-google-security__inner { grid-template-columns: minmax(0,1fr); }
    #main-content.m365-google-page .m365-google-security__list { grid-column: auto; }
    #main-content.m365-google-page .m365-google-cta__inner { width: calc(100% - 40px); margin-inline: auto; grid-template-columns: minmax(0,1fr); }
    #main-content.m365-google-page .m365-google-cta::before { clip-path: none; opacity: .95; }
}
/* Revisão visual V2: limites do Hero e acabamento dos recortes fornecidos. */
@media (min-width: 1001px) {
    #main-content.m365-google-page .m365-google-hero__copy { width: 45%; }
}
#main-content.m365-google-page .m365-google-hero__badges li > span { min-width: 0; }
#main-content.m365-google-page .m365-google-hero__brands > img { clip-path: inset(5% 2% 9% 6% round 12px); }
#main-content.m365-google-page .m365-google-hero__brands { gap: 0; }

/* Recomposição dos banners: painéis independentes, sem sobreposição de recortes. */
#main-content.m365-google-page .m365-google-hero__visual { inset: 0 0 0 46%; }
#main-content.m365-google-page .m365-google-hero__visual > img { object-position: 70% center; }
#main-content.m365-google-page .m365-google-hero__brands { top: 10%; right: 18%; width: clamp(220px,20vw,300px); gap: 18px; }
#main-content.m365-google-page .m365-google-hero__brands > .m365-google-hero-panel { display: flex; flex-direction: column; gap: 12px; min-height: 0; padding: 20px; border-radius: 14px; background: #fff; box-shadow: 0 0 16px #ffffff55; }
#main-content.m365-google-page .m365-google-hero-panel__brand { display: flex; justify-content: center; align-items: center; gap: 5px; width: 100%; }
#main-content.m365-google-page .m365-google-hero-panel__brand img { width: auto; height: 28px; max-width: 74%; max-height: none; }
#main-content.m365-google-page .m365-google-hero-panel__brand span { font-size: 19px; letter-spacing: -.04em; }
#main-content.m365-google-page .m365-google-apps { width: 100%; height: 128px; background-repeat: no-repeat; border-radius: 9px; }
#main-content.m365-google-page .m365-google-apps--microsoft { background-image: url('../images/microsoft365-google-workspace/images/hero-microsoft365-card.png?v=3'); background-size: 115% auto; background-position: 50% 66%; }
#main-content.m365-google-page .m365-google-apps--google { background-image: url('../images/microsoft365-google-workspace/images/google-workspace-ambiente.png?v=3'); background-size: 100% auto; background-position: center; }
#main-content.m365-google-page .m365-google-platforms { width: min(1320px,calc(100% - 64px)); gap: 12px; }
#main-content.m365-google-page .m365-google-platform { padding: 32px 36px; }
#main-content.m365-google-page .m365-google-platform__copy { max-width: 62%; }
#main-content.m365-google-page .m365-google-platform__image { width: 32%; height: 155px; object-fit: cover; object-position: center bottom; right: 3%; border-radius: 12px; }
#main-content.m365-google-page .m365-google-platform--google .m365-google-platform__image { object-position: center; mix-blend-mode: multiply; }
#main-content.m365-google-page .m365-google-security__image { width: 160px; height: 190px; object-fit: contain; object-position: center; clip-path: inset(12% 0 0); mask-image: radial-gradient(ellipse 72% 57% at 52% 64%,#000 55%,transparent 95%); }
@media (min-width: 1600px) {
    #main-content.m365-google-page .m365-google-hero__visual { left: 49%; }
    #main-content.m365-google-page .m365-google-hero__brands { right: 21%; }
}
@media (min-width: 768px) and (max-width: 1100px) {
    #main-content.m365-google-page .m365-google-platform__copy { max-width: 100%; }
    #main-content.m365-google-page .m365-google-platform__image { position: relative; right: auto; top: auto; transform: none; width: 170px; height: 122px; margin: 0 auto 20px; }
}
@media (max-width: 767px) {
    #main-content.m365-google-page .m365-google-hero__visual { inset: auto; height: 420px; }
    #main-content.m365-google-page .m365-google-hero__brands { top: 24px; right: 20px; width: 200px; gap: 14px; }
    #main-content.m365-google-page .m365-google-hero__brands > .m365-google-hero-panel { padding: 14px; gap: 8px; }
    #main-content.m365-google-page .m365-google-hero-panel__brand img { height: 23px; }
    #main-content.m365-google-page .m365-google-hero-panel__brand span { font-size: 16px; }
    #main-content.m365-google-page .m365-google-apps { height: 104px; }
    #main-content.m365-google-page .m365-google-platforms { width: calc(100% - 24px); }
    #main-content.m365-google-page .m365-google-platform { padding: 28px 22px; }
    #main-content.m365-google-page .m365-google-platform__copy { max-width: 100%; }
    #main-content.m365-google-page .m365-google-platform__image { position: relative; right: auto; top: auto; transform: none; width: 170px; height: 122px; margin: 24px auto 0; }
}

/* Pacote v3: enquadramento das artes completas em alta resolução. */
#main-content.m365-google-page .m365-google-hero__brands > .m365-google-hero-panel--v3 { display: block; position: relative; aspect-ratio: 1.42; padding: 0; overflow: hidden; }
#main-content.m365-google-page .m365-google-hero-panel--v3 > img { position: absolute; width: 119.1%; max-width: none; height: auto; max-height: none; left: -9.55%; top: -13.6%; border-radius: 0; clip-path: none; }
#main-content.m365-google-page .m365-google-platform__image { height: auto; aspect-ratio: 4 / 3; object-fit: contain; object-position: center; }
#main-content.m365-google-page .m365-google-platform--google .m365-google-platform__image { mix-blend-mode: normal; }
#main-content.m365-google-page .m365-google-security__image { width: 180px; height: 180px; object-fit: contain; clip-path: none; mask-image: none; border-radius: 0; }
#main-content.m365-google-page .m365-google-security__list .m365-google-icon { width: 24px; height: 24px; }
@media (max-width: 767px) {
    #main-content.m365-google-page .m365-google-security__image { width: 160px; height: 160px; }
}

/* ==========================================================================
   TELEFONIA VOIP / PABX IP — reference/telefonia_voip_aprovado.png
   ========================================================================== */
#main-content.voip-page { font-family: var(--font-primary); color: #022859; background: #fff; font-size: 16px; line-height: 1.45; }
#main-content.voip-page .voip-inner { width: min(1320px, calc(100% - 104px)); margin-inline: auto; }
#main-content.voip-page :where(h1,h2:not(.technology-carousel__heading),h3,p,ul) { margin: 0; }
#main-content.voip-page h1 { color: #022859; font-size: 48px; line-height: 1.1; font-weight: 700; letter-spacing: -.035em; }
#main-content.voip-page h2:not(.technology-carousel__heading) { color: #022873; font-size: 30px; line-height: 1.2; font-weight: 700; letter-spacing: -.035em; margin-bottom: 16px; }
#main-content.voip-page .voip-eyebrow { color: #022873; font-size: 13px; line-height: 1.45; font-weight: 700; letter-spacing: .1em; margin-bottom: 12px; }
#main-content.voip-page .voip-icon { display: block; flex: 0 0 auto; width: 40px; height: 40px; object-fit: contain; }
#main-content.voip-page .voip-actions { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
#main-content.voip-page .voip-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 48px; padding: 12px 18px; border: 1px solid #2EDFF2; border-radius: 6px; background: #2EDFF2; color: #022859; font-size: 14px; font-weight: 600; line-height: 1.4; text-decoration: none; }
#main-content.voip-page .voip-button--outline { color: #022873; border-color: #022873; background: transparent; }
#main-content.voip-page .voip-button--light { background: #fff; border-color: #E3E7EC; color: #022873; }
#main-content.voip-page .voip-button:hover { box-shadow: inset 0 0 0 1px currentColor; }
#main-content.voip-page :is(a,summary):focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
#main-content.voip-page .voip-link { color: #022873; font-size: 14px; font-weight: 600; text-underline-offset: 5px; }
#main-content.voip-page .voip-hero { position: relative; isolation: isolate; }
#main-content.voip-page .voip-hero__inner { width: min(1208px,calc(100% - 104px)); min-height: 660px; padding-block: 48px 56px; display: flex; align-items: center; }
#main-content.voip-page .voip-hero__copy { width: 48%; position: relative; z-index: 1; }
#main-content.voip-page .voip-hero h1 span { color: #2EDFF2; }
#main-content.voip-page .voip-hero__intro { font-size: 18px; margin-block: 24px 32px; max-width: 550px; }
#main-content.voip-page .voip-hero__image { position: absolute; inset: 0 0 0 auto; width: 56%; height: 100%; object-fit: cover; object-position: 72% center; clip-path: polygon(16% 0,100% 0,100% 100%,0 100%); z-index: 0; }
#main-content.voip-page .voip-hero__badges { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; list-style: none; margin-top: 64px; }
#main-content.voip-page .voip-hero__badges li { display: flex; align-items: center; gap: 8px; font-size: 13px; line-height: 1.4; }
#main-content.voip-page .voip-hero__badges .voip-icon { width: 34px; height: 40px; }
#main-content.voip-page .technology-carousel { margin-top: 0; }
#main-content.voip-page .voip-challenges { background: #f2f9fc; padding-block: 36px; }
#main-content.voip-page .voip-challenges__inner { display: grid; grid-template-columns: .95fr 1fr; gap: 40px; align-items: center; }
#main-content.voip-page .voip-challenges__inner > div > p:last-child { max-width: 550px; }
#main-content.voip-page .voip-challenges__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
#main-content.voip-page .voip-challenges__grid article { background: #fff; border-radius: 10px; padding: 18px 8px; text-align: center; }
#main-content.voip-page .voip-challenges__grid .voip-icon { margin: 0 auto 10px; }
#main-content.voip-page .voip-challenges__grid h3 { font-size: 16px; font-weight: 400; line-height: 1.35; color: #022873; }
#main-content.voip-page .voip-platforms { display: grid; grid-template-columns: 1.73fr 1fr; gap: 16px; padding-block: 16px; scroll-margin-top: 112px; }
#main-content.voip-page .voip-platform { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; padding: 32px 40px; border-radius: 10px; background: #022859; color: #fff; }
#main-content.voip-page .voip-platform__copy { position: relative; z-index: 1; width: 49%; }
#main-content.voip-page .voip-platform h2 { color: #fff; font-weight: 600; }
#main-content.voip-page .voip-platform__brand { display: block; width: 205px; height: auto; margin: -6px 0 16px -32px; }
#main-content.voip-page .voip-platform__copy > p { margin-bottom: 24px; }
#main-content.voip-page .voip-platform__image { position: absolute; z-index: 0; right: 0; bottom: 0; width: 51%; height: auto; object-fit: contain; object-position: center bottom; }
#main-content.voip-page .voip-connected { padding: 24px 28px; background: #f2f9fc; border-radius: 10px; }
#main-content.voip-page .voip-connected > p:not(.voip-eyebrow) { margin-bottom: 16px; }
#main-content.voip-page .voip-checklist { list-style: none; display: grid; gap: 10px; }
#main-content.voip-page .voip-checklist li { display: flex; align-items: center; gap: 16px; }
#main-content.voip-page .voip-checklist .voip-icon { width: 24px; height: 24px; }
#main-content.voip-page .voip-security { background: #f2f9fc; padding-block: 20px; }
#main-content.voip-page .voip-security__inner { display: grid; grid-template-columns: 180px 1.1fr 1fr; gap: 24px; align-items: center; }
#main-content.voip-page .voip-security__image { width: 180px; height: 180px; object-fit: contain; }
#main-content.voip-page .voip-security__list { padding: 20px 28px; border: 1px solid #E3E7EC; border-radius: 10px; background: #fff; }
#main-content.voip-page .voip-services { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 8px; }
#main-content.voip-page .voip-services section { display: flex; gap: 32px; padding: 24px 32px 24px max(52px,calc((100vw - 1320px)/2)); background: #f2f9fc; border-radius: 6px; }
#main-content.voip-page .voip-services section + section { padding: 24px max(52px,calc((100vw - 1320px)/2)) 24px 40px; }
#main-content.voip-page .voip-services section > div { min-width: 0; }
#main-content.voip-page .voip-services .voip-icon { margin-top: 24px; width: 64px; height: 64px; }
#main-content.voip-page .voip-services h2 { font-size: 26px; margin-bottom: 12px; }
#main-content.voip-page .voip-faq { padding-block: 24px 20px; }
#main-content.voip-page .voip-faq__heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 12px; }
#main-content.voip-page .voip-faq__heading h2 { margin-bottom: 0; }
#main-content.voip-page .voip-faq__heading .voip-eyebrow { margin-bottom: 4px; }
#main-content.voip-page .voip-faq__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 28px; align-items: start; }
#main-content.voip-page .voip-faq details { border: 1px solid #E3E7EC; border-radius: 6px; }
#main-content.voip-page .voip-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; padding: 10px 16px; list-style: none; cursor: pointer; font-size: 15px; font-weight: 500; color: #022873; }
#main-content.voip-page .voip-faq summary::-webkit-details-marker { display: none; }
#main-content.voip-page .voip-faq summary span { flex: 0 0 auto; }
#main-content.voip-page .voip-faq details[open] summary span { transform: rotate(180deg); }
#main-content.voip-page .voip-faq details > p { padding: 4px 16px 16px; }
#main-content.voip-page .voip-cta { position: relative; isolation: isolate; color: #fff; background: #022873; }
#main-content.voip-page .voip-cta__inner { display: grid; grid-template-columns: minmax(0,1fr) 250px; align-items: center; gap: 48px; width: min(920px,calc(72% - 80px)); margin-left: max(52px,calc((100% - 1320px)/2)); margin-right: 0; padding-block: 32px; min-height: 240px; }
#main-content.voip-page .voip-cta h2 { color: #fff; font-size: 28px; font-weight: 600; }
#main-content.voip-page .voip-cta .voip-eyebrow { color: #2EDFF2; }
#main-content.voip-page .voip-cta .voip-actions { flex-direction: column; align-items: stretch; gap: 16px; }
#main-content.voip-page .voip-cta .voip-button--outline { color: #fff; border-color: #fff; }
#main-content.voip-page .voip-cta__image { position: absolute; z-index: -1; right: 0; top: 0; width: 32%; height: 100%; object-fit: cover; object-position: 72% center; clip-path: polygon(16% 0,100% 0,100% 100%,0 100%); }
@media (max-width: 1100px) {
    #main-content.voip-page .voip-inner { width: calc(100% - 64px); }
    #main-content.voip-page .voip-hero__inner { min-height: 600px; }
    #main-content.voip-page .voip-hero__copy { width: 50%; }
    #main-content.voip-page h1 { font-size: 38px; }
    #main-content.voip-page .voip-hero__image { width: 50%; clip-path: polygon(12% 0,100% 0,100% 100%,0 100%); }
    #main-content.voip-page .voip-hero__badges { margin-top: 32px; gap: 12px; }
    #main-content.voip-page .voip-hero__badges li { flex-direction: column; align-items: flex-start; }
    #main-content.voip-page .voip-challenges__inner { grid-template-columns: 1fr; gap: 24px; }
    #main-content.voip-page .voip-challenges__inner > div > p:last-child { max-width: none; }
    #main-content.voip-page .voip-platforms { grid-template-columns: 1fr; }
    #main-content.voip-page .voip-platform { min-height: 440px; }
    #main-content.voip-page .voip-platform__image { object-fit: cover; }
    #main-content.voip-page .voip-security__inner { grid-template-columns: 140px minmax(0,1fr); }
    #main-content.voip-page .voip-security__image { width: 140px; height: 140px; }
    #main-content.voip-page .voip-security__list { grid-column: 2; }
    #main-content.voip-page .voip-services section, #main-content.voip-page .voip-services section + section { padding: 28px 24px; gap: 20px; }
    #main-content.voip-page .voip-services .voip-icon { width: 44px; height: 44px; }
    #main-content.voip-page .voip-cta__inner { width: calc(72% - 48px); margin-left: 32px; grid-template-columns: 1fr; gap: 24px; }
    #main-content.voip-page .voip-cta .voip-actions { align-items: flex-start; }
}
@media (max-width: 767px) {
    #main-content.voip-page .voip-inner { width: calc(100% - 40px); }
    #main-content.voip-page h1 { font-size: 36px; line-height: 1.15; }
    #main-content.voip-page h2:not(.technology-carousel__heading) { font-size: 29px; }
    #main-content.voip-page :is(h1,h2) br { display: none; }
    #main-content.voip-page .voip-hero { display: flex; flex-direction: column; }
    #main-content.voip-page .voip-hero__inner { min-height: 0; padding-block: 32px; }
    #main-content.voip-page .voip-hero__copy { width: 100%; }
    #main-content.voip-page .voip-hero__intro { font-size: 17px; }
    #main-content.voip-page .voip-hero__image { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 4 / 3; clip-path: none; object-position: center; }
    #main-content.voip-page .voip-actions { flex-direction: column; align-items: stretch; }
    #main-content.voip-page .voip-hero__badges { grid-template-columns: 1fr; gap: 20px; }
    #main-content.voip-page .voip-hero__badges li { flex-direction: row; align-items: center; font-size: 15px; }
    #main-content.voip-page .voip-challenges__grid, #main-content.voip-page .voip-services, #main-content.voip-page .voip-faq__grid { grid-template-columns: 1fr; }
    #main-content.voip-page .voip-challenges__grid article { padding: 24px; }
    #main-content.voip-page .voip-platform { display: flex; flex-direction: column; padding: 28px 24px 0; align-items: stretch; }
    #main-content.voip-page .voip-platform__copy { width: 100%; }
    #main-content.voip-page .voip-platform__image { position: relative; width: calc(100% + 48px); max-width: none; height: auto; margin: 28px -24px 0; }
    #main-content.voip-page .voip-connected { padding: 28px 24px; }
    #main-content.voip-page .voip-security__inner { grid-template-columns: 1fr; gap: 20px; }
    #main-content.voip-page .voip-security__image { justify-self: center; width: 180px; height: 180px; }
    #main-content.voip-page .voip-security__list { grid-column: auto; padding: 20px; }
    #main-content.voip-page .voip-services section, #main-content.voip-page .voip-services section + section { gap: 16px; padding: 28px 20px; }
    #main-content.voip-page .voip-services h2 { font-size: 25px; }
    #main-content.voip-page .voip-services .voip-icon { width: 36px; height: 36px; }
    #main-content.voip-page .voip-faq__heading { align-items: flex-start; flex-direction: column; gap: 16px; }
    #main-content.voip-page .voip-faq summary { min-height: 48px; }
    #main-content.voip-page .voip-cta { display: flex; flex-direction: column; }
    #main-content.voip-page .voip-cta__inner { margin-inline: auto; padding-block: 32px; }
    #main-content.voip-page .voip-cta .voip-actions { align-items: stretch; }
    #main-content.voip-page .voip-cta__image { position: relative; width: 100%; height: auto; aspect-ratio: 16 / 9; clip-path: none; }
}
/* FIM — TELEFONIA VOIP / PABX IP */

/* Carrossel compartilhado: enquadramento dos novos logos fornecidos. */
.technology-carousel .brands__item img[src$='/3cx.png'] { width: 142px; max-width: 142px; max-height: 48px; }
.technology-carousel .brands__item img[src$='/dell.png'] { width: 144px; max-width: 144px; max-height: 48px; }
@media (prefers-reduced-motion: reduce) {
    .technology-carousel .brands__viewport { overflow-x: auto; }
    .technology-carousel .brands__track { width: max-content; min-width: 100%; animation: none; }
    .technology-carousel .brands__group { flex: 0 0 auto; flex-wrap: nowrap; }
}

/* ==========================================================================
   PROJETOS DE TI — reference/projetos_ti_aprovado.png
   ========================================================================== */
/* Mesmas medidas de container e tipografia efetiva da página Backup. */
#main-content.projects-ti-page { font-family: var(--font-primary); color: #022859; background: #FFFFFF; font-size: 16px; line-height: 1.45; }
#main-content.projects-ti-page .projects-ti-inner { width: min(100%, 1280px); margin-inline: auto; padding: 40px 24px; }
#main-content.projects-ti-page :where(h1,h2:not(.technology-carousel__heading),h3,p,ul) { margin: 0; }
#main-content.projects-ti-page h1 { color: #022859; font-size: 48px; line-height: 1.1; font-weight: 700; letter-spacing: -.035em; }
#main-content.projects-ti-page h2:not(.technology-carousel__heading) { color: #022859; font-size: 36px; line-height: 1.15; font-weight: 700; letter-spacing: -.035em; margin-bottom: 14px; }
#main-content.projects-ti-page h3 { color: #022859; font-size: 20px; line-height: 1.3; font-weight: 600; letter-spacing: -.025em; }
#main-content.projects-ti-page p { font-size: 16px; line-height: 1.45; }
#main-content.projects-ti-page .projects-ti-eyebrow { color: #022873; font-size: 13px; line-height: 1.45; font-weight: 700; letter-spacing: .1em; margin-bottom: 10px; }
#main-content.projects-ti-page .projects-ti-icon { display: block; flex: 0 0 auto; width: 48px; height: 48px; object-fit: contain; }
#main-content.projects-ti-page .projects-ti-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 24px; }
#main-content.projects-ti-page .projects-ti-button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 48px; padding: 14px 24px; color: #022859; background: #2EDFF2; border: 1px solid transparent; border-radius: 6px; font-size: 14px; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; }
#main-content.projects-ti-page .projects-ti-button--outline { color: #022873; background: transparent; border-color: #022873; }
#main-content.projects-ti-page .projects-ti-button:hover { background: #FFFFFF; color: #022859; border-color: #022859; }
#main-content.projects-ti-page :is(a,summary):focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
#main-content.projects-ti-page .projects-ti-hero { position: relative; isolation: isolate; background: #f2f9fc; }
#main-content.projects-ti-page .projects-ti-hero__inner { min-height: 574px; padding-bottom: 36px; display: flex; align-items: center; }
#main-content.projects-ti-page .projects-ti-hero__copy { position: relative; z-index: 1; width: 46%; }
#main-content.projects-ti-page .projects-ti-hero h1 span { color: #2EDFF2; }
#main-content.projects-ti-page .projects-ti-hero__intro { margin-top: 20px; font-size: 18px; max-width: 620px; }
#main-content.projects-ti-page .projects-ti-hero__image { position: absolute; inset: 0 0 0 auto; width: 50%; height: 100%; object-fit: cover; object-position: center; clip-path: polygon(12% 0,100% 0,100% 100%,0 100%); }
#main-content.projects-ti-page .projects-ti-hero__badges { list-style: none; display: flex; gap: 28px; margin-top: 48px; }
#main-content.projects-ti-page .projects-ti-hero__badges li { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; font-size: 14px; line-height: 1.4; }
#main-content.projects-ti-page .technology-carousel { margin-top: 0; }
#main-content.projects-ti-page .projects-ti-challenges { background: #f2f9fc; }
#main-content.projects-ti-page .projects-ti-challenges__inner { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 32px; }
#main-content.projects-ti-page .projects-ti-challenges__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
#main-content.projects-ti-page .projects-ti-challenges__grid article { background: #E3E7EC; border-radius: 6px; padding: 20px 10px; text-align: center; }
#main-content.projects-ti-page .projects-ti-challenges__grid .projects-ti-icon { margin: 0 auto 12px; }
#main-content.projects-ti-page .projects-ti-challenges__grid h3 { font-size: 14px; line-height: 1.4; font-weight: 500; letter-spacing: normal; }
#main-content.projects-ti-page .projects-ti-services { scroll-margin-top: 110px; }
#main-content.projects-ti-page .projects-ti-services__heading { margin-bottom: 28px; }
#main-content.projects-ti-page .projects-ti-services__heading > p:last-child { font-size: 18px; }
#main-content.projects-ti-page .projects-ti-services__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
#main-content.projects-ti-page .projects-ti-services__grid article { padding: 22px 18px; border-radius: 6px; background: #F6F8FA; }
#main-content.projects-ti-page .projects-ti-services__title { display: flex; align-items: center; gap: 20px; margin-bottom: 18px; }
#main-content.projects-ti-page .projects-ti-services__title h3 { font-size: 20px; }
#main-content.projects-ti-page .projects-ti-differential { background: #f2f9fc; }
#main-content.projects-ti-page .projects-ti-differential__inner { display: grid; grid-template-columns: 1fr 1.1fr .8fr; align-items: center; gap: 24px; }
#main-content.projects-ti-page .projects-ti-differential__visual { position: relative; align-self: stretch; min-height: 320px; clip-path: polygon(0 0,100% 0,92% 100%,0 100%); background: #022859; }
#main-content.projects-ti-page .projects-ti-differential__visual img { width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: 60% center; }
#main-content.projects-ti-page .projects-ti-differential__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #022859, transparent 85%); }
#main-content.projects-ti-page .projects-ti-differential__caption { position: relative; z-index: 1; padding: 48px 24px; color: #FFFFFF; font-size: 14px; font-weight: 600; line-height: 1.8; letter-spacing: .1em; text-transform: uppercase; }
#main-content.projects-ti-page .projects-ti-differential__list { list-style: none; display: grid; gap: 18px; }
#main-content.projects-ti-page .projects-ti-differential__list li { display: flex; align-items: center; gap: 12px; font-size: 16px; line-height: 1.45; }
#main-content.projects-ti-page .projects-ti-differential__list .projects-ti-icon { width: 28px; height: 28px; }
#main-content.projects-ti-page .projects-ti-benefits__heading { text-align: center; margin-bottom: 28px; }
#main-content.projects-ti-page .projects-ti-benefits__grid { list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
#main-content.projects-ti-page .projects-ti-benefits__grid li { display: flex; align-items: center; gap: 20px; padding: 22px 18px; border-radius: 6px; background: #F6F8FA; font-size: 16px; line-height: 1.45; }
#main-content.projects-ti-page .projects-ti-faq { background: #e7f6fc; }
#main-content.projects-ti-page .projects-ti-faq__inner { display: grid; grid-template-columns: .85fr 1.9fr; gap: 64px; align-items: start; }
#main-content.projects-ti-page .projects-ti-faq__inner > div > p:last-child { max-width: 290px; font-size: 18px; }
#main-content.projects-ti-page .projects-ti-faq__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 16px; align-items: start; }
#main-content.projects-ti-page .projects-ti-faq details { background: #FFFFFF; border-radius: 4px; }
#main-content.projects-ti-page .projects-ti-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; padding: 10px 16px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 600; line-height: 1.35; }
#main-content.projects-ti-page .projects-ti-faq summary::-webkit-details-marker { display: none; }
#main-content.projects-ti-page .projects-ti-faq summary span { flex: 0 0 auto; font-size: 20px; font-weight: 400; }
#main-content.projects-ti-page .projects-ti-faq details[open] summary span { transform: rotate(45deg); }
#main-content.projects-ti-page .projects-ti-faq details > p { padding: 2px 16px 16px; font-size: 15px; }
#main-content.projects-ti-page .projects-ti-cta { position: relative; isolation: isolate; color: #FFFFFF; background: #022859; }
#main-content.projects-ti-page .projects-ti-cta__copy { position: relative; z-index: 1; width: 46%; }
#main-content.projects-ti-page .projects-ti-cta .projects-ti-eyebrow { color: #2EDFF2; }
#main-content.projects-ti-page .projects-ti-cta h2 { color: #FFFFFF; }
#main-content.projects-ti-page .projects-ti-cta__copy > p:not(.projects-ti-eyebrow) { font-size: 18px; }
#main-content.projects-ti-page .projects-ti-cta .projects-ti-button--outline { color: #FFFFFF; border-color: #FFFFFF; }
#main-content.projects-ti-page .projects-ti-cta .projects-ti-button--outline:hover { color: #022859; }
#main-content.projects-ti-page .projects-ti-cta__visual { position: absolute; inset: 0 0 0 auto; width: 50%; clip-path: polygon(12% 0,100% 0,100% 100%,0 100%); background: #022859; }
#main-content.projects-ti-page .projects-ti-cta__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .65; }
#main-content.projects-ti-page .projects-ti-cta__caption { position: absolute; right: max(24px,calc((100vw - 1280px)/2 + 24px)); top: 50%; transform: translateY(-50%); font-size: 14px; font-weight: 600; line-height: 1.9; letter-spacing: .1em; text-transform: uppercase; }
#main-content.projects-ti-page .projects-ti-cta__caption::after { content: ''; display: block; width: 64px; height: 3px; background: #2EDFF2; margin-top: 24px; }
@media (max-width: 1100px) {
    #main-content.projects-ti-page .projects-ti-hero__badges { gap: 12px; }
    #main-content.projects-ti-page .projects-ti-hero__badges li { flex-direction: column; align-items: flex-start; }
    #main-content.projects-ti-page .projects-ti-challenges__inner { grid-template-columns: 1fr; gap: 28px; }
    #main-content.projects-ti-page .projects-ti-services__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    #main-content.projects-ti-page .projects-ti-differential__inner { grid-template-columns: .9fr 1.1fr; gap: 28px; }
    #main-content.projects-ti-page .projects-ti-differential__visual { grid-row: span 2; }
    #main-content.projects-ti-page .projects-ti-differential__list { grid-column: 2; }
    #main-content.projects-ti-page .projects-ti-faq__inner { gap: 28px; }
    #main-content.projects-ti-page .projects-ti-faq__grid { grid-template-columns: 1fr; }
    #main-content.projects-ti-page :is(h1,h2) br { display: none; }
}
@media (max-width: 767px) {
    #main-content.projects-ti-page .projects-ti-inner { padding: 36px 24px; }
    #main-content.projects-ti-page h1 { font-size: 32px; line-height: 1.15; }
    #main-content.projects-ti-page h2:not(.technology-carousel__heading) { font-size: 29px; line-height: 1.18; }
    #main-content.projects-ti-page .projects-ti-services__title h3 { font-size: 21px; }
    #main-content.projects-ti-page .projects-ti-services__heading br { display: none; }
    #main-content.projects-ti-page .projects-ti-hero, #main-content.projects-ti-page .projects-ti-cta { display: flex; flex-direction: column; }
    #main-content.projects-ti-page .projects-ti-hero__inner { min-height: 0; }
    #main-content.projects-ti-page .projects-ti-hero__copy, #main-content.projects-ti-page .projects-ti-cta__copy { width: 100%; }
    #main-content.projects-ti-page .projects-ti-hero__intro, #main-content.projects-ti-page .projects-ti-services__heading > p:last-child, #main-content.projects-ti-page .projects-ti-faq__inner > div > p:last-child, #main-content.projects-ti-page .projects-ti-cta__copy > p:not(.projects-ti-eyebrow) { font-size: 17px; }
    #main-content.projects-ti-page .projects-ti-actions { flex-direction: column; align-items: stretch; gap: 12px; }
    #main-content.projects-ti-page .projects-ti-button { min-height: 50px; padding-inline: 18px; }
    #main-content.projects-ti-page .projects-ti-hero__badges { flex-direction: column; gap: 18px; margin-top: 30px; }
    #main-content.projects-ti-page .projects-ti-hero__badges li { flex-direction: row; align-items: center; font-size: 15px; }
    #main-content.projects-ti-page .projects-ti-hero__badges .projects-ti-icon { width: 40px; height: 40px; }
    #main-content.projects-ti-page .projects-ti-hero__image { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 4 / 3; clip-path: none; }
    #main-content.projects-ti-page .projects-ti-challenges__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    #main-content.projects-ti-page .projects-ti-services__grid, #main-content.projects-ti-page .projects-ti-benefits__grid, #main-content.projects-ti-page .projects-ti-differential__inner, #main-content.projects-ti-page .projects-ti-faq__inner { grid-template-columns: 1fr; gap: 28px; }
    #main-content.projects-ti-page .projects-ti-differential__visual { grid-row: auto; min-height: 0; aspect-ratio: 4 / 3; clip-path: none; }
    #main-content.projects-ti-page .projects-ti-differential__list { grid-column: auto; }
    #main-content.projects-ti-page .projects-ti-benefits__grid { gap: 16px; }
    #main-content.projects-ti-page .projects-ti-faq__inner > div > p:last-child { max-width: none; }
    #main-content.projects-ti-page .projects-ti-faq summary { min-height: 48px; padding: 14px 12px; font-size: 15px; }
    #main-content.projects-ti-page .projects-ti-faq details > p { font-size: 16px; padding-inline: 12px; }
    #main-content.projects-ti-page .projects-ti-cta__visual { position: relative; inset: auto; width: 100%; aspect-ratio: 16 / 9; clip-path: none; }
    #main-content.projects-ti-page .projects-ti-cta__caption { right: 24px; }
}
/* FIM — PROJETOS DE TI */

/* SOBRE A RENDITECH — estilos exclusivos; reference/sobre-renditech-aprovado.png */
#main-content.about-page { color: #022859; background: #FFFFFF; font-family: 'Montserrat', sans-serif; font-size: 16px; }
#main-content.about-page .about-inner { width: min(100%, 1328px); margin-inline: auto; padding: 32px 24px; }
#main-content.about-page :is(h1,h2,h3,p,ul) { margin: 0; padding: 0; }
#main-content.about-page :is(h1,h2,h3) { color: #022873; font-family: inherit; font-weight: 700; letter-spacing: -.035em; }
#main-content.about-page h1 { font-size: clamp(46px,3.65vw,56px); line-height: 1.08; }
#main-content.about-page h2 { font-size: 32px; line-height: 1.12; }
#main-content.about-page h3 { font-size: 20px; line-height: 1.2; font-weight: 600; }
#main-content.about-page p { line-height: 1.5; }
#main-content.about-page p + p { margin-top: 12px; }
#main-content.about-page h2 + p { margin-top: 16px; }
#main-content.about-page .about-eyebrow { margin-bottom: 12px; color: #022873; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
#main-content.about-page .about-button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 46px; margin-top: 18px; padding: 12px 24px; border: 1px solid transparent; border-radius: 6px; background: #022873; color: #FFFFFF; font-size: 15px; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; }
#main-content.about-page .about-button:hover { background: #022859; }
#main-content.about-page a:focus-visible { outline: 3px solid #2EDFF2; outline-offset: 4px; }
#main-content.about-page .about-icon { display: block; width: 56px; height: 56px; flex-shrink: 0; object-fit: contain; }
#main-content.about-page .about-hero { position: relative; isolation: isolate; background: #F6F8FA; }
#main-content.about-page .about-hero__image { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; object-position: center; }
#main-content.about-page .about-hero__inner { min-height: 390px; display: flex; align-items: center; }
#main-content.about-page .about-hero__copy { width: 54%; max-width: 670px; }
#main-content.about-page .about-hero h1 span { color: #2EDFF2; }
#main-content.about-page .about-hero__copy > p:not(.about-eyebrow) { max-width: 510px; margin-top: 16px; font-size: 18px; }
#main-content.about-page .about-story { display: grid; grid-template-columns: .85fr 1.15fr; gap: 40px; padding-block: 24px; align-items: stretch; }
#main-content.about-page .about-history { scroll-margin-top: 120px; padding-block: 8px; }
#main-content.about-page .about-purpose { position: relative; isolation: isolate; display: grid; grid-template-columns: 1.15fr 1fr; gap: 32px; align-items: center; padding: 32px; border-radius: 12px; overflow: hidden; color: #FFFFFF; background: #022859; }
#main-content.about-page .about-purpose::before { content: ''; position: absolute; z-index: -1; inset: 0; background: url('../images/sobre-renditech/banners/01-hero-sobre-renditech.png') right center / cover no-repeat; opacity: .12; }
#main-content.about-page .about-purpose h2 { color: #FFFFFF; }
#main-content.about-page .about-purpose .about-eyebrow { color: #2EDFF2; }
#main-content.about-page .about-rule { display: block; width: 64px; height: 2px; background: #2EDFF2; margin-block: 24px; }
#main-content.about-page .about-purpose__list { list-style: none; display: grid; gap: 16px; }
#main-content.about-page .about-purpose__list li { display: flex; align-items: center; gap: 16px; }
#main-content.about-page .about-purpose__list li + li { border-top: 1px solid #2EDFF2; padding-top: 16px; }
#main-content.about-page .about-purpose__list .about-icon { width: 44px; height: 44px; background: #FFFFFF; border-radius: 6px; padding: 4px; }
#main-content.about-page .about-differentials, #main-content.about-page .about-approach { background: #F6F8FA; }
#main-content.about-page .about-differentials__heading { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin-bottom: 24px; }
#main-content.about-page .about-differentials__heading > p { max-width: 510px; }
#main-content.about-page .about-differentials__grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }
#main-content.about-page .about-differentials__grid article { padding: 20px 12px; border-radius: 8px; background: #FFFFFF; text-align: center; }
#main-content.about-page .about-differentials__grid .about-icon { margin: 0 auto 14px; }
#main-content.about-page .about-differentials__grid h3 { min-height: 48px; display: flex; align-items: center; justify-content: center; }
#main-content.about-page .about-differentials__grid p { margin-top: 12px; }
#main-content.about-page .about-certifications__inner { display: grid; grid-template-columns: 260px 1fr; align-items: center; gap: 28px; }
#main-content.about-page .about-certifications__grid { list-style: none; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px 0; }
#main-content.about-page .about-certifications__grid li { display: flex; justify-content: center; align-items: center; min-width: 0; padding: 8px 14px; border-left: 1px solid #E3E7EC; }
#main-content.about-page .about-certifications__grid img { width: 100%; height: 90px; object-fit: contain; }
#main-content.about-page .about-approach__inner { display: grid; grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: center; padding-block: 24px; }
#main-content.about-page .about-approach__visual { position: relative; isolation: isolate; min-height: 310px; height: 100%; overflow: hidden; border-radius: 12px 0 0 12px; background: #022859; }
#main-content.about-page .about-approach__visual > img { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
#main-content.about-page .about-approach__caption { width: 44%; height: 100%; min-height: 310px; padding: 24px 28px; color: #FFFFFF; background: #022859; }
#main-content.about-page .about-approach__caption .about-rule { width: 48px; margin: 12px 0 22px; }
#main-content.about-page .about-approach__caption p:first-of-type { font-size: 22px; font-weight: 600; line-height: 1.25; margin-bottom: 22px; }
#main-content.about-page .about-cta { color: #FFFFFF; background: #022859; }
#main-content.about-page .about-cta__inner { display: grid; grid-template-columns: 1fr 1.2fr auto; align-items: center; gap: 40px; padding-block: 36px; }
#main-content.about-page .about-cta h2 { color: #FFFFFF; font-size: 24px; line-height: 1.3; }
#main-content.about-page .about-cta p { border-left: 2px solid #2EDFF2; padding-left: 40px; margin: 0; }
#main-content.about-page .about-button--cyan { margin: 0; color: #022859; background: #2EDFF2; }
#main-content.about-page .about-button--cyan:hover { background: #FFFFFF; }
@media (max-width: 1100px) {
    #main-content.about-page .about-story { grid-template-columns: 1fr; gap: 24px; }
    #main-content.about-page .about-purpose { grid-template-columns: 1fr 1fr; }
    #main-content.about-page .about-differentials__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    #main-content.about-page .about-certifications__inner { grid-template-columns: 1fr; }
    #main-content.about-page .about-certifications__grid li:nth-child(4n+1) { border-left: 0; }
    #main-content.about-page .about-cta__inner { grid-template-columns: 1fr 1fr; gap: 24px; }
    #main-content.about-page .about-cta .about-button { grid-column: 1 / -1; justify-self: center; }
    #main-content.about-page .about-approach__inner { gap: 24px; }
    #main-content.about-page .about-approach__caption { width: 52%; padding-inline: 20px; }
}
@media (max-width: 767px) {
    #main-content.about-page .about-inner { padding: 32px 24px; }
    #main-content.about-page h1 { font-size: 36px; line-height: 1.1; }
    #main-content.about-page h2 { font-size: 29px; line-height: 1.16; }
    #main-content.about-page h3 { font-size: 20px; }
    #main-content.about-page h1 br { display: none; }
    #main-content.about-page .about-hero { display: flex; flex-direction: column; }
    #main-content.about-page .about-hero__inner { min-height: 0; }
    #main-content.about-page .about-hero__copy { width: 100%; }
    #main-content.about-page .about-hero__copy > p:not(.about-eyebrow) { font-size: 17px; }
    #main-content.about-page .about-hero__image { position: static; z-index: auto; order: 2; aspect-ratio: 16 / 9; height: auto; }
    #main-content.about-page .about-button { width: 100%; min-height: 48px; padding-inline: 16px; }
    #main-content.about-page .about-purpose { grid-template-columns: 1fr; gap: 28px; padding: 28px 24px; }
    #main-content.about-page .about-differentials__heading, #main-content.about-page .about-approach__inner, #main-content.about-page .about-cta__inner { grid-template-columns: 1fr; gap: 24px; }
    #main-content.about-page .about-differentials__grid { grid-template-columns: 1fr; }
    #main-content.about-page .about-differentials__grid article { padding: 24px; }
    #main-content.about-page .about-differentials__grid h3 { min-height: 0; }
    #main-content.about-page .about-certifications__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 0; }
    #main-content.about-page .about-certifications__grid li { padding: 8px; }
    #main-content.about-page .about-certifications__grid li:nth-child(odd) { border-left: 0; }
    #main-content.about-page .about-certifications__grid img { height: 100px; }
    #main-content.about-page .about-approach__visual { min-height: 310px; border-radius: 8px; }
    #main-content.about-page .about-approach__caption { width: 55%; padding-inline: 16px; }
    #main-content.about-page .about-approach__caption p:first-of-type { font-size: 20px; }
    #main-content.about-page .about-cta p { border-left: 0; border-top: 2px solid #2EDFF2; padding: 20px 0 0; }
}
@media (max-width: 359px) {
    #main-content.about-page .about-certifications__grid { grid-template-columns: 1fr; }
    #main-content.about-page .about-certifications__grid li { border-left: 0; }
    #main-content.about-page .about-certifications__grid img { height: 120px; }
}
/* FIM — SOBRE A RENDITECH */

/* Composição revisada conforme o mockup confirmado pelo usuário. */
#main-content.about-page .about-inner { width: min(100%, 1440px); padding: 24px 60px; }
#main-content.about-page .about-hero__inner { min-height: 360px; padding-block: 28px; }
#main-content.about-page .about-hero__copy { width: 47%; max-width: 580px; }
#main-content.about-page h1 { font-size: clamp(46px,3.5vw,50px); }
#main-content.about-page .about-hero__copy > p:not(.about-eyebrow) { font-size: 17px; line-height: 1.35; max-width: 480px; margin-top: 12px; }
#main-content.about-page .about-button { margin-top: 14px; min-height: 44px; padding: 10px 24px; }
#main-content.about-page .about-story { grid-template-columns: 40% 60%; gap: 0; padding: 12px 0 12px 60px; }
#main-content.about-page .about-history { padding: 12px 44px 12px 0; }
#main-content.about-page .about-history p { line-height: 1.35; }
#main-content.about-page .about-purpose { border-radius: 12px 0 0 12px; padding: 30px 60px 30px 48px; gap: 50px; grid-template-columns: 1.05fr 1fr; }
#main-content.about-page .about-purpose::before { background-position: right center; opacity: .24; }
#main-content.about-page .about-purpose__copy { max-width: 270px; }
#main-content.about-page .about-purpose__list { gap: 12px; }
#main-content.about-page .about-purpose__list li { font-size: 15px; }
#main-content.about-page .about-purpose__list li + li { border-color: #E3E7EC; padding-top: 12px; }
#main-content.about-page .about-purpose__list .about-icon { width: 42px; height: 42px; }
#main-content.about-page .about-differentials, #main-content.about-page .about-approach { background: #eff8fc; }
#main-content.about-page .about-differentials__heading { grid-template-columns: 44% 56%; gap: 0; margin-bottom: 18px; padding-inline: 0; }
#main-content.about-page .about-differentials__heading h2 { max-width: 520px; }
#main-content.about-page .about-differentials__grid { gap: 10px; }
#main-content.about-page .about-differentials__grid article { padding: 14px 10px 18px; }
#main-content.about-page .about-differentials__grid .about-icon { width: 48px; height: 48px; margin-bottom: 8px; }
#main-content.about-page .about-differentials__grid h3 { font-size: 20px; min-height: 48px; }
#main-content.about-page .about-differentials__grid p { margin-top: 8px; font-size: 16px; line-height: 1.3; }
#main-content.about-page .about-certifications__inner { grid-template-columns: 245px 1fr; gap: 24px; padding-block: 24px; }
#main-content.about-page .about-certifications__grid { grid-template-columns: repeat(8,minmax(0,1fr)); gap: 16px 0; }
#main-content.about-page .about-certifications__grid li { padding: 4px 10px; }
#main-content.about-page .about-credential { display: block; width: 100%; height: 74px; overflow: hidden; }
#main-content.about-page .about-approach__inner { grid-template-columns: 47% 53%; gap: 0; padding: 24px 0 24px 60px; }
#main-content.about-page .about-approach__copy { padding-right: 48px; }
#main-content.about-page .about-approach__copy p { line-height: 1.35; }
#main-content.about-page .about-approach__visual { min-height: 300px; }
#main-content.about-page .about-approach__caption { width: 34%; min-height: 300px; background: rgb(2 40 89 / 92%); padding: 24px 32px; }
#main-content.about-page .about-cta__inner { padding-block: 30px; grid-template-columns: 1fr 1.3fr auto; gap: 36px; }
#main-content.about-page .about-cta p { padding-left: 36px; line-height: 1.35; }
@media (max-width: 1150px) {
    #main-content.about-page .about-inner { padding-inline: 32px; }
    #main-content.about-page .about-hero__copy { width: 55%; }
    #main-content.about-page .about-story { grid-template-columns: 1fr 1.2fr; padding-right: 0; }
    #main-content.about-page .about-history { padding-right: 24px; }
    #main-content.about-page .about-purpose { padding: 28px; gap: 24px; grid-template-columns: 1fr; }
    #main-content.about-page .about-purpose__copy { max-width: none; }
    #main-content.about-page .about-purpose__list { grid-template-columns: 1fr 1fr; }
    #main-content.about-page .about-certifications__inner { grid-template-columns: 1fr; }
    #main-content.about-page .about-certifications__grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    #main-content.about-page .about-approach__inner { padding-right: 0; }
    #main-content.about-page .about-approach__caption { width: 48%; padding-inline: 20px; }
    #main-content.about-page .about-cta__inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
    #main-content.about-page .about-inner { padding: 28px 24px; }
    #main-content.about-page h1 { font-size: 36px; }
    #main-content.about-page .about-hero__inner { min-height: 0; }
    #main-content.about-page .about-hero__copy { width: 100%; }
    #main-content.about-page .about-hero__image { aspect-ratio: 16 / 10; object-fit: cover; object-position: right; }
    #main-content.about-page .about-story, #main-content.about-page .about-differentials__heading, #main-content.about-page .about-approach__inner, #main-content.about-page .about-cta__inner { grid-template-columns: 1fr; gap: 24px; }
    #main-content.about-page .about-history, #main-content.about-page .about-approach__copy { padding: 0; }
    #main-content.about-page .about-purpose { border-radius: 10px; padding: 28px 24px; }
    #main-content.about-page .about-purpose__list { grid-template-columns: 1fr; }
    #main-content.about-page .about-differentials__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    #main-content.about-page .about-differentials__grid h3 { font-size: 20px; min-height: 72px; }
    #main-content.about-page .about-certifications__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    #main-content.about-page .about-credential { height: 90px; }
    #main-content.about-page .about-approach__caption { width: 55%; }
    #main-content.about-page .about-cta p { padding: 20px 0 0; }
    #main-content.about-page .about-button { min-height: 48px; }
}
@media (max-width: 359px) {
    #main-content.about-page .about-differentials__grid, #main-content.about-page .about-certifications__grid { grid-template-columns: 1fr; }
    #main-content.about-page .about-differentials__grid h3 { min-height: 0; }
}

/* Correção do enquadramento e da faixa de credenciais do mockup. */
#main-content.about-page .about-hero__image { object-position: center 18%; }
#main-content.about-page .about-certifications__inner { grid-template-columns: 270px minmax(0,1fr); gap: 26px; padding-block: 24px; }
#main-content.about-page .about-certifications h2 { font-size: 32px; line-height: 1.08; }
#main-content.about-page .about-certifications .about-eyebrow { font-size: 12px; letter-spacing: .1em; }
#main-content.about-page .about-certifications__grid { grid-template-columns: repeat(7,minmax(0,1fr)) 1.5fr; grid-template-rows: repeat(2,46px); gap: 0; }
#main-content.about-page .about-certifications__grid li { grid-row: 1 / 3; padding: 4px 12px; }
#main-content.about-page .about-certifications__grid li:nth-child(8) { grid-column: 8; grid-row: 1; }
#main-content.about-page .about-certifications__grid li:nth-child(9) { grid-column: 8; grid-row: 2; }
#main-content.about-page .about-credential { height: 74px; }
#main-content.about-page .about-certifications__grid li:nth-child(n+8) .about-credential { height: 36px; }
@media (max-width: 1150px) {
    #main-content.about-page .about-certifications__inner { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    #main-content.about-page .about-hero__image { object-position: right top; }
    #main-content.about-page .about-certifications__grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; gap: 16px 0; }
    #main-content.about-page .about-certifications__grid li, #main-content.about-page .about-certifications__grid li:nth-child(n+8) { grid-column: auto; grid-row: auto; }
    #main-content.about-page .about-certifications__grid .about-credential, #main-content.about-page .about-certifications__grid li:nth-child(n+8) .about-credential { height: 90px; }
}
@media (max-width: 359px) {
    #main-content.about-page .about-certifications__grid { grid-template-columns: 1fr; }
}
#main-content.about-page .about-hero__brand { position: absolute; right: max(48px,calc((100% - 1320px)/2)); top: 72px; width: 36%; max-width: 490px; padding: 24px 28px; display: flex; align-items: center; gap: 24px; background: #FFFFFF; }
#main-content.about-page .about-hero__brand img { width: 57%; height: auto; object-fit: contain; }
#main-content.about-page .about-hero__brand p { margin: 0; padding-left: 20px; border-left: 2px solid #022873; color: #022873; font-size: 16px; line-height: 1.3; }
@media (max-width: 1150px) {
    #main-content.about-page .about-hero__brand { right: 24px; width: 33%; padding: 20px; flex-direction: column; gap: 12px; }
    #main-content.about-page .about-hero__brand img { width: 100%; }
    #main-content.about-page .about-hero__brand p { padding-left: 0; border-left: 0; }
}
@media (max-width: 767px) {
    #main-content.about-page .about-hero__brand { position: static; width: 100%; max-width: none; order: 3; padding: 24px; flex-direction: row; }
    #main-content.about-page .about-hero__brand img { width: 50%; }
    #main-content.about-page .about-hero__brand p { font-size: 14px; }
}

/* Hero revisado: composição editorial com fotografia lateral. */
#main-content.about-page .about-hero { background: #eff8fc; }
#main-content.about-page .about-hero__inner { min-height: 460px; padding-block: 42px; }
#main-content.about-page .about-hero__copy { width: 46%; max-width: 580px; }
#main-content.about-page .about-hero__image { inset: 0 0 0 auto; width: 49%; height: 100%; object-fit: cover; object-position: right center; }
@media (max-width: 1150px) {
    #main-content.about-page .about-hero__copy { width: 49%; }
    #main-content.about-page .about-hero__image { width: 47%; }
}
@media (max-width: 767px) {
    #main-content.about-page .about-hero__inner { min-height: 0; padding-block: 32px; }
    #main-content.about-page .about-hero__copy { width: 100%; }
    #main-content.about-page .about-hero__image { position: static; width: 100%; height: auto; aspect-ratio: 16 / 10; object-position: right center; }
}

/* Arquivos individuais transparentes, obtidos no site oficial da Renditech. */
#main-content.about-page .about-certifications__grid img.about-credential { width: 100%; height: 74px; object-fit: contain; }
#main-content.about-page .about-certifications__grid .about-credential--3cx { max-width: 66px; height: 65px; }
#main-content.about-page .about-certifications__grid li:nth-child(n+8) img.about-credential { height: 36px; }
@media (max-width: 767px) {
    #main-content.about-page .about-certifications__grid img.about-credential,
    #main-content.about-page .about-certifications__grid li:nth-child(n+8) img.about-credential { height: 90px; }
}

/* Blog — home editorial; estilos isolados das demais páginas. */
#main-content.blog-page { color: #022859; font-family: 'Montserrat', sans-serif; font-size: 16px; }
#main-content.blog-page a { color: inherit; text-decoration: none; }
#main-content.blog-page a:hover { text-decoration: underline; text-underline-offset: 4px; }
#main-content.blog-page :is(a, button, input):focus-visible { outline: 3px solid #022873; outline-offset: 4px; }
#main-content.blog-page .blog-inner { width: min(1254px, 87%); margin-inline: auto; }
#main-content.blog-page .blog-hero { position: relative; background: #f6f8fa; isolation: isolate; overflow: hidden; }
#main-content.blog-page .blog-hero__inner { min-height: clamp(378px, 24vw, 620px); display: flex; align-items: center; }
#main-content.blog-page .blog-hero__image { position: absolute; z-index: -1; right: 0; top: 0; width: 52%; max-width: none; height: 100%; object-fit: cover; object-position: center 62%; clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%); }
#main-content.blog-page .blog-hero__copy { width: 49%; padding-block: 40px; }
#main-content.blog-page .blog-eyebrow { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.6px; margin-bottom: 16px; }
#main-content.blog-page .blog-hero h1 { font-size: 44px; font-weight: 700; line-height: 1.08; letter-spacing: -1.7px; margin: 0 0 18px; }
#main-content.blog-page .blog-hero h1 .blog-title-accent { color: #2edff2; text-decoration: none; }
#main-content.blog-page .blog-hero__copy > p:last-child { font-size: 17px; line-height: 1.5; max-width: 590px; }
#main-content.blog-page .blog-content { padding-block: 26px 32px; }
#main-content.blog-page .blog-section-label { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.1px; line-height: 1.4; margin: 0 0 18px; }
#main-content.blog-page .blog-featured__article { display: grid; grid-template-columns: 1.1fr 1fr; align-items: start; gap: 32px; }
#main-content.blog-page .blog-featured__image { display: block; overflow: hidden; border-radius: 7px; }
#main-content.blog-page .blog-post-image { width: 100%; height: 100%; object-fit: cover; }
#main-content.blog-page .blog-featured__image .blog-post-image { aspect-ratio: 2.35; object-position: center 65%; }
#main-content.blog-page .blog-category { display: inline-block; font-size: 11px; font-weight: 600; line-height: 1.5; letter-spacing: .7px; text-transform: uppercase; color: #022873; margin-bottom: 10px; }
#main-content.blog-page .blog-featured h3 { font-size: clamp(28px, 2.3vw, 34px); font-weight: 700; line-height: 1.2; margin-bottom: 10px; }
#main-content.blog-page .blog-excerpt { color: #596273; line-height: 1.55; margin-bottom: 14px; }
#main-content.blog-page .blog-meta { display: flex; gap: 9px; align-items: center; color: #596273; font-size: 13px; line-height: 1.5; }
#main-content.blog-page .blog-icon { width: 16px; height: 16px; flex: 0 0 16px; }
#main-content.blog-page .blog-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: #022873; color: #fff; padding: 11px 24px; border-radius: 7px; font-weight: 600; font-size: 14px; line-height: 1.5; }
#main-content.blog-page .blog-featured .blog-button { margin-top: 16px; }
#main-content.blog-page .blog-filters { display: grid; grid-template-columns: 1fr 282px; align-items: center; gap: 28px; margin-block: 36px; }
#main-content.blog-page .blog-chips { display: flex; flex-wrap: wrap; gap: 9px; }
#main-content.blog-page .blog-chip { display: inline-flex; align-items: center; min-height: 38px; border: 1px solid #d5dde6; border-radius: 24px; padding: 7px 20px; font-size: 12px; }
#main-content.blog-page .blog-chip--active { background: #022859; color: white; border-color: #022859; }
#main-content.blog-page .blog-search { display: flex; align-items: center; min-width: 0; border: 1px solid #c9d3df; border-radius: 8px; min-height: 48px; background: white; }
#main-content.blog-page .blog-search button { display: grid; place-items: center; background: transparent; border: 0; width: 46px; min-height: 46px; cursor: pointer; flex: 0 0 46px; }
#main-content.blog-page .blog-search .blog-icon { width: 20px; height: 20px; }
#main-content.blog-page .blog-search input { width: 100%; min-width: 0; border: 0; background: transparent; padding: 12px 10px 12px 0; font: inherit; font-size: 13px; color: #022859; }
#main-content.blog-page .blog-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
#main-content.blog-page .blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
#main-content.blog-page .blog-card { border: 1px solid #e3e7ec; border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; }
#main-content.blog-page .blog-card__image { display: block; aspect-ratio: 2.3; overflow: hidden; }
#main-content.blog-page .blog-card__body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; align-items: flex-start; }
#main-content.blog-page .blog-card h3 { font-size: 21px; font-weight: 700; line-height: 1.3; margin-bottom: 10px; }
#main-content.blog-page .blog-card .blog-excerpt { font-size: 15px; }
#main-content.blog-page .blog-card .blog-meta { margin-top: auto; }
#main-content.blog-page .blog-read { display: inline-flex; gap: 10px; align-items: center; font-size: 14px; font-weight: 600; color: #022873; margin-top: 15px; min-height: 28px; }
#main-content.blog-page .blog-recommended { margin-top: 40px; }
#main-content.blog-page .blog-recommended__card { display: grid; grid-template-columns: 40% minmax(0, 1fr); gap: 16px; border: 1px solid #e3e7ec; border-radius: 8px; padding: 10px; }
#main-content.blog-page .blog-recommended__image { display: block; border-radius: 5px; overflow: hidden; min-height: 126px; }
#main-content.blog-page .blog-recommended h3 { font-size: 15px; font-weight: 600; line-height: 1.4; margin: 4px 0 12px; }
#main-content.blog-page .blog-recommended .blog-meta { font-size: 12px; align-items: flex-start; }
#main-content.blog-page .blog-pagination { margin-block: 28px; }
#main-content.blog-page .blog-pagination ul { list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
#main-content.blog-page .blog-pagination .page-numbers:not(ul) { display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid #d5dde6; border-radius: 6px; }
#main-content.blog-page .blog-pagination .current { background: #022873; color: white; }
#main-content.blog-page .blog-empty { padding: 24px; background: #f6f8fa; border-radius: 8px; }
#main-content.blog-page .blog-cta { margin-top: 42px; padding: 36px 44px; display: flex; align-items: center; gap: 32px; justify-content: space-between; background: #022873; color: white; border-radius: 12px; }
#main-content.blog-page .blog-cta > div { flex: 1; }
#main-content.blog-page .blog-cta .blog-eyebrow { color: #2edff2; margin-bottom: 10px; }
#main-content.blog-page .blog-cta h2 { font-size: 30px; line-height: 1.25; margin-bottom: 6px; }
#main-content.blog-page .blog-cta p { font-size: 15px; }
#main-content.blog-page .blog-button--cyan { background: #2edff2; color: #022859; flex-shrink: 0; padding: 16px 24px; }
#main-content.blog-page .blog-cta a:focus-visible { outline-color: white; }
#main-content.blog-page :is(h1, h2, h3, p, a, time) { overflow-wrap: anywhere; }
@media (min-width: 1101px) { #main-content.blog-page .blog-title-line { display: block; white-space: nowrap; } }
@media (max-width: 1100px) {
    #main-content.blog-page .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
    #main-content.blog-page .blog-featured__article { gap: 24px; }
    #main-content.blog-page .blog-featured__image .blog-post-image { aspect-ratio: 1.5; }
    #main-content.blog-page .blog-filters { grid-template-columns: 1fr 260px; }
    #main-content.blog-page .blog-hero h1 { font-size: 42px; }
    #main-content.blog-page .blog-cta { padding: 32px; flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
    #main-content.blog-page .blog-inner { width: calc(100% - 40px); }
    #main-content.blog-page .blog-hero { display: flex; flex-direction: column; }
    #main-content.blog-page .blog-hero__inner { min-height: 0; order: -1; }
    #main-content.blog-page .blog-hero__copy { width: 100%; padding-block: 32px; }
    #main-content.blog-page .blog-hero h1 { font-size: 34px; letter-spacing: -1px; line-height: 1.13; }
    #main-content.blog-page .blog-hero__copy > p:last-child { font-size: 16px; }
    #main-content.blog-page .blog-hero__image { position: static; width: 100%; max-width: none; height: auto; aspect-ratio: 2.13; clip-path: none; }
    #main-content.blog-page .blog-featured__article, #main-content.blog-page .blog-grid, #main-content.blog-page .blog-filters { grid-template-columns: minmax(0, 1fr); }
    #main-content.blog-page .blog-featured__image .blog-post-image { aspect-ratio: 1.8; }
    #main-content.blog-page .blog-featured h3 { font-size: 28px; }
    #main-content.blog-page .blog-filters { gap: 20px; margin-block: 32px; }
    #main-content.blog-page .blog-chip { min-height: 44px; padding-inline: 14px; }
    #main-content.blog-page .blog-search { width: 100%; }
    #main-content.blog-page .blog-card h3 { font-size: 20px; }
    #main-content.blog-page .blog-recommended__card { grid-template-columns: 36% minmax(0, 1fr); }
    #main-content.blog-page .blog-cta { padding: 28px 22px; gap: 22px; }
    #main-content.blog-page .blog-cta h2 { font-size: 26px; }
    #main-content.blog-page .blog-button--cyan { width: 100%; padding-inline: 12px; font-size: 13px; }
}

/* Fontes oficiais e recuperação de dados — página de Backup. */
#main-content.page-backup .backup-responsibility { margin-top: 28px; padding: 32px; border: 1px solid #b9d7e5; border-left: 4px solid #25d5e8; border-radius: 10px; background: #fff; }
#main-content.page-backup .backup-responsibility h3 { font-size: clamp(24px, 2.5vw, 32px); line-height: 1.2; margin: 10px 0 16px; }
#main-content.page-backup .backup-responsibility p { font-size: 16px; line-height: 1.65; }
#main-content.page-backup .backup-responsibility .backup-eyebrow { font-size: 12px; }
#main-content.page-backup .backup-responsibility__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-block: 26px; }
#main-content.page-backup .backup-responsibility h4 { font-size: 19px; line-height: 1.4; margin-bottom: 10px; }
#main-content.page-backup .backup-responsibility a { display: inline-block; color: #022873; font-size: 14px; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
#main-content.page-backup .backup-responsibility__grid a { margin-top: 12px; }
#main-content.page-backup .backup-responsibility__sources { border-top: 1px solid #dbe6ec; border-bottom: 1px solid #dbe6ec; padding-block: 16px; }
#main-content.page-backup .backup-responsibility__sources summary { cursor: pointer; font-size: 15px; font-weight: 600; }
#main-content.page-backup .backup-responsibility__sources p { font-size: 14px; margin-top: 16px; }
#main-content.page-backup .backup-responsibility__closing { margin-top: 22px; }
#main-content.page-backup .backup-responsibility :is(a, summary):focus-visible { outline: 3px solid #022873; outline-offset: 4px; }
@media (max-width: 700px) {
    #main-content.page-backup .backup-responsibility { padding: 24px 20px; }
    #main-content.page-backup .backup-responsibility__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

/* Simulador de impacto — apenas Gestão e Suporte de TI. */
#main-content.support-page .support-impact { background: #022859; color: #fff; padding-block: 36px; }
#main-content.support-page .support-impact__heading { max-width: 800px; text-align: center; margin: 0 auto 32px; }
#main-content.support-page .support-impact .support-eyebrow { color: #2edff2; }
#main-content.support-page .support-impact h2 { color: #fff; margin: 12px 0 18px; }
#main-content.support-page .support-impact__heading > p:last-child { color: #d9e4ef; }
#main-content.support-page .support-impact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 36px; border: 1px solid #507192; border-radius: 12px; }
#main-content.support-page .support-impact__fields { border: 0; min-width: 0; padding: 0; }
#main-content.support-page .support-impact__fields legend { font-size: 18px; font-weight: 600; margin-bottom: 28px; }
#main-content.support-page .support-impact__field + .support-impact__field { margin-top: 28px; }
#main-content.support-page .support-impact__label { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 15px; font-weight: 600; }
#main-content.support-page .support-impact__number { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
#main-content.support-page .support-impact__number input { width: 94px; min-height: 44px; padding: 8px; border: 1px solid #9cb2c9; border-radius: 6px; background: #fff; color: #022859; font: inherit; }
#main-content.support-page .support-impact__number span { font-size: 12px; }
#main-content.support-page .support-impact input[type="range"] { width: 100%; min-height: 44px; accent-color: #2edff2; cursor: pointer; margin-block: 8px; }
#main-content.support-page .support-impact__field p { color: #d9e4ef; font-size: 13px; line-height: 1.55; }
#main-content.support-page .support-impact__result { background: #fff; color: #022859; padding: 28px; border-radius: 10px; text-align: center; min-width: 0; }
#main-content.support-page .support-impact__result-label { font-weight: 600; }
#main-content.support-page .support-impact__monthly { margin: 18px 0 8px; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 6px; }
#main-content.support-page .support-impact__monthly strong { font-size: clamp(28px, 3vw, 44px); line-height: 1.15; overflow-wrap: anywhere; }
#main-content.support-page .support-impact__annual { margin-bottom: 16px; }
#main-content.support-page .support-impact__annual strong { font-size: 22px; }
#main-content.support-page .support-impact__result .support-impact__method,
#main-content.support-page .support-impact__result .support-impact__note { font-size: 13px; line-height: 1.55; color: #596273; margin-top: 18px; }
#main-content.support-page .support-impact__result .support-button { margin-top: 24px; white-space: normal; }
#main-content.support-page .support-impact__error { font-weight: 600; margin-block: 16px; }
#main-content.support-page .support-impact input:focus-visible { outline: 3px solid #2edff2; outline-offset: 4px; }
#main-content.support-page .support-impact input[aria-invalid="true"] { border: 3px solid #022873; }
@media (max-width: 900px) {
    #main-content.support-page .support-impact__grid { grid-template-columns: minmax(0, 1fr); padding: 24px; gap: 28px; }
}
@media (max-width: 480px) {
    #main-content.support-page .support-impact__grid { padding: 18px; }
    #main-content.support-page .support-impact__label { align-items: flex-start; flex-direction: column; gap: 8px; }
    #main-content.support-page .support-impact__result { padding: 22px 16px; }
    #main-content.support-page .support-impact__result .support-button { width: 100%; }
}

/* Refinamento visual do simulador e do banner de infraestrutura. */
#main-content.support-page .support-impact { background: radial-gradient(ellipse at 90% 10%, #c7f5fa 0, transparent 48%), linear-gradient(135deg, #f3f9ff, #e9f2ff); color: #022859; padding-block: 64px; }
#main-content.support-page .support-impact h2 { color: #022859; }
#main-content.support-page .support-impact .support-eyebrow { display: inline-block; padding: 8px 16px; border: 1px solid var(--color-cyan); border-radius: 30px; color: var(--color-blue); background: #fff; }
#main-content.support-page .support-impact__heading > p:last-child { color: #46617b; }
#main-content.support-page .support-impact__grid { background: #fff; border: 1px solid #d4e6f3; border-radius: 24px; box-shadow: 0 18px 60px #153d7012; gap: 32px; padding: 32px; }
#main-content.support-page .support-impact__fields { padding: 12px; }
#main-content.support-page .support-impact__fields legend { font-size: 20px; }
#main-content.support-page .support-impact__field { background: #f4f8fc; border: 1px solid #e1ebf4; border-radius: 14px; padding: 18px; }
#main-content.support-page .support-impact__field + .support-impact__field { margin-top: 16px; }
#main-content.support-page .support-impact__field p { color: #52667b; }
#main-content.support-page .support-impact__number input { border-color: #b8d7e5; border-radius: 10px; color: var(--color-blue); font-weight: 700; font-family: var(--font-primary); box-shadow: 0 2px 5px #02287308; }
#main-content.support-page .support-impact input[type="range"] { accent-color: var(--color-blue); }
#main-content.support-page .support-impact__result { border: 1px solid #99e1e9; border-radius: 18px; background: linear-gradient(155deg, #e2fbfd, #f5fcff 65%); box-shadow: inset 0 4px 0 #22d3e5; display: flex; flex-direction: column; justify-content: center; }
#main-content.support-page .support-impact__monthly strong { color: var(--color-blue); font-size: clamp(32px, 3.6vw, 52px); letter-spacing: -1.5px; }
#main-content.support-page .support-impact__annual { padding-bottom: 18px; border-bottom: 1px solid #b9dfe8; }
#main-content.support-page .support-impact__result .support-button { min-height: 58px; padding: 12px 18px 12px 24px; border: 1px solid var(--color-cyan); border-radius: 16px; background: var(--color-cyan); color: var(--color-navy); font-family: var(--font-primary); font-size: 15px; font-weight: 700; box-shadow: 0 8px 20px #02287318; transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease; }
#main-content.support-page .support-impact__result .support-button span { display: inline-grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: #02287312; font-size: 20px; }
#main-content.support-page .support-impact__result .support-button:hover { background: var(--color-blue); color: #fff; transform: translateY(-2px); box-shadow: 0 12px 24px #02287326; }
#main-content.support-page .support-impact__result .support-button:hover span { background: #ffffff20; }
#main-content.support-page .support-impact__result .support-button:active { transform: translateY(0); }
#main-content.support-page .support-impact :is(input, .support-button):focus-visible { outline: 3px solid var(--color-blue); outline-offset: 4px; }
#main-content.support-page .support-impact__label,
#main-content.support-page .support-impact__fields legend,
#main-content.support-page .support-impact__result-label,
#main-content.support-page .support-impact__annual strong { color: var(--color-navy); font-family: var(--font-primary); }
@media (prefers-reduced-motion: reduce) {
    #main-content.support-page .support-impact__result .support-button { transition: none; }
}
#main-content.infrastructure-page .infrastructure-hero__badges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px; max-width: 100%; }
#main-content.infrastructure-page .infrastructure-hero__badges li { min-width: 0; }
#main-content.infrastructure-page .infrastructure-hero__badges li:last-child { grid-column: 1 / -1; }
#main-content.infrastructure-page .infrastructure-hero__caption { position: absolute; top: 50%; right: 4%; bottom: auto; width: 40%; margin: 0; transform: translateY(-50%); padding: 28px; border: 1px solid #ffffff35; border-left: 4px solid #00def2; border-radius: 4px 18px 18px 4px; background: #022859b8; backdrop-filter: blur(5px); color: #fff; font-size: clamp(26px, 2.5vw, 42px); font-weight: 700; line-height: 1.2; text-wrap: balance; }
#main-content.infrastructure-page .infrastructure-hero__caption span { display: block; color: #66edfa; margin-top: 14px; font-size: .76em; line-height: 1.35; }
@media (max-width: 900px) {
    #main-content.support-page .support-impact__fields { padding: 0; }
    #main-content.support-page .support-impact__grid { padding: 24px; }
}
@media (max-width: 600px) {
    #main-content.infrastructure-page .infrastructure-hero__inner { padding-bottom: 290px; }
    #main-content.infrastructure-page .infrastructure-hero__image { height: 290px; }
    #main-content.infrastructure-page .infrastructure-hero__caption { top: auto; bottom: 40px; right: 6%; width: 88%; transform: none; padding: 22px; font-size: 28px; }
    #main-content.infrastructure-page .infrastructure-hero__badges { grid-template-columns: minmax(0, 1fr); }
    #main-content.support-page .support-impact { padding-block: 40px; }
    #main-content.support-page .support-impact__grid { padding: 16px; border-radius: 18px; }
    #main-content.support-page .support-impact__field { padding: 14px; }
}

/* VoIP: composição original, com enquadramento na base dos equipamentos. */
#main-content.voip-page .voip-hero { background: #fff; }
#main-content.voip-page .voip-hero__inner { min-height: max(660px, 30vw); }
#main-content.voip-page .voip-hero__copy { width: 42%; }
#main-content.voip-page .voip-hero__image { width: 56%; object-fit: cover; object-position: right bottom; clip-path: polygon(16% 0,100% 0,100% 100%,0 100%); }
#main-content.voip-page .voip-hero__badges { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; margin-top: 36px; }
#main-content.voip-page .voip-hero__badges li { min-width: 0; flex-direction: row; align-items: center; }
#main-content.voip-page .voip-hero__badges li:last-child { grid-column: 1 / -1; }
#main-content.voip-page .voip-hero__badges .voip-icon { flex: 0 0 34px; }
#main-content.voip-page .technology-carousel { margin-top: 16px; }
@media (max-width: 1100px) and (min-width: 768px) {
    #main-content.voip-page .voip-hero__inner { min-height: 600px; }
    #main-content.voip-page .voip-hero__copy { width: 48%; }
    #main-content.voip-page .voip-hero__image { width: 50%; clip-path: polygon(12% 0,100% 0,100% 100%,0 100%); }
    #main-content.voip-page .voip-hero .voip-actions { flex-wrap: wrap; }
}
@media (max-width: 767px) {
    #main-content.voip-page .voip-hero__inner { min-height: 0; }
    #main-content.voip-page .voip-hero__copy { width: 100%; }
    #main-content.voip-page .voip-hero__image { width: 100%; height: auto; object-position: center; clip-path: none; }
    #main-content.voip-page .voip-hero__badges { grid-template-columns: minmax(0, 1fr); }
}
