/* =========================================================
   PARCERIA ASSISTÊNCIAPERTO + SNHC
   Classes isoladas com prefixo ap-snhc-
========================================================= */

.ap-snhc-section,
.ap-snhc-section * {
    box-sizing: border-box;
}

.ap-snhc-section {
    --ap-snhc-bg: #061522;
    --ap-snhc-bg-soft: #0a2235;
    --ap-snhc-card: rgba(10, 35, 54, 0.76);
    --ap-snhc-border: rgba(77, 181, 255, 0.22);
    --ap-snhc-blue: #138ef5;
    --ap-snhc-cyan: #25c7ff;
    --ap-snhc-green: #2ed49b;
    --ap-snhc-white: #f7fbff;
    --ap-snhc-muted: #abc0d1;

    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 72px 20px;
    color: var(--ap-snhc-white);
    background:
        radial-gradient(circle at 18% 20%, rgba(19, 142, 245, 0.18), transparent 34%),
        radial-gradient(circle at 92% 80%, rgba(37, 199, 255, 0.1), transparent 28%),
        linear-gradient(135deg, #04101b 0%, var(--ap-snhc-bg) 48%, #071d2d 100%);
}

.ap-snhc-section::before {
    position: absolute;
    inset: 0;
    z-index: -2;
    content: "";
    opacity: 0.2;
    background-image:
        linear-gradient(rgba(72, 169, 235, 0.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(72, 169, 235, 0.12) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 78%, transparent);
}

.ap-snhc-glow {
    position: absolute;
    z-index: -1;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(90px);
}

.ap-snhc-glow--one {
    top: -180px;
    right: -100px;
    background: rgba(19, 142, 245, 0.2);
}

.ap-snhc-glow--two {
    bottom: -220px;
    left: -80px;
    background: rgba(37, 199, 255, 0.14);
}

.ap-snhc-container {
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    gap: 46px;
    align-items: center;
}

.ap-snhc-visual {
    width: min(520px, 100%);
    margin: 0 auto;
}

.ap-snhc-logo-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 24px;
    overflow: hidden;
    border: 1px solid var(--ap-snhc-border);
    border-radius: 28px;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.015)),
        var(--ap-snhc-card);
    box-shadow:
        0 28px 65px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(16px);
}

.ap-snhc-logo-card::after {
    position: absolute;
    inset: auto 10% 0;
    height: 1px;
    content: "";
    background: linear-gradient(90deg, transparent, var(--ap-snhc-cyan), transparent);
    box-shadow: 0 0 24px var(--ap-snhc-cyan);
}

.ap-snhc-logo-card__eyebrow {
    display: inline-flex;
    margin-bottom: 18px;
    padding: 7px 13px;
    border: 1px solid rgba(46, 212, 155, 0.3);
    border-radius: 999px;
    color: #8cf1cf;
    background: rgba(46, 212, 155, 0.1);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ap-snhc-logo {
    display: block;
    width: min(240px, 70%);
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 16px 24px rgba(0, 0, 0, 0.32));
}

.ap-snhc-connection {
    width: min(290px, 92%);
    margin: 18px 0;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    align-items: center;
    color: var(--ap-snhc-cyan);
}

.ap-snhc-connection span {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(37, 199, 255, 0.8));
}

.ap-snhc-connection span:last-child {
    background: linear-gradient(90deg, rgba(37, 199, 255, 0.8), transparent);
}

.ap-snhc-connection i {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(37, 199, 255, 0.34);
    border-radius: 50%;
    background: rgba(37, 199, 255, 0.09);
    box-shadow: 0 0 24px rgba(37, 199, 255, 0.16);
}

.ap-snhc-partner-name {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: clamp(1.3rem, 5vw, 1.8rem);
    font-weight: 850;
    letter-spacing: -0.04em;
}

.ap-snhc-partner-name i,
.ap-snhc-partner-name span span {
    color: var(--ap-snhc-blue);
}

.ap-snhc-flow {
    position: relative;
    z-index: 2;
    width: calc(100% - 28px);
    margin: -18px auto 0;
    padding: 18px 16px;
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: 8px;
    align-items: center;
    border: 1px solid rgba(126, 194, 242, 0.2);
    border-radius: 20px;
    background: rgba(4, 17, 28, 0.94);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.3);
}

