/* ===================================================================
   PRSH TECHNOLOGIES — PROFESSIONAL DESIGN OVERRIDES
   Enterprise SaaS / Corporate — Clean, Human-Designed, Premium
   Loaded last so these always win the cascade.
   =================================================================== */

/* ──────────────────────────────────────────────────────────────────
   ICON COLORS — Remove All Gradients, Use Solid Professional Colors
────────────────────────────────────────────────────────────────── */

/* Core background utilities */
.u-bg-blue   { background: #0070f3 !important; }
.u-bg-green  { background: #00a678 !important; }
.u-bg-teal   { background: #0f766e !important; }
.u-bg-purple { background: #6d28d9 !important; }
.u-bg-orange { background: #ea580c !important; }

/* Feature list icons */
.hp-feat-item .fi-ico { background: #0070f3 !important; box-shadow: none !important; }

/* Stat section icons */
.hp-stat-card .stat-icon { box-shadow: none !important; }

/* Large icons in service cards */
.licon.blue   { background: #0070f3 !important; box-shadow: 0 4px 14px rgba(0,112,243,.18) !important; }
.licon.teal   { background: #0f766e !important; box-shadow: 0 4px 14px rgba(15,118,110,.18) !important; }
.licon.green  { background: #00a678 !important; box-shadow: 0 4px 14px rgba(0,166,120,.18) !important; }
.licon.purple { background: #6d28d9 !important; box-shadow: 0 4px 14px rgba(109,40,217,.18) !important; }
.licon.orange { background: #ea580c !important; box-shadow: 0 4px 14px rgba(234,88,12,.18) !important; }

/* Engagement model card icons */
.hp-model-card .mc-icon { box-shadow: none !important; }
.card-icon.blue { background: #0070f3 !important; }

/* List item icon backgrounds */
.blue-bg   { background: #0070f3 !important; }
.green-bg  { background: #00a678 !important; }
.purple-bg { background: #6d28d9 !important; }
.orange-bg { background: #ea580c !important; }

/* About page stat icons */
.ab2-stat-icon { box-shadow: none !important; }
.ab2-stat-item:hover .ab2-stat-icon { transform: scale(1.06) rotate(-3deg) !important; }

/* Engagement model card in about page */
.em-card-ico { box-shadow: none !important; }

/* About page sidebar expert avatar */
.ab-expert-av { background: #0070f3 !important; box-shadow: 0 4px 14px rgba(0,112,243,.18) !important; }

/* SAP service page icons */
.bsvc-num { background: #ea580c !important; }
.cap-ico  { background: #059669 !important; }

.s4h-svc-ib { background: #1e3a8a !important; }
.s4h-svc-ig { background: #059669 !important; }
.s4h-svc-ip { background: #6d28d9 !important; }
.s4h-svc-io { background: #ea580c !important; }

.s4h-bcard-blue .s4h-bico   { background: #1e3a8a !important; box-shadow: none !important; }
.s4h-bcard-green .s4h-bico  { background: #059669 !important; box-shadow: none !important; }
.s4h-bcard-orange .s4h-bico { background: #ea580c !important; box-shadow: none !important; }
.s4h-bcard-purple .s4h-bico { background: #6d28d9 !important; box-shadow: none !important; }

.jv2-c-purple:hover .jv2-cap-ico { background: #7C3AED !important; box-shadow: 0 4px 14px rgba(124,58,237,.22) !important; }
.jv2-c-pink:hover   .jv2-cap-ico { background: #EC4899 !important; box-shadow: 0 4px 14px rgba(236,72,153,.22) !important; }
.jv2-c-cyan:hover   .jv2-cap-ico { background: #06B6D4 !important; box-shadow: 0 4px 14px rgba(6,182,212,.22) !important; }
.jv2-c-violet:hover .jv2-cap-ico { background: #8B5CF6 !important; box-shadow: 0 4px 14px rgba(139,92,246,.22) !important; }

/* Contact sidebar icon */
.scon .scc { background: #0070f3 !important; box-shadow: 0 4px 14px rgba(0,112,243,.2) !important; }

/* Blog / misc */
.blog-comment-avatar,
.card-icon.user-avatar { background: #0070f3 !important; }

/* Pagination active */
.pagination-wrapper .page-item.active .page-link {
    background: #0070f3 !important;
    border-color: #0070f3 !important;
    box-shadow: 0 3px 10px rgba(0,112,243,.2) !important;
}

/* ──────────────────────────────────────────────────────────────────
   GRADIENT TEXT — Replace with Solid Professional Colors
────────────────────────────────────────────────────────────────── */

/* Hero "Success" highlight */
.hp-hero h1 .hi {
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: #7dd3fc !important;
    background-clip: unset !important;
    color: #7dd3fc !important;
}

/* About hero h1 highlight */
.ab-hero h1 .hi {
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: #7dd3fc !important;
    background-clip: unset !important;
    color: #7dd3fc !important;
}

/* Section head accent spans */
.sec-head .hi {
    background: none !important;
    -webkit-text-fill-color: #0070f3 !important;
    color: #0070f3 !important;
}

/* General gradient text utility */
.u-txt-g-blue {
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: #0070f3 !important;
    background-clip: unset !important;
    color: #0070f3 !important;
}

/* ──────────────────────────────────────────────────────────────────
   TYPOGRAPHY HIERARCHY — Lighter, Professional Font Weights
────────────────────────────────────────────────────────────────── */

/* === Main Hero Headlines === */
.hp-hero h1 {
    font-size: clamp(28px, 4.5vw, 52px) !important;
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
}

/* About hero */
.ab-hero h1 {
    font-size: clamp(30px, 5vw, 58px) !important;
    font-weight: 600 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.07 !important;
}

/* Service page hero headings */
.ai-hero h1   { font-weight: 600 !important; font-size: clamp(26px, 4.5vw, 48px) !important; }
.btp-hero h1  { font-weight: 600 !important; font-size: clamp(26px, 4.5vw, 50px) !important; }
.sac-hero h1  { font-weight: 600 !important; font-size: clamp(26px, 4.5vw, 50px) !important; }
.wf-hero h1   { font-weight: 600 !important; font-size: clamp(26px, 4.5vw, 50px) !important; }
.s4h-h1       { font-weight: 600 !important; font-size: clamp(28px, 4.5vw, 52px) !important; letter-spacing: -0.022em !important; }
.jv2-h1       { font-weight: 600 !important; font-size: clamp(2rem, 4.5vw, 3.4rem) !important; letter-spacing: -0.02em !important; }

/* === Section Headings === */
.sec-head h2,
.sec-head h2.light {
    font-weight: 600 !important;
    font-size: clamp(22px, 3.2vw, 34px) !important;
}

.hp-h2 {
    font-size: clamp(22px, 3vw, 32px) !important;
    font-weight: 600 !important;
}

.hp-cta h2,
.hp-nl-card h2 {
    font-weight: 600 !important;
    font-size: clamp(22px, 3.5vw, 36px) !important;
}

.jv2-sec-title {
    font-weight: 600 !important;
    font-size: clamp(1.5rem, 2.8vw, 2.1rem) !important;
}

/* About page section headings */
.ab2-stat-num { font-weight: 700 !important; }
.ab-h2, .ab-h2-sm { font-weight: 600 !important; }

/* === Card Headings === */
.hp-model-card h3      { font-size: 18px !important; font-weight: 600 !important; }
.hp-ai-card h4         { font-weight: 600 !important; font-size: 15px !important; }
.fg-card h4            { font-size: 14.5px !important; font-weight: 600 !important; }
.hp-team-card .tc-body h4 { font-size: 16px !important; font-weight: 600 !important; }
.hp-review-card .rc-author h5 { font-weight: 600 !important; }
.feature-card h4       { font-weight: 600 !important; }
.gradient-heading      { font-weight: 600 !important; }
.pc h2                 { font-weight: 600 !important; }
.pc h3                 { font-weight: 600 !important; }
.jv2-cap-card h4       { font-weight: 600 !important; }
.jv2-impl-card h5,
.jv2-impact-info h5    { font-weight: 600 !important; }
.s4h-card h2           { font-weight: 600 !important; font-size: clamp(18px, 2.5vw, 24px) !important; }
.s4h-card h3           { font-weight: 600 !important; }
.s4h-bcard h4          { font-weight: 600 !important; }
.s4h-mig h5            { font-weight: 600 !important; }

/* About page card headings */
.em-card h4            { font-weight: 600 !important; font-size: 17px !important; }
.ab-team-card .tc-body h4 { font-weight: 600 !important; }

/* === Stat Numbers — Refined === */
.hp-stat-card strong   { font-size: 32px !important; font-weight: 700 !important; }
.hp-stat-item strong   { font-weight: 700 !important; font-size: 26px !important; }

/* === Labels & Badges === */
.sec-label    { font-weight: 600 !important; letter-spacing: 0.9px !important; }
.hp-badge     { font-weight: 600 !important; letter-spacing: 0.3px !important; }

/* === Buttons === */
.btn-hp-main, .btn-cta-w, .btn-hero-main { font-weight: 600 !important; letter-spacing: 0.01em !important; }
.btn-hp-ghost, .btn-cta-g, .btn-hero-ghost { font-weight: 500 !important; }
.hp-nl-form button { font-weight: 600 !important; }
.pf-nl-btn { font-weight: 600 !important; }

/* ──────────────────────────────────────────────────────────────────
   HERO IMAGE — Pin to right side using position:absolute
   (bypasses flex % calculation issues from ab-hero-inner display:flex)
────────────────────────────────────────────────────────────────── */

@media (min-width: 992px) {

    /* All hero sections already have position:relative — ensure overflow:hidden */
    .hp-hero, .ab-hero, .sc-hero, .si-hero,
    .ai-hero, .wf-hero, .sac-hero, .btp-hero,
    .s4h-hero, .sf2-hero, .ar2-hero, .jv2-hero {
        overflow: hidden !important;
    }

    /* Image panels: rip out of normal flow, pin to right edge of section */
    .hp-hero-img-panel,
    .ab-hero-img-panel,
    .sc-hero-img-panel,
    .si-hero-img-panel,
    .hero-img-panel,
    .sac-img-wrap,
    .btp-img-wrap,
    .sf2-visual-wrap,
    .ar2-visual-wrap,
    .jv2-visual-wrap,
    .s4h-dash-img {
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 42% !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: flex-end !important;
        padding: 0 !important;
        height: auto !important;
        min-height: unset !important;
    }

    /* Image cards fill the panel */
    .hp-hero-img-panel .img-card,
    .ab-hero-img-panel .img-card,
    .sc-hero-img-panel .img-card,
    .si-hero-img-panel .img-card,
    .hero-img-panel .img-card {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
        margin: 0 !important;
        border-radius: 24px 0 0 0 !important;
    }

    /* SAP Analytics Cloud & BTP img cards */
    .sac-img-card,
    .btp-img-card {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 16px 0 0 0 !important;
    }

    /* Dashboard visuals: fill their wrap */
    .sf2-visual-wrap .sf2-dashboard,
    .ar2-visual-wrap .ar2-dashboard,
    .jv2-visual-wrap .jv2-dashboard,
    .s4h-dash-img {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Text column: constrain to left ~58% so image doesn't overlap text */
    .hp-hero-inner .row > div:first-child,
    .ab-hero-inner .row > div:first-child,
    .sc-hero-inner .row > div:first-child,
    .si-hero-inner .row > div:first-child,
    .ai-hero-in .row > div:first-child,
    .wf-hero-in .row > div:first-child,
    .sac-hero .u-rel-z3 .row > div:first-child,
    .btp-hero .u-rel-z3 .row > div:first-child,
    .s4h-hero-wrap .row > div:first-child,
    .sf2-hero-row > div:first-child,
    .ar2-hero-row > div:first-child,
    .jv2-hero-row > div:first-child {
        max-width: 58% !important;
        flex: 0 0 58% !important;
        padding-right: 2rem !important;
    }

    /* Image column: remove from flow cleanly */
    .hp-hero-inner .row > div:last-child,
    .ab-hero-inner .row > div:last-child,
    .sc-hero-inner .row > div:last-child,
    .si-hero-inner .row > div:last-child,
    .ai-hero-in .row > div:last-child,
    .wf-hero-in .row > div:last-child,
    .sac-hero .u-rel-z3 .row > div:last-child,
    .btp-hero .u-rel-z3 .row > div:last-child,
    .s4h-hero-wrap .row > div:last-child,
    .sf2-hero-row > div:last-child,
    .ar2-hero-row > div:last-child,
    .jv2-hero-row > div:last-child {
        padding: 0 !important;
        flex: 0 0 0 !important;
        max-width: 0 !important;
        overflow: visible !important;
    }
}

/* ──────────────────────────────────────────────────────────────────
   REMOVE FLASHY EFFECTS
────────────────────────────────────────────────────────────────── */

/* Why Choose Us cards — remove glow blobs */
.fg-card .glow-bg { display: none !important; }

/* Reduce dot-grid pattern opacity on dark sections */
.hp-hero::after,
.hp-section.dark::after,
.hp-cta::after,
.hp-nl-card::after { opacity: 0.28 !important; }

/* Cleaner hero gradient overlay */
.hp-hero::before {
    background:
        radial-gradient(ellipse 60% 48% at 75% 35%, rgba(0,180,216,.13) 0%, transparent 58%),
        radial-gradient(ellipse 36% 36% at 10% 75%, rgba(124,58,237,.08) 0%, transparent 55%) !important;
}

/* About hero overlay — clean */
.ab-hero::before {
    opacity: 0.85 !important;
}

/* Hover lifts — reduce */
.hp-model-card:hover     { transform: translateY(-4px) !important; box-shadow: 0 8px 26px rgba(0,0,0,.09) !important; }
.hp-team-card:hover      { transform: translateY(-4px) !important; box-shadow: 0 10px 28px rgba(0,0,0,.09) !important; }
.hp-review-card:hover    { transform: translateY(-3px) !important; box-shadow: 0 6px 22px rgba(0,0,0,.08) !important; }
.hp-feat-item:hover      { transform: translateX(3px) !important; box-shadow: 0 0 0 2px rgba(0,112,243,.06) !important; }
.hp-ai-card:hover        { transform: translateY(-3px) !important; }
.ab2-stat-item:hover     { transform: translateY(-3px) !important; }

/* ──────────────────────────────────────────────────────────────────
   CONTENT CARD BORDERS — Solid Color Accents
────────────────────────────────────────────────────────────────── */

.content-card::before        { background: #0070f3 !important; width: 4px !important; }
.content-card:hover::before  { width: 4px !important; opacity: 1 !important; background: #0070f3 !important; }
.intro-card::before          { background: #0070f3 !important; }
.approach-card::before       { background: #6d28d9 !important; }
.why-choose-card::before     { background: #00a678 !important; }
.deliverables-card::before   { background: #ea580c !important; }

.pc .acc-bar.blue   { background: #0070f3 !important; }
.pc .acc-bar.teal   { background: #0f766e !important; }
.pc .acc-bar.green  { background: #00a678 !important; }
.pc .acc-bar.purple { background: #6d28d9 !important; }
.pc .acc-bar.orange { background: #ea580c !important; }

/* About page card accent bars */
.pc .acc-bar.indigo { background: #4f46e5 !important; }

/* ──────────────────────────────────────────────────────────────────
   AI ENABLEMENT SECTION
────────────────────────────────────────────────────────────────── */

.hp-ai-card {
    background: rgba(255,255,255,.07) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 16px !important;
}
.hp-ai-card .ai-icon {
    background: rgba(255,255,255,.10) !important;
    box-shadow: none !important;
    border-radius: 14px !important;
    font-size: 24px !important;
    width: 52px !important;
    height: 52px !important;
    margin-bottom: 16px !important;
}

/* ──────────────────────────────────────────────────────────────────
   FOOTER — Professional Solid Colors
────────────────────────────────────────────────────────────────── */

.pf-wrap::before {
    background: #0070f3 !important;
    animation: none !important;
    height: 2px !important;
}

.pf-col h4          { font-weight: 700 !important; letter-spacing: 0.12em !important; }
.pf-col h4::after   { background: #0070f3 !important; }

.pf-social a:hover {
    background: #0070f3 !important;
    border-color: #0070f3 !important;
    box-shadow: 0 4px 12px rgba(0,112,243,.22) !important;
}

.pf-nl-btn {
    background: #0070f3 !important;
}
.pf-nl-btn:hover {
    background: #0056d6 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(0,112,243,.25) !important;
}

.pf-go-top { background: #0070f3 !important; box-shadow: 0 4px 14px rgba(0,112,243,.25) !important; }
.pf-go-top:hover { background: #0056d6 !important; transform: translateY(-3px) !important; }

/* ──────────────────────────────────────────────────────────────────
   MISC SPACING & CONSISTENCY
────────────────────────────────────────────────────────────────── */

.sec-head { margin-bottom: 48px !important; }
.sec-head p { font-size: 15px !important; line-height: 1.75 !important; }

.tp {
    font-weight: 500 !important;
    font-size: 12.5px !important;
    border-radius: 8px !important;
    padding: 7px 14px !important;
}

.hp-model-card { padding: 32px 28px !important; }
.hp-model-card .mc-num { font-weight: 700 !important; opacity: 0.05 !important; }

/* ──────────────────────────────────────────────────────────────────
   MOBILE TYPOGRAPHY
────────────────────────────────────────────────────────────────── */

@media (max-width: 767.98px) {
    .hp-hero h1    { font-size: 30px !important; }
    .ab-hero h1    { font-size: 28px !important; }
    .hp-h2         { font-size: 22px !important; }
    .sec-head h2   { font-size: 22px !important; }
    .hp-cta h2     { font-size: 24px !important; }
    .hp-nl-card h2 { font-size: 22px !important; }
    .hp-stat-card strong { font-size: 28px !important; }
}

/* Home hero layout fix */
@media (min-width: 992px) {
    .hp-hero-inner {
        align-items: center !important;
    }

    .hp-hero-inner > .row {
        width: 100% !important;
        align-items: center !important;
    }

    .hp-hero-inner .row > div:first-child {
        flex: 0 0 58.333333% !important;
        max-width: 58.333333% !important;
        padding-right: 2rem !important;
    }

    .hp-hero-inner .row > div:last-child {
        flex: 0 0 41.666667% !important;
        max-width: 41.666667% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        display: block !important;
        overflow: visible !important;
    }

    .hp-hero-img-panel {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 560px !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .hp-hero-img-panel .img-card {
        flex: 0 1 550px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 550px !important;
        margin: 0 auto !important;
        border-radius: 24px 24px 0 0 !important;
        padding: 28px 28px 0 !important;
    }

    .hp-hero-img-panel .float-chip {
        min-width: 150px !important;
        white-space: nowrap !important;
    }

    .hp-hero-img-panel .float-chip.c1 {
        top: 11% !important;
        right: -10% !important;
    }

    .hp-hero-img-panel .float-chip.c2 {
        top: 42% !important;
        left: -12% !important;
        width: 210px !important;
        min-height: 200px !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .hp-hero-img-panel .float-chip.c3 {
        right: -4% !important;
        bottom: 28% !important;
    }
}

@media (min-width: 1200px) {
    .hp-hero h1 {
        font-size: 68px !important;
        font-weight: 600 !important;
        letter-spacing: -0.02em !important;
        line-height: 1.06 !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .hp-hero h1 {
        font-size: 52px !important;
        font-weight: 600 !important;
        letter-spacing: -0.02em !important;
        line-height: 1.08 !important;
    }

    .hp-hero-img-panel .img-card {
        max-width: 460px !important;
    }
}

@media (max-width: 991.98px) {
    .hp-hero {
        overflow: hidden !important;
    }

    .hp-hero .container,
    .hp-hero-inner {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
    }

    .hp-hero-inner > .row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .hp-hero-inner .row > div:first-child {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .hp-hero p.sub,
    .hp-hero-ctas {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .hp-hero p.sub {
        overflow-wrap: break-word !important;
    }

    .btn-hp-main,
    .btn-hp-ghost {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* About hero layout fix */
@media (min-width: 992px) {
    .ab-hero-inner {
        align-items: center !important;
    }

    .ab-hero-inner > .row {
        width: 100% !important;
        align-items: center !important;
    }

    .ab-hero-inner .row > div:first-child {
        flex: 0 0 58.333333% !important;
        max-width: 58.333333% !important;
        padding-right: 2rem !important;
    }

    .ab-hero-inner .row > div:last-child {
        flex: 0 0 41.666667% !important;
        max-width: 41.666667% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        display: block !important;
        overflow: visible !important;
    }

    .ab-hero-img-panel {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 560px !important;
        display: flex !important;
        align-items: flex-end !important;
        justify-content: center !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .ab-hero-img-panel .img-card {
        flex: 0 1 500px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 500px !important;
        margin: 0 auto !important;
        border-radius: 24px 24px 0 0 !important;
        padding: 30px 30px 0 !important;
    }

    .ab-hero-img-panel .float-chip {
        min-width: 155px !important;
        white-space: nowrap !important;
    }

    .ab-hero-img-panel .float-chip.c1 {
        top: 12% !important;
        right: -8% !important;
    }

    .ab-hero-img-panel .float-chip.c2 {
        left: -10% !important;
        bottom: 30% !important;
    }
}

@media (min-width: 1200px) {
    .ab-hero h1 {
        font-size: 66px !important;
        font-weight: 600 !important;
        letter-spacing: -0.025em !important;
        line-height: 1.05 !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .ab-hero h1 {
        font-size: 52px !important;
        font-weight: 600 !important;
        letter-spacing: -0.022em !important;
        line-height: 1.07 !important;
    }

    .ab-hero-img-panel .img-card {
        max-width: 430px !important;
    }
}

@media (max-width: 991.98px) {
    .ab-hero {
        overflow: hidden !important;
    }

    .ab-hero .container,
    .ab-hero-inner {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
    }

    .ab-hero-inner > .row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .ab-hero-inner .row > div:first-child {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .ab-hero p.sub,
    .ab-hero-ctas {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .ab-hero p.sub {
        overflow-wrap: break-word !important;
    }

    .ab-hero .btn-hero-main,
    .ab-hero .btn-hero-ghost {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ──────────────────────────────────────────────────────────────────
   ICON GRADIENTS → SOLID COLORS (Careers, Contact, Blog, About)
────────────────────────────────────────────────────────────────── */

/* Careers — card icons (tone variants) */
.ca-tone-blue   .ca-card-icon { background: #2563eb !important; box-shadow: none !important; }
.ca-tone-teal   .ca-card-icon { background: #0f766e !important; box-shadow: none !important; }
.ca-tone-violet .ca-card-icon { background: #6d28d9 !important; box-shadow: none !important; }
.ca-tone-amber  .ca-card-icon { background: #b45309 !important; box-shadow: none !important; }
.ca-tone-rose   .ca-card-icon { background: #be123c !important; box-shadow: none !important; }
.ca-tone-cyan   .ca-card-icon { background: #0e7490 !important; box-shadow: none !important; }

/* Careers — floating card icon & process step icon */
.ca-floating-card i { background: #0070f3 !important; box-shadow: none !important; }
.ca-process-card span { background: #0070f3 !important; box-shadow: none !important; }

/* Contact — info card icons */
.cu-icon-blue   { background: #2563eb !important; box-shadow: none !important; }
.cu-icon-teal   { background: #0f766e !important; box-shadow: none !important; }
.cu-icon-violet { background: #6d28d9 !important; box-shadow: none !important; }
.cu-icon-amber  { background: #b45309 !important; box-shadow: none !important; }
.cu-icon-rose   { background: #be123c !important; box-shadow: none !important; }

/* Contact — floating card icons */
.cu-float-card > i,
.cu-float-card-one > i  { background: #0f766e !important; box-shadow: none !important; }
.cu-float-card-two > i  { background: #6d28d9 !important; box-shadow: none !important; }

/* Contact — map info icon */
.cu-map-info-icon { background: #0070f3 !important; box-shadow: none !important; }

/* About — stat icons: u-bg-* utility classes above already give solid colors; just kill shadows */
.ab2-stat-icon { box-shadow: none !important; }

/* About — sidebar accordion headers */
.ab-sw-hd.green { background: #059669 !important; }
.ab-sw-hd.blue  { background: #0070f3 !important; }
.ab-sw-hd.navy  { background: #0f172a !important; }

/* About — card accent bars — solid colors (already overridden, reinforce) */
.pc .acc-bar.blue   { background: #0070f3 !important; }
.pc .acc-bar.teal   { background: #0f766e !important; }
.pc .acc-bar.green  { background: #059669 !important; }
.pc .acc-bar.purple { background: #6d28d9 !important; }
.pc .acc-bar.orange { background: #ea580c !important; }

/* ──────────────────────────────────────────────────────────────────
   HEADING FONT-WEIGHTS — Careers / Contact / Blog pages
   All hero, section, card headings → max 600 (semibold)
────────────────────────────────────────────────────────────────── */

/* === CAREERS page headings === */
.ca-h1 { font-weight: 600 !important; }
.ca-kicker { font-weight: 600 !important; }
.ca-btn    { font-weight: 600 !important; }
.ca-section-head h2,
.ca-openings-head h2,
.ca-experience h2,
.ca-final-cta h2,
.ca-talent-panel h2 { font-weight: 600 !important; }
.ca-bento-wide h3   { font-weight: 600 !important; }
.ca-benefit-card h4 { font-weight: 600 !important; }
.ca-job-card h3     { font-weight: 600 !important; }
.ca-process-card h4 { font-weight: 600 !important; }
.ca-testimonial-card .ca-tq-name { font-weight: 600 !important; }
.ca-hero-stats dt   { font-weight: 700 !important; }
.ca-breadcrumb      { font-weight: 500 !important; }
.ca-modal-header h2 { font-weight: 600 !important; }

/* responsive heading weights — careers */
@media (max-width: 1199.98px) {
    .ca-section-head h2,
    .ca-openings-head h2,
    .ca-experience h2 { font-weight: 600 !important; }
}

/* === CONTACT page headings === */
.cu-h1 { font-weight: 600 !important; }
.cu-badge,
.cu-section-kicker,
.cu-cta-badge { font-weight: 600 !important; }
.cu-btn { font-weight: 600 !important; }
.cu-section-head h2,
.cu-form-head h2     { font-weight: 600 !important; }
.cu-cta h2           { font-weight: 600 !important; }
.cu-info-card h3     { font-weight: 600 !important; }
.cu-why-card h4      { font-weight: 600 !important; }
.cu-faq-item .accordion-button { font-weight: 600 !important; }
.cu-sb-card h3       { font-weight: 600 !important; }
.cu-breadcrumb       { font-weight: 500 !important; }
.cu-map-head h2      { font-weight: 600 !important; }

/* === BLOG page headings === */
.bl-hero-title  { font-weight: 600 !important; }
.bl-cta-title   { font-weight: 600 !important; }
.bl-section-head h2 { font-weight: 600 !important; }
.bl-feat-title  { font-weight: 600 !important; }
.bl-card-title  { font-weight: 600 !important; }
.bl-nl-card h4  { font-weight: 600 !important; }
.bl-rp-info h5  { font-weight: 600 !important; }
.bl-sw-head h4  { font-weight: 600 !important; }

/* === SAP Consulting / other service page headings === */
.sc-hero h1   { font-weight: 600 !important; }
.vs-body h5   { font-weight: 600 !important; }
.wl-txt h5    { font-weight: 600 !important; }
.s-card .s-head h4 { font-weight: 600 !important; }

/* ──────────────────────────────────────────────────────────────────
   RESPONSIVE DEEP FIXES — Gaps across small/mid devices
────────────────────────────────────────────────────────────────── */

/* ── Hero sections: prevent horizontal overflow on all phones ── */
@media (max-width: 575.98px) {
    .ca-hero, .cu-hero, .ab-hero, .hp-hero,
    .sc-hero, .si-hero, .ai-hero, .wf-hero,
    .sac-hero, .btp-hero, .s4h-hero, .jv2-hero { overflow-x: hidden !important; }

    .ca-h1  { font-size: 30px !important; line-height: 1.1 !important; }
    .cu-h1  { font-size: 30px !important; line-height: 1.1 !important; }

    /* Careers buttons stack */
    .ca-hero-actions, .ca-final-actions,
    .cu-hero-actions, .cu-cta-actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }
}

/* ── Extra small (360px and below) ── */
@media (max-width: 375.98px) {
    .ca-h1  { font-size: 28px !important; }
    .cu-h1  { font-size: 28px !important; }
    .hp-hero h1 { font-size: 26px !important; }
    .ab-hero h1 { font-size: 26px !important; }

    .sec-head h2   { font-size: 20px !important; }
    .ca-section-head h2, .cu-section-head h2,
    .ca-openings-head h2 { font-size: 22px !important; }

    /* Prevent card padding from being too tight */
    .hp-model-card { padding: 20px 16px !important; }
}

/* ── Tablet (768–991px): ensure two-col grids don't overflow ── */
@media (min-width: 768px) and (max-width: 991.98px) {
    .ca-bento-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .cu-info-grid, .cu-why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

    /* Section padding on tablets */
    .ca-culture, .ca-benefits, .ca-openings,
    .ca-process, .ca-experience, .ca-testimonials {
        padding-top: 72px !important;
        padding-bottom: 72px !important;
    }
}

/* ── Ensure images never overflow their containers ── */
img { max-width: 100% !important; height: auto; }

/* ── Prevent long text strings from overflowing on mobile ── */
@media (max-width: 767.98px) {
    .cu-h1 span, .ca-h1 span, .ab-hero h1 .hi,
    .hp-hero h1 .hi { word-break: break-word !important; }

    /* Blog sidebar: full width on mobile */
    .bl-sidebar { width: 100% !important; }

    /* Footer columns: stack properly */
    .pf-wrap .row > [class*="col-"] { margin-bottom: 24px; }

    /* Contact form: full-width fields */
    .cu-form-grid { grid-template-columns: 1fr !important; }
}

/* ── Fix nav drawer overflow on all mobile ── */
.prsh-drawer { overflow-x: hidden !important; overflow-y: auto !important; }

/* ── Prevent section-title overflow ── */
@media (max-width: 575.98px) {
    .section-title h2 { font-size: 20px !important; word-break: break-word !important; }
    .hp-stat-card strong { font-size: 24px !important; }
    .hp-model-card h3    { font-size: 16px !important; }
}
