@media screen and (max-width: 1900px) {
}

@media screen and (max-width: 1400px) {
    h1 {
        font-size: 3.25rem;
        line-height: 3.625rem;
    }

    .teamsec .sechead h2 {
        font-size: 3rem;
    }

    .compliancesec .sechead h2 {
        line-height: 3rem;
    }
}

@media (max-width: 1399px) {
    html {
        font-size: 80%;
    }
}
@media screen and (max-width: 1200px) {
    .sec-space-md {
        padding: 5rem 0;
    }
    .whysec .whyrow,
    .compliancesec .compliancerow {
        --bs-gutter-x: 1.5rem;
    }

    /* ===== Globals ===== */
    .sec-space {
        padding-top: 5.625rem;
        padding-bottom: 5.625rem;
    }

    h1 {
        font-size: 2.75rem;
        line-height: 3.125rem;
    }

    h2 {
        font-size: 2.5rem;
    }

    .sechead {
        margin-bottom: 3rem;
    }

    /* ===== Header ===== */
    .mainhd .navigation .stellarnav > ul {
        gap: 0;
    }

    .mainhd .contact {
        gap: 1rem;
    }

    /* ===== Inner banner ===== */
    .innerbanner {
        padding: 3rem 0;
    }

    .overviewsec .overviewtext p {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    /* ===== Key capabilities ===== */
    .capabilitysec .sechead {
        margin-bottom: 3.5rem;
    }

    .capabilitysec .capabilitycard {
        gap: 1.25rem;
        padding: 1.5rem;
    }

    /* ===== Core benefits ===== */
    .benefitsec .sechead h2 {
        font-size: 1.75rem;
    }

    /* ===== Platform architecture ===== */
    .archsec .sechead {
        margin-bottom: 2.5rem;
    }

    /* ===== Benefit accordion ===== */
    .benefitaccsec {
        padding-bottom: 5rem;
    }

    .benefitaccsec .benefitaccrow {
        row-gap: 2.5rem;
    }

    .archsec .archrow {
        row-gap: 2.5rem;
    }

    .benefitaccsec .benefitacc .faqbody h3 {
        font-size: 1.75rem;
        line-height: 2.125rem;
    }

    /* ===== Hero ===== */
    .herosec .heroleft {
        gap: 1.5rem;
    }

    .herosec .heroleft p {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .herosec .herostats {
        margin-top: 3.5rem;
    }

    .herosec .statcard {
        padding: 1.5rem;
    }

    .herosec .statcard h3 {
        font-size: 1.625rem;
    }

    /* ===== Detection by proof ===== */
    .detectionsec .sechead {
        margin-bottom: 3rem;
    }

    .detectionsec .comparecard {
        padding: 1.75rem;
    }

    /* ===== Platform coverage ===== */
    .platformsec .sechead {
        margin-bottom: 3rem;
    }

    .platformsec .domaincard {
        padding: 1.75rem 1.25rem;
    }

    /* ===== How it works ===== */
    .stepsec .sechead {
        margin-bottom: 3.5rem;
    }

    /* ===== Why deception ===== */
    .whysec .whyleft {
        gap: 1.5rem;
        margin-bottom: 2rem;
    }

    .whysec .whystat {
        padding: 1.25rem;
    }

    .whysec .whynum {
        font-size: 1.75rem;
    }

    .whysec .whynote {
        padding: 1.25rem;
    }

    /* ===== Client logos ===== */
    .logosec {
        padding: 4.5rem 0;
    }

    .logosec .sechead {
        margin-bottom: 3rem;
    }

    .logosec .sechead h2 {
        line-height: 3rem;
    }

    .logosec .logocard {
        height: 6.25rem;
    }

    /* ===== Proof, not promises ===== */
    .proofsec .sechead {
        margin-bottom: 3rem;
    }

    .proofsec .interceptcard {
        padding: 1.75rem;
    }

    .proofsec .interceptcard h4 {
        font-size: 1.5rem;
    }

    .proofsec .prooflist a {
        padding: 1rem;
    }

    /* ===== Team ===== */
    .teamsec .sechead {
        margin-bottom: 3rem;
    }

    .teamsec .sechead h2 {
        font-size: 2.5rem;
    }

    .teamsec .teamrow {
        margin-bottom: 3rem;
    }

    .teamsec .teamimg {
        width: 6.5rem;
        height: 6.5rem;
    }

    /* ===== Blog and resources ===== */
    .blogsec .sechead {
        margin-bottom: 3rem;
    }

    .blogsec .sechead h2 {
        line-height: 3rem;
    }

    .blogsec .blogcard {
        padding: 1.25rem;
    }

    .blogsec .blogimg {
        height: 11.25rem;
    }

    .blogsec .blogcard h5 {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }

    /* ===== Compliance ===== */
    .compliancesec .complianceitem {
        padding: 1rem;
    }

    /* ===== FAQ ===== */
    .faqsec .sechead {
        margin-bottom: 3.5rem;
    }

    .faqsec .faqitem {
        padding: 1.5rem;
    }

    /* ===== i-Mirage decoys ===== */
    .decoysec {
        padding: 5.625rem 0;
    }

    .decoysec .sechead {
        margin-bottom: 2.5rem;
    }

    .breachsec .sechead {
        margin-bottom: 2.5rem;
    }

    .breachsec .breachnum {
        font-size: 2rem;
    }

    .benefitcardsec .sechead {
        margin-bottom: 2.5rem;
    }

    .benefitcardsec .benefitcardimg {
        height: 7rem;
    }

    .scenariosec .sechead {
        margin-bottom: 2.5rem;
    }

    .threatsec .sechead {
        margin-bottom: 2rem;
    }

    .threatsec .threattable th:first-child {
        width: 18rem;
    }
}
@media (max-width: 1199px) {
    .benefitcardsec .benefitcard {
        padding: 1rem;
    }
}
@media screen and (max-width: 991px) {
    .container {
        max-width: 90%;
    }
    .sec-space {
        padding: 4rem 0;
    }
    .stellarnav .icon-close:before,
    .stellarnav .icon-close:after {
        border-color: #fff !important;
    }
    .sec-space-md {
        padding: 3.5rem 0;
    }
    .mainhd .navigation .stellarnav > ul > li > a:not(.dd-toggle) {
        color: #fff;
    }
    .mainhd .navigation .stellarnav ul.megapanel {
        border-radius: 0;
    }
    header .contact a {
        color: #fff !important;
        font-size: 0.8rem !important;
    }
    .accpad {
        padding-right: calc(var(--bs-gutter-x, 1.5rem) * 0.5);
        margin-bottom: 2.5rem;
    }

    .sec-space-sm {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    h1 {
        font-size: 2.5rem;
        line-height: 2.875rem;
    }

    h2 {
        font-size: 2.125rem;
    }

    .sechead {
        margin-bottom: 2.5rem;
    }

    /* ===== Header ===== */
    /* app.js wraps .navigation + .contact into .navwrap below 991 and moves
       the CTA pair into the stellarnav drawer as li.menucontact. */
    .mainhd .headerrow .navwrap {
        display: flex;
        align-items: center;
    }

    /* Still a direct child of the row means app.js has not moved it into the
       drawer yet — on a cold load that is the state the first paint shows, and
       two full-size CTAs do not fit a phone header. */
    .mainhd .headerrow > .contact {
        display: none;
    }

    .mainhd .navigation .stellarnav > ul {
        display: block !important;
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        max-width: 17.5rem;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        z-index: 10;
        gap: 0;
        background: #094969;
        transform: translateX(-100%);
        visibility: hidden;
        transition:
            transform 0.35s ease-in-out,
            visibility 0.35s ease-in-out;
    }

    .mainhd .navigation .stellarnav.current-menu-item > ul {
        transform: translateX(0);
        visibility: visible;
    }

    /* stellarnav prepends this close link into the drawer and draws its X in
       white, which is invisible on the white panel. */
    .mainhd .navigation .stellarnav .close-menu {
        display: flex;
        justify-content: flex-end;
        padding: 1.25rem;
    }

    .mainhd .navigation .stellarnav .icon-close:before,
    .mainhd .navigation .stellarnav .icon-close:after {
        border-bottom-color: var(--heading-text, #0c1d2e);
    }

    .mainhd .navigation .stellarnav > ul > li > a:not(.dd-toggle) {
        padding: 0.9375rem 1.25rem;
        border-bottom: 0.0625rem solid var(--border-light, #e1e6eb);
    }

    /* stellarnav injects its own .dd-toggle on mobile — the inline chevron
       would double up with it. */
    .mainhd .navigation .stellarnav > ul > li > a i {
        display: none;
    }

    .mainhd .navigation .stellarnav ul ul {
        position: static;
        width: 100%;
        min-width: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .mainhd .navigation .stellarnav ul ul li a {
        padding: 0.75rem 2.25rem;
        border-bottom: 0.0625rem solid var(--border-light, #e1e6eb);
    }

    /* Mega panels flatten into the drawer: one column, no fixed widths. */
    .mainhd .navigation .stellarnav ul.megapanel {
        width: 100%;
        padding: 0;
        column-count: auto;
    }

    .mainhd .navigation .stellarnav ul.megapanel li {
        width: auto;
        margin-bottom: 0;
    }

    .mainhd .navigation .stellarnav ul.megapanel li a {
        padding: 0.75rem 0.8rem;
        border-bottom: 1px solid #e1e6eb;
    }
    .mainhd .navigation .stellarnav ul.megapanel .megaico {
        width: 1.3rem;
        height: 1.3rem;
    }
    .mainhd .navigation .stellarnav ul.megapanel .megatitle {
        padding: 0.875rem 1.5rem 0.25rem;
    }

    .mainhd .stellarnav .menucontact {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1.25rem;
    }

    .mainhd .stellarnav .menucontact .contact {
        gap: 1rem;
    }

    .mainhd .stellarnav .menu-toggle {
        color: var(--heading-text, #0c1d2e);
    }

    /* Custom gutters above 1.5rem give .row a negative margin wider than the
       .container's 12px padding, so the row hangs past the container edge.
       Harmless while the page margin absorbs it, but the container goes
       full-width lower down and the content would run off-screen. Columns are
       stacked or 2-up from here, so the desktop gutters have nothing left to
       do — reset them to the Bootstrap default. */
    .detectionsec .comparerow,
    .platformsec .domainrow,
    .whysec .whyrow,
    .proofsec .proofrow,
    .blogsec .blogrow,
    .compliancesec .compliancerow,
    .compliancesec .compliancegrid {
        --bs-gutter-x: 1.5rem;
    }

    /* ===== Inner banner ===== */
    .innerbanner {
        padding: 3.5rem 0;
    }

    .innerbanner .bannertext {
        gap: 1.25rem;
    }

    .overviewsec .overviewrow {
        row-gap: 2.5rem;
    }

    .overviewsec .cybermaze {
        margin-top: 0;
    }

    /* ===== Key capabilities ===== */
    .capabilitysec .sechead {
        margin-bottom: 2.5rem;
    }

    /* ===== Hero ===== */
    /* Bootstrap rows carry no row-gap of their own, so every stacking row
       needs one declared here. */
    .herosec .herorow {
        row-gap: 2.5rem;
    }

    .herosec .heroleft p {
        max-width: none;
    }

    .herosec .heroimg {
        border-width: 0.5rem;
        border-radius: 1.25rem;
    }

    .herosec .herostats {
        margin-top: 3rem;
    }

    /* ===== Detection by proof ===== */
    .detectionsec .sechead {
        margin-bottom: 2.5rem;
    }

    .detectionsec .comparerow {
        row-gap: 2rem;
    }

    /* ===== Platform coverage ===== */
    .platformsec .sechead {
        margin-bottom: 2.5rem;
    }

    .platformsec .domainrow {
        row-gap: 1.875rem;
    }

    /* ===== How it works ===== */
    .stepsec .sechead {
        margin-bottom: 2.5rem;
    }

    .stepsec .steprow {
        row-gap: 2.5rem;
    }

    /* Cards go 2-up from here, so the connectors no longer point anywhere. */
    .stepsec .stepcard:before,
    .stepsec .stepcard:after {
        content: none;
    }

    /* ===== Why deception ===== */
    .whysec .whyrow {
        row-gap: 2.5rem;
    }

    .whysec .whyimg {
        position: static;
        height: 25rem;
    }

    /* ===== Client logos ===== */
    .logosec {
        padding: 4rem 0;
    }

    .logosec .sechead {
        margin-bottom: 2.5rem;
    }

    .logosec .sechead h2 {
        line-height: 2.625rem;
    }

    /* ===== Proof, not promises ===== */
    .proofsec .sechead {
        margin-bottom: 2.5rem;
    }

    .proofsec .proofrow {
        row-gap: 2rem;
    }

    /* ===== Team ===== */
    .teamsec .sechead {
        margin-bottom: 2.5rem;
        align-items: center;
        text-align: center;
    }
    .featuredsec.events .row {
        row-gap: 2rem;
    }
    .teamsec .sechead h2 {
        font-size: 2.125rem;
    }

    .teamsec .teamrow {
        margin-bottom: 2.5rem;
        row-gap: 2.5rem;
    }

    /* ===== Blog and resources ===== */
    .blogsec .sechead {
        margin-bottom: 2.5rem;
    }

    .blogsec .sechead h2 {
        line-height: 2.625rem;
    }

    /* ===== Compliance ===== */
    .compliancesec .sechead {
        margin-bottom: 2.5rem;
    }

    .compliancesec .compliancerow {
        row-gap: 2.5rem;
    }

    .compliancesec .complianceimg {
        height: 25rem;
    }

    /* ===== FAQ ===== */
    .faqsec .sechead {
        margin-bottom: 2.5rem;
    }

    /* ===== i-Mirage decoys ===== */
    .decoysec {
        padding: 5rem 0;
    }

    .decoysec .decoycard {
        padding: 2.5rem 1.5rem;
    }

    .breachsec .breachstat {
        padding: 0 1rem;
    }

    .benefitcardsec .benefitcard {
        padding: 1.75rem;
    }

    /* ===== Scenario and conclusion ===== */
    .scenariosec {
        padding: 5rem 0;
    }

    .scenariosec .scenariocard {
        padding: 2rem;
    }

    .threatsec .threattable th:first-child {
        width: 15rem;
    }

    /* ===== Footer ===== */
    .mainft {
        padding-top: 4rem;
        padding-bottom: 3rem;
    }

    .mainft .ftrow {
        flex-wrap: wrap;
        gap: 2.5rem;
        margin-bottom: 2.5rem;
    }

    .mainft .ftabout {
        width: 100%;
    }

    .mainft .ftcol {
        width: auto;
        min-width: 9.375rem;
    }

    /* The second row's spacer only exists to align columns on desktop. */
    .mainft .ftspacer {
        display: none;
    }

    .mainft .ftbottom {
        padding-top: 2.5rem;
    }

    .stellarnav .menu-toggle {
        padding: 0.5rem;
        border-radius: 5px;
    }

    .mainhd .logo img {
        width: 7rem;
        height: auto;
    }
    .mainhd {
        height: auto;
        padding: 0.7rem 0;
    }
    .stepsec .stepcard {
        padding: 0;
    }
    .breachsec .breachstat {
        min-height: auto;
    }
    .contentImg-wrap:nth-child(even) .contentImg-cont .content,
    .contentImg-cont figure {
        padding-left: 0;
    }
    .contentImg-wrap:nth-child(even) .contentImg-cont figure,
    .contentImg-cont .content {
        padding-right: 0;
    }
    .contentImg-cont .row {
        align-items: flex-start;
    }
    .worksec .sechead,
    .worksec .workrow {
        margin-bottom: 3rem;
    }
    .featuresec .featurevisual {
        padding-right: 0;
    }
    .articlemain {
        padding-right: 0;
    }
    .articlehero {
        margin-bottom: 2rem;
        height: auto;
    }
    .partnergrid {
        grid-template-columns: repeat(3, 1fr);
    }
    .industrysec .row {
        row-gap: 2rem;
    }

    .challengesec .sechead {
        margin-bottom: 2rem;
    }
    .challengecard p {
        font-size: 1rem;
        line-height: 1.5;
    }
    .challengecard {
        padding: 1rem;
        text-align: center;
    }
    .contactmain {
        padding-right: 0;
    }
    .contactsec .row {
        row-gap: 2rem;
    }
    .industrysec.dml {
        padding: 5rem 0;
    }

    .benefitaccsec .row {
        row-gap: 2rem;
    }
    .benefitaccsec .faq .faqbody h3 {
        font-size: 1.8rem;
    }
    .benefitaccsec .faq .faqbody {
        padding-top: 1.5rem;
    }
    .benefitaccsec .accimg {
        height: auto;
    }
    .industrysec.dml {
        padding: 3.5rem 0;
    }
    .breachsec .breachstat:nth-child(3),
    .breachsec .breachstat:nth-child(4) {
        border: none;
    }
    .helpsec.capsec .helpcard .helpico img {
        width: 3rem;
        height: auto;
    }
    .blogsec .industry-cont {
        row-gap: 2.5rem;
    }
    .missionsec .row {
        row-gap: 2rem;
    }
    .story-grid-left {
        position: relative;
        display: flex;
        align-items: flex-end;
    }
    .story-grid-left figure {
        position: absolute;
    }
    .story-grid-left figure img {
        height: 100%;
        object-fit: cover;
    }
    .story-grid-left .content {
        position: relative;
    }
    .story-grid-left .content ul,
    .story-grid-right-content ul {
        gap: 1rem;
    }
    .readmore {
        font-size: 1rem;
    }
}

@media screen and (max-width: 767px) {
    html {
        font-size: 82%;
    }
    .container {
        max-width: 93%;
    }
    .sec-space,
    .sec-space-sm {
        padding: 3rem 0;
    }

    h1 {
        font-size: 2rem;
        line-height: 1.3;
    }

    h2 {
        font-size: 1.5rem;
    }

    .sechead {
        margin-bottom: 2rem;
    }

    .sechead p {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    /* ===== Header ===== */
    .mainhd .stellarnav .menucontact {
        flex-direction: column;
        align-items: stretch;
    }

    .mainhd .stellarnav .menucontact .contact {
        gap: 0.75rem;
        justify-content: center;
    }
    .mainhd .stellarnav .menucontact .contact .btn {
        padding: 0.5rem 0.6rem;
    }

    .mainhd .stellarnav .menucontact .contact .seeit {
        text-align: center;
        border: none;
    }

    /* ===== Inner banner ===== */
    .innerbanner p {
        font-size: 1rem;
    }

    .capabilitysec .sechead {
        margin-bottom: 2rem;
    }

    .capabilitysec .capabilitycard {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
        text-align: center;
    }
    .benefitaccsec .faq {
        padding-right: 0;
    }
    .benefitsec .sechead h2 {
        font-size: 1.375rem;
        line-height: 1.4;
    }
    .capabilitysec .capabilitytext p {
        font-size: 1rem;
        line-height: 1.5;
    }
    .benefitaccsec .faq .faqbody p {
        font-size: 1rem;
    }
    .benefitaccsec .benefitaccimg {
        height: 20rem;
    }
    .mainft .ftcol h6 {
        font-size: 1rem;
    }
    .mainft .ftcol ul li {
        font-size: 1rem;
    }
    .benefitaccsec {
        padding-bottom: 3.75rem;
    }

    .benefitaccsec .benefitacc .faqitem {
        padding: 1.25rem 0;
    }

    .benefitaccsec .benefitacc .faqhead h6 {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .benefitaccsec .benefitacc .faqbody {
        padding-top: 1.25rem;
    }

    .benefitaccsec .benefitacc .faqbody h3 {
        margin-bottom: 1rem;
        font-size: 1.375rem;
        line-height: 1.75rem;
    }

    /* ===== Hero ===== */
    .herosec .herostats {
        margin-top: 2.5rem;
    }

    .herosec .heroline {
        align-items: flex-start;
        margin-bottom: 1.5rem;
    }

    .herosec .heroline:before {
        margin-top: 0.5rem;
    }

    .herosec .heroline span {
        font-size: 0.875rem;
        letter-spacing: 0.0625rem;
    }

    /* ===== Detection by proof ===== */
    .detectionsec .sechead,
    .platformsec .sechead,
    .stepsec .sechead,
    .logosec .sechead,
    .proofsec .sechead,
    .teamsec .sechead,
    .blogsec .sechead,
    .compliancesec .sechead,
    .faqsec .sechead {
        margin-bottom: 2rem;
    }

    .detectionsec .comparecard {
        padding: 1.5rem;
    }

    .detectionsec .comparecard > h6 {
        font-size: 0.9rem;
        margin-bottom: 1.5rem;
        letter-spacing: 0;
    }

    /* ===== Platform coverage ===== */
    .platformsec .domaincard {
        padding: 1.5rem;
    }

    .platformsec .domaincard h5 {
        font-size: 1.125rem;
    }

    .whysec .whystatrow {
        row-gap: 1rem;
    }

    /* ===== Client logos ===== */
    .logosec {
        padding: 3.75rem 0;
    }

    .logosec .sechead h2,
    .blogsec .sechead h2,
    .compliancesec .sechead h2 {
        line-height: 2.125rem;
    }

    .logosec .logocard {
        height: 5.625rem;
    }

    /* ===== Proof, not promises ===== */
    .proofsec .interceptcard {
        padding: 1rem;
        gap: 1rem;
        align-items: center;
        text-align: center;
    }

    .proofsec .interceptcard h4 {
        font-size: 1.25rem;
    }

    .proofsec .interceptmeta {
        flex-direction: column;
        gap: 0.5rem;
        align-items: center;
    }
    .teamsec .sechead,
    .blogsec .sechead {
        align-items: center;
        text-align: center;
        gap: 0.5rem;
    }
    .blogsec .blogcard {
        align-items: center;
        text-align: center;
    }
    .blogsec .blogcard h5 {
        font-size: 1.2rem;
        line-height: 1.4;
    }
    .proofsec .prooflist a {
        font-size: 0.9375rem;
    }
    .blogsec .blogcard p {
        font-size: 1rem;
        line-height: 1.3;
    }

    /* ===== Team ===== */
    .teamsec .sechead h2 {
        font-size: 1.75rem;
    }

    .teamsec .advisorynote {
        padding: 1.25rem;
    }

    /* ===== Blog and resources ===== */
    .blogsec .blogimg {
        height: 12.5rem;
    }

    /* ===== Compliance ===== */
    .compliancesec .sechead {
        gap: 1rem;
    }

    .compliancesec .complianceimg {
        height: 20rem;
    }

    /* ===== FAQ ===== */
    .faqsec .faqitem {
        padding: 1.25rem;
    }

    .faqsec .faqhead {
        gap: 0.75rem;
    }
    .archsec .sechead {
        margin-bottom: 1.5rem;
    }
    .faqsec .faqbody {
        padding-left: 0;
    }
    .faqsec .faqhead:before {
        width: 0.5rem;
        height: 0.5rem;
    }
    /* ===== i-Mirage decoys ===== */
    .decoysec {
        padding: 3.75rem 0;
    }

    .decoysec .sechead {
        margin-bottom: 2rem;
    }

    .decoysec .decoycard {
        padding: 2rem 1.25rem;
    }

    .breachsec .breachstat {
        flex: 0 0 50%;
        min-height: auto;
        padding: 1.5rem;
        padding: 0.5rem;
        border-bottom: 1px solid #444;
    }

    .breachsec .breachnum {
        font-size: 1.75rem;
    }

    /* 2-up, so the divider moves from "every column but the first" to the
       right-hand column of each row. */
    .breachsec .breachstat + .breachstat:before {
        content: none;
    }

    .breachsec .breachstat:nth-child(even):before {
        content: "";
    }

    /* ===== Healthcare benefits ===== */
    .benefitcardsec .benefitcard {
        padding: 1.5rem;
    }

    .benefitcardsec .benefitcardimg {
        height: 6.5rem;
    }

    /* ===== Scenario and conclusion ===== */
    .scenariosec .scenariocard {
        flex-direction: column;
        padding: 1.6rem 1rem;
        text-align: center;
        align-items: center;
    }

    .scenariosec .scenariotext h4 {
        font-size: 1.5rem;
    }

    /* ===== Notable threat activity ===== */
    .threatsec .threattable th,
    .threatsec .threattable td {
        padding: 1rem;
    }

    .threatsec .threattable th:first-child {
        width: 10rem;
    }

    .threatsec .threattable th {
        font-size: 1rem;
    }
    .benefitcardsec .sechead p,
    .benefitcardsec .benefitcardtext p,
    .scenariosec .sechead p {
        font-size: 1rem;
    }
    .scenariosec .scenariotext {
        gap: 1rem;
    }

    /* ===== Footer ===== */
    .mainft .ftrow {
        gap: 2rem;
    }

    .mainft .ftcol {
        width: 45%;
    }

    .forlink .forlinktext strong {
        font-size: 0.8rem;
        line-height: 1.4;
    }
    .forlink .forlinkico {
        width: 1.5rem;
        height: 1.5rem;
    }
    .forlink .forlinkico img {
        width: 1rem;
        height: auto;
    }
    .forlink > a {
        padding: 0.8rem;
        width: auto;
    }
    .forlink .forlinkarrow {
        top: 0.4rem;
        right: 0.3rem;
        width: 0.5rem;
        height: auto;
    }
    .stepsec .stepico {
        width: 3rem;
        height: auto;
        margin-bottom: 0.7rem;
    }
    .comparecard > h6 {
        text-align: center;
    }
    .platformsec .domaincard {
        align-items: center;
        text-align: center;
    }
    .herosec .heroleft {
        text-align: center;
        gap: 1rem;
        align-items: center;
    }
    .btn {
        padding: 0.6rem 0.9rem;
    }
    .herosec .statcard {
        padding: 1rem;
        text-align: center;
    }
    .scenariosec {
        padding: 3rem 0;
    }
    .platformsec .domaincard .taglist {
        justify-content: center;
    }
    .whysec .whyleft {
        align-items: center;
        text-align: center;
        gap: 1rem;
    }
    .proofsec .sechead,
    .overviewsec .overviewtext,
    .benefitcardsec .benefitcard,
    .sechead.sechead-left {
        text-align: center;
        align-items: center;
    }

    .mainft {
        text-align: center;
    }

    .mainft .ftrow {
        justify-content: center;
    }

    /* The lists are flex columns, so the links need the cross-axis too. */
    .mainft .ftcol ul {
        align-items: center;
    }

    .mainft .ftbottom {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }

    .mainft .ftbottom .ftlegal {
        justify-content: center;
    }
    .mainft .ftabout .ftlogo img {
        width: 11rem;
        height: auto;
        margin: 0 auto 1.5rem;
    }
    .faqsec .faqbody p {
        font-size: 1rem;
    }
    .scenariosec .scenariotext p {
        font-size: 1rem;
        line-height: 1.5;
    }
    .threatsec .threattable td {
        font-size: 1rem;
    }
    .archsec .archcard {
        text-align: center;
        align-items: center;
        gap: 0.8rem;
    }
    .overviewsec {
        padding: 4rem 0;
    }
    .blogsec .industry-cont {
        row-gap: 2rem;
        margin-top: 2rem;
    }
    .industry-wrap hgroup {
        text-align: center;
    }
    .blogsec .industry-cont .blogimg {
        height: auto;
    }
    .contentImg-cont hgroup {
        text-align: center;
        align-items: center;
        margin-bottom: 2rem;
    }
    .contentImg-cont .content ul li {
        font-size: 1rem;
    }
    .contentImg-cont .content p {
        text-align: center;
    }
    .contentImg-cont .row {
        row-gap: 2rem;
    }
    .contentImg-cont .content .btn {
        margin: 0 auto;
        display: block;
        width: max-content;
    }
    .featuresec .sechead,
    .problemsec .sechead,
    .worksec .sechead,
    .comparesec .sechead,
    .missionsec .sechead,
    .featuredsec .sechead,
    .bloglistsec .sechead,
    .reportsec .sechead {
        margin-bottom: 1.5rem;
    }
    .featuresec .featurelist {
        padding-left: 0;
    }
    .featuresec .featurevisual,
    .missionsec .missionmedia {
        padding-right: 0;
    }
    .featuresec .featurelist > li {
        padding: 1rem 0;
    }

    .featuresec .featureico {
        width: 2.5rem;
        height: 2.5rem;
    }
    .featuresec .row {
        row-gap: 2rem;
    }
    .featuresec .featureico img {
        width: 1.5rem;
        height: 1.5rem;
    }
    .problemsec .problemcard,
    .reportcard {
        padding: 1rem;
    }
    .worksec .worktext h5,
    .worksec .worktext p {
        text-align: center;
    }
    .worksec .workrow {
        margin-bottom: 2.5rem;
    }
    .worksec .workcard {
        padding: 1.5rem;
    }
    .worksec .workcardico {
        width: 2rem;
        height: 2rem;
    }
    .comparesec .comparetable {
        overflow: auto;
    }
    .comparesec .comparetable table {
        width: 750px;
    }
    .comparesec .comparetable th,
    .comparesec .comparetable td {
        padding: 0.65rem 0.5rem;
    }
    .missionsec .missionimg {
        height: auto;
    }
    .missionsec .missionvideo {
        width: 14rem;
    }
    .missionsec .missionplay {
        top: 33%;
        width: 3rem;
        height: 3rem;
    }
    .missionsec .row {
        row-gap: 2rem;
    }
    .missionsec .missiontext {
        padding-left: 0;
    }
    .missionsec .missiontext p {
        text-align: center;
    }
    .missionsec .missionpersontext {
        align-items: center;
    }
    .decoysec .decoyico {
        width: 4rem;
        height: 3rem;
    }
    .story-sec-cont .sechead {
        align-items: center;
    }
    .story-sec-cont > p {
        text-align: center;
    }
    .story-sec-cont > p {
        line-height: 1.6;
    }
    .story-grid {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }
    .story-grid-left .content {
        position: relative;
        background-color: #0326387a;
        border-radius: 1.5rem;
    }
    .story-grid-left .content ul,
    .story-grid-right-content ul {
        flex-wrap: wrap;
    }
    .story-grid-left figure {
        position: absolute;
        width: 100%;
    }
    .story-grid-left .content p,
    .story-grid-right-content p {
        font-size: 1rem;
    }
    .story-grid-right-top,
    .story-grid-right-bottom {
        padding: 1.5rem;
    }
    .story-grid-left .content ul,
    .story-grid-right-content ul {
        gap: 1rem;
    }
    .teamsec .teamcard p,
    .teamsec .advisorynote p {
        font-size: 1rem;
    }
    .featuredsec .row,
    .bloglistsec .row {
        row-gap: 2rem;
    }
    .featuredcard .featuredmeta,
    .postcard .postinfo,
    .reportcard .reportinfo {
        align-items: center;
        text-align: center;
    }
    .featuredcard .featuredmeta p {
        font-size: 1rem;
        line-height: 1.5;
    }
    .postcard {
        text-align: center;
    }
    .reportcard p {
        font-size: 1rem;
    }
    .featuredsec.events .featuredmeta h4 {
        font-size: 1.2rem;
        line-height: 1.5;
    }
    .featuredcard .featuredimgtext {
        font-size: 2rem;
        top: 2.2rem;
    }
    .partnergrid {
        grid-template-columns: repeat(2, 1fr);
    }
    .partnerlogo {
        height: auto;
    }
    .challengecard .challengeico {
        width: 3rem;
        height: 3rem;
        display: block;
        margin: 0 auto 1rem;
    }
    .challengesec {
        padding-bottom: 3.5rem;
    }
    .deploylist li {
        flex-direction: column;
        gap: 1rem;
        align-items: center;
        text-align: center;
    }
    .helpcard {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .helpcard .helpico img {
        width: 4rem;
        height: auto;
    }
    .scenariodv .scenariocard {
        flex-direction: column;
        padding: 1.6rem;
        gap: 1.5rem;
    }
    .scenariodv {
        padding-bottom: 4rem;
    }
    .scenariodv .scenariocard .scenariohead {
        width: 100%;
    }
    .conclusionleft {
        padding-right: 0;
        text-align: center;
        margin-bottom: 2rem;
    }
    .contactsec .row {
        row-gap: 2rem;
    }
    .formgrid {
        grid-template-columns: repeat(1, 1fr);
    }

    .contactlist .contactico {
        width: 2.5rem;
        height: 2.5rem;
    }
    .contactlist .contactico img {
        width: 1.3rem;
        height: 1.3rem;
    }
    .contactlist .contactinfo h6 {
        font-size: 1rem;
        line-height: 1.2;
    }
    .map {
        height: 17rem;
    }
    .pubsec .postcard .postimg {
        aspect-ratio: unset;
    }
    .industrycontent {
        text-align: center;
    }
    .industrysec {
        padding: 0 0 3rem;
    }
    .helpsec.capsec .helpcard .helpico img {
        width: 3rem;
        height: 3rem;
    }
    .whyworksec .whyworkcard {
        padding: 1.4rem;
        text-align: center;
        align-items: center;
    }
    .whyworksec .whyworkico {
        width: 3rem;
        height: 3rem;
    }
    .openingsec .openinglist > li {
        flex-direction: column;
        text-align: center;
    }
    .openingsec .openingmeta {
        justify-content: center;
    }
    .perksec .perklist {
        flex-direction: column;
    }
    .perksec .perklist > li {
        width: 100%;
    }
    .perksec .perkico {
        width: 2rem;
        height: 2rem;
    }
    .perksec .perkico img {
        width: 1.2rem;
        height: auto;
    }
    .threatsec .threattable {
        overflow: auto;
    }
    .threatsec .threattable table {
        width: 750px;
    }
    .featuredcard .featuredimg {
        height: auto;
    }
}

@media screen and (max-width: 639px) {
    .mainft .ftcol {
        width: 100%;
    }
}

@media screen and (max-width: 576px) {
    /* Buttons go full width once they can no longer sit side by side. */
    .herosec .herobtn,
    .ctasec .ctabtn {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .herosec .herobtn .btn,
    .ctasec .ctabtn .btn,
    .whysec .whyleft .btn {
        width: max-content;
    }

    .stepsec .steprow {
        row-gap: 2rem;
    }

    .compliancesec .compliancegrid {
        row-gap: 1rem;
    }

    /* ===== Breach stats ===== */
    .breachsec .breachstat {
        flex: 0 0 100%;
    }

    /* One per row, so there is nothing left to divide. */
    .breachsec .breachstat:before {
        display: none;
    }

    .mainft .ftbottom {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }

    .mainft .ftbottom .ftlegal {
        gap: 1.25rem;
    }
}

@media screen and (max-width: 480px) {
    .herosec .statcard h3 {
        font-size: 1.5rem;
    }

    .herosec .heroimg {
        border-width: 0.375rem;
        border-radius: 1rem;
        padding: 0.5rem;
    }

    .teamsec .sechead h2 {
        font-size: 1.5rem;
    }

    .blogsec .blogimg {
        height: 10.625rem;
    }

    .logosec .logocard {
        height: 5rem;
    }

    .proofsec .interceptcard h4 {
        font-size: 1.125rem;
    }

    .breachsec .breachnum {
        font-size: 1.5rem;
    }
}

@media screen and (max-width: 320px) {
    .detectionsec .comparecard,
    .platformsec .domaincard,
    .proofsec .interceptcard,
    .blogsec .blogcard,
    .faqsec .faqitem {
        padding: 1rem;
    }
}
