/* HERO split: copy claro à esquerda + visual técnico à direita */
                .sol-hero {
                        position: relative; width: 100%;
                        min-height: clamp(620px, 84vh, 800px);
                        background: #020617; overflow: hidden; isolation: isolate;
                }
                .sol-hero__grid {
                        position: relative; z-index: 2;
                        display: grid;
                        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
                        min-height: clamp(620px, 84vh, 800px);
                }
                @media (max-width: 1024px) { .sol-hero__grid { grid-template-columns: 1fr; } }

                .sol-hero__copy {
                        position: relative;
                        display: flex; flex-direction: column; justify-content: center;
                        padding: clamp(140px, 14vw, 180px) clamp(28px, 6vw, 88px) clamp(64px, 8vw, 96px);
                        background:
                                radial-gradient(circle at 10% 30%, rgba(45, 91, 255, 0.12), transparent 50%),
                                linear-gradient(150deg, #020617 0%, #050b1f 100%);
                }
                .sol-hero__pills { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
                .sol-hero__pill-solid {
                        display: inline-flex; align-items: center; gap: 8px;
                        padding: 8px 16px;
                        background: linear-gradient(135deg, #142C8E 0%, #2D5BFF 100%);
                        color: #ffffff;
                        font-family: var(--font-technical);
                        font-size: 12px; font-weight: 700;
                        letter-spacing: 0.22em; text-transform: uppercase;
                        border-radius: 999px;
                        box-shadow: 0 8px 20px -10px rgba(45, 91, 255, 0.5);
                }
                .sol-hero__pill-outline {
                        display: inline-flex; align-items: center; gap: 8px;
                        padding: 8px 16px;
                        background: rgba(2, 6, 23, 0.28);
                        border: 1px solid rgba(255, 255, 255, 0.14);
                        color: rgba(255, 255, 255, 0.92);
                        font-family: var(--font-technical);
                        font-size: 11.5px; font-weight: 700;
                        letter-spacing: 0.22em; text-transform: uppercase;
                        border-radius: 999px;
                }
                .sol-hero__title {
                        max-width: 560px;
                        font-family: var(--font-display);
                        font-size: clamp(40px, 5vw, 56px);
                        line-height: 0.95; letter-spacing: -0.03em;
                        font-weight: 900;
                        color: #ffffff;
                        margin: 0 0 28px;
                        text-wrap: balance;
                }
                .sol-hero__title .sol-hero__accent {
                        display: inline;
                        background: linear-gradient(135deg, #142C8E 0%, #1F49D8 55%, #2D5BFF 100%);
                        -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
                        color: #142C8E; font-weight: 900;
                }
                .sol-hero__subtitle {
                        max-width: 520px;
                        font-family: var(--font-body);
                        font-weight: 300;
                        font-size: clamp(16px, 1.2vw, 19px);
                        line-height: 1.6;
                        color: rgba(226, 232, 240, 0.86);
                        margin: 0 0 36px;
                        padding-left: 18px;
                        border-left: 2px solid #2D5BFF;
                }
                .sol-hero__cta {
                        display: inline-flex; align-items: center; gap: 12px;
                        padding: 18px 32px;
                        background: linear-gradient(135deg, #142C8E 0%, #1F49D8 52%, #2D5BFF 100%);
                        background-size: 140% 140%; background-position: 0% 50%;
                        color: #ffffff !important;
                        font-family: var(--font-technical);
                        font-size: 16px; font-weight: 800;
                        letter-spacing: 0.22em; text-transform: uppercase;
                        border-radius: 12px;
                        text-decoration: none;
                        box-shadow: 0 14px 32px -10px rgba(31, 73, 216, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.22);
                        transition: transform 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease, background-position 0.3s ease;
                        align-self: flex-start;
                }
                .sol-hero__cta:hover {
                        transform: translateY(-2px); filter: brightness(1.1);
                        background-position: 100% 50%;
                        box-shadow: 0 18px 38px -10px rgba(31, 73, 216, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.28);
                }
                .sol-hero__cta .material-symbols-outlined { font-size: 18px !important; }

                /* Hero visual (lado direito) */
                .sol-hero__visual {
                        position: relative;
                        min-height: clamp(360px, 50vh, 520px);
                        background: #020617;
                        overflow: hidden;
                }
                .sol-hero__visual::before {
                        content: ''; position: absolute; inset: 0;
                        background:
                                radial-gradient(circle at 28% 30%, rgba(45, 91, 255, 0.18), transparent 42%),
                                linear-gradient(135deg, rgba(5, 10, 24, 0.28) 0%, rgba(2, 6, 23, 0.08) 48%, rgba(1, 3, 10, 0.52) 100%);
                        z-index: 1;
                }
                .sol-hero__img {
                        position: absolute; inset: 0;
                        width: 100%; height: 100%;
                        object-fit: cover; object-position: 50% 50%;
                        filter: saturate(1.04) contrast(1.05) brightness(0.88);
                        opacity: 1;
                        z-index: 0;
                }
                .sol-hero__visual::after {
                        content: ''; position: absolute; inset: 0; z-index: 2;
                        background:
                                linear-gradient(180deg, rgba(2, 6, 23, 0.4) 0%, rgba(2, 6, 23, 0) 30%, rgba(2, 6, 23, 0.6) 100%),
                                linear-gradient(90deg, rgba(2, 6, 23, 0.32) 0%, rgba(2, 6, 23, 0) 30%);
                        pointer-events: none;
                }


                /* ARQUITETURA — 2 cards XL side-by-side */
                .sol-arq {
                        background: #ffffff;
                        padding-block: clamp(72px, 9vw, 128px);
                }
                .sol-arq__header {
                        display: flex; flex-direction: column;
                        max-width: 760px;
                        margin-bottom: clamp(40px, 5vw, 64px);
                }
                .sol-arq__grid {
                        display: grid;
                        grid-template-columns: repeat(2, minmax(0, 1fr));
                        gap: clamp(20px, 2vw, 32px);
                }
                @media (max-width: 880px) { .sol-arq__grid { grid-template-columns: 1fr; } }

                .sol-card {
                        position: relative;
                        display: flex; flex-direction: column;
                        padding: clamp(32px, 3.6vw, 48px);
                        background:
                                radial-gradient(circle at 100% 0%, rgba(45, 91, 255, 0.05), transparent 50%),
                                linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 255, 0.92));
                        border: 1px solid rgba(148, 163, 184, 0.36);
                        border-radius: 22px;
                        overflow: hidden;
                        min-height: 380px;
                        box-shadow: 0 24px 56px -38px rgba(15, 23, 42, 0.36);
                        transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                                    border-color 0.4s ease,
                                    box-shadow 0.4s ease,
                                    background 0.4s ease;
                }
                .sol-card::before {
                        content: ''; position: absolute; inset: 0 0 auto 0; height: 3px;
                        background: linear-gradient(90deg, #142C8E 0%, #1F49D8 52%, #2D5BFF 100%);
                        opacity: 0.92;
                        z-index: 2;
                }
                .sol-card::after {
                        content: '';
                        position: absolute;
                        inset: 0;
                        pointer-events: none;
                        opacity: 0;
                        background: radial-gradient(circle at 18% 0%, rgba(45, 91, 255, 0.12), transparent 44%);
                        transition: opacity 0.5s ease;
                        z-index: 0;
                }
                .sol-card:hover {
                        transform: translateY(-6px);
                        border-color: rgba(31, 73, 216, 0.46);
                        box-shadow: 0 32px 64px -32px rgba(20, 44, 142, 0.45);
                        background:
                                radial-gradient(circle at 100% 0%, rgba(45, 91, 255, 0.05), transparent 50%),
                                linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(244, 248, 255, 0.94));
                }
                .sol-card:hover::after {
                        opacity: 1;
                }
                .sol-card__head,
                .sol-card__desc,
                .sol-card__chips {
                        position: relative;
                        z-index: 1;
                }
                .sol-card__head {
                        display: flex; align-items: center; gap: 16px;
                        padding-bottom: 20px;
                        border-bottom: 1px solid rgba(148, 163, 184, 0.32);
                        margin-bottom: 24px;
                }
                .sol-card__icon {
                        width: 64px; height: 64px;
                        flex-shrink: 0;
                        display: inline-flex; align-items: center; justify-content: center;
                        border-radius: 16px;
                        background: linear-gradient(180deg, rgba(45, 91, 255, 0.14), rgba(255, 255, 255, 0.6));
                        border: 1px solid rgba(31, 73, 216, 0.22);
                        color: #1F49D8;
                        box-shadow: 0 14px 28px -20px rgba(20, 44, 142, 0.42);
                        transition: transform 0.3s ease, filter 0.3s ease;
                }
                .sol-card:hover .sol-card__icon {
                        transform: translateY(-2px); filter: brightness(1.1);
                }
                .sol-card__icon .material-symbols-outlined { font-size: 32px !important; }
                .sol-card__head-text {
                        display: flex; flex-direction: column; gap: 6px;
                }
                .sol-card__label {
                        font-family: var(--font-technical);
                        font-size: 11px; font-weight: 700;
                        letter-spacing: 0.22em; text-transform: uppercase;
                        color: #94a3b8;
                }
                .sol-card__title {
                        margin: 0;
                        font-family: var(--font-display);
                        font-size: clamp(24px, 2vw, 32px);
                        font-weight: 800;
                        line-height: 1.1;
                        color: #0F172A;
                        letter-spacing: -0.01em;
                        transition: color 0.3s ease;
                }
                .sol-card:hover .sol-card__title { color: #142C8E; }
                .sol-card__desc {
                        flex: 1;
                        margin: 0 0 24px;
                        font-family: var(--font-body);
                        font-weight: 300;
                        font-size: 16px;
                        line-height: 1.65;
                        color: #475569;
                }
                .sol-card__chips {
                        display: flex; flex-wrap: wrap; gap: 8px;
                        margin-top: auto;
                }
                .sol-card__chip {
                        display: inline-flex; align-items: center; gap: 8px;
                        padding: 7px 14px 7px 10px;
                        border: 1px solid rgba(46, 61, 107, 0.18);
                        border-radius: 999px;
                        background: rgba(46, 61, 107, 0.04);
                        font-family: var(--font-technical);
                        font-size: 11px; font-weight: 700;
                        letter-spacing: 0.16em; text-transform: uppercase;
                        color: #142C8E;
                }
                .sol-card__chip-icon {
                        display: inline-flex; align-items: center; justify-content: center;
                        width: 20px; height: 20px;
                        border-radius: 999px;
                        background: linear-gradient(135deg, #142C8E, #2D5BFF);
                        color: #ffffff;
                        flex-shrink: 0;
                }
                .sol-card__chip-icon .material-symbols-outlined { font-size: 12px !important; }

                /* APROFUNDAMENTO TÉCNICO — CTA section apontando p/ solucoes-technical-flow.html */
                .sol-tech-cta {
                        background: #f8fafc;
                        padding-block: clamp(64px, 8vw, 112px);
                }
                .sol-tech-card {
                        position: relative;
                        display: grid;
                        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
                        gap: 0;
                        background: linear-gradient(135deg, #050a18 0%, #020617 56%, #142C8E 100%);
                        border-radius: 24px;
                        overflow: hidden;
                        box-shadow: 0 32px 80px -40px rgba(15, 23, 42, 0.5);
                        isolation: isolate;
                }
                @media (max-width: 880px) { .sol-tech-card { grid-template-columns: 1fr; } }
                .sol-tech-card::before {
                        content: '';
                        position: absolute; inset: 0;
                        background:
                                radial-gradient(circle at 12% 20%, rgba(45, 91, 255, 0.28), transparent 36%),
                                radial-gradient(circle at 85% 80%, rgba(45, 91, 255, 0.18), transparent 32%);
                        z-index: 0;
                        pointer-events: none;
                }
                .sol-tech-card__copy {
                        position: relative; z-index: 1;
                        padding: clamp(36px, 4.4vw, 64px);
                        display: flex; flex-direction: column; gap: 18px;
                        color: #ffffff;
                }
                .sol-tech-card__chip {
                        display: inline-flex; align-items: center; gap: 10px;
                        padding: 8px 14px;
                        background: rgba(45, 91, 255, 0.18);
                        border: 1px solid rgba(136, 166, 255, 0.32);
                        border-radius: 999px;
                        font-family: var(--font-technical);
                        font-size: 11px; font-weight: 700;
                        letter-spacing: 0.22em; text-transform: uppercase;
                        color: #b4c5ff;
                        align-self: flex-start;
                }
                .sol-tech-card__chip .material-symbols-outlined { font-size: 14px !important; }
                .sol-tech-card__title {
                        margin: 0;
                        font-family: var(--font-display);
                        font-size: clamp(28px, 3vw, 44px);
                        font-weight: 800;
                        line-height: 1.05;
                        color: #ffffff;
                        letter-spacing: -0.015em;
                        text-wrap: balance;
                }
                .sol-tech-card__title .sol-tech-card__accent {
                        color: #88a6ff;
                        background: linear-gradient(135deg, #88a6ff 0%, #b4c5ff 100%);
                        -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
                }
                .sol-tech-card__desc {
                        margin: 0;
                        font-family: var(--font-body);
                        font-weight: 300;
                        font-size: 16px; line-height: 1.65;
                        color: rgba(226, 232, 240, 0.86);
                        max-width: 520px;
                }
                .sol-tech-card__action {
                        display: inline-flex; align-items: center; gap: 12px;
                        padding: 14px 24px;
                        background: #ffffff;
                        color: #142C8E !important;
                        font-family: var(--font-technical);
                        font-size: 16px; font-weight: 800;
                        letter-spacing: 0.22em; text-transform: uppercase;
                        border-radius: 999px;
                        text-decoration: none;
                        align-self: flex-start;
                        box-shadow: 0 14px 28px -12px rgba(0, 0, 0, 0.5);
                        transition: transform 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
                }
                .sol-tech-card__action:hover {
                        transform: translateY(-2px);
                        box-shadow: 0 18px 34px -12px rgba(0, 0, 0, 0.6);
                        color: #0F172A !important;
                }
                .sol-tech-card__action .material-symbols-outlined { font-size: 18px !important; }

                /* Lado direito — visual */
                .sol-tech-card__visual {
                        position: relative; z-index: 1;
                        min-height: 280px;
                        background:
                                radial-gradient(circle at 50% 50%, rgba(45, 91, 255, 0.32), transparent 60%),
                                linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0));
                        display: flex; align-items: center; justify-content: center;
                        border-left: 1px solid rgba(136, 166, 255, 0.12);
                        overflow: hidden;
                }
                @media (max-width: 880px) {
                        .sol-tech-card__visual { border-left: 0; border-top: 1px solid rgba(136, 166, 255, 0.12); min-height: 220px; }
                }
                .sol-tech-card__diagram {
                        position: relative;
                        width: 78%; max-width: 320px;
                        aspect-ratio: 1;
                        display: flex; align-items: center; justify-content: center;
                }
                .sol-tech-card__diagram::before,
                .sol-tech-card__diagram::after {
                        content: ''; position: absolute;
                        border-radius: 50%;
                        border: 1px dashed rgba(180, 197, 255, 0.32);
                }
                .sol-tech-card__diagram::before {
                        inset: 0;
                        animation: sol-spin 26s linear infinite;
                }
                .sol-tech-card__diagram::after {
                        inset: 18%;
                        border-style: solid;
                        border-color: rgba(136, 166, 255, 0.22);
                }
                @keyframes sol-spin { to { transform: rotate(360deg); } }
                @media (prefers-reduced-motion: reduce) {
                        .sol-tech-card__diagram::before { animation: none; }
                }
                .sol-tech-card__diagram-core {
                        position: relative; z-index: 2;
                        width: 100px; height: 100px;
                        display: flex; align-items: center; justify-content: center;
                        border-radius: 24px;
                        background: linear-gradient(180deg, rgba(45, 91, 255, 0.25), rgba(2, 6, 23, 0.6));
                        border: 1px solid rgba(136, 166, 255, 0.42);
                        box-shadow: 0 0 36px rgba(45, 91, 255, 0.42);
                }
                .sol-tech-card__diagram-core .material-symbols-outlined {
                        font-size: 44px !important;
                        color: #b4c5ff;
                        text-shadow: 0 0 18px rgba(45, 91, 255, 0.6);
                }

                /* CTA final */
                .sol-final-cta {
                        background: #2E3D6B;
                        position: relative;
                        overflow: hidden;
                }
                .sol-final-cta::before {
                        content: ''; position: absolute; inset: 0;
                        background:
                                radial-gradient(circle at 14% 24%, rgba(45, 91, 255, 0.32), transparent 38%),
                                radial-gradient(circle at 86% 78%, rgba(45, 91, 255, 0.18), transparent 32%),
                                linear-gradient(135deg, #050a18 0%, #020617 60%, #2E3D6B 100%);
                        z-index: 1; opacity: 0.92;
                }
                .sol-final-cta__content {
                        position: relative; z-index: 2;
                        min-height: clamp(180px, 22vh, 260px);
                        display: flex; align-items: center;
                }

                @media (max-width: 1024px) {
                        .sol-hero__copy { padding: 120px 22px 64px; }
                        .sol-hero__visual { min-height: 360px; }
                }