.ap-snhc-flow__item {
    display: flex;
    flex-direction: column;
    gap: 7px;
    align-items: center;
    color: #d8ebf8;
    font-size: 0.74rem;
    font-weight: 750;
    text-align: center;
}

.ap-snhc-flow__item i {
    color: var(--ap-snhc-cyan);
    font-size: 1.05rem;
}

.ap-snhc-flow__arrow {
    color: rgba(171, 192, 209, 0.48);
    font-size: 0.68rem;
}

.ap-snhc-content {
    max-width: 650px;
}

.ap-snhc-kicker {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    margin-bottom: 18px;
    color: #77dfff;
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.ap-snhc-content h2 {
    margin: 0;
    color: var(--ap-snhc-white);
    font-size: clamp(2.15rem, 7vw, 4.2rem);
    font-weight: 900;
    line-height: 0.98;
    letter-spacing: -0.055em;
}

.ap-snhc-content h2 span {
    color: var(--ap-snhc-cyan);
}

.ap-snhc-lead {
    margin: 24px 0 0;
    color: #e8f5ff;
    font-size: clamp(1rem, 2.5vw, 1.18rem);
    line-height: 1.65;
}

.ap-snhc-description {
    margin: 14px 0 0;
    color: var(--ap-snhc-muted);
    font-size: 0.96rem;
    line-height: 1.72;
}

.ap-snhc-benefits {
    margin-top: 28px;
    display: grid;
    gap: 12px;
}

.ap-snhc-benefit {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: center;
    padding: 15px;
    border: 1px solid rgba(126, 194, 242, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.035);
    transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.ap-snhc-benefit:hover {
    transform: translateY(-3px);
    border-color: rgba(37, 199, 255, 0.34);
    background: rgba(19, 142, 245, 0.08);
}

.ap-snhc-benefit__icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid rgba(37, 199, 255, 0.24);
    border-radius: 14px;
    color: var(--ap-snhc-cyan);
    background: rgba(37, 199, 255, 0.1);
}

.ap-snhc-benefit h3 {
    margin: 0 0 3px;
    color: var(--ap-snhc-white);
    font-size: 0.98rem;
    font-weight: 800;
}

.ap-snhc-benefit p {
    margin: 0;
    color: var(--ap-snhc-muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.ap-snhc-actions {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.ap-snhc-button {
    min-height: 52px;
    padding: 13px 20px;
    display: inline-flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 13px;
    font-size: 0.92rem;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.ap-snhc-button:hover {
    transform: translateY(-2px);
}

.ap-snhc-button--primary {
    color: #fff;
    background: linear-gradient(135deg, #087fea, #13a8ff);
    box-shadow: 0 14px 30px rgba(19, 142, 245, 0.24);
}

.ap-snhc-button--primary:hover {
    box-shadow: 0 18px 38px rgba(19, 142, 245, 0.34);
}

.ap-snhc-button--secondary {
    color: #dff5ff;
    border-color: rgba(119, 223, 255, 0.28);
    background: rgba(255, 255, 255, 0.04);
}

.ap-snhc-button--secondary:hover {
    border-color: rgba(119, 223, 255, 0.52);
    background: rgba(255, 255, 255, 0.075);
}

.ap-snhc-status {
    margin: 18px 0 0;
    display: flex;
    gap: 8px;
    align-items: center;
    color: #7893a8;
    font-size: 0.78rem;
}

.ap-snhc-status i {
    color: var(--ap-snhc-green);
}

@media (min-width: 660px) {
    .ap-snhc-section {
        padding: 88px 28px;
    }

    .ap-snhc-benefits {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ap-snhc-benefit {
        grid-template-columns: 1fr;
        align-content: start;
    }

    .ap-snhc-actions {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

@media (min-width: 980px) {
    .ap-snhc-section {
        padding: 108px 32px;
    }

    .ap-snhc-container {
        grid-template-columns: minmax(360px, 0.88fr) minmax(460px, 1.12fr);
        gap: clamp(56px, 7vw, 96px);
    }

    .ap-snhc-visual {
        margin: 0;
    }

    .ap-snhc-benefit {
        min-height: 170px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ap-snhc-benefit,
    .ap-snhc-button {
        transition: none;
    }
}
