@media (max-width: 1200px) {
    html,
    body {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
        overflow-x: clip !important;
        overscroll-behavior: none !important;
        overscroll-behavior-x: none !important;
        touch-action: pan-y pinch-zoom !important;
    }

    body,
    main,
    .site-container,
    .section,
    footer {
        overflow-x: hidden !important;
        overflow-x: clip !important;
    }

    .js-tilt-glare,
    .js-tilt-glare-inner {
        display: none !important;
    }

    .navbar-nav {
        display: flex;
        flex-direction: row;
    }

    h1 {
        font-size: 44px;
    }

    .card-hero-container {
        margin-top: 3rem;
        margin: 0 auto;
        margin-top: 3rem;
        right: inherit;
        width: 100%;
    }

    .section-hero h1 br,
    .section-hero .large br {
        display: none;
    }

    h2 {
        font-size: 36px;
        line-height: 42px;
    }

    h2 span {
        font-size: inherit;
        letter-spacing: -2px;
        line-height: inherit;
    }

    .container {
        padding-left: 1rem;
        padding-right: 1rem;
        width: 100%;
    }

    .site-container::before {
        left: 20px;
    }

    .site-container::after {
        right: 20px;
    }

    .section-hero {
        padding-top: 3rem;
    }

    h1 span {
        font-size: inherit;
        bottom: 2.5px;
        letter-spacing: -2px;
    }

    .hero-gradient-animated {
        background-size: 260% 260%;
        padding-bottom: .11em;
    }

    .hero-gradient-animated::after {
        height: .075em;
    }

    .hero-gradient-animated::before {
        transform: scale(.9);
    }

    .hero-cta-btn {
        font-size: 17px;
        min-height: 50px;
        padding: 8px 16px 7px;
    }

    .comp-hero-btns {
        display: flex;
        flex-wrap: nowrap;
        gap: 10px;
    }

    .line-height-small {
        line-height: 100%;
    }

    .section-services .card-body .d-block {
        max-width: 224px;
    }

    .card {
        height: 420px;
    }

    .card-quote .card-body {
        padding: 20px;
    }

    .card-quote {
        height: inherit;
    }

    .section-benefits {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .card-benefit {
        height: 200px;
    }

    .comp-benefits {
        overflow-y: scroll;
    }

    .card-marquee .card-body {
        padding: 40px;
    }

    .card-dashed {
        width: 100%;
        height: 120px;
    }

    h6 {
        font-size: 10px;
    }

    footer::before {
        left: 20px;
    }

    footer::after {
        right: 20px;
    }



    .card-cal {
        width: 100%;
        right: 0;
    }

    .card-book {
        width: 100%;
        height: initial;
    }

    .card-hero {
        width: 100%;
    }

    .img-join {
        width: 100%;
        left: 0;
    }

    .accordion-button {
        font-size: 18px;
        line-height: 20px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .card h2 {
        font-size: 42px;
    }

    .card-marquee {
        height: inherit;
    }

    .card-recent {
        height: 100%;
    }

    .calc-layout {
        grid-template-columns: 1fr;
    }

    .calc-summary-inline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .calc-plan-inline {
        grid-column: 1 / -1;
    }

    .signup-drawer-shell {
        height: 100vh;
        max-height: 100vh;
    }

    .signup-drawer-body {
        grid-template-columns: 1fr;
        max-height: calc(100vh - 74px);
    }

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

@media (prefers-reduced-motion: reduce) {
    .hero-gradient-animated {
        animation: none;
    }

    .hero-gradient-animated::before,
    .hero-gradient-animated::after {
        animation: none;
    }
}

/* ===== Pull Bootstrap xxl (1400px) breakpoint down to 1201px ===== */
@media (min-width: 1201px) {

    /* Grid columns */
    .col-xxl-3  { flex: 0 0 auto !important; width: 25%      !important; max-width: 25%      !important; }
    .col-xxl-4  { flex: 0 0 auto !important; width: 33.3333% !important; max-width: 33.3333% !important; }
    .col-xxl-5  { flex: 0 0 auto !important; width: 41.6667% !important; max-width: 41.6667% !important; }
    .col-xxl-6  { flex: 0 0 auto !important; width: 50%      !important; max-width: 50%      !important; }
    .col-xxl-7  { flex: 0 0 auto !important; width: 58.3333% !important; max-width: 58.3333% !important; }
    .col-xxl-8  { flex: 0 0 auto !important; width: 66.6667% !important; max-width: 66.6667% !important; }

    /* Display utilities */
    .d-xxl-flex       { display: flex !important; }
    .d-none.d-xxl-flex { display: flex !important; }

    /* Spacing utilities */
    .mt-xxl-0  { margin-top: 0 !important; }
    .mb-xxl-0  { margin-bottom: 0 !important; }
    .mt-xxl-5  { margin-top: 3rem !important; }
    .pe-xxl-5  { padding-right: 3rem !important; }
    .mb-xxl-10 { margin-bottom: 6rem !important; }

    /* Gap utilities */
    .gap-xxl-2 { gap: 0.5rem !important; }
    .gap-xxl-4 { gap: 1.5rem !important; }

    /* Justify / align */
    .justify-content-xxl-end { justify-content: flex-end !important; }

    /* Navbar expand at xxl → now expands at 1201px */
    .navbar-expand-xxl .navbar-collapse { display: flex !important; flex-basis: auto; }
    .navbar-expand-xxl .navbar-toggler  { display: none !important; }
    .navbar-expand-xxl .navbar-nav      { flex-direction: row !important; }
}

/* ===== MOBILE FIXES (max-width: 1200px) ===== */
@media (max-width: 1200px) {

    /* CRITICAL: All sections after the fixed hero need solid backgrounds + z-index
       so they cover the position:fixed hero as they scroll over it.
       section-about stays transparent for the GSAP hero→quote crossfade. */
    .section:not(.section-hero) {
        position: relative;
        z-index: 2;
        background-color: #fff;
    }
    .section-pricing {
        background-color: #f5f5f7 !important;
    }
    .section-benefits {
        background-color: #f5f5f7 !important;
    }
    .section-cards {
        background: radial-gradient(53% 128% at 36.4% -18.1%, rgb(50, 51, 53) 0%, rgb(4, 8, 13) 95.8527%) !important;
    }
    footer {
        position: relative;
        z-index: 2;
        background-color: #10131a;
    }

    /* 0. Hide handwriting labels on mobile */
    .comp-handwriting,
    .comp-handwriting.d-none.d-xxl-flex,
    .animation-video .comp-handwriting {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }

    /* 1. Fix letter-spacing on headings */
    h1 {
        font-size: 38px;
        letter-spacing: -1.5px;
    }

    h1 span {
        font-size: inherit;
        letter-spacing: -1.5px;
    }

    h2 {
        font-size: 30px;
        letter-spacing: -1px;
        line-height: 30px;
    }

    h2 span {
        font-size: inherit;
        letter-spacing: -1px;
        line-height: inherit;
    }

    h3 {
        font-size: 23px;
        letter-spacing: -0.8px;
    }

    .scroll-word {
        letter-spacing: -1px !important;
    }

    h4 {
        font-size: 32px;
        letter-spacing: -1px;
    }

    /* 2. Reduce p text size */
    p {
        font-size: 16px;
        line-height: 1.45;
    }

    .large {
        font-size: 17px;
        line-height: 1.45;
    }

    .small {
        font-size: 14px;
    }

    /* 3. "Their Way" notification cards — compact stacked on mobile */
    .comp-traditional-teams {
        min-height: auto !important;
        display: flex;
        flex-direction: column;
        gap: 4px;
        padding-top: 4px;
    }

    .comp-traditional-teams .card {
        position: static !important;
        width: 100% !important;
        left: auto !important;
        top: auto !important;
        border-radius: 8px !important;
        box-shadow: 0 1px 2px #0000001a !important;
    }

    .comp-traditional-teams .card:nth-of-type(odd) {
        transform: rotate(-0.8deg);
    }

    .comp-traditional-teams .card:nth-of-type(even) {
        transform: rotate(0.6deg);
    }

    .comp-traditional-teams .card:nth-of-type(3) {
        transform: rotate(0.4deg);
    }

    .comp-traditional-teams .card:nth-of-type(7) {
        transform: rotate(-0.5deg);
    }

    /* Override the keyframe animation final transforms for mobile */
    .notification-anim {
        opacity: 1 !important;
    }

    .comp-traditional-teams .card:nth-of-type(1),
    .comp-traditional-teams .card:nth-of-type(2),
    .comp-traditional-teams .card:nth-of-type(3),
    .comp-traditional-teams .card:nth-of-type(4),
    .comp-traditional-teams .card:nth-of-type(5),
    .comp-traditional-teams .card:nth-of-type(6),
    .comp-traditional-teams .card:nth-of-type(7),
    .comp-traditional-teams .card:nth-of-type(8),
    .comp-traditional-teams .card:nth-of-type(9),
    .comp-traditional-teams .card:nth-of-type(10),
    .comp-traditional-teams .card:nth-of-type(11) {
        animation: none !important;
        opacity: 1 !important;
    }

    .comp-traditional-teams .card .card-body {
        padding: 6px 8px !important;
    }

    .comp-traditional-teams p {
        font-size: 11px;
        line-height: 1.2;
    }

    .comp-traditional-teams h6 {
        font-size: 10px !important;
        margin-bottom: 0 !important;
        margin-top: 0 !important;
    }

    .comp-notification {
        width: 28px;
        height: 28px;
        min-width: 28px;
        min-height: 28px;
        padding: 5px;
        border-radius: 6px !important;
    }

    .comp-notification img,
    .comp-notification svg {
        width: 14px !important;
        height: 14px !important;
    }

    .comp-traditional-teams .card .card-body .me-2 {
        margin-right: 6px !important;
    }

    /* Hide some cards on mobile to keep it shorter — show 7 of 11 */
    .comp-traditional-teams .card:nth-of-type(8),
    .comp-traditional-teams .card:nth-of-type(9),
    .comp-traditional-teams .card:nth-of-type(10),
    .comp-traditional-teams .card:nth-of-type(11) {
        display: none;
    }

    /* 4. "Their Way" and "Our Way" parent cards — auto height */
    .card-us,
    .card-them {
        height: auto !important;
        overflow: visible;
    }

    .card-us .card-body,
    .card-them .card-body {
        padding: 24px 16px !important;
    }

    /* "Our Way" cards */
    .comp-our-way .card {
        width: 100%;
        margin: 16px auto;
    }

    .comp-our-way .card .card-body {
        padding: 12px;
    }

    /* 5. "Heroes for all challenges" — fix image overlap */
    .img-heroes-all {
        width: 100% !important;
        max-width: 100%;
        position: relative !important;
        top: 0 !important;
        margin: 0 auto;
        display: block;
    }

    .card-heroes-every {
        height: auto !important;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        padding-top: 20px !important;
        text-align: center;
    }

    .card-heroes-every .card-body {
        justify-content: center !important;
        align-items: center !important;
    }

    .card-heroes-every .card-body .d-block {
        text-align: center !important;
    }

    .card-heroes-every::before {
        height: 0px;
        display: none;
    }

    .card-heroes-every::after {
        display: none;
    }

    .card-heroes-every .card-body {
        padding: 20px !important;
        align-items: start !important;
    }

    .card-all-services {
        height: auto !important;
    }

    /* 6. Reduce button text size */
    .btn-primary {
        font-size: 15px;
        padding: 8px 22px 6px 22px;
    }

    .nav-link-primary {
        font-size: 13px;
        padding: 6px 14px 5px 14px;
    }

    .comp-hero-btns a {
        height: 52px;
        min-width: 0;
    }

    .hero-cta-btn {
        font-size: 15px;
        line-height: 1;
        min-height: 52px;
        padding: 7px 12px 6px;
    }

    .comp-hero-btns {
        display: grid;
        gap: 10px;
        grid-template-columns: 1fr;
    }

    .service-pill {
        font-size: 13px;
        padding: 6px 16px 5px 16px;
    }

    /* 7. Benefit cards — 2x2 grid on mobile */
    .section-benefits .comp-benefits {
        display: flex !important;
        flex-wrap: wrap !important;
        overflow-y: visible;
        margin-top: 2rem !important;
    }

    .section-benefits .comp-benefits .col-12 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        margin-bottom: 1rem;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .section-benefits .card {
        height: 100% !important;
        padding: 20px 5px !important;
    }

    .section-benefits .svg-expand {
        width: 24px !important;
        height: 24px !important;
        padding: 0 !important;
        right: 10px !important;
        bottom: auto !important;
        top: 10px !important;
    }

    .section-benefits .svg-expand svg {
        height: 10px !important;
    }

    .section-benefits .card h4 {
        font-size: 18px !important;
    }

    .section-benefits .card p.mb-5 {
        font-size: 12px !important;
        margin-bottom: 0 !important;
    }

    model-viewer.benefit-icon-3d {
        width: 48px !important;
        height: 48px !important;
    }

    /* 8. Fix logo strip on mobile — display as flex row with wrapping */
    .section-benefits .d-xxl-flex,
    .section-hero .d-xxl-flex {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
        align-items: center;
        margin-top: 0 !important;
    }

    /* Reduce gap between benefit cards and logos */
    .section-benefits .row.mt-4 {
        margin-top: 1rem !important;
    }

    .section-benefits .d-xxl-flex img,
    .section-hero .d-xxl-flex img {
        height: 18px;
        width: auto;
    }

    /* 9. Reduce section padding on mobile */
    .section-offer,
    .section-pricing,
    .section-services {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .mt-10 {
        margin-top: 3rem;
    }

    .mt-15 {
        margin-top: 4rem;
    }

    /* Section-pricing card heights on mobile */
    .section-pricing .card {
        height: auto !important;
    }

    .section-pricing .card .card-body {
        padding: 24px !important;
    }

    /* Section-services card heights */
    .section-services .card {
        height: auto !important;
    }

    /* h6 inside notification cards */
    .comp-traditional-teams h6,
    .comp-our-way h6 {
        font-size: 11px;
    }

    /* Container max-width on mobile */
    .container {
        max-width: 92%;
    }

    /* Card-body general padding reduction */
    .card-body {
        padding: 24px;
    }

    .card-quote .card-body {
        padding: 0;
    }

    /* Card general height on mobile */
    .card {
        height: auto;
    }

    /* ===== CALCULATOR MODAL — fit everything in viewport ===== */
    .calc-modal-content {
        border-radius: 0;
    }

    #calculatorModal .modal-dialog {
        max-width: 100%;
        margin: 0;
        min-height: 100dvh;
        max-height: 100dvh;
        display: flex;
        align-items: stretch;
    }

    #calculatorModal .modal-content {
        border-radius: 0;
        min-height: 100dvh;
        max-height: 100dvh;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .calc-modal-header {
        padding: 10px 14px !important;
        flex-shrink: 0;
    }


    .calc-modal-title {
        font-size: 15px !important;
    }


    .calc-modal-body {
        padding: 8px 10px 10px !important;
        max-height: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        flex: 1;
        display: flex;
        flex-direction: column;
    }

    .calc-instruction {
        display: block;
        font-size: 12px;
        color: #666;
        margin: 0 0 8px 0;
        text-align: center;
    }

    /* Stack: controls then sidebar inline */
    .calc-layout {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        flex: 1;
        display: flex !important;
        flex-direction: column !important;
    }

    .calc-controls {
        gap: 6px !important;
    }

    /* Show sidebar inline below staff cards */
    .calc-layout > .calc-summary {
        display: block !important;
        width: 100% !important;
    }

    /* Staff cards — 3-col, tap to select, no +/- */
    #calculatorModal .staff-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    #calculatorModal .staff-unit-card {
        min-height: auto !important;
        border-radius: 12px !important;
        cursor: pointer;
        position: relative;
        overflow: hidden;
        background: #f5f5f7 !important;
    }

    /* Hide +/- controls on mobile */
    #calculatorModal .staff-unit-controls {
        display: none !important;
    }

    /* Image zone — white bg */
    #calculatorModal .staff-unit-hero {
        height: 80px !important;
        background: #fff !important;
        position: relative;
    }

    #calculatorModal .staff-unit-video {
        width: 85% !important;
        padding-top: 0 !important;
        top: 8px !important;
        height: calc(100% - 8px) !important;
        background: transparent !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }

    /* Label zone — same bg as card */
    #calculatorModal .staff-unit-body {
        background: #fff !important;
        padding: 6px 6px 8px !important;
        gap: 2px !important;
        margin-bottom: 0 !important;
        text-align: center;
    }

    #calculatorModal .staff-unit-title {
        font-size: 13px !important;
        font-weight: 700 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-bottom: 0 !important;
    }

    #calculatorModal .staff-unit-salary {
        font-size: 10px !important;
        line-height: 1.3 !important;
        margin-bottom: 0 !important;
    }

    #calculatorModal .staff-unit-salary small {
        font-size: 8px !important;
    }

    /* Count badge — gradient matching CTA button */
    #calculatorModal .staff-unit-card .calc-tap-badge {
        position: absolute;
        top: 6px;
        right: 6px;
        background-image: radial-gradient(64% 132% at 24% -16%, #6d6f73 0%, #04080d 96%);
        border: 1px solid #000;
        color: #fff;
        font-size: 10px;
        font-weight: 800;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 5;
        box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    }

    #calculatorModal .staff-unit-card:not(.is-active) .calc-tap-badge {
        display: none;
    }

    /* Hide the 3 KPI cards on mobile — info in table */
    .calc-summary-inline {
        display: none !important;
    }

    /* Sidebar comparison — compact inline below KPIs */
    .calc-comparison-card {
        padding: 10px 12px !important;
        border-radius: 12px !important;
    }

    .calc-comparison-title {
        font-size: 13px !important;
        margin-bottom: 6px !important;
    }

    .calc-cost-row {
        font-size: 12px !important;
        padding: 5px 0 !important;
    }

    .calc-savings-row {
        padding: 6px 8px !important;
        border-radius: 8px !important;
    }

    .calc-savings-value {
        font-size: 14px !important;
    }

    .calc-cta-btn {
        padding: 10px 14px !important;
        font-size: 13px !important;
        border-radius: 10px !important;
        margin-top: 8px !important;
    }

    .calc-disclaimer {
        font-size: 9px !important;
        margin-top: 6px !important;
    }

    /* ===== FIXED BOTTOM BAR MOBILE ===== */
    .fixed-bottom-bar .container {
        flex-direction: row;
        gap: 12px;
        padding-left: 16px;
        padding-right: 16px;
        max-width: 100%;
    }

    .fixed-bottom-bar-text {
        flex-direction: column;
        gap: 2px;
        align-items: flex-start;
    }

    .fixed-bottom-bar-text strong {
        font-size: 15px;
    }

    .fixed-bottom-bar-text span {
        font-size: 12px;
        display: none;
    }

    .fixed-bottom-bar-btn {
        font-size: 13px !important;
        padding: 6px 18px 5px !important;
    }

    /* ===== SIGNUP DRAWER — first screen fits viewport, form below ===== */
    .signup-drawer-shell {
        border-radius: 0;
        height: 100dvh !important;
        max-height: 100dvh !important;
    }

    .signup-drawer-topbar {
        min-height: auto !important;
        border-bottom: 1px solid #ececee;
    }

    .signup-drawer-topbar-inner {
        min-height: auto !important;
        padding: 10px 14px !important;
        margin: 0 !important;
        max-width: none !important;
    }

    .signup-drawer-topbar-copy {
        min-height: auto !important;
    }

    .signup-top-copy {
        position: static !important;
    }

    .signup-top-copy strong {
        font-size: 15px !important;
        font-weight: 700;
        letter-spacing: -0.5px;
        line-height: 1 !important;
    }

    .signup-top-copy span {
        display: none !important;
    }

    .signup-drawer-body {
        max-height: calc(100dvh - 44px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        padding: 8px 10px 10px !important;
        margin: 0 !important;
        max-width: none !important;
        grid-template-columns: 1fr;
    }


    /* Column gap between sections */
    .signup-offer-column {
        gap: 6px !important;
    }

    /* Staff selection card — flatten to match calculator layout */
    .drawer-selection-card {
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
        gap: 6px !important;
        border-radius: 0 !important;
    }

    .drawer-instruction {
        display: block !important;
    }

    /* Discipline cards — match calculator hero card style */
    .signup-drawer .staff-card-grid-calc {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .signup-drawer .staff-card-grid-calc .staff-unit-card {
        min-height: auto !important;
        border-radius: 12px !important;
        cursor: pointer;
        position: relative;
        overflow: hidden;
        background: #f5f5f7 !important;
    }

    .signup-drawer .staff-card-grid-calc .staff-unit-hero {
        height: 80px !important;
        background: #fff !important;
        position: relative;
    }

    .signup-drawer .staff-card-grid-calc .staff-unit-video {
        width: 85% !important;
        padding-top: 0 !important;
        top: 8px !important;
        height: calc(100% - 8px) !important;
        background: transparent !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }

    .signup-drawer .staff-card-grid-calc .staff-unit-body {
        background: #fff !important;
        padding: 6px 6px 8px !important;
        gap: 2px !important;
        margin-bottom: 0 !important;
        text-align: center;
    }

    .signup-drawer .staff-card-grid-calc .staff-unit-title {
        font-size: 13px !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        display: block !important;
    }


    /* Drawer comparison card — show as table style */
    .drawer-comparison-card {
        display: block !important;
    }

    /* Drawer tap badges — match calculator style */
    .drawer-tap-badge {
        position: absolute;
        top: 6px;
        right: 6px;
        background-image: radial-gradient(64% 132% at 24% -16%, #6d6f73 0%, #04080d 96%);
        border: 1px solid #000;
        color: #fff;
        font-size: 10px;
        font-weight: 800;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        display: none;
        align-items: center;
        justify-content: center;
        z-index: 5;
        box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    }

    .drawer-tap-badge.is-visible {
        display: flex;
    }

    /* Hide disclaimer on mobile */
    .signup-offer-column > .calc-disclaimer {
        display: none !important;
    }

    .signup-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .signup-form-grid label {
        font-size: 11px !important;
        gap: 4px !important;
    }

    .signup-form-grid input {
        font-size: 13px !important;
        padding: 8px 10px !important;
        min-width: 0 !important;
    }

    /* Price summary — 2×2 grid */
    .signup-price-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        padding: 8px !important;
        gap: 4px 8px !important;
        border-radius: 12px !important;
    }

    .signup-price-summary span {
        font-size: 9px !important;
        margin-bottom: 1px !important;
    }

    .signup-price-summary strong {
        font-size: 15px !important;
    }

    /* Checkout button compact — restore on mobile (hidden on desktop) */
    .signup-offer-column > .signup-checkout-btn {
        display: flex !important;
    }

    .signup-checkout-btn {
        padding: 10px 16px !important;
        font-size: 14px !important;
        border-radius: 12px !important;
        margin-top: 2px !important;
    }

    /* Meeting / form section — hidden by default, shown as step 2 */
    .signup-meeting-column {
        display: none !important;
    }

    /* When step 2 is active, show meeting and hide offer */
    .signup-drawer-body.drawer-step-2 .signup-meeting-column {
        display: flex !important;
    }

    .signup-drawer-body.drawer-step-2 .signup-offer-column {
        display: none !important;
    }

    /* Step 3: confirmation */
    .signup-confirm-column {
        display: none !important;
    }

    .signup-drawer-body.drawer-step-3 .signup-confirm-column {
        display: flex !important;
    }

    .signup-drawer-body.drawer-step-3 .signup-meeting-column,
    .signup-drawer-body.drawer-step-3 .signup-offer-column {
        display: none !important;
    }

    .meeting-confirm-panel {
        text-align: center;
        padding: 20px 0;
    }

    .confirm-icon {
        margin-bottom: 12px;
    }

    .confirm-title {
        font-size: 18px;
        font-weight: 700;
        color: #0f172a;
        margin: 0 0 4px;
        letter-spacing: -0.5px;
    }

    .confirm-subtitle {
        font-size: 13px;
        color: #6c7689;
        margin: 0 0 16px;
    }

    .confirm-details {
        background: #fff;
        border-radius: 12px;
        padding: 12px;
        text-align: left;
        margin-bottom: 16px;
        box-shadow: 0 1px 4px rgba(15,23,42,0.06);
    }

    .confirm-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 0;
        border-bottom: 1px solid #f0f0f2;
    }

    .confirm-row:last-child {
        border-bottom: none;
    }

    .confirm-row span {
        font-size: 13px;
        color: #6c7689;
    }

    .confirm-row strong {
        font-size: 13px;
        color: #0f172a;
        font-weight: 600;
    }

    .confirm-note {
        font-size: 12px;
        color: #94a3b8;
        margin: 0;
    }

    .meeting-panel {
        padding: 0 !important;
        border-radius: 0 !important;
        gap: 10px !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .meeting-slots {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .meeting-slot {
        padding: 8px !important;
        font-size: 13px !important;
        border-radius: 8px !important;
    }

    .offer-compare-grid {
        grid-template-columns: minmax(0, 1fr) 74px 74px;
        gap: 7px;
    }

    .offer-compare-item {
        font-size: 13px;
    }

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

    /* ===== P0 FIX: Marquee / "Digital Missions" pills overlap ===== */
    .marquees {
        position: relative !important;
        top: 0 !important;
        max-height: 160px;
        overflow: hidden;
    }

    .card-all-services {
        height: auto !important;
        overflow: hidden;
        padding-top: 20px !important;
    }

    .card-all-services .card-body {
        padding: 20px !important;
        position: relative;
        z-index: 2;
    }

    .marquee-1-element,
    .marquee-2-element,
    .marquee-3-element,
    .marquee-4-element {
        gap: 6px;
        margin-bottom: 8px;
        padding: 0 4px;
    }

    .service-pill {
        font-size: 11px !important;
        padding: 5px 14px 4px !important;
    }

    /* ===== P0 FIX: Enlist/Dispatch/Debrief hero images overlapping text ===== */
    .section-services .card {
        height: auto !important;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .section-services .card::before {
        display: none !important;
    }

    .img-enlist {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        margin: 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        display: block;
        z-index: 2;
    }

    .section-services .card {
        text-align: center;
    }

    .section-services .row {
        justify-content: center !important;
    }

    .img-dispatch {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        margin: 0 auto !important;
        max-width: 100% !important;
        width: auto !important;
        max-height: 220px;
        object-fit: contain;
        display: block;
        z-index: 2;
    }

    .section-services .card .card-body {
        padding: 24px 20px !important;
        position: relative;
        z-index: 3;
    }

    .section-services .card .card-body h4 {
        font-size: 28px;
    }

    /* ===== P0 FIX: Calculator/CTA card image overlap ===== */
    .img-pricing {
        position: absolute !important;
        top: -80px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%);
        width: 55% !important;
        height: initial !important;
        max-width: 240px;
        margin: 0 !important;
        display: block;
        animation: none !important;
        z-index: 10;
    }

    .section-cards .card {
        overflow: visible !important;
    }

    .section-cards .card {
        margin-bottom: 10px !important;
    }

    .section-cards .card .card-body {
        position: relative;
        z-index: 3;
    }

    /* Extra top padding on calculator card so hero image doesn't touch text */
    .section-cards .row.mt-10 .card .card-body {
        padding-top: 40px !important;
    }

    /* Match gaps between all cards in this section */
    .section-cards .row.mt-4 {
        margin-top: 0 !important;
    }
    .section-cards .row.mt-4 .col-xxl-6 {
        margin-bottom: 10px !important;
    }

    /* Calculator card: center content + add space for hero overflow */
    .section-cards .row.mt-10 .card {
        margin-top: 60px !important;
    }
    .section-cards .row.mt-10 .card .card-body {
        padding-top: 50px !important;
        text-align: center !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .section-cards .row.mt-10 .card .card-body .d-block {
        text-align: center !important;
    }
    .section-cards .row.mt-10 .card .card-body .d-flex {
        justify-content: center !important;
    }

    /* ===== P1 FIX: Stats section — 2x2 grid on mobile ===== */
    .stats-grid {
        margin-top: 1.5rem !important;
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .stats-grid .col-12 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        margin-bottom: 8px !important;
    }

    .stat-card {
        padding: 24px 16px !important;
        border-radius: 16px;
    }

    .stat-card h4 {
        font-size: 36px !important;
    }

    .stat-card p {
        font-size: 14px !important;
    }

    /* Counter divider — tighten on mobile */
    .counter-divider {
        margin-bottom: 0;
    }

    /* ===== P2 FIX: Section padding tighten ===== */
    .section-pricing {
        padding-top: 4rem !important;
        padding-bottom: 4rem !important;
    }
    .section-cards {
        padding-top: 6rem !important;
        padding-bottom: 4rem !important;
    }

    .mt-15 {
        margin-top: 4rem !important;
    }

    /* ===== P2 FIX: "comp-our-way" cards — tighten spacing on mobile ===== */
    .comp-our-way .card {
        width: 100% !important;
        margin: 12px auto !important;
    }

    .comp-our-way .card::before {
        height: 16px !important;
        top: -16px !important;
    }

    /* ===== Fix: Hide footer trust pills on mobile ===== */
    .footer-trust-pills {
        display: none !important;
    }

    /* ===== P2 FIX: Footer padding for sticky bar ===== */
    footer {
        padding-top: 3rem !important;
        padding-bottom: 80px !important;
    }

    /* ===== P2 FIX: Testimonial carousel spacing ===== */
    .tcard-carousel-wrap {
        margin-top: 1.5rem !important;
    }

    /* ===== P2 FIX: Logo strip sizing consistency ===== */
    .section-benefits .d-xxl-flex img,
    .section-hero .d-xxl-flex img {
        height: 16px !important;
        width: auto;
    }

    /* ===== ROUND 2: Stats still too spaced — tighter vertical rhythm ===== */
    .section-offer .row.mt-10.text-center {
        margin-top: 2rem !important;
    }

    .section-offer .row.mt-10.text-center .col-12 {
        margin-bottom: 0;
    }

    .section-offer .row.mt-10.text-center h3 {
        font-size: 28px !important;
        margin-top: 0.5rem !important;
    }

    .section-offer .row.mt-10.text-center p {
        margin-bottom: 0.25rem;
    }

    .stats-grid .stat-card {
        padding: 16px 12px !important;
    }

    .stats-grid .stat-card h4 {
        font-size: 30px !important;
        margin-bottom: 2px !important;
    }

    .stats-grid .stat-card p {
        font-size: 13px !important;
        margin-bottom: 0 !important;
    }

    /* ===== ROUND 2: Smart Way cards — tighter connector + less bottom gap ===== */
    .card-them {
        padding-bottom: 0 !important;
    }

    .card-them .card-body {
        padding-bottom: 16px !important;
    }

    .comp-our-way .card::before {
        height: 12px !important;
        top: -12px !important;
    }

    .comp-our-way .card {
        margin: 8px auto !important;
    }

    .comp-our-way .card .card-body {
        padding: 10px 12px !important;
    }

    .comp-our-way .card .card-body h6 {
        font-size: 13px !important;
        margin-bottom: 0 !important;
    }

    .comp-our-way .card .card-body p {
        font-size: 12px !important;
        margin-bottom: 0 !important;
    }

    /* ===== ROUND 2: Enlist/Dispatch/Debrief grey boxes removed ===== */

    .section-services .card .card-body {
        padding: 16px 20px 20px !important;
    }

    /* ===== ROUND 2: Marquee pills — prevent right-edge clipping ===== */
    .marquees {
        max-height: 140px;
    }

    .marquee-1,
    .marquee-2,
    .marquee-3,
    .marquee-4 {
        overflow: hidden !important;
    }

    /* ===== ROUND 2: Testimonial cards — 2-col grid inside container ===== */
    .tcard-carousel-wrap {
        gap: 0 !important;
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .tcard-arrow {
        display: none !important;
    }

    .tcard-carousel {
        overflow: visible !important;
    }

    /* Show all slides on mobile as static grid */
    .tcard-carousel-track .tcard-slide {
        display: block !important;
        margin-bottom: 10px !important;
    }

    .tcard-slide .tcard-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .card-testimonial {
        border-radius: 16px !important;
        min-height: 0 !important;
        padding: 10px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Only show first slide (4 cards) on mobile */
    .tcard-carousel-track .tcard-slide:nth-child(n+2) {
        display: none !important;
    }

    .card-testimonial .card-body {
        padding: 0 !important;
    }

    /* Shrink 3D icon in review cards on mobile */
    .card-testimonial model-viewer {
        width: 28px !important;
        height: 28px !important;
        margin-bottom: 8px !important;
    }

    .tcard-quote {
        font-size: 11px !important;
        line-height: 1.4 !important;
    }

    .tcard-name {
        font-size: 11px !important;
    }

    .tcard-role {
        font-size: 10px !important;
        margin-top: -5px;
    }

    .tcard-author {
        border-top: none;
        padding-top: 0;
        margin-top: 10px;
    }

    .tcard-arrow {
        width: 32px !important;
        height: 32px !important;
    }

    .tcard-arrow svg {
        width: 14px !important;
        height: 14px !important;
    }

    /* Hide dot nav on mobile since all cards visible */
    .tcard-dots {
        display: none !important;
    }

    /* ===== ROUND 2: Dark section — reduce empty black space above repeated stats ===== */
    .section-cards .row.text-center {
        margin-top: 2rem !important;
    }

    .section-cards .row.text-center .mt-5 {
        margin-top: 1.5rem !important;
    }

    .section-cards .counter-divider {
        margin-bottom: 0;
    }

    .section-cards .row.text-center h3 {
        font-size: 28px !important;
    }

    /* ===== Specialist cards — 2x2 grid, benefits card style ===== */
    .section-staff-seo {
        padding: 3rem 0 !important;
    }

    /* 2-col grid: merge both rows so 5 cards flow as [2,2,1] with no empty gap */
    .section-staff-seo .container {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .section-staff-seo .animation-header {
        flex: 0 0 100% !important;
        margin-bottom: 1.5rem !important;
        text-align: center !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .section-staff-seo .animation-header .col-12 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .staff-seo-grid {
        display: contents !important;
    }

    .staff-seo-grid > .col-12 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
        margin-bottom: 10px !important;
    }

    .staff-seo-card {
        padding: 20px 5px !important;
        min-height: 0 !important;
        width: 100% !important;
        position: relative !important;
        border-radius: 28px !important;
        text-align: center !important;
        background: #f2f2f4 !important;
    }

    .staff-seo-icon-3d {
        width: 48px !important;
        height: 48px !important;
        margin: 0 auto 10px auto !important;
        display: block !important;
    }

    .staff-seo-card h4 {
        font-size: 16px !important;
        margin-bottom: 6px !important;
        text-align: center !important;
    }

    .staff-seo-card p {
        font-size: 11px !important;
        margin-bottom: 0 !important;
        line-height: 1.4 !important;
        text-align: center !important;
    }

    /* Hide CTA text, show + button at top-right */
    .staff-seo-card span {
        position: absolute !important;
        right: 12px !important;
        top: 12px !important;
        margin-top: 0 !important;
        font-size: 0 !important;
        line-height: 0 !important;
        color: transparent !important;
        background: white !important;
        width: 24px !important;
        height: 24px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important;
        padding: 0 !important;
        gap: 0 !important;
        overflow: hidden !important;
    }

    .staff-seo-card span .cta-arrow {
        display: none !important;
    }

    .staff-seo-card span::after {
        content: '+' !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        font-size: 20px !important;
        font-weight: 500 !important;
        color: #10131a !important;
        line-height: 1 !important;
        text-indent: 0 !important;
        display: block !important;
        margin-top: -1px;
    }

    /* ===== ROUND 2: Remove empty whitespace below sticky bar / below footer ===== */
    .fixed-bottom-bar {
        z-index: 100;
    }

    body {
        padding-bottom: 0 !important;
    }

    /* ===== ROUND 2: Section-benefits (Built In Not Bolted On) — reduce padding ===== */
    .section-benefits {
        padding-top: 3rem !important;
        padding-bottom: 2rem !important;
    }

    /* ===== ROUND 2: Card benefit accordion items ===== */
    .card-benefit {
        height: auto !important;
        min-height: 0 !important;
    }

    /* ===== ROUND 2: Section-offer overall spacing ===== */
    .section-offer {
        padding-top: 1rem !important;
        padding-bottom: 2rem !important;
    }

    /* ===== ROUND 2: Enlist/Dispatch/Debrief section spacing ===== */
    .section-services {
        padding-top: 3rem !important;
        padding-bottom: 4rem !important;
        overflow: hidden;
    }

    .section-services .mt-15 {
        margin-top: 2rem !important;
    }

    /* ===== ROUND 3: Hero — fit & center in viewport (375×667) ===== */
    .section-hero {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        min-height: calc(100vh - 56px) !important; /* minus fixed bottom bar */
        min-height: calc(100dvh - 56px) !important;
        height: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .section-hero > .container {
        display: flex;
        flex-direction: column;
        justify-content: center;
        flex: 1;
    }

    /* Nav brand smaller on mobile to save space */
    .navbar-brand {
        font-size: 36px !important;
        letter-spacing: -2px !important;
    }

    .navbar-brand span {
        font-size: 11px !important;
        padding: 3px 8px 2px !important;
    }

    .navbar-primary {
        height: 50px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    .navbar-primary > .container,
    .navbar-dropdown > .container {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
    }

    /* Show social + contact icon groups on mobile navs */
    .nav-icons-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 2px;
        flex-wrap: nowrap !important;
        margin-left: auto !important;
        margin-top: 6px !important;
    }

    .nav-icons-wrapper > ul:not(.nav-contact-icons):not(.nav-social-icons) {
        display: none !important;
    }

    .nav-icons-wrapper .nav-social-icons,
    .nav-icons-wrapper .nav-contact-icons {
        display: flex !important;
        align-items: center !important;
        gap: 2px;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none;
        flex-wrap: nowrap !important;
    }

    .nav-icons-wrapper .nav-social-icons .nav-item,
    .nav-icons-wrapper .nav-contact-icons .nav-item {
        margin: 0 !important;
    }

    .nav-icons-wrapper .footer-social-icon {
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        background-image: none !important;
        background: none !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
    }

    /* Icon colors on mobile: keep white in dark circular icon buttons */
    .navbar-primary .nav-icons-wrapper svg {
        fill: #fff !important;
        width: 18px !important;
        height: 18px !important;
    }

    .navbar-dropdown .nav-icons-wrapper svg {
        fill: #fff !important;
        width: 18px !important;
        height: 18px !important;
    }

    .navbar-dropdown {
        height: 50px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        align-items: center !important;
    }

    /* Scale down video/image so hero fits in viewport */
    .section-hero video,
    .section-hero .animation-video video {
        width: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain;
        margin: 0 auto;
        display: block;
    }

    .section-hero .animation-video {
        margin-bottom: 0 !important;
    }

    /* Swap hero layout: text first → video → buttons */
    .section-hero .col-12.mx-auto.text-center {
        display: flex !important;
        flex-direction: column !important;
    }

    .section-hero .animation-hero {
        display: contents !important;
    }

    .section-hero .hero-seq-stars { order: 1 !important; }
    .section-hero h1.hero-seq-h1 { order: 2 !important; }
    .section-hero p.hero-seq-sub { order: 3 !important; }
    .section-hero .animation-video { order: 4 !important; }
    .section-hero .animation-hero > .row:first-of-type { order: 5 !important; }
    .section-hero .animation-hero > .row.mt-4 { order: 6 !important; }

    /* Star rating line — tighten */
    .section-hero .hero-seq-stars {
        margin-top: 4px !important;
        margin-bottom: 4px !important;
        font-size: 12px !important;
    }

    .section-hero .hero-seq-stars .svg-star,
    .section-hero .hero-seq-stars model-viewer {
        width: 18px !important;
        height: 18px !important;
    }

    /* Hero h1 — smaller for mobile viewport fit */
    .section-hero h1 {
        font-size: 26px !important;
        line-height: 30px !important;
        letter-spacing: -1.5px !important;
        margin-top: 0px !important;
        overflow-x: visible !important;
    }

    /* Fix "Reimagined!" baseline alignment with "Digital" */
    .section-hero h1 span {
        font-size: inherit !important;
        letter-spacing: inherit !important;
        bottom: 0 !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        vertical-align: baseline !important;
    }

    .section-hero h1 .hero-gradient-animated {
        padding-bottom: 4px !important;
        vertical-align: baseline !important;
        font-size: 36.25px !important;
        display: inline-block !important;
        line-height: 1.2 !important;
    }

    /* Hero subtitle */
    .section-hero .large {
        font-size: 14px !important;
        line-height: 1.4 !important;
        margin-top: -10px !important;
        margin-bottom: 0 !important;
    }

    /* Hero CTA buttons — stacked full-width */
    .section-hero .comp-hero-btns {
        margin-top: 0 !important;
        gap: 8px !important;
        grid-template-columns: 1fr !important;
    }

    .section-hero .comp-hero-btns a {
        height: 48px !important;
        min-height: 48px !important;
    }

    .section-hero .comp-hero-btns .hero-cta-btn {
        height: 48px !important;
        min-height: 48px !important;
        font-size: 15px !important;
        padding: 8px 16px 6px !important;
    }

    /* Remove vertical margin on second button */
    .section-hero .comp-hero-btns .mt-2 {
        margin-top: 0 !important;
    }

    /* Hide logos row in hero on mobile — reclaim space */
    .section-hero .hero-seq-logos {
        display: none !important;
    }

    .section-hero .row.mt-4 {
        display: none !important;
    }

    /* Hidden card in hero */
    .section-hero .card.d-none {
        display: none !important;
    }

    .section-hero .mb-5 {
        margin-bottom: 0 !important;
    }

    /* Mobile: section-about scrolls over fixed hero.
       margin-top: 100vh creates the viewport gap that shows the fixed hero.
       position: relative (no !important) so GSAP pin can override to fixed. */
    .section-about {
        margin-top: 100vh;
        height: 100vh;
        position: relative;
        z-index: 2;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: transparent !important;
    }

    .section-about .card-quote {
        opacity: 0;
    }

    .br-mobile { display: block !important; }

    h3 span span {
        letter-spacing: -1px;
    }

    /* ===== Mobile full-width carousel for .section-services ===== */
    .section-services .row.mt-15 {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 32px;
        gap: 0;
    }

    .section-services .row.mt-15::-webkit-scrollbar {
        display: none;
    }

    .section-services .row.mt-15 > .col-12 {
        flex: 0 0 85%;
        min-width: 85%;
        scroll-snap-align: center;
        padding: 0 8px;
    }

    .section-services .row.mt-15 > .col-12 .card {
        margin-bottom: 0 !important;
        box-shadow: 0 4px 24px rgba(0,0,0,0.08);
        background: #fff !important;
        padding-top: 20px !important;
        align-items: center;
        height: 100%;
    }

    .section-services .row.mt-15 > .col-12 .card .card-body {
        justify-content: center !important;
        align-items: center !important;
        text-align: center;
    }

    .section-services .row.mt-15 > .col-12 .card img {
        display: block;
        margin: 0 auto;
    }

    /* Dot indicators */
    .carousel-dots {
        display: flex;
        justify-content: center;
        gap: 8px;
        margin-top: 12px;
    }

    .carousel-dots .dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #ccc;
        transition: background 0.3s, transform 0.3s;
        cursor: pointer;
    }

    .carousel-dots .dot.active {
        background: #333;
        transform: scale(1.3);
    }
}

/* ===== Lock mobile layout through 1200px ===== */
@media (max-width: 1200px) {
    .container,
    .section > .container,
    .section > .container-xxl {
        max-width: 540px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Force single-column stacking like mobile */
    .comp-hero-btns {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    /* Override Bootstrap responsive columns to stay full-width */
    [class*="col-sm-"],
    [class*="col-md-"],
    [class*="col-lg-"],
    [class*="col-xl-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    /* Match mobile hero text sizing */
    .section-hero h1 {
        font-size: 26px !important;
        line-height: 30px !important;
        letter-spacing: -1.5px !important;
        margin-top: 0px !important;
        overflow-x: visible !important;
    }

    .section-hero h1 span {
        font-size: inherit !important;
        letter-spacing: inherit !important;
        bottom: 0 !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        vertical-align: baseline !important;
    }

    .section-hero h1 .hero-gradient-animated {
        padding-bottom: 4px !important;
        vertical-align: baseline !important;
        font-size: 36.25px !important;
        display: inline-block !important;
        line-height: 1.2 !important;
    }

    .section-hero .large {
        font-size: 14px !important;
    }

    /* Match mobile h2/h2 span sizing */
    h2 {
        font-size: 36px !important;
        line-height: 1.2 !important;
    }

    h2 span {
        font-size: inherit !important;
        letter-spacing: -2px !important;
        line-height: inherit !important;
    }

    /* Match mobile h3 sizing */
    h3 {
        font-size: 23px !important;
        letter-spacing: -0.8px !important;
        line-height: 1.2 !important;
    }

    /* Normalize heading rhythm on tablet/mobile and remove duplicate manual breaks */
    .section:not(.section-hero) h1,
    .section:not(.section-hero) h2,
    .section:not(.section-hero) h3 {
        line-height: 1.2 !important;
    }

    .section:not(.section-hero) h3 {
        line-height: 1.25 !important;
    }

    .section:not(.section-hero) h1 br.br-mobile + br,
    .section:not(.section-hero) h2 br.br-mobile + br,
    .section:not(.section-hero) h3 br.br-mobile + br {
        display: none !important;
    }

    /* Match mobile scroll-word letter-spacing */
    .scroll-word {
        letter-spacing: -1px !important;
    }

    /* Match mobile navbar layout: logo left, icons right */
    .navbar-primary > .container,
    .navbar-dropdown > .container {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
    }

    /* Show social + contact icon groups on mobile navs */
    .nav-icons-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 2px;
        flex-wrap: nowrap !important;
        margin-left: auto !important;
        margin-top: 6px !important;
    }

    .nav-icons-wrapper > ul:not(.nav-contact-icons):not(.nav-social-icons) {
        display: none !important;
    }

    .nav-icons-wrapper .nav-social-icons,
    .nav-icons-wrapper .nav-contact-icons {
        display: flex !important;
        align-items: center !important;
        gap: 2px;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none;
        flex-wrap: nowrap !important;
    }

    .nav-icons-wrapper .nav-social-icons .nav-item,
    .nav-icons-wrapper .nav-contact-icons .nav-item {
        margin: 0 !important;
    }

    .nav-icons-wrapper .footer-social-icon {
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        background-image: none !important;
        background: none !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
    }

    .navbar-primary .nav-icons-wrapper svg {
        fill: #fff !important;
        width: 18px !important;
        height: 18px !important;
    }

    .navbar-dropdown .nav-icons-wrapper svg {
        fill: #fff !important;
        width: 18px !important;
        height: 18px !important;
    }

    /* Authoritative container lock for tablet/mobile band */
    .container,
    .section > .container,
    .section > .container-xxl {
        width: 100% !important;
        max-width: 540px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }

    /* Services section containment */
    .section-services .row.mt-15 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        overflow: visible !important;
        scroll-snap-type: none !important;
        padding-bottom: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        --bs-gutter-x: 0 !important;
    }

    .section-services .row.mt-15 > .col-12 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
    }

    .carousel-dots {
        display: none !important;
    }

    .section-services .card {
        text-align: center;
        height: auto !important;
        overflow: hidden !important;
        position: relative !important;
    }

    .section-services .card::before {
        display: block !important;
        height: 316px !important;
        top: 0 !important;
    }

    .img-enlist,
    .img-dispatch,
    .img-debrief {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        transform: none !important;
        margin: 16px auto 0 !important;
        width: min(100%, 340px) !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 280px !important;
        object-fit: contain !important;
        display: block !important;
        z-index: 2 !important;
    }

    .section-services .card .card-body {
        padding: 20px 20px 24px !important;
        justify-content: center !important;
        align-items: flex-end !important;
        text-align: center !important;
        position: relative !important;
        z-index: 3 !important;
    }

    .section-services .card .card-body .d-block {
        margin: 0 auto !important;
        max-width: 460px !important;
    }

    /* Cards section containment */
    .img-pricing {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        transform: none !important;
        width: min(100%, 360px) !important;
        max-width: 100% !important;
        max-height: 280px !important;
        height: auto !important;
        margin: 12px auto 0 !important;
        display: block !important;
        animation: none !important;
    }

    .section-cards .row.mt-10 .card {
        margin-top: 0 !important;
        overflow: hidden !important;
    }

    .section-cards .row.mt-10 .card .card-body {
        padding-top: 20px !important;
        text-align: center !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .section-cards .row.mt-10 .card .card-body p.small {
        margin-bottom: 0 !important;
    }

    .section-cards .row.mt-10 .card .card-body .d-block.mt-4 {
        margin-top: 20px !important;
    }

    .section-cards .card .card-body .d-block {
        margin: 0 auto !important;
        max-width: 460px !important;
    }

    /* Benefits section stability */
    .section-benefits .comp-benefits {
        display: flex !important;
        flex-wrap: wrap !important;
        margin-left: -6px !important;
        margin-right: -6px !important;
    }

    .section-benefits .comp-benefits > [class*="col-"] {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
        margin-bottom: 12px !important;
        display: flex !important;
    }

    .section-benefits .row > [class*="col-"] {
        opacity: 1 !important;
        filter: none !important;
    }

    .section-benefits .card {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        overflow: hidden !important;
        display: flex !important;
        align-items: stretch !important;
        padding: 14px 10px 12px !important;
    }

    .section-benefits .card .card-body {
        width: 100% !important;
        padding: 0 !important;
        display: flex !important;
        align-items: stretch !important;
    }

    .section-benefits .card .card-body > .d-block {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 4px 8px 6px !important;
        text-align: center !important;
    }

    .section-benefits .card h4 {
        margin-top: 8px !important;
        margin-bottom: 10px !important;
    }

    .section-benefits .card p.mb-5 {
        margin-bottom: 0 !important;
        line-height: 1.35 !important;
    }

    .section-benefits .benefit-expand-btn {
        position: absolute !important;
        top: 10px !important;
        right: 10px !important;
        bottom: auto !important;
    }

    /* Specialist section: restore mobile 2-up card pattern with circular + action */
    .section-staff-seo .container {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .section-staff-seo .animation-header {
        flex: 0 0 100% !important;
        margin-bottom: 1.5rem !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: center !important;
    }

    .section-staff-seo .row.staff-seo-grid {
        display: contents !important;
    }

    .staff-seo-grid > .col-12 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
        margin-bottom: 12px !important;
        display: flex !important;
    }

    .staff-seo-card {
        width: 100% !important;
        min-height: 230px !important;
        padding: 20px 10px !important;
        position: relative !important;
        text-align: center !important;
        background: #f2f2f4 !important;
        border-radius: 28px !important;
    }

    .staff-seo-icon-3d {
        width: 48px !important;
        height: 48px !important;
        margin: 0 auto 10px !important;
        display: block !important;
    }

    .staff-seo-card h4 {
        font-size: 16px !important;
        margin-bottom: 6px !important;
    }

    .staff-seo-card p {
        font-size: 11px !important;
        line-height: 1.4 !important;
        margin-bottom: 0 !important;
    }

    .staff-seo-card span {
        position: absolute !important;
        right: 12px !important;
        top: 12px !important;
        margin-top: 0 !important;
        font-size: 0 !important;
        line-height: 0 !important;
        color: transparent !important;
        background: #fff !important;
        width: 24px !important;
        height: 24px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
        padding: 0 !important;
        gap: 0 !important;
        overflow: hidden !important;
    }

    .staff-seo-card span .cta-arrow {
        display: none !important;
    }

    .staff-seo-card span::after {
        content: '+' !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        font-size: 20px !important;
        font-weight: 500 !important;
        color: #10131a !important;
        line-height: 1 !important;
        display: block !important;
        margin-top: -1px !important;
    }

    /* Footer layout containment */
    .site-footer .footer-info-row > [class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 18px !important;
    }

    .site-footer .footer-info-row > [class*="col-"]:last-child {
        margin-bottom: 0 !important;
    }

    .site-footer .footer-info-row > .col-12.col-md-4:empty {
        display: none !important;
    }

    .site-footer .footer-legal-row > [class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .site-footer {
        padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
    }
}
