/* =====================================================
   ARGUS SENTINEL — SOLUTIONS PAGE
   Navbar, footer, .container and shared tokens come from
   general.css. Only solutions-page rules live here.
   ===================================================== */

/* The shared palette lives in general.css under .pim-page.
   Only the tokens unique to this page are declared here. */
main {
    --shadow: 0 20px 55px rgba(26, 38, 93, .09);
}
.solutions-hero h1 {
    max-width: 640px;
}
.mini-flow article {
    min-width: 0;
}
@media (max-width: 1200px) {
    .solutions-hero .sub-hero-grid,.solution-section .split-layout,.team-solution .team-layout,.solution-case .case-panel {
        grid-template-columns: 1fr;
    }
    .solutions-hero .sub-hero-grid,.solution-section .split-layout {
        gap: 54px;
    }
    .solution-map {
        width: 100%;
    }
    .solution-phone {
        margin-inline: auto;
    }
}
@media (max-width: 820px) {
    .solutions-hero,.solution-section,.solution-case,.benefit-matrix {
        padding: 72px 0;
    }
    .solution-map {
        min-height: 0;
        padding: 148px 18px 22px;
        grid-template-columns: repeat(2, 1fr);
    }
    .solution-map article,.solution-map article.core {
        min-height: 220px;
        transform: none;
    }
    .solution-map article.core {
        grid-column: 1 / -1;
    }
    .audience-strip {
        grid-template-columns: 1fr;
    }
    .audience-strip a + a {
        border-left: 0;
        border-top: 1px solid var(--line);
    }
    .team-solution .team-layout,.solution-case .case-panel {
        padding: 34px;
    }
    .mini-flow {
        grid-template-columns: repeat(2, 1fr);
        gap: 22px;
    }
    .mini-flow > i {
        display: none;
    }
    .trust-console {
        grid-template-columns: 1fr;
    }
    .alert-metrics {
        grid-template-columns: repeat(2, 1fr);
    }
    .alert-metrics .threat-mark {
        grid-column: 1 / -1;
    }
}
@media (max-width: 560px) {
    .solutions-hero .sub-hero-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .solution-map {
        grid-template-columns: 1fr;
    }
    .solution-map article.core {
        grid-column: auto;
    }
    .team-solution .team-layout,.solution-case .case-panel,.alert-card {
        padding: 24px;
    }
    .mini-flow,.console-grid,.alert-metrics {
        grid-template-columns: 1fr;
    }
    .matrix {
        grid-template-columns: 1fr 1fr;
    }
}
.btn {
    min-height: 46px;
    padding: 11px 19px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 700;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(7, 21, 37, 0.14);
}
.btn-dark {
    color: var(--text2);
    /* same gradient as .btn-primary (Explore a platform) on the home page */
    background: linear-gradient(135deg, #12BFEA, #1097b9);
    box-shadow: 0 12px 35px rgba(85, 233, 255, 0.18);
}
.actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.solution-map {
    position: relative;
    align-items: flex-end;
}
.solution-map::before {
    content: "";
    position: absolute;
    top: 116px;
    right: 10%;
    left: 10%;
    border-top: 2px dotted #9cc6fc;
}
.solution-map::after {
    content: "";
    width: 2px;
    height: 55px;
    position: absolute;
    top: 92px;
    left: 50%;
    background: repeating-linear-gradient( to bottom, var(--green) 0 3px, transparent 3px 7px );
}
.suspect {
    width: 155px;
    min-height: 95px;
    padding: 13px;
    position: absolute;
    top: 7px;
    left: 50%;
    z-index: 2;
    display: flex;
    justify-content: center;
    text-align: center;
    align-items: center;
    border-radius: 18px;
    color: #ffffff;
    background: var(--navy);
    box-shadow: var(--shadow);
    transform: translateX(-50%);
}
.suspect-app-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
.suspect small {
    position: absolute;
    top: -27px;
    left: 0;
    color: #6b7c8f;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 7px;
    font-weight: 800;
}
.suspect b {
    width: 39px;
    height: 45px;
    display: grid;
    place-items: center;
    border: 2px solid var(--red);
    border-radius: 6px;
    color: var(--red);
    font-size: 19px;
}
.suspect span {
    color: #bac7d1;
    font-size: 8px;
    line-height: 1.5;
}
.solution-map h3 {
    font-family: "Manrope", sans-serif;
    text-transform: uppercase;
}
.solution-map p {
    color: #617286;
}

/******************************************/
.audience-strip {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid var(--border);
}
.audience-strip a {
    display: grid;
    grid-template-columns: 45px 1fr auto;
    align-items: center;
    transition: background 0.2s ease, transform 0.2s ease;
}
.audience-strip a:hover {
    background: #f7fbfd;
}
.audience-strip a + a {
    border-left: 1px solid var(--border);
}
.audience-strip > a > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--blue);
    background: #eff8ff;
    font-size: 22px;
}
.audience-strip b,.audience-strip small {
    display: block;
}
.audience-strip b {
    font-family: "Manrope", sans-serif;
}
.audience-strip small {
    color: var(--muted);
}
.audience-strip i {
    font-style: normal;
    font-size: 18px;
}
.split-layout {
    display: grid;
    grid-template-columns: 0.85fr 1.25fr;
    align-items: center;
    gap: 70px;
}
.split-layout h2,.team-solution h2,.benefit-matrix h2 {
    margin: 0;
    font-family: "Manrope", sans-serif;
    font-size: clamp(35px, 3.5vw, 49px);
    letter-spacing: -0.04em;
}
.split-layout > div:first-child > p:not(.kicker),.team-layout > div:first-child > p:not(.kicker) {
    max-width: 430px;
    color: var(--muted);
}
.solution-benefits {
    display: grid;
}
.solution-benefits article {
    display: flex;
}
.solution-benefits article > span {
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--blue);
    background: #e8f6ff;
    font-size: 16px;
}
.solution-benefits b,.solution-benefits small {
    display: block;
}
.solution-benefits b {
    margin-bottom: 3px;
    font-family: "Manrope", sans-serif;
}
.solution-benefits small {
    max-width: 370px;
    color: var(--muted);
}
.mobile-solution {
    overflow: hidden;
    background: linear-gradient(100deg, #f9fcfe, #edf7ff);
}
.device {
    width: 310px;
    padding: 39px 21px 22px;
    position: relative;
    color: #ffffff;
    background: #071829;
    box-shadow: 0 20px 70px rgba(0, 0, 0, 0.45);
}
/* same bezel as .phoneShell on the home page: gradient frame with an inset
   highlight ring and a glass glare, instead of a flat 10px border */
.solution-phone {
    height: 555px;
    margin: auto;
    border: 0;
    background: linear-gradient(251deg, #000000 0%, #090f3a 40%, #000000 100%);
    box-shadow:
        30px 50px 60px rgb(0 0 0 / 66%),
        inset 0 0 0 1px rgb(255 255 255 / 6%),
        inset -6px 0 12px rgba(0, 0, 0, 0.6);
    transform: rotate(6deg) translateY(38px);
}
.solution-phone::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(
        115deg,
        rgba(255, 255, 255, 0.08) 0%,
        rgba(255, 255, 255, 0) 25%,
        rgba(255, 255, 255, 0) 75%,
        rgba(255, 255, 255, 0.04) 100%
    );
}
.speaker {
    width: 65px;
    height: 5px;
    position: absolute;
    top: 15px;
    left: 50%;
    border-radius: 5px;
    background: #36546d;
    transform: translateX(-50%);
}
/* ---- screen content: blocked application ----
   Absolutely positioned against the phone (which is already position:relative)
   so the case rules -- size, radius, gradient, shadow, transform -- are left
   completely untouched. */
.blocked-screen {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 42px 26px 28px;
    text-align: center;
}
.blocked-shield {
    display: block;
    width: 62px;
    height: 62px;
    margin-bottom: 26px;
    color: #ffffff;
}
.solution-phone .blocked-screen h3 {
    margin: 0 0 10px;
    color: #ef3b3b;
    font-family: "Manrope", sans-serif;
    font-size: 19px;
    font-weight: 800;
}
.solution-phone .blocked-screen .blocked-app {
    display: block;
    margin-bottom: 14px;
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
}
.solution-phone .blocked-screen p {
    max-width: 250px;
    margin: 0 0 30px;
    color: #9a9ca8;
    font-size: 11.5px;
    line-height: 1.55;
}
.solution-phone .blocked-screen button {
    width: 100%;
    min-height: 42px;
    padding: 11px 12px;
    border: 0;
    border-radius: 4px;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
}
.blocked-primary {
    margin-bottom: 12px;
    color: #ffffff;
    background: #1b3fa8;
}
.blocked-danger {
    color: #e5484d;
    background: #4a1315;
}
.team-solution {
    padding: 85px 0;
    color: #ffffff;
    background: radial-gradient( circle at 80% 40%, rgba(22, 139, 255, 0.18), transparent 40% ), linear-gradient(110deg, #06182b, #082e50);
}
.team-layout {
    display: grid;
    grid-template-columns: 0.8fr 1.35fr;
    align-items: center;
    gap: 50px;
}
.mini-flow {
    display: flex;
    align-items: center;
}
.mini-flow article {
    width: 82px;
    text-align: center;
}
.mini-flow article > span {
    width: 48px;
    height: 48px;
    margin: auto;
    display: grid;
    place-items: center;
    border: 1px solid #146995;
    border-radius: 8px;
    color: #4adea1;
    background: rgba(10, 45, 70, 0.7);
    font-size: 20px;
}
.mini-flow b,.mini-flow small {
    display: block;
}
.mini-flow b {
    margin-top: 7px;
}
.mini-flow > i {
    color: #8ea1b2;
    font-style: normal;
}
.analyst-console {
    border: 1px solid #1b5577;
    background: #07192c;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.analyst-console header,.analyst-console footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.analyst-console header {
    padding-bottom: 10px;
    border-bottom: 1px solid #18354d;
    font-size: 8px;
}
.analyst-console header small {
    color: #8fa4b8;
}
.analyst-console h3 {
    font-family: "Manrope", sans-serif;
}
.incident-line {
    padding: 12px;
    display: grid;
    grid-template-columns: 34px 1fr auto;
    align-items: center;
    border: 1px solid #1c3d58;
    border-radius: 7px;
    background: #0b2137;
}
.incident-line > span {
    color: var(--red);
}
.incident-line > b {
    font-size: 9px;
}
.incident-line > strong {
    font-size: 21px;
}
.incident-line small {
    font-size: 7px;
}
.analyst-console nav {
    padding: 10px 0;
    border-bottom: 1px solid #16354e;
    color: #8fa5b7;
    font-size: 7px;
}
.console-grid {
    margin: 10px 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.console-grid article {
    border: 1px solid #193b55;
    border-radius: 6px;
}
.console-grid b,.console-grid span {
    display: block;
}
.console-grid b {
    margin-bottom: 5px;
}
.console-grid span {
    margin: 3px 0;
    color: #9eb0bf;
}
.console-grid span::first-letter {
    color: var(--red);
}
.analyst-console footer span {
    color: #8fa5b7;
    font-size: 7px;
}
.analyst-console footer button {
    border: 1px solid #28516d;
    border-radius: 4px;
    color: #ffffff;
    background: #0b2238;
}
.analyst-console footer button:last-child {
    color: #071525;
    background: var(--green);
}
.enterprise-solution {
    background: #ffffff;
}
.trust-console {
    padding: 18px;
    display: grid;
    grid-template-columns: 1fr 180px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: #ffffff;
    box-shadow: var(--shadow);
}
.trust-main {
    padding-right: 18px;
}
.trust-console h3 {
    font-family: "Manrope", sans-serif;
}
.trust-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}
.trust-tabs span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 13px 7px;
    border: 1px solid #e3eaee;
    border-radius: 7px;
    text-align: center;
}
.trust-console table {
    width: 100%;
    margin-top: 14px;
    border-collapse: collapse;
}
.trust-console th,.trust-console td {
    border-bottom: 1px solid #edf1f3;
    text-align: left;
}
.trust-console th {
    color: #8291a0;
}
.trust-console .safe {
    color: var(--green);
}
.trust-console .review {
    color: var(--blue);
}
.trust-console aside {
    padding-left: 17px;
    border-left: 1px solid var(--border);
}
.trust-console aside ol {
    padding-left: 22px;
    color: var(--muted);
    font-size: 8px;
    line-height: 2;
}
.trust-console aside p {
    color: var(--muted);
    font-size: 7px;
    line-height: 2.2;
}
.trust-console aside p b {
    float: right;
    /* general.css sets b { font-size: 20px } — keep these inline with the label */
    font-size: inherit;
    color: var(--green);
}
.solution-case {
    background: #f7f9fa;
}
.solution-case .case-panel {
    display: grid;
    border: 1px solid var(--border);
    background: #ffffff;
}
.solution-case .case-panel > ol {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 18px;
    list-style: none;
}
.solution-case h2 {
    margin: 0 0 15px;
    font-family: "Manrope", sans-serif;
}
.solution-case li {
    display: flex;
}
.solution-case li > span {
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #15975c;
    background: #e3f8ee;
    font-weight: 800;
}
.solution-case li b {
    font-family: "Manrope", sans-serif;
}
.solution-case li p {
    margin: 3px 0 0;
    color: var(--muted);
}
.alert-card {
    border: 1px solid #d9e3e9;
    background: #ffffff;
    box-shadow: 0 15px 40px rgba(7, 21, 37, 0.05);
}
.alert-top {
    display: flex;
    justify-content: space-between;
}
.alert-top span {
    color: var(--red);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 800;
}
.alert-card h3 {
    font-family: "Manrope", sans-serif;
}
.alert-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr 100px;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.alert-metrics > div {
    border-right: 1px solid var(--border);
}
.alert-metrics strong,.alert-metrics small {
    display: block;
}
.alert-metrics strong {
    font-family: "Manrope", sans-serif;
    line-height: 1;
}
.alert-metrics small {
    margin-top: 6px;
    color: var(--muted);
}
.alert-metrics .threat-mark {
    width: 60px;
    height: 60px;
    margin: auto;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #ffffff;
    background: radial-gradient( circle, var(--red) 0 31%, rgba(255, 91, 97, 0.18) 33% 55%, rgba(255, 91, 97, 0.06) 57% );
    font-weight: 800;
}
.alert-tags {
    display: flex;
    flex-wrap: wrap;
}
.alert-tags span {
    border: 1px solid var(--border);
    border-radius: 5px;
    color: #718195;
    background: #fafcfd;
}
.benefit-matrix {
    background: #ffffff;
}
.benefit-matrix h2 {
    font-size: 34px;
}
.matrix {
    margin-top: 25px;
    display: grid;
    grid-template-columns: 1.25fr repeat(3, 1fr);
    border: 1px solid var(--border);
}
.matrix > * {
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.matrix > :nth-child(4n) {
    border-right: 0;
}
.matrix b {
    text-align: center;
}
.matrix b small,.matrix strong small {
    display: block;
    color: var(--muted);
    font-weight: 400;
}
.matrix span {
    color: #5f7183;
}
.matrix span::first-letter {
    color: var(--green);
}
@media (max-width: 1050px) {
    .sub-hero-grid,.split-layout,.team-layout {
        grid-template-columns: 1fr;
    }
    .solution-map {
        margin-top: 25px;
    }
    .solution-phone {
        margin-top: 25px;
        transform: rotate(3deg);
    }
}
@media (max-width: 780px) {
    .solution-map {
        grid-template-columns: repeat(2, 1fr);
        padding-top: 140px;
    }
    .audience-strip {
        grid-template-columns: 1fr;
    }
    .audience-strip a + a {
        border-top: 1px solid var(--border);
        border-left: 0;
    }
    .mini-flow {
        flex-wrap: wrap;
        gap: 12px;
    }
    .mini-flow > i {
        display: none;
    }
    .console-grid {
        grid-template-columns: 1fr;
    }
    .trust-console {
        grid-template-columns: 1fr;
    }
    .trust-console aside {
        margin-top: 15px;
        padding: 15px 0 0;
        border-top: 1px solid var(--border);
        border-left: 0;
    }
    .solution-case .case-panel {
        grid-template-columns: 1fr;
    }
    .matrix {
        grid-template-columns: repeat(2, 1fr);
    }
    .matrix > :nth-child(4n) {
        border-right: 1px solid var(--border);
    }
    .matrix > :nth-child(2n) {
        border-right: 0;
    }
}
@media (max-width: 520px) {
    .sub-hero {
        padding-top: 45px;
    }
    .sub-hero h1 {
        font-size: 42px;
    }
    .sub-hero .actions {
        flex-direction: column;
        align-items: flex-start;
    }
    .sub-hero .actions .btn {
        width: fit-content;
    }
    .solution-map {
        grid-template-columns: 1fr;
    }
    .solution-map::before,.solution-map::after {
        display: none;
    }
    .solution-map article {
        min-height: 155px;
    }
    .solution-map article.core {
        min-height: 185px;
    }
    .audience-strip a {
        padding: 15px;
    }
    .solution-section,.team-solution {
        padding: 70px 0;
    }
    .split-layout h2,.team-solution h2 {
        font-size: 37px;
    }
    .solution-phone {
        width: min(310px, 94%);
        transform: none;
    }
    .team-layout {
        gap: 35px;
    }
    .mini-flow article {
        width: calc(50% - 8px);
    }
    .analyst-console footer {
        flex-wrap: wrap;
        gap: 8px;
    }
    .trust-tabs {
        grid-template-columns: repeat(2, 1fr);
    }
    .trust-console {
        padding: 12px;
        overflow-x: auto;
    }
    .trust-main {
        min-width: 500px;
    }
    .alert-metrics {
        grid-template-columns: repeat(2, 1fr);
    }
    .alert-metrics .threat-mark {
        display: none;
    }
    .matrix {
        grid-template-columns: 1fr;
    }
    .matrix > * {
        border-right: 0 !important;
    }
    .matrix > div:first-child {
        display: none;
    }
}
.sub-hero {
    background: #fff;
}
.sub-hero h1 {
    max-width: 660px;
    font-size: clamp(48px,5vw,68px);
    line-height: 1.02;
    letter-spacing: -.045em;
}
.split-layout > div:first-child > p:not(.kicker),.team-layout > div:first-child > p:not(.kicker) {
    font-size: 15px;
    line-height: 1.7;
}
.split-layout h2,.team-solution h2,.benefit-matrix h2 {
    line-height: 1.08;
}
.audience-strip,.case-panel,.alert-card,.solution-map article,.analyst-console,.trust-console {
    border-radius: 8px;
}
.solution-map p,.audience-strip small,.solution-benefits small,.mini-flow small {
    font-size: 10px;
    line-height: 1.5;
}
.trust-console table,.console-grid span {
    font-size: 10px;
}
.team-solution {
    background-color: #071a2e;
}
.sub-hero,.solution-section,.benefit-matrix {
    background: #f7f8f4;
    border-color: rgba(23, 35, 111, .08);
}
.sub-hero {
    padding-top: 92px;
    padding-bottom: 78px;
}
.solution-section,.benefit-matrix {
    padding-top: 105px;
    padding-bottom: 105px;
}
.sub-hero h1,.split-layout h2,.team-solution h2,.benefit-matrix h2 {
    color: #17236f;
    letter-spacing: -.035em;
}
.hero-lead,.split-layout > div:first-child > p:not(.kicker),.team-layout > div:first-child > p:not(.kicker) {
    color: #667085;
    font-size: 16px;
    line-height: 1.75;
}
.audience-strip {
    border-color: #828793;
    background: rgba(255, 255, 255, .76);
}
.solution-map article,.alert-card,.matrix {
    border-color: #828793;
    border-radius: 22px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 14px 36px rgba(26, 38, 93, .045);
}
.team-solution {
    padding: 1px 0;
    color: #fff;
    background: #f7f8f4;
}
.team-layout {
    margin-top: 88px;
    margin-bottom: 88px;
    padding: 64px 72px;
    border-radius: 30px;
    background: linear-gradient(125deg, #202b80, #17236f 72%);
    box-shadow: 0 28px 70px rgba(23, 35, 111, .18);
}
.team-solution h2 {
    color: #fff;
}
.team-layout > div:first-child > p:not(.kicker) {
    color: rgba(255,255,255,.78);
}
.mini-flow small {
    color: rgba(255,255,255,.72);
}
.mini-flow b {
    color: #fff;
}
.team-solution {
    min-height: 0;
}
.team-layout {
    min-height: 560px;
}
@media (max-width: 1100px) {
    .team-layout {
        padding: 52px;
    }
}
@media (max-width: 780px) {
    .sub-hero {
        padding-top: 58px;
    }
    .solution-section,.benefit-matrix {
        padding-top: 74px;
        padding-bottom: 74px;
    }
    .team-layout {
        margin-top: 54px;
        margin-bottom: 54px;
        padding: 38px 28px;
        border-radius: 22px;
    }
}
.solutions-hero {
    padding: 3rem 0 5rem;
}
.solutions-hero .sub-hero-grid {
    grid-template-columns: minmax(360px,.78fr) minmax(680px,1.22fr);
    gap: 64px;
    align-items: center;
}
.solutions-hero .hero-lead {
    max-width: 580px;
    font-size: 18px;
    line-height: 1.75;
}
.solution-map {
    padding: 172px 22px 28px;
    gap: 16px;
    border-radius: 28px;
    box-shadow: 0 24px 60px rgba(19,35,76,.14);
}
.solution-app-header{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
.solution-map .suspect img {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
}
.solution-map .suspect small {
    font-size: 10.5px;
    line-height: 1.35;
}
.solution-map .suspect span {
    font-size: 11.5px;
    line-height: 1.5;
}
.solution-map .solution-card-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 16px;
    object-fit: contain;
}
.solution-map h3 {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.35;
    text-align: center;
}
.solution-map p {
    margin: 0;
    font-size: 11.5px;
    line-height: 1.72;
    text-align: left;
}
.solution-map ul{
    display:flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}
.solution-map ul li{
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.audience-strip {
    margin-top: 44px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 38px rgba(19,35,76,.08);
}
.audience-strip a {
    min-height: 126px;
    padding: 26px 30px;
    gap: 18px;
}
.audience-strip > a > img {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
}
.audience-strip b {
    font-size: 15px;
    line-height: 1.35;
}
.audience-strip small {
    margin-top: 5px;
    font-size: 11.5px;
    line-height: 1.5;
}
.solution-section {
    padding: 104px 0;
}
.solution-section .split-layout {
    grid-template-columns: minmax(360px,.84fr) minmax(520px,1.16fr);
    gap: 88px;
    align-items: center;
}
.solution-section .split-layout > div:first-child > p:not(.kicker) {
    max-width: 620px;
    font-size: 17px;
    line-height: 1.75;
}
.solution-benefits {
    margin-top: 38px;
    gap: 22px;
}
.solution-benefits article {
    gap: 17px;
    align-items: center;
}
.solution-benefits article > img {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
}
.solution-benefits b {
    font-size: 15px;
    line-height: 1.35;
}
.solution-benefits small {
    margin-top: 5px;
    font-size: 12.5px;
    line-height: 1.65;
}
.solution-phone {
    width: min(100%,370px);
    min-height: 640px;
    padding: 42px 28px 28px;
    border-radius: 42px;
    box-shadow: 0 25px 70px rgba(18,34,73,.22);
}
.solution-phone .solution-phone .solution-phone .solution-phone article b,.solution-phone article small,.team-solution .team-layout {
    grid-template-columns: minmax(430px,.88fr) minmax(590px,1.12fr);
    gap: 62px;
    padding: 70px;
}
.team-solution .team-layout > div:first-child > p:not(.kicker) {
    max-width: 600px;
    font-size: 16px;
    line-height: 1.75;
}
.mini-flow {
    margin-top: 38px;
    gap: 12px;
}
.mini-flow article > img {
    width: 52px;
    height: 52px;
    margin: 0 auto 12px;
}
.mini-flow b {
    font-size: 12px;
    line-height: 1.35;
}
.mini-flow small {
    margin-top: 5px;
    font-size: 10.5px;
    line-height: 1.5;
}
.analyst-console {
    padding: 26px;
    border-radius: 22px;
}
.analyst-console header,.analyst-console footer {
    min-height: 46px;
    font-size: 10px;
}
.analyst-console header small,.analyst-console nav,.analyst-console footer span {
    font-size: 10.5px;
}
.analyst-console h3 {
    margin: 24px 0 17px;
    font-size: 17px;
}
.incident-line b {
    font-size: 12px;
}
.incident-line strong {
    font-size: 28px;
}
.incident-line strong small {
    font-size: 10px;
}
.console-grid article {
    padding: 16px;
}
.console-grid b {
    font-size: 11px;
}
.console-grid span {
    font-size: 10.5px;
    line-height: 1.55;
}
.analyst-console footer button {
    min-height: 34px;
    padding: 8px 12px;
    font-size: 10.5px;
}
.enterprise-solution .trust-console {
    padding: 26px;
    border-radius: 24px;
    box-shadow: 0 24px 60px rgba(19,35,76,.12);
}
.trust-console h3 {
    font-size: 16px;
    margin-bottom: 10px;
}
.trust-tabs span {
    font-size: 11px;
}
.trust-console table {
    font-size: 11.5px;
}
.trust-console th,.trust-console td {
    padding: 12px 9px;
}
.trust-console aside {
    padding: 22px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.trust-console aside li,.trust-console aside p {
    font-size: 11.5px;
    line-height: 1.65;
}
.solution-case {
    padding: 98px 0;
}
.solution-case .case-panel {
    grid-template-columns: minmax(360px,.8fr) minmax(620px,1.2fr);
    gap: 60px;
    padding: 44px;
    border-radius: 28px;
}
.solution-case h2 {
    font-size: clamp(34px,3.2vw,48px);
    line-height: 1.1;
}
.solution-case li {
    gap: 16px;
}
.solution-case li > span {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    font-size: 13px;
}
.solution-case li b {
    font-size: 15px;
    line-height: 1.4;
}
.solution-case li p {
    margin-top: 6px;
    font-size: 12.5px;
    line-height: 1.65;
}
.alert-card {
    padding: 34px;
    border-radius: 24px;    
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: fit-content;
    margin: auto;
}
.alert-top span {
    font-size: 10.5px;
}
.alert-card h3 {
    margin: 22px 0 28px;
    font-size: clamp(22px,2vw,28px);
    line-height: 1.25;
}
.alert-metrics > div {
    min-height: 116px;
    padding: 20px;
}
.alert-metrics strong {
    font-size: 38px;
}
.alert-metrics small {
    font-size: 11px;
}
.alert-metrics .threat-mark img {
    width: 70px;
    height: 70px;
}
.alert-tags {
    margin: 20px 0;
    gap: 8px;
}
.alert-tags span {
    padding: 8px 12px;
    font-size: 10.5px;
}
.benefit-matrix {
    padding: 96px 0;
}
.benefit-matrix h2 {
    margin-bottom: 38px;
}
.matrix {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 16px 44px rgba(19,35,76,.08);
}
.matrix > * {
    min-height: 82px;
    padding: 20px 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 12px;
    line-height: 1.55;
}
.matrix b,.matrix strong {
    font-size: 13px;
}
.matrix b small,.matrix strong small {
    margin-top: 5px;
    font-size: 10.5px;
    line-height: 1.45;
}
.matrix span {
    font-size: 11.5px;
}
@media (max-width: 1200px) {
    .solutions-hero .sub-hero-grid,.solution-section .split-layout,.team-solution .team-layout,.solution-case .case-panel {
        grid-template-columns: 1fr;
    }
    .solutions-hero .sub-hero-grid,.solution-section .split-layout {
        gap: 54px;
    }
    .solution-map {
        width: 100%;
    }
    .solution-phone {
        margin-inline: auto;
    }
}
@media (max-width: 820px) {
    .solutions-hero,.solution-section,.solution-case,.benefit-matrix {
        padding: 1rem 0;
    }
    .solution-map {
        min-height: 0;
        padding: 148px 18px 22px;
        grid-template-columns: repeat(2,1fr);
    }
    .solution-map article,.solution-map article.core {
        min-height: 220px;
        transform: none;
    }
    .solution-map article.core {
        grid-column: 1/-1;
    }
    .audience-strip {
        grid-template-columns: 1fr;
    }
    .audience-strip a + a {
        border-left: 0;
        border-top: 1px solid var(--line);
    }
    .team-solution .team-layout,.solution-case .case-panel {
        padding: 34px;
    }
    .mini-flow {
        grid-template-columns: repeat(2,1fr);
        gap: 22px;
    }
    .mini-flow > i {
        display: none;
    }
    .trust-console {
        grid-template-columns: 1fr;
    }
    .alert-metrics {
        grid-template-columns: repeat(2,1fr);
    }
    .alert-metrics .threat-mark {
        grid-column: 1/-1;
    }
}
@media (max-width: 560px) {
    .solutions-hero .sub-hero-grid {
        grid-template-columns: minmax(0,1fr);
    }
    .solution-map {
        grid-template-columns: 1fr;
    }
    .solution-map article.core {
        grid-column: auto;
    }
    .team-solution .team-layout,.solution-case .case-panel,.alert-card {
        padding: 24px;
    }
    .mini-flow,.console-grid,.alert-metrics {
        grid-template-columns: 1fr;
    }
    .matrix {
        grid-template-columns: 1fr 1fr;
    }
}

/* headings directly under an eyebrow get the same gap as the home page */
.eyebrow + h1,
.eyebrow + h2,
.eyebrow + h3 { 
    margin-top: 1rem;
}


/*===================HEADER GAP=====================*/
/* One consistent distance between the sticky header and the first line of the
   page, matching Home. Appended last so it settles the several earlier rules
   that were each setting this differently. */
.solutions-hero {
    padding-top: 48px;
}

@media (max-width: 820px) {
    .solutions-hero {
        padding-top: 26px;
    }
}

@media (max-width: 620px) {
    /* .container picks up margin-top: 1rem here, which covers most of the gap */
    .solutions-hero {
        padding-top: 4px;
    }
}
