/* =========================================================
 *  CYBER SECURITY PAGE — GENERAL STYLES
 *  ========================================================= */

.cyber-page {
    background: #fff;
}

mark {
    background: none;
    background-color: transparent;
    color: inherit;
}


/* =========================================================
 *  CYBER HERO
 *  ========================================================= */

.cyber-hero {
    background: linear-gradient(135deg, #06175e, #092da7 55%, #071e82);
    color: #fff;
    overflow: hidden;
}

.cyber-hero-grid {
    min-height: 560px;
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: 60px;
    align-items: center;
}

.cyber-hero-copy {
    padding: 80px 0;
    max-width: 680px;
}

.cyber-hero h1,
.cyber-hero-copy h1 {
    font: 800 clamp(38px, 4.8vw, 60px)/1.05 Manrope, sans-serif;
    letter-spacing: -2px;
    margin: 16px 0 20px;
    color: #ffffff;
}

.cyber-hero mark,
.cyber-hero h1 mark,
.cyber-hero-copy h1 mark {
    background: none !important;
    background-color: transparent !important;
    color: #0aaeea;
}

.cyber-hero em,
.cyber-hero h1 em,
.cyber-hero-copy h1 em {
    color: #ffcc29;
    font-style: normal;
}

.cyber-hero p,
.cyber-hero-copy p {
    font-size: 17px;
    line-height: 1.75;
    color: #dbe6ff;
}

.cyber-hero .btn,
.cyber-hero-copy .btn {
    margin-top: 20px;
}


/* =========================================================
 *  CYBER HERO VISUAL
 *  ========================================================= */

.cyber-hero-visual {
    height: 470px;
    position: relative;
    display: grid;
    place-items: center;
}

.cyber-grid-lines {
    position: absolute;
    inset: -20%;
    opacity: .2;

    background-image:
    linear-gradient(#5ee0ff22 1px, transparent 1px),
    linear-gradient(90deg, #5ee0ff22 1px, transparent 1px);

    background-size: 42px 42px;

    transform: perspective(500px) rotateX(55deg) rotateZ(-8deg);
}

.cyber-orbit {
    position: absolute;
    border: 1px solid #28d3ff55;
    border-radius: 50%;
}

.orbit-a {
    width: 440px;
    height: 190px;
    transform: rotate(-25deg);
}

.orbit-b {
    width: 360px;
    height: 360px;
    transform: rotate(38deg);
}

.cyber-shield {
    width: 190px;
    height: 220px;

    background: linear-gradient(160deg, #0bbbed, #0750bb);

    clip-path: polygon(
        50% 0,
        90% 15%,
        86% 66%,
        50% 100%,
        14% 66%,
        10% 15%
    );

    display: grid;
    place-items: center;
    text-align: center;

    box-shadow: 0 0 80px #0bcaff55;

    position: relative;
    z-index: 2;
}

.cyber-shield span {
    font: 800 38px Manrope;
    color: #ffca28;
}

.cyber-shield small {
    font: 800 9px Manrope;
    letter-spacing: 2px;
    color: #fff;
    margin-top: -58px;
}

.cyber-node {
    position: absolute;

    width: 72px;
    height: 72px;

    border-radius: 50%;

    display: grid;
    place-items: center;

    background: #fff;
    color: #0825a8;

    font: 800 12px Manrope;

    box-shadow: 0 12px 30px #00125d55;

    font-style: normal;

    z-index: 3;
}

.node-a {
    top: 12%;
    left: 8%;
}

.node-b {
    top: 9%;
    right: 7%;
    background: #08b5ed;
    color: #fff;
}

.node-c {
    bottom: 11%;
    left: 12%;
    background: #ffca28;
    color: #06155b;
}

.node-d {
    bottom: 8%;
    right: 10%;
}


/* =========================================================
 *  IASME HERO VISUAL — GLOW SEAL + FLOATING PILLS
 *  Open, plain, no container — unique IASME style
 *  ========================================================= */

.iasme-hero-visual {
    height: 470px;
    position: relative;
    /* Stack seal + label vertically in center */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

/* Soft ambient glow bloom behind the seal */
.iasme-glow-orb {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -58%);
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: radial-gradient(
        circle at 50% 50%,
        rgba(130, 255, 57, 0.15) 0%,
        rgba(130, 255, 57, 0.06) 45%,
        transparent 72%
    );
    filter: blur(22px);
    pointer-events: none;
    z-index: 0;
}

/* Hollow shield SVG icon — centrepiece */
.iasme-seal-icon {
    position: relative;
    z-index: 2;
    width: 150px;
    height: 150px;
    flex-shrink: 0;
}

.iasme-seal-icon svg {
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 0 20px rgba(130, 255, 57, 0.5));
}

/* Cert name — directly below icon in normal flow */
.iasme-cert-label {
    position: relative;
    z-index: 2;
    text-align: center;
    flex-shrink: 0;
}

.iasme-cert-label strong {
    display: block;
    font: 800 20px/1.1 Manrope, sans-serif;
    color: #ffffff;
    letter-spacing: 0.5px;
}

.iasme-cert-label span {
    display: block;
    font: 700 10px/1 Manrope, sans-serif;
    color: #82ff39;
    letter-spacing: 3px;
    margin-top: 6px;
    text-transform: uppercase;
}

/* Floating pill badges — clearly positioned in corner zones */
.iasme-pill {
    position: absolute;
    z-index: 3;
    padding: 8px 18px;
    border: 1px solid rgba(130, 255, 57, 0.38);
    border-radius: 100px;
    font: 700 11px/1 Manrope, sans-serif;
    color: rgba(255, 255, 255, 0.82);
    letter-spacing: 0.5px;
    background: rgba(6, 23, 94, 0.45);
    backdrop-filter: blur(8px);
    white-space: nowrap;
}

/* Top-left corner — well clear of seal (seal starts ~120px from top) */
.pill-1 {
    top: 8%;
    left: 2%;
}

/* Top-right corner */
.pill-2 {
    top: 8%;
    right: 2%;
    border-color: rgba(10, 174, 234, 0.42);
    color: rgba(200, 235, 255, 0.88);
}

/* Bottom-left corner — well clear of label (label ends ~300px from top) */
.pill-3 {
    bottom: 8%;
    left: 2%;
    border-color: rgba(130, 255, 57, 0.32);
}


/* =========================================================
 *  CYBER STATS (STANDARDIZED HERO BOTTOM POINTS)
 *  ========================================================= */

.cyber-stats,
.cyber-stats-strip {
    background: #05175f;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.cyber-stats-grid,
.stats-strip-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}

.cyber-stats-grid div,
.cyber-stats-strip .strip-item {
    padding: 22px 20px;
    border-right: 1px solid #ffffff18;
}

.cyber-stats-grid div:last-child,
.cyber-stats-strip .strip-item:last-child {
    border-right: none;
}

.cyber-stats-grid strong,
.cyber-stats-grid b,
.cyber-stats-grid span,
.cyber-stats-strip b,
.cyber-stats-strip span {
    display: block;
}

.cyber-stats-grid strong,
.cyber-stats-grid b,
.cyber-stats-strip b {
    font: 800 15px/1.3 Manrope, sans-serif;
    color: #ffffff;
}

.cyber-stats-grid span,
.cyber-stats-strip span {
    font-size: 11px;
    color: #b7c8f8;
    margin-top: 4px;
}

.cyber-stats-grid strong {
    font: 800 15px Manrope;
}

.cyber-stats-grid span {
    font-size: 11px;
    color: #b7c8f8;
    margin-top: 4px;
}


/* =========================================================
 *  GENERAL CYBER SECTIONS
 *  ========================================================= */

.cyber-section {
    padding: 100px 0;
}

.cyber-section-heading {
    max-width: 820px;
    margin-bottom: 48px;
}

.cyber-section-heading h2,
.cyber-two-col h2,
.cyber-help h2 {
    font: 800 clamp(36px, 4.5vw, 58px)/1.04 Manrope;
    letter-spacing: -2.3px;
    margin: 12px 0 18px;
}

.cyber-section-heading h2 em,
.cyber-two-col h2 em,
.cyber-help h2 em {
    color: var(--blue);
    font-style: normal;
}

.cyber-section-heading > p,
.cyber-two-col p {
    color: var(--muted);
    font-size: 17px;
    line-height: 1.75;
}


/* =========================================================
 *  CYBER FEATURE SECTION
 *  ========================================================= */

.cyber-feature-grid {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 80px;
}

.cyber-feature-intro {
    background: linear-gradient(145deg, #06175e, #092da7);
    color: #fff;

    padding: 45px;

    min-height: 370px;

    position: sticky;
    top: 10px;
}

.feature-number {
    color: #3cc5f5;
    font: 800 12px Manrope;
    letter-spacing: 2px;
}

.cyber-feature-intro h3 {
    font: 800 32px/1.08 Manrope;
    margin: 55px 0 20px;
}

.cyber-feature-intro p {
    color: #c9d8ff;
    line-height: 1.7;
}

.cyber-feature-intro .text-link {
    color: #fff;
    margin-top: 28px;
}


/* =========================================================
 *  CYBER SERVICE LIST
 *  ========================================================= */

.cyber-service-list {
    border-top: 1px solid #dce1e9;
}

.cyber-service-list article {
    display: grid;
    grid-template-columns: 45px 1fr;
    gap: 18px;

    padding: 25px 0;

    border-bottom: 1px solid #dce1e9;
}

.cyber-service-list article > span,
.key-service-grid > article > span {
    color: var(--blue);
    font: 800 11px Manrope;
}

.cyber-service-list h3,
.key-service-grid h3 {
    font: 800 18px Manrope;
    margin: 0 0 9px;
}

.cyber-service-list p,
.key-service-grid p {
    color: #59606d;
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}


/* =========================================================
 *  CLOUD / TWO COLUMN
 *  ========================================================= */

.cyber-cloud,
.key-services {
    background: #f5f7fb;
}

.cyber-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    align-items: center;
}

.cyber-pill-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.cyber-pill-grid span {
    padding: 22px;

    background: #fff;
    border: 1px solid #e0e5ee;

    font: 700 12px Manrope;
    color: #18265f;
}


/* =========================================================
 *  CYBER INCIDENT SECTION
 *  ========================================================= */

.cyber-incident {
    background: #07175f;
    color: #fff;
}

.cyber-incident .section-kicker {
    color: #63d9ff;
}

.cyber-incident h2 {
    color: #fff;
}

.cyber-incident h2 em {
    color: #ffcb2d;
}

.incident-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    border-top: 1px solid #ffffff25;
}

.incident-timeline article {
    padding: 28px 24px;
    min-height: 240px;

    border-right: 1px solid #ffffff25;
}

.incident-timeline article > span {
    color: #3cc5f5;
    font: 800 12px Manrope;
}

.incident-timeline h3 {
    font: 800 17px/1.25 Manrope;
    margin: 45px 0 14px;
}

.incident-timeline h3 small {
    color: #9fb7ed;
    font: 500 10px DM Sans;

    display: block;
    margin-top: 5px;
}

.incident-timeline p {
    color: #bfcdf0;
    font-size: 13px;
    line-height: 1.65;
}


/* =========================================================
 *  KEY SERVICES
 *  ========================================================= */

.key-service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.key-service-grid article {
    background: #fff;
    border: 1px solid #e1e5ed;

    padding: 34px;

    min-height: 360px;

    display: flex;
    flex-direction: column;
}

.key-service-grid h3 {
    margin-top: 55px;
}

.key-service-grid a {
    margin-top: auto;
    padding-top: 25px;

    color: var(--blue);

    font-size: 12px;
    font-weight: 800;
}


/* =========================================================
 *  TRUST
 *  ========================================================= */

.cyber-trust {
    padding: 72px 0;

    border-top: 1px solid #e7eaf1;
    border-bottom: 1px solid #e7eaf1;
}

.cyber-trust h2 {
    font: 800 38px Manrope;
    letter-spacing: -1.5px;
    margin: 12px 0;
}

.cyber-trust p {
    color: var(--muted);
}


/* =========================================================
 *  TESTIMONIALS
 *  ========================================================= */

.cyber-testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.cyber-testimonial-grid article {
    padding: 30px;

    background: #f5f7fb;
    border: 1px solid #e1e5ed;

    min-height: 260px;
}

.cyber-testimonial-grid blockquote {
    margin: 0 0 30px;

    font: 600 17px/1.45 Manrope;
    color: #252a33;
}

.cyber-testimonial-grid b,
.cyber-testimonial-grid span {
    display: block;
}

.cyber-testimonial-grid span {
    color: #f1a923;
    letter-spacing: 3px;
    margin-top: 8px;
}


/* =========================================================
 *  FAQ
 *  ========================================================= */

.faq-list {
    border-top: 1px solid #dce1e9;
}

.faq-list details {
    border-bottom: 1px solid #dce1e9;
    padding: 22px 0;
}

.faq-list summary {
    cursor: pointer;

    font: 800 14px Manrope;
    color: #18204b;

    list-style: none;
}

.faq-list summary::-webkit-details-marker {
    display: none;
}

.faq-list summary::after {
    content: "+";

    float: right;

    color: var(--blue);

    font-size: 20px;
}

.faq-list details[open] summary::after {
    content: "−";
}

.faq-list p {
    margin: 14px 0 0;

    color: #687080;

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================================
 *  HELP SECTION
 *  ========================================================= */

.cyber-help {
    padding: 72px 0;

    background: #f5f7fb;

    border-top: 1px solid #e2e5eb;
}

.cyber-help-inner {
    display: flex;

    justify-content: space-between;
    align-items: center;

    gap: 40px;
}

.cyber-help h2 {
    margin-bottom: 0;
}


/* =========================================================
 *  BLOG
 *  ========================================================= */

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.blog-grid article {
    border-top: 3px solid var(--blue);

    padding: 25px;

    background: #f5f7fb;

    min-height: 240px;
}

.blog-grid small {
    color: #8a919c;
    font-size: 11px;
}

.blog-grid h3 {
    font: 800 18px/1.25 Manrope;
    margin: 25px 0 12px;
}

.blog-grid p {
    color: #687080;
    font-size: 13px;
    line-height: 1.6;
}


/* =========================================================
 *  FINAL CTA
 *  ========================================================= */

.cyber-final-cta {
    padding: 95px 0;

    background: #07175f;

    color: #fff;
}

.cyber-final-cta h2 {
    font: 800 clamp(44px, 5vw, 68px)/1 Manrope;

    letter-spacing: -2.8px;

    margin: 14px 0 22px;
}

.cyber-final-cta h2 em {
    color: #ffcb2d;
    font-style: normal;
}

.cyber-final-cta p {
    color: #c7d4ff;
    line-height: 1.7;
}

.cyber-final-cta small {
    display: block;
    color: #8ea9e8;
    margin-top: 15px;
}


/* =========================================================
 *  NCSC INCIDENT EXERCISING PAGE
 *  ========================================================= */


/* ---------------------------------------------------------
 *  NCSC HERO
 *  --------------------------------------------------------- */

.ncsc-hero {
    position: relative;
    overflow: hidden;

    min-height: 560px;

    display: flex;
    align-items: center;

    background: linear-gradient(135deg, #06175e, #092da7 55%, #071e82);
    color: #fff;
}

.ncsc-hero-pattern {
    position: absolute;
    inset: 0;

    background-image:
    linear-gradient(rgba(94, 224, 255, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(94, 224, 255, .06) 1px, transparent 1px);

    background-size: 55px 55px;

    opacity: .7;
}

.ncsc-hero-grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 70px;

    align-items: center;

    padding-top: 80px;
    padding-bottom: 80px;
    min-height: 560px;
}

.ncsc-kicker {
    display: inline-block;

    margin-bottom: 20px;

    color: #0aaeea;

    font-family: Manrope, sans-serif;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 2.5px;
}

.ncsc-hero-content h1 {
    max-width: 700px;
    margin: 0 0 25px;
    font-family: Manrope, sans-serif;
    font-size: clamp(38px, 4.8vw, 60px);
    line-height: 1.05;
    letter-spacing: -2px;
    font-weight: 800;
}

.ncsc-hero-content h1 mark {
    background: none !important;
    background-color: transparent !important;
    color: #0aaeea;
}

.ncsc-hero-content h1 em {
    color: #ffcc29;
    font-style: normal;
}

.ncsc-hero-lead {
    max-width: 650px;

    margin: 0 0 35px;

    color: rgba(255, 255, 255, .72);

    font-family: "DM Sans", sans-serif;

    font-size: 18px;

    line-height: 1.7;
}

.ncsc-hero-actions {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.ncsc-primary-btn,
.ncsc-secondary-btn {
    display: inline-flex;

    align-items: center;

    gap: 15px;

    padding: 15px 22px;

    text-decoration: none;

    font-family: Manrope, sans-serif;

    font-size: 13px;
    font-weight: 800;

    transition: .25s ease;
}

.ncsc-primary-btn {
    background: #0aaeea;
    color: #06175e;
}

.ncsc-primary-btn:hover {
    background: #5ee0ff;
    transform: translateY(-2px);
}

.ncsc-secondary-btn {
    border: 1px solid rgba(10, 174, 234, .4);
    color: #fff;
}

.ncsc-secondary-btn:hover {
    border-color: #0aaeea;
    color: #0aaeea;
}


/* ---------------------------------------------------------
 *  NCSC HERO VISUAL
 *  --------------------------------------------------------- */

.ncsc-hero-visual {
    position: relative;

    width: 100%;
    height: 470px;
}

.ncsc-grid-lines {
    position: absolute;
    inset: 8%;

    border: 1px solid rgba(10, 174, 234, .2);

    background:
    linear-gradient(rgba(10, 174, 234, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10, 174, 234, .06) 1px, transparent 1px);

    background-size: 35px 35px;

    transform: perspective(600px) rotateX(55deg);
}

.ncsc-orbit {
    position: absolute;

    left: 50%;
    top: 50%;

    border: 1px solid rgba(10, 174, 234, .35);

    border-radius: 50%;

    transform: translate(-50%, -50%) rotateX(65deg);
}

.orbit-one {
    width: 300px;
    height: 300px;
}

.orbit-two {
    width: 220px;
    height: 220px;
}

.orbit-three {
    width: 145px;
    height: 145px;
}

.ncsc-core {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 145px;
    height: 145px;

    display: flex;
    flex-direction: column;

    justify-content: center;
    align-items: center;

    transform: translate(-50%, -50%);

    border: 1px solid rgba(10, 174, 234, .7);

    border-radius: 50%;

    background: rgba(6, 23, 94, .9);

    box-shadow:
    0 0 45px rgba(10, 174, 234, .25),
    inset 0 0 35px rgba(10, 174, 234, .1);

    text-align: center;
}

.ncsc-core span {
    color: #0aaeea;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 2px;
}

.ncsc-core strong {
    margin-top: 5px;

    font-family: Manrope, sans-serif;

    font-size: 20px;
}

.ncsc-core small {
    margin-top: 7px;

    color: rgba(255, 255, 255, .5);

    font-size: 7px;

    letter-spacing: 1.5px;
}

.ncsc-status,
.ncsc-signal {
    position: absolute;

    padding: 10px 14px;

    border: 1px solid rgba(10, 174, 234, .25);

    background: rgba(6, 23, 94, .92);

    font-family: Manrope, sans-serif;

    font-size: 9px;

    letter-spacing: 1px;
}

.ncsc-status {
    top: 45px;
    right: 10px;
}

.ncsc-status strong {
    margin-left: 8px;
    color: #38bdf8;
}

.ncsc-status-dot {
    display: inline-block;

    width: 6px;
    height: 6px;

    margin-right: 7px;

    border-radius: 50%;

    background: #38bdf8;

    box-shadow: 0 0 10px #38bdf8;
}

.ncsc-signal small {
    display: block;

    color: rgba(255, 255, 255, .45);

    font-size: 7px;
}

.ncsc-signal strong {
    display: block;

    margin-top: 3px;

    color: #0aaeea;

    font-size: 10px;
}

.signal-one {
    left: 10px;
    top: 115px;
}

.signal-two {
    right: 0;
    bottom: 120px;
}

.signal-three {
    left: 35px;
    bottom: 45px;
}


/* ---------------------------------------------------------
 *  NCSC INTRO
 *  --------------------------------------------------------- */

.ncsc-intro {
    background: #fff;
}

.ncsc-intro-grid {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 100px;

    padding-top: 110px;
    padding-bottom: 110px;
}

.ncsc-intro h2,
.ncsc-benefits h2 {
    max-width: 650px;

    margin: 0;

    color: #111936;

    font-family: Manrope, sans-serif;

    font-size: clamp(38px, 4vw, 58px);

    line-height: 1.05;

    letter-spacing: -2.5px;
}

.ncsc-intro h2 em,
.ncsc-benefits h2 em,
.ncsc-cta h2 em {
    color: #1c3edb;
    font-style: normal;
}

.ncsc-intro-copy {
    padding-top: 35px;
}

.ncsc-intro-copy p {
    margin: 0 0 22px;

    color: #697080;

    font-family: "DM Sans", sans-serif;

    font-size: 16px;

    line-height: 1.75;
}


/* ---------------------------------------------------------
 *  NCSC SERVICES
 *  --------------------------------------------------------- */

.ncsc-services {
    background: #f6f8fc;
}

.ncsc-services .container {
    padding-top: 105px;
    padding-bottom: 105px;
}

.ncsc-services .section-head {
    display: grid;

    grid-template-columns: 1fr 400px;

    gap: 70px;

    margin-bottom: 55px;
}

.ncsc-services .section-head h2 {
    margin: 0;

    color: #111936;

    font-family: Manrope, sans-serif;

    font-size: clamp(38px, 4vw, 56px);

    line-height: 1.05;

    letter-spacing: -2.3px;
}

.ncsc-services .section-head h2 em {
    color: #1c3edb;
    font-style: normal;
}

.ncsc-services .section-head > p {
    align-self: end;

    margin: 0;

    color: #697080;

    font-size: 15px;

    line-height: 1.7;
}

.ncsc-service-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 1px;

    background: #dfe4ed;
}

.ncsc-service-card {
    min-height: 330px;

    padding: 32px;

    background: #fff;

    transition: .25s ease;
}

.ncsc-service-card:hover {
    transform: translateY(-5px);
}

.ncsc-card-number {
    display: block;

    margin-bottom: 45px;

    color: #1c3edb;

    font-family: Manrope, sans-serif;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2px;
}

.ncsc-service-card h3 {
    margin: 0 0 15px;

    color: #111936;

    font-family: Manrope, sans-serif;

    font-size: 21px;

    line-height: 1.15;
}

.ncsc-service-card p {
    margin: 0 0 25px;

    color: #697080;

    font-size: 14px;

    line-height: 1.65;
}

.ncsc-service-card a {
    color: #1739c9;

    text-decoration: none;

    font-family: Manrope, sans-serif;

    font-size: 12px;
    font-weight: 800;
}

.ncsc-service-card a span {
    margin-left: 7px;
}


/* ---------------------------------------------------------
 *  NCSC BENEFITS
 *  --------------------------------------------------------- */

.ncsc-benefits {
    background: #fff;
}

.ncsc-benefits-grid {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 100px;

    padding-top: 110px;
    padding-bottom: 110px;
}

.ncsc-benefits-copy p {
    max-width: 560px;

    margin-top: 30px;

    color: #697080;

    font-size: 16px;

    line-height: 1.75;
}

.ncsc-benefit-list > div {
    padding: 22px 0;

    border-bottom: 1px solid #e2e6ed;
}

.ncsc-benefit-list span {
    display: inline-flex;

    width: 25px;
    height: 25px;

    align-items: center;
    justify-content: center;

    margin-right: 12px;

    border-radius: 50%;

    background: #e9f9ff;

    color: #079bd2;

    font-size: 11px;
    font-weight: 900;
}

.ncsc-benefit-list strong {
    color: #172fb9;

    font-family: Manrope, sans-serif;

    font-size: 15px;
}

.ncsc-benefit-list p {
    margin: 10px 0 0 40px;

    color: #697080;

    font-size: 14px;

    line-height: 1.55;
}


/* ---------------------------------------------------------
 *  NCSC CTA
 *  --------------------------------------------------------- */

.ncsc-cta {
    padding: 115px 0;

    background: #07175f;

    color: #fff;

    text-align: center;
}

.ncsc-cta h2 {
    max-width: 850px;

    margin: 15px auto 20px;

    font-family: Manrope, sans-serif;

    font-size: clamp(40px, 5vw, 65px);

    line-height: 1;

    letter-spacing: -2.5px;
}

.ncsc-cta p {
    max-width: 650px;

    margin: 0 auto 30px;

    color: rgba(255, 255, 255, .68);

    font-size: 16px;

    line-height: 1.7;
}


/* =========================================================
 *  GENERAL RESPONSIVE — CYBER PAGE
 *  ========================================================= */

@media (max-width: 1100px) {

    .cyber-hero-grid,
    .cyber-feature-grid,
    .cyber-two-col {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .cyber-hero-copy {
        padding: 75px 0 20px;
    }

    .cyber-hero-visual {
        height: 380px;
    }

    .cyber-feature-intro {
        position: static;
    }

    .cyber-stats-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .cyber-stats-grid div:nth-child(n+4) {
        border-top: 1px solid #ffffff18;
    }

    .incident-timeline {
        grid-template-columns: repeat(2, 1fr);
    }

    .key-service-grid,
    .cyber-testimonial-grid,
    .blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* =========================================================
 *  NCSC RESPONSIVE — TABLET
 *  ========================================================= */

@media (max-width: 1000px) {

    .ncsc-hero-grid,
    .ncsc-intro-grid,
    .ncsc-benefits-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .ncsc-hero-visual {
        height: 400px;
    }

    .ncsc-services .section-head {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .ncsc-service-grid {
        grid-template-columns: 1fr 1fr;
    }
}


/* =========================================================
 *  GENERAL RESPONSIVE — MOBILE
 *  ========================================================= */

@media (max-width: 760px) {
    /* Classic mobile safeguards for responsiveness & preventing content tearing */
    html, body {
        overflow-x: clip;
        width: 100%;
    }
    img, svg, video, iframe, canvas {
        max-width: 100%;
        height: auto;
    }
    /* Prevent fixed-width elements from breaking the container */
    .container > * {
        max-width: 100%;
    }

    /* Fix ISO Bespoke Graphics on Mobile */
    .iso-hero-graphic {
        height: auto;
        padding: 40px 0;
    }
    .iso-graphic-canvas {
        width: 280px !important;
        height: 280px !important;
    }
    .iso-orbit-1 {
        width: 320px !important;
        height: 140px !important;
    }
    .iso-orbit-2 {
        width: 260px !important;
        height: 260px !important;
    }
    .iso-graphic-shield {
        width: 140px !important;
        height: 140px !important;
        font-size: 0.8em;
    }
    .iso-node-tag {
        font-size: 9px !important;
        padding: 4px 8px !important;
    }

    /* Catch-all for any other hardcoded widths */
    div[class*="graphic"], div[class*="orbit"], div[class*="canvas"] {
        max-width: 100vw;
    }

    .cyber-section {
        padding: 70px 0;
    }

    .cyber-hero-copy {
        padding: 65px 0 10px;
    }

    .cyber-hero-copy h1 {
        font-size: 48px;
    }

    .cyber-hero-visual {
        height: 330px;
    }

    .orbit-a {
        width: 330px;
        height: 145px;
    }

    .orbit-b {
        width: 280px;
        height: 280px;
    }

    .cyber-shield {
        width: 140px;
        height: 170px;
    }

    .cyber-node {
        width: 58px;
        height: 58px;
        font-size: 10px;
    }

    /* IASME orbital visual — responsive */
    .iasme-hero-visual {
        height: 330px;
    }

    .iasme-orbit-a {
        width: 330px;
        height: 145px;
    }

    .iasme-orbit-b {
        width: 280px;
        height: 280px;
    }

    .iasme-badge {
        width: 140px;
        height: 170px;
    }

    .iasme-badge span {
        font-size: 26px;
    }

    .iasme-node {
        width: 58px;
        height: 58px;
        font-size: 10px;
    }

    .cyber-stats-grid {
        grid-template-columns: 1fr 1fr;
    }

    .cyber-stats-grid div:nth-child(n+3) {
        border-top: 1px solid #ffffff18;
    }

    .cyber-pill-grid,
    .key-service-grid,
    .cyber-testimonial-grid,
    .blog-grid,
    .incident-timeline {
        grid-template-columns: 1fr;
    }

    .cyber-help-inner {
        display: grid;
        gap: 25px;
    }

    .cyber-help h2 {
        font-size: 40px;
    }
}


/* =========================================================
 *  NCSC RESPONSIVE — MOBILE
 *  ========================================================= */

@media (max-width: 600px) {

    .ncsc-hero {
        min-height: auto;
    }

    .ncsc-hero-grid {
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .ncsc-hero-content h1 {
        font-size: 48px;
        letter-spacing: -2px;
    }

    .ncsc-hero-lead {
        font-size: 16px;
    }

    .ncsc-hero-visual {
        height: 320px;
    }

    .ncsc-service-grid {
        grid-template-columns: 1fr;
    }

    .ncsc-service-card {
        min-height: auto;
    }

    .ncsc-intro-grid,
    .ncsc-benefits-grid {
        padding-top: 75px;
        padding-bottom: 75px;
    }

    .ncsc-intro h2,
    .ncsc-benefits h2 {
        font-size: 38px;
    }

    .ncsc-cta {
        padding: 80px 20px;
    }
}
/* =========================================================
 *  CONTACT US PAGE — STYLE SHEET
 *  ========================================================= */

:root {
  --blue-gradient: linear-gradient(135deg, #06175e, #092da7 55%, #071e82);
  --glass-bg: rgba(255, 255, 255, 0.85);
  --border-color: #dce1e9;
  --focus-color: #0750bb;
  --success-color: #0bbbed;
}

/* Contact Hero Banner */
.contact-hero {
  background: var(--blue-gradient);
  color: #fff;
  padding: 80px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.contact-hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  margin: 0 auto;
}

.contact-hero h1 {
  font: 800 clamp(36px, 5vw, 62px)/1.1 Manrope, sans-serif;
  letter-spacing: -2px;
  margin: 10px 0 15px;
}

.contact-hero h1 em {
  color: #45d5ff;
  font-style: normal;
}

.contact-hero p {
  font-size: 17px;
  line-height: 1.6;
  color: #dbe6ff;
  max-width: 600px;
  margin: 0 auto;
}

/* Contact Split Columns Layout */
.contact-container {
  padding: 80px 0;
  background: #f8fafc;
}

.contact-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 60px;
  align-items: start;
}

/* Info Column Style */
.contact-info-card {
  background: #fff;
  border: 1px solid var(--border-color);
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 18, 93, 0.03);
}

.info-section {
  margin-bottom: 35px;
}

.info-section:last-child {
  margin-bottom: 0;
}

.info-section h3 {
  font: 800 18px Manrope, sans-serif;
  color: #111c4e;
  margin: 0 0 15px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.info-section h3 span {
  color: var(--focus-color);
}

.info-section p, .info-section a {
  font-size: 15px;
  line-height: 1.6;
  color: #59606d;
  text-decoration: none;
}

.info-section a:hover {
  color: var(--focus-color);
}

.office-hours {
  list-style: none;
  padding: 0;
  margin: 0;
}

.office-hours li {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid #f1f5f9;
  font-size: 14px;
  color: #59606d;
}

.office-hours li:last-child {
  border-bottom: none;
}

/* Form Column Style */
.contact-form-card {
  background: #fff;
  border: 1px solid var(--border-color);
  padding: 50px;
  border-radius: 12px;
  box-shadow: 0 15px 40px rgba(0, 18, 93, 0.05);
}

.contact-form-card h2 {
  font: 800 28px Manrope, sans-serif;
  color: #111c4e;
  margin: 0 0 30px;
}

/* Floating Input Style */
.form-group {
  position: relative;
  margin-bottom: 24px;
}

.form-group input, 
.form-group select, 
.form-group textarea {
  width: 100%;
  padding: 16px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  font-family: inherit;
  font-size: 15px;
  color: #1e293b;
  outline: none;
  background: #fff;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  box-sizing: border-box;
}

.form-group textarea {
  min-height: 140px;
  resize: vertical;
}

.form-group select {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
  padding-right: 40px;
}

.form-group input:focus, 
.form-group select:focus, 
.form-group textarea:focus {
  border-color: var(--focus-color);
  box-shadow: 0 0 0 4px rgba(7, 80, 187, 0.1);
}

.form-group label {
  position: absolute;
  left: 16px;
  top: 16px;
  font-size: 15px;
  color: #64748b;
  pointer-events: none;
  transition: transform 0.2s ease, font-size 0.2s ease, color 0.2s ease, background 0.2s ease;
  transform-origin: left top;
}

/* Floating labels for fields with content or focused */
.form-group input:focus ~ label,
.form-group input:not(:placeholder-shown) ~ label,
.form-group select:focus ~ label,
.form-group select:valid ~ label,
.form-group textarea:focus ~ label,
.form-group textarea:not(:placeholder-shown) ~ label {
  transform: translateY(-24px) scale(0.85);
  background: #fff;
  padding: 0 6px;
  left: 10px;
  color: var(--focus-color);
}

/* Cascading Dynamic Select Groups */
.cascading-group {
  animation: slideDownCascading 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes slideDownCascading {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.services-categories {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

@media(max-width: 600px) {
  .services-categories {
    grid-template-columns: 1fr;
  }
}

.category-group h4 {
  font: 800 13px Manrope, sans-serif;
  color: var(--focus-color);
  margin: 0 0 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.checkbox-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: #334155;
  cursor: pointer;
  user-select: none;
}

.checkbox-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--focus-color);
  cursor: pointer;
}

/* Submit Button Style */
.btn-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 16px 30px;
  background: #000;
  color: #fff;
  border: none;
  border-radius: 8px;
  font: 800 15px Manrope, sans-serif;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.btn-submit:hover {
  background: var(--focus-color);
  box-shadow: 0 8px 25px rgba(7, 80, 187, 0.25);
  transform: translateY(-2px);
}

.btn-submit:active {
  transform: translateY(0);
}

/* Success Modal Style */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(17, 27, 85, 0.7);
  backdrop-filter: blur(8px);
  display: grid;
  place-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 1000;
}

.modal-overlay.open {
  opacity: 1;
  pointer-events: all;
}

.modal-card {
  background: #fff;
  padding: 40px;
  border-radius: 16px;
  max-width: 500px;
  width: 90%;
  text-align: center;
  box-shadow: 0 25px 60px rgba(0, 18, 93, 0.35);
  transform: scale(0.9);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.modal-overlay.open .modal-card {
  transform: scale(1);
}

.modal-icon {
  width: 60px;
  height: 60px;
  background: rgba(16, 185, 129, 0.1);
  color: var(--success-color);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 28px;
  font-weight: bold;
  margin: 0 auto 20px;
}

.modal-card h3 {
  font: 800 24px Manrope, sans-serif;
  color: #111c4e;
  margin: 0 0 10px;
}

.modal-card p {
  font-size: 15px;
  line-height: 1.6;
  color: #59606d;
  margin: 0 0 25px;
}

.modal-btn-close {
  display: inline-block;
  padding: 12px 24px;
  background: #000;
  color: #fff;
  border-radius: 8px;
  font-weight: 700;
  text-decoration: none;
  font-size: 14px;
  transition: background-color 0.25s ease;
}

.modal-btn-close:hover {
  background: var(--focus-color);
}

/* Responsive Scaling Adjustments */
@media(max-width: 1100px) {
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media(max-width: 760px) {
  .contact-container {
    padding: 50px 0;
  }
  .contact-form-card {
    padding: 30px 20px;
  }
  .contact-info-card {
    padding: 30px 20px;
  }
}


/* =========================================================
 *  CS PAGE — REDESIGN (Cyber Security service page only)
 *  ========================================================= */

.cs-page {
  background: #fff;
}

.cs-hero {
  background:
    linear-gradient(160deg, #040b2e 0%, #071a78 48%, #0a2a9e 100%);
  color: #fff;
  padding: 88px 0 80px;
  position: relative;
  overflow: hidden;
}

.cs-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(94, 224, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(94, 224, 255, 0.06) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse at 70% 40%, #000 20%, transparent 72%);
  pointer-events: none;
}

.cs-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 56px;
  align-items: center;
}

.cs-hero-copy {
  max-width: 620px;
}

.cs-hero-copy h1 {
  margin: 14px 0 20px;
  font: 800 clamp(40px, 5.4vw, 68px) / 1.02 Manrope, sans-serif;
  letter-spacing: -2.6px;
  color: #fff;
}

.cs-hero-copy h1 em {
  font-style: normal;
  color: #45d5ff;
}

.cs-hero-copy > p {
  margin: 0 0 28px;
  max-width: 48ch;
  color: #c9d6f5;
  font-size: 17px;
  line-height: 1.75;
}

.cs-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.cs-btn-outline {
  border-color: rgba(255, 255, 255, 0.35);
  color: #fff;
}

.cs-btn-outline:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.55);
}

/* Security brief panel */
.cs-brief {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(125, 200, 255, 0.22);
  border-radius: 16px;
  padding: 28px 26px 22px;
  backdrop-filter: blur(8px);
  box-shadow: 0 24px 60px rgba(0, 8, 40, 0.35);
}

.cs-brief-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.cs-brief-label {
  font: 800 11px / 1 Manrope, sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #7adfff;
}

.cs-brief-live {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: 700 11px / 1 Manrope, sans-serif;
  letter-spacing: 0.4px;
  color: #b8c7e8;
}

.cs-brief-live i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0aaeea;
  box-shadow: 0 0 0 4px rgba(10, 174, 234, 0.2);
  animation: csPulse 1.8s ease-in-out infinite;
}

@keyframes csPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}

.cs-brief-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
}

.cs-brief-list li {
  display: grid;
  gap: 4px;
}

.cs-brief-list strong {
  font: 800 15px / 1.25 Manrope, sans-serif;
  color: #fff;
  letter-spacing: -0.2px;
}

.cs-brief-list span {
  font-size: 13px;
  line-height: 1.55;
  color: #a8b6d8;
}

.cs-brief-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.cs-brief-foot span {
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(69, 213, 255, 0.1);
  border: 1px solid rgba(69, 213, 255, 0.22);
  color: #9ee8ff;
  font: 700 10px / 1 Manrope, sans-serif;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* Problem grid */
.cs-problem {
  background: #f7f9fc;
  border-bottom: 1px solid #e8ecf4;
}

.cs-problem-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.cs-problem-grid article {
  background: #fff;
  border: 1px solid #e2e6f0;
  border-radius: 12px;
  padding: 28px 24px;
  min-height: 220px;
}

.cs-problem-grid article > span {
  display: block;
  margin-bottom: 18px;
  color: var(--cyan, #0aaeea);
  font: 800 12px / 1 Manrope, sans-serif;
  letter-spacing: 2px;
}

.cs-problem-grid h3 {
  margin: 0 0 10px;
  font: 800 18px / 1.25 Manrope, sans-serif;
  letter-spacing: -0.4px;
  color: #111936;
}

.cs-problem-grid p {
  margin: 0;
  color: #667084;
  font-size: 14px;
  line-height: 1.65;
}

/* Pillars */
.cs-coverage {
  background: #fff;
}

.cs-pillars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.cs-pillars article {
  padding: 32px 30px;
  border: 1px solid #e2e6f0;
  border-radius: 14px;
  background:
    linear-gradient(165deg, #f8fafd 0%, #ffffff 55%);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.cs-pillars article:hover {
  border-color: #c8d4ef;
  box-shadow: 0 16px 40px rgba(8, 37, 168, 0.08);
  transform: translateY(-2px);
}

.cs-pillar-tag {
  display: inline-block;
  margin-bottom: 14px;
  padding: 5px 10px;
  border-radius: 4px;
  background: #e8f1ff;
  color: #0825a8;
  font: 800 10px / 1 Manrope, sans-serif;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

.cs-pillars h3 {
  margin: 0 0 10px;
  font: 800 22px / 1.2 Manrope, sans-serif;
  letter-spacing: -0.6px;
  color: #111936;
}

.cs-pillars p {
  margin: 0;
  color: #667084;
  font-size: 15px;
  line-height: 1.7;
}

/* Process */
.cs-engage {
  background: #07175f;
  color: #fff;
}

.cs-engage .cyber-section-heading h2,
.cs-engage .cyber-section-heading > p {
  color: #fff;
}

.cs-engage .cyber-section-heading h2 em {
  color: #45d5ff;
}

.cs-engage .cyber-section-heading > p {
  color: #b7c5e8;
}

.cs-process {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border: 1px solid rgba(125, 200, 255, 0.22);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.03);
}

.cs-process li {
  padding: 28px 24px;
  border-right: 1px solid rgba(125, 200, 255, 0.18);
  min-height: 220px;
}

.cs-process li:last-child {
  border-right: 0;
}

.cs-step-num {
  display: block;
  margin-bottom: 18px;
  color: #45d5ff;
  font: 800 12px / 1 Manrope, sans-serif;
  letter-spacing: 2px;
}

.cs-process h3 {
  margin: 0 0 10px;
  font: 800 20px / 1.2 Manrope, sans-serif;
  letter-spacing: -0.4px;
  color: #fff;
}

.cs-process p {
  margin: 0;
  color: #aebcd9;
  font-size: 14px;
  line-height: 1.65;
}

/* Outcomes */
.cs-outcomes-section {
  background: #f7f9fc;
  border-top: 1px solid #e8ecf4;
}

.cs-outcomes-layout {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 56px;
  align-items: start;
}

.cs-outcomes-layout h2 {
  margin: 12px 0 16px;
  font: 800 clamp(30px, 3.6vw, 46px) / 1.06 Manrope, sans-serif;
  letter-spacing: -1.6px;
  color: #111936;
}

.cs-outcomes-layout h2 em {
  font-style: normal;
  color: var(--blue, #0825a8);
}

.cs-outcomes-layout > div > p {
  margin: 0;
  max-width: 40ch;
  color: #667084;
  font-size: 16px;
  line-height: 1.75;
}

.cs-outcomes {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  border-top: 1px solid #dde3ee;
}

.cs-outcomes li {
  display: grid;
  gap: 6px;
  padding: 22px 0;
  border-bottom: 1px solid #dde3ee;
}

.cs-outcomes strong {
  font: 800 16px / 1.3 Manrope, sans-serif;
  color: #1429a8;
  letter-spacing: -0.2px;
}

.cs-outcomes span {
  color: #667084;
  font-size: 14.5px;
  line-height: 1.6;
}

/* Related services */
.cs-related-section {
  background: #fff;
}

.cs-related {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cs-related a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid #e2e6f0;
  border-radius: 10px;
  background: #fff;
  color: #111936;
  font: 800 15px / 1.3 Manrope, sans-serif;
  letter-spacing: -0.2px;
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    transform 0.2s ease,
    color 0.2s ease;
}

.cs-related a span {
  color: #0825a8;
  opacity: 0.45;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.cs-related a:hover {
  border-color: #b7c8ef;
  background: #f5f8ff;
  color: #0825a8;
  transform: translateY(-1px);
}

.cs-related a:hover span {
  opacity: 1;
  transform: translateX(3px);
}

/* FAQ tweaks on dark/light continuity */
.cs-page .cyber-faq {
  background: #f7f9fc;
  border-top: 1px solid #e8ecf4;
}

/* Responsive — CS redesign */
@media (max-width: 1100px) {
  .cs-hero-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .cs-problem-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cs-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cs-process li:nth-child(2) {
    border-right: 0;
  }

  .cs-process li:nth-child(1),
  .cs-process li:nth-child(2) {
    border-bottom: 1px solid rgba(125, 200, 255, 0.18);
  }

  .cs-outcomes-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 760px) {
  .cs-hero {
    padding: 64px 0 56px;
  }

  .cs-hero-copy h1 {
    letter-spacing: -1.8px;
  }

  .cs-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .cs-problem-grid,
  .cs-pillars,
  .cs-related {
    grid-template-columns: 1fr;
  }

  .cs-process {
    grid-template-columns: 1fr;
  }

  .cs-process li {
    border-right: 0;
    border-bottom: 1px solid rgba(125, 200, 255, 0.18);
    min-height: 0;
  }

  .cs-process li:last-child {
    border-bottom: 0;
  }

  .cs-brief {
    padding: 22px 18px 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cs-brief-live i {
    animation: none;
  }
}

/* =========================================================
 *  FINANCIAL SERVICES INDUSTRY PAGE (fs-*)
 *  Editorial split layout — distinct from service pages
 *  ========================================================= */

.fs-body {
  background: #f4f0e8;
}

.fs-page {
  background: #f4f0e8;
  color: #1a1a1a;
}

/* Masthead split */
.fs-masthead {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  min-height: 88vh;
  border-bottom: 1px solid #d8d0c4;
}

.fs-masthead-editorial {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px clamp(24px, 6vw, 80px);
  background: #f4f0e8;
}

.fs-eyebrow {
  font: 800 11px / 1 Manrope, sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #8a7a5c;
  margin: 0 0 28px;
}

.fs-masthead-editorial h1 {
  font: 800 clamp(40px, 5.5vw, 72px) / 1.02 Manrope, sans-serif;
  letter-spacing: -2.5px;
  color: #0d1117;
  margin: 0 0 24px;
  max-width: 14ch;
}

.fs-masthead-editorial h1 span {
  display: block;
  color: #8a6d1f;
  font-style: italic;
  font-weight: 700;
}

.fs-masthead-lead {
  font-size: 18px;
  line-height: 1.75;
  color: #3d3a34;
  max-width: 52ch;
  margin: 0 0 36px;
}

.fs-masthead-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  padding: 16px 28px;
  background: #0d1117;
  color: #f4f0e8;
  border-radius: 2px;
  font: 800 14px / 1 Manrope, sans-serif;
  letter-spacing: 0.3px;
  transition: background 0.2s ease, transform 0.2s ease;
}

.fs-masthead-cta:hover {
  background: #1f2937;
  transform: translateY(-1px);
  color: #fff;
}

.fs-masthead-panel {
  background: #0d1117;
  color: #e8e4dc;
  display: flex;
  align-items: stretch;
  position: relative;
  overflow: hidden;
}

.fs-masthead-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, transparent 48%, rgba(201, 162, 39, 0.06) 48%),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 39px,
      rgba(255, 255, 255, 0.03) 39px,
      rgba(255, 255, 255, 0.03) 40px
    );
  pointer-events: none;
}

.fs-panel-inner {
  position: relative;
  z-index: 1;
  padding: 60px clamp(24px, 4vw, 48px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}

.fs-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 36px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.fs-panel-head span {
  font: 800 11px Manrope, sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #c9a227;
}

.fs-panel-head time {
  font: 600 12px Manrope, sans-serif;
  color: rgba(255, 255, 255, 0.45);
}

.fs-metrics {
  display: grid;
  gap: 28px;
  margin: 0;
}

.fs-metrics div {
  display: grid;
  gap: 6px;
}

.fs-metrics dt {
  font: 700 12px Manrope, sans-serif;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.fs-metrics dd {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.fs-metrics dd strong {
  font: 800 clamp(32px, 4vw, 44px) / 1 Manrope, sans-serif;
  letter-spacing: -1px;
  color: #fff;
}

.fs-metrics dd span {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.5;
}

.fs-panel-note {
  margin: 32px 0 0;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.35);
  font-style: italic;
}

/* Regulation ticker */
.fs-ticker {
  background: #c9a227;
  color: #0d1117;
  overflow: hidden;
  border-bottom: 1px solid #a8861f;
}

.fs-ticker-track {
  display: flex;
  gap: 48px;
  padding: 14px 0;
  width: max-content;
  animation: fs-ticker-scroll 28s linear infinite;
  font: 800 12px / 1 Manrope, sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.fs-ticker-track span::after {
  content: "◆";
  margin-left: 48px;
  opacity: 0.4;
  font-size: 8px;
  vertical-align: middle;
}

@keyframes fs-ticker-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Three-column lede */
.fs-lede {
  padding: 72px 0;
  border-bottom: 1px solid #d8d0c4;
}

.fs-lede-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  align-items: start;
}

.fs-lede-col p {
  font-size: 16px;
  line-height: 1.8;
  color: #3d3a34;
  margin: 0;
}

.fs-cap {
  float: left;
  font: 800 72px / 0.85 Manrope, sans-serif;
  color: #c9a227;
  margin: 4px 12px 0 0;
}

.fs-lede-highlight {
  background: #fff;
  border: 1px solid #d8d0c4;
  padding: 28px;
  border-left: 4px solid #c9a227;
}

.fs-lede-highlight blockquote {
  margin: 0;
}

.fs-lede-highlight p {
  font: 600 17px / 1.65 Manrope, sans-serif;
  color: #0d1117;
  font-style: italic;
}

.fs-lede-highlight cite {
  display: block;
  margin-top: 16px;
  font: 700 12px Manrope, sans-serif;
  font-style: normal;
  letter-spacing: 0.5px;
  color: #8a7a5c;
  text-transform: uppercase;
}

/* Section labels */
.fs-section-label {
  display: flex;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 48px;
}

.fs-section-label span {
  font: 800 13px Manrope, sans-serif;
  color: #c9a227;
  letter-spacing: 1px;
}

.fs-section-label h2 {
  font: 800 clamp(26px, 3vw, 36px) / 1.15 Manrope, sans-serif;
  letter-spacing: -1px;
  color: #0d1117;
  margin: 0;
}

.fs-section-label-light span,
.fs-section-label-light h2 {
  color: #f4f0e8;
}

/* Threat rail timeline */
.fs-threats {
  padding: 88px 0;
  background: #fff;
}

.fs-threat-rail {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.fs-threat-rail li {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 40px;
  padding: 40px 0;
  border-bottom: 1px solid #e8e4dc;
}

.fs-threat-rail li:last-child {
  border-bottom: 0;
}

.fs-threat-marker {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding-top: 4px;
}

.fs-threat-marker span {
  font: 700 10px Manrope, sans-serif;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #8a7a5c;
}

.fs-threat-marker strong {
  font: 800 48px / 1 Manrope, sans-serif;
  color: #e8e4dc;
  letter-spacing: -2px;
}

.fs-threat-rail article h3 {
  font: 800 22px / 1.25 Manrope, sans-serif;
  letter-spacing: -0.5px;
  color: #0d1117;
  margin: 0 0 12px;
}

.fs-threat-rail article p {
  font-size: 16px;
  line-height: 1.75;
  color: #3d3a34;
  margin: 0 0 16px;
  max-width: 62ch;
}

.fs-threat-rail article ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fs-threat-rail article li {
  display: inline;
  padding: 6px 12px;
  background: #f4f0e8;
  border: 1px solid #d8d0c4;
  border-radius: 2px;
  font: 700 12px Manrope, sans-serif;
  color: #5c574e;
}

/* Bento mosaic */
.fs-bento {
  padding: 88px 0;
  background: #0d1117;
}

.fs-bento-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: minmax(160px, auto);
  gap: 16px;
}

.fs-bento-cell {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-radius: 2px;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.fs-bento-cell:hover {
  border-color: rgba(201, 162, 39, 0.4);
  background: rgba(255, 255, 255, 0.06);
}

.fs-bento-wide {
  grid-column: span 2;
}

.fs-bento-tall {
  grid-row: span 2;
}

.fs-bento-accent {
  background: linear-gradient(145deg, rgba(201, 162, 39, 0.18), rgba(201, 162, 39, 0.06));
  border-color: rgba(201, 162, 39, 0.35);
}

.fs-bento-tag {
  font: 800 10px Manrope, sans-serif;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #c9a227;
}

.fs-bento-cell h3 {
  font: 800 20px / 1.25 Manrope, sans-serif;
  color: #f4f0e8;
  margin: 0;
  letter-spacing: -0.3px;
}

.fs-bento-cell p {
  font-size: 14px;
  line-height: 1.65;
  color: rgba(244, 240, 232, 0.65);
  margin: 0;
  flex: 1;
}

.fs-bento-accent a {
  font: 800 13px Manrope, sans-serif;
  color: #c9a227;
  margin-top: 8px;
}

.fs-bento-accent a:hover {
  color: #e8c84a;
}

/* Voice band */
.fs-voice {
  padding: 100px 0;
  background: linear-gradient(90deg, #c9a227 0%, #a8861f 100%);
}

.fs-voice-inner {
  text-align: center;
  max-width: 820px;
}

.fs-voice-quote {
  font: 700 clamp(24px, 3.5vw, 38px) / 1.35 Manrope, sans-serif;
  letter-spacing: -0.8px;
  color: #0d1117;
  margin: 0 0 28px;
}

.fs-voice-quote em {
  font-style: italic;
}

.fs-voice-meta {
  display: flex;
  justify-content: center;
  gap: 24px;
  font: 800 11px Manrope, sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(13, 17, 23, 0.55);
}

.fs-voice-meta span + span::before {
  content: "·";
  margin-right: 24px;
}

/* Framework table */
.fs-frameworks {
  padding: 88px 0;
  background: #fff;
}

.fs-framework-table-wrap {
  overflow-x: auto;
  border: 1px solid #d8d0c4;
}

.fs-framework-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}

.fs-framework-table thead {
  background: #0d1117;
  color: #f4f0e8;
}

.fs-framework-table th {
  padding: 16px 20px;
  text-align: left;
  font: 800 11px Manrope, sans-serif;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.fs-framework-table td {
  padding: 18px 20px;
  border-bottom: 1px solid #e8e4dc;
  vertical-align: top;
  line-height: 1.55;
  color: #3d3a34;
}

.fs-framework-table tbody tr:nth-child(even) {
  background: #faf8f4;
}

.fs-framework-table td strong {
  color: #0d1117;
  font-weight: 800;
}

/* Horizontal service strip */
.fs-connect {
  padding: 72px 0;
  background: #f4f0e8;
  border-top: 1px solid #d8d0c4;
}

.fs-connect-scroll {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.fs-connect-scroll a {
  flex: 0 0 220px;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px 20px;
  background: #fff;
  border: 1px solid #d8d0c4;
  border-radius: 2px;
  color: #0d1117;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.fs-connect-scroll a:hover {
  border-color: #c9a227;
  transform: translateY(-2px);
}

.fs-connect-scroll a b {
  font: 800 15px / 1.3 Manrope, sans-serif;
}

.fs-connect-scroll a span {
  font-size: 13px;
  color: #8a7a5c;
  line-height: 1.4;
}

/* Slim CTA bar */
.fs-cta-bar {
  background: #0d1117;
  border-top: 3px solid #c9a227;
}

.fs-cta-bar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 28px 0;
}

.fs-cta-bar-inner p {
  font: 700 18px / 1.4 Manrope, sans-serif;
  color: #f4f0e8;
  margin: 0;
}

.fs-cta-bar-inner a {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  background: #c9a227;
  color: #0d1117;
  font: 800 14px Manrope, sans-serif;
  border-radius: 2px;
  transition: background 0.2s ease;
}

.fs-cta-bar-inner a:hover {
  background: #e8c84a;
}

/* FS responsive */
@media (max-width: 1024px) {
  .fs-masthead {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .fs-masthead-editorial {
    padding: 64px 24px 48px;
  }

  .fs-masthead-editorial h1 {
    max-width: none;
  }

  .fs-panel-inner {
    padding: 48px 24px;
  }

  .fs-lede-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .fs-bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .fs-bento-wide {
    grid-column: span 2;
  }

  .fs-bento-tall {
    grid-row: span 1;
  }
}

@media (max-width: 700px) {
  .fs-threat-rail li {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .fs-threat-marker strong {
    font-size: 36px;
  }

  .fs-bento-grid {
    grid-template-columns: 1fr;
  }

  .fs-bento-wide {
    grid-column: span 1;
  }

  .fs-cta-bar-inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 32px 0;
  }

  .fs-voice-meta {
    flex-direction: column;
    gap: 8px;
  }

  .fs-voice-meta span + span::before {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fs-ticker-track {
    animation: none;
  }
}

/* =========================================================
 *  ISO STANDARDS SUITE — UNIQUE EXECUTIVE EMERALD & GOLD THEME
 *  ========================================================= */

:root {
  --iso-dark-bg: #06175e;
  --iso-deep-emerald: #044e46;
  --iso-mint-accent: #00f2fe;
  --iso-gold-accent: #f59e0b;
}

.iso-suite-hero {
  background: linear-gradient(135deg, #06175e, #092da7 55%, #071e82);
  color: #fff;
  position: relative;
  overflow: hidden;
  border-bottom: 3px solid #c084fc;
}

.iso-suite-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.18;
  background-image:
    radial-gradient(circle at 15% 25%, transparent 0 25px, #c084fc 26px 27px, transparent 28px),
    radial-gradient(circle at 85% 75%, transparent 0 35px, #f59e0b 36px 37px, transparent 38px);
  background-size: 140px 140px, 190px 190px;
}

/* =========================================================
 *  ISO SUITE STYLES (ROYAL VIOLET & AMBER GOLD UNIQUE THEME)
 *  ========================================================= */

.iso-suite-hero {
  position: relative;
  background: linear-gradient(135deg, #06175e, #092da7 55%, #071e82);
  color: #ffffff;
  overflow: hidden;
  border-bottom: 3px solid #c084fc;
}

.iso-suite-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.15;
  background-image: radial-gradient(#c084fc 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}

.iso-suite-hero-grid {
  min-height: 560px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 50px;
  align-items: center;
  position: relative;
  z-index: 2;
  padding: 80px 0;
}

.iso-suite-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 4px;
  background: rgba(192, 132, 252, 0.15);
  border: 1px solid rgba(192, 132, 252, 0.4);
  color: #c084fc;
  font: 800 11px/1 Manrope, sans-serif;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.iso-suite-kicker i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f59e0b;
  box-shadow: 0 0 10px #f59e0b;
}

.iso-suite-hero h1 {
  font: 800 clamp(38px, 4.8vw, 62px)/1.05 Manrope, sans-serif;
  letter-spacing: -2px;
  margin: 0 0 20px;
  color: #ffffff;
}

.iso-suite-hero h1 mark {
  background: none;
  color: #c084fc;
}

.iso-suite-hero h1 em {
  font-style: normal;
  color: #f59e0b;
}

.iso-suite-hero-lead {
  font-size: 17px;
  line-height: 1.7;
  color: #dbe6ff;
  max-width: 580px;
}

/* Unique Animated Graphic Visual Container */
.iso-hero-graphic {
  height: 440px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.iso-graphic-canvas {
  width: 380px;
  height: 380px;
  border-radius: 50%;
  position: relative;
  background: radial-gradient(circle at 35% 30%, #7e22ce 0%, #4c1d95 50%, #1e0938 90%);
  box-shadow: 0 0 70px rgba(168, 85, 247, 0.35), inset -20px -15px 40px rgba(0, 0, 0, 0.5);
  display: grid;
  place-items: center;
  isolation: isolate;
}

.iso-graphic-orbit {
  position: absolute;
  border: 1px solid rgba(192, 132, 252, 0.35);
  border-radius: 50%;
}
.iso-orbit-1 { width: 440px; height: 200px; transform: rotate(-22deg); animation: isoPulse 6s ease-in-out infinite alternate; }
.iso-orbit-2 { width: 360px; height: 360px; transform: rotate(35deg); }

@keyframes isoPulse {
  0% { transform: rotate(-22deg) scale(0.98); opacity: 0.7; }
  100% { transform: rotate(-22deg) scale(1.03); opacity: 1; }
}

.iso-graphic-shield {
  width: 170px;
  height: 195px;
  background: linear-gradient(160deg, #a855f7, #5b21b6);
  clip-path: polygon(50% 0, 90% 15%, 86% 66%, 50% 100%, 14% 66%, 10% 15%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 0 50px rgba(168, 85, 247, 0.5);
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 10px;
}

.iso-graphic-shield strong {
  font: 800 24px/1 Manrope;
  color: #f59e0b;
}

.iso-graphic-shield span {
  font: 800 10px/1.2 Manrope;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-top: 6px;
  color: #ffffff;
}

.iso-node-tag {
  position: absolute;
  background: #ffffff;
  color: #3b0764;
  padding: 8px 14px;
  border-radius: 30px;
  font: 800 11px Manrope;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  gap: 6px;
  z-index: 3;
}
.iso-node-tag span { color: #7e22ce; font-weight: 900; }
.iso-node-tl { top: 12%; left: 2%; }
.iso-node-tr { top: 18%; right: 0%; background: #a855f7; color: #ffffff; }
.iso-node-bl { bottom: 14%; left: 0%; background: #f59e0b; color: #1e0938; }
.iso-node-br { bottom: 10%; right: 4%; }

/* =========================================================
 *  6-BOX STANDARD SECTION (3 TOP / 3 BOTTOM)
 *  ========================================================= */

.iso-6-box-section {
  padding: 90px 0;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}

.iso-6-box-row-header {
  margin-top: 40px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.iso-6-box-row-header:first-of-type {
  margin-top: 0;
}

.iso-6-box-row-tag {
  display: inline-block;
  padding: 4px 12px;
  background: rgba(168, 85, 247, 0.15);
  color: #a855f7;
  font: 800 11px Manrope;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-radius: 4px;
}

.iso-6-box-row-tag.alt {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
}

.iso-6-box-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.iso-box-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-top: 4px solid #a855f7;
  border-radius: 12px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.iso-box-card.alt-card {
  border-top-color: #f59e0b;
}

.iso-box-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 36px rgba(168, 85, 247, 0.15);
}

.iso-box-card span.box-num {
  font: 800 12px Manrope;
  color: #a855f7;
  letter-spacing: 1px;
  margin-bottom: 12px;
}

.iso-box-card.alt-card span.box-num {
  color: #f59e0b;
}

.iso-box-card h3 {
  font: 800 18px/1.3 Manrope;
  color: #0f172a;
  margin: 0 0 12px;
}

.iso-box-card p {
  font-size: 14px;
  line-height: 1.65;
  color: #475569;
  margin: 0 0 20px;
  flex-grow: 1;
}

/* Specialist 9-Domain Grid on Page 9 */
.specialist-domain-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 45px;
}

.specialist-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-top: 4px solid #a855f7;
  border-radius: 12px;
  padding: 30px 26px;
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
}

.specialist-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 40px rgba(168, 85, 247, 0.15);
  border-top-color: #f59e0b;
}

.specialist-card-num {
  width: 32px;
  height: 32px;
  background: rgba(168, 85, 247, 0.15);
  color: #a855f7;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font: 800 13px Manrope;
  margin-bottom: 16px;
}

.specialist-card h3 {
  font: 800 18px/1.25 Manrope;
  color: #0f172a;
  margin: 0 0 10px;
}

.specialist-card p {
  font-size: 13.5px;
  line-height: 1.65;
  color: #4b5563;
  margin: 0 0 20px;
  flex-grow: 1;
}

.pdf-btn-group {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pdf-download-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: rgba(168, 85, 247, 0.08);
  border: 1px solid rgba(168, 85, 247, 0.25);
  border-radius: 6px;
  color: #9333ea;
  font: 700 12px DM Sans;
  transition: all 0.2s ease;
}

.pdf-download-btn:hover {
  background: #7e22ce;
  color: #ffffff;
  border-color: #7e22ce;
}

@media (max-width: 990px) {
  .iso-suite-hero-grid, .specialist-domain-grid, .iso-6-box-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   CATEGORY LATEST INSIGHTS & NEWS SECTION (2 CARDS)
   ========================================================= */
.category-news-section {
  padding: 80px 0;
  background: #f8fafc;
  border-top: 1px solid #e2e8f0;
}
.category-news-header {
  margin-bottom: 40px;
}
.category-news-header h2 {
  font: 800 clamp(26px, 3vw, 36px)/1.2 "Manrope", sans-serif;
  color: #0f172a;
  margin: 8px 0 0 0;
}
.category-news-header h2 em {
  font-style: normal;
  color: #0750bb;
}
.category-news-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.category-news-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.03);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
  color: inherit;
}
.category-news-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(7, 80, 187, 0.1);
  border-color: #0750bb;
}
.category-news-img {
  height: 220px;
  position: relative;
  overflow: hidden;
}
.category-news-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.category-news-card:hover .category-news-img img {
  transform: scale(1.06);
}
.category-news-content {
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.category-news-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.category-news-tag {
  background: #eef3ff;
  color: #0750bb;
  font: 800 11px "Manrope", sans-serif;
  padding: 4px 10px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.category-news-date {
  font-size: 13px;
  color: #64748b;
  font-weight: 600;
}
.category-news-content h3 {
  font: 800 20px/1.3 "Manrope", sans-serif;
  color: #0f172a;
  margin: 0 0 12px 0;
}
.category-news-content p {
  font-size: 14.5px;
  line-height: 1.6;
  color: #475569;
  margin: 0 0 20px 0;
  flex-grow: 1;
}
.category-news-link {
  font: 800 14px "Manrope", sans-serif;
  color: #0750bb;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.category-news-card:hover .category-news-link {
  color: #06175e;
}

@media (max-width: 1100px) {
  .category-news-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .category-news-grid {
    grid-template-columns: 1fr;
  }
}


