/* WISP_MOBILE_SPLIT_V1_START
   Dedicated mobile stylesheet.
   Loaded only for max-width: 900px.
   Desktop remains controlled by wisp-site.css.
*/

html,
body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

body {
    min-width: 0 !important;
}

img,
svg,
video,
canvas {
    max-width: 100% !important;
}

main,
.wisp-home {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

.container,
.wisp-home-container {
    width: calc(100% - 28px) !important;
    max-width: 430px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
}

/* Header */
.site-header {
    position: fixed !important;
    top: 8px !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    max-width: calc(100% - 20px) !important;
    z-index: 1000 !important;
    overflow: hidden !important;
    border-radius: 0 0 22px 22px !important;
}

.site-header .container.nav {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 56px !important;
    padding: 8px 10px !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 8px !important;
}

.site-header .menu {
    display: none !important;
}

.site-header .brand {
    grid-column: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    min-width: 42px !important;
    position: static !important;
    transform: none !important;
}

.site-header .brand img {
    width: auto !important;
    height: 38px !important;
    max-width: 82px !important;
    display: block !important;
    object-fit: contain !important;
}

.site-header .header-actions-group {
    grid-column: 1 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    min-width: 0 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
}

html[dir="ltr"] .site-header .container.nav {
    grid-template-columns: auto 1fr !important;
}

html[dir="ltr"] .site-header .brand {
    grid-column: 1 !important;
}

html[dir="ltr"] .site-header .header-actions-group {
    grid-column: 2 !important;
    justify-content: flex-end !important;
}

.site-header .header-quote-action,
.site-header .header-action {
    min-height: 38px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    margin: 0 !important;
}

/* Hero */
.wisp-home #home-top.wisp-home-hero,
.wisp-home #home-top.wisp-home-hero-slider {
    min-height: auto !important;
    padding: 88px 0 30px !important;
    overflow: hidden !important;
    display: block !important;
}

.wisp-home #home-top .wisp-home-hero-bg,
.wisp-home #home-top .wisp-home-hero-bg-layer {
    overflow: hidden !important;
}

.wisp-home #home-top .wisp-home-hero-bg {
    background-size: cover !important;
    background-position: center top !important;
}

.wisp-home #home-top .wisp-hero-grid {
    width: calc(100% - 28px) !important;
    max-width: 430px !important;
    min-height: auto !important;
    margin: 0 auto !important;
    display: block !important;
    position: relative !important;
    z-index: 3 !important;
}

.wisp-home #home-top .wisp-hero-copy-stack {
    width: 100% !important;
    min-height: 0 !important;
    display: block !important;
}

.wisp-home #home-top .wisp-hero-copy-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: none !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    opacity: 0 !important;
    text-align: center !important;
}

.wisp-home #home-top .wisp-hero-copy-panel.is-active {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.wisp-home #home-top .wisp-hero-copy-panel h1 {
    max-width: 100% !important;
    margin: 0 auto 12px !important;
    font-size: clamp(28px, 8vw, 40px) !important;
    line-height: 1.18 !important;
    text-align: center !important;
}

.wisp-home #home-top .wisp-hero-copy-panel p {
    max-width: 92% !important;
    margin: 0 auto 16px !important;
    font-size: 14px !important;
    line-height: 1.85 !important;
    text-align: center !important;
}

.wisp-home #home-top .wisp-home-actions {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 auto !important;
}

.wisp-home #home-top .wisp-home-actions .wisp-btn {
    min-height: 36px !important;
    padding: 8px 14px !important;
    font-size: 13px !important;
}

/* Stats */
.wisp-home #home-stats {
    padding: 0 0 28px !important;
    margin: -8px 0 0 !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 5 !important;
}

.wisp-home #home-stats .wisp-stats-grid,
.wisp-home #home-stats .wisp-stats-grid-final {
    width: calc(100% - 28px) !important;
    max-width: 390px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.wisp-home #home-stats .wisp-stat-card {
    min-width: 0 !important;
    min-height: 88px !important;
    padding: 14px 10px !important;
    border-radius: 18px !important;
    text-align: center !important;
}

.wisp-home #home-stats .wisp-stat-label {
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.wisp-home #home-stats .wisp-stat-value {
    font-size: 22px !important;
    line-height: 1.2 !important;
}

/* Shared sections */
.wisp-home .wisp-home-section {
    padding-block: 34px !important;
    overflow: hidden !important;
}

.wisp-home .wisp-section-head,
.wisp-home .wisp-section-head-action {
    width: calc(100% - 28px) !important;
    max-width: 430px !important;
    margin-inline: auto !important;
    text-align: center !important;
    align-items: center !important;
    justify-content: center !important;
}

.wisp-home .wisp-section-head h2 {
    text-align: center !important;
}

/* About */
.wisp-home #home-about .wisp-intro-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
}

.wisp-home #home-about .wisp-section-copy {
    text-align: center !important;
    order: 1 !important;
}

.wisp-home #home-about .wisp-intro-image {
    order: 2 !important;
}

/* News */
.wisp-home #home-news .wisp-news-grid {
    width: calc(100% - 28px) !important;
    max-width: 430px !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
}

.wisp-home #home-news .wisp-news-card {
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
}

.wisp-home #home-news .wisp-news-image.has-image {
    height: 178px !important;
    min-height: 178px !important;
    flex-basis: 178px !important;
}

/* Sectors */
.wisp-home #home-sectors .wisp-sector-grid {
    width: calc(100% - 28px) !important;
    max-width: 430px !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}

.wisp-home #home-sectors .wisp-sector-card {
    width: 100% !important;
    text-align: center !important;
}

/* Clients */
.wisp-home #home-clients {
    overflow: hidden !important;
}

.wisp-home #home-clients .wisp-client-logo-marquee,
.wisp-home #home-clients .wisp-loop-clients {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 24px !important;
}

.wisp-home #home-clients .wisp-client-logo-img,
.wisp-home #home-clients img {
    max-height: 54px !important;
    object-fit: contain !important;
}

/* Business */
.wisp-home #home-business .wisp-home-business-options-grid,
.wisp-home #home-business .wisp-business-options-grid,
.wisp-home #home-business .wisp-business-grid {
    width: calc(100% - 28px) !important;
    max-width: 430px !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}

.wisp-home #home-business .wisp-home-business-option-card {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
}

/* Contact */
.wisp-home #home-contact-form .wisp-contact-card,
.wisp-home #home-contact-form .wisp-contact-grid,
.wisp-home #home-contact-form .wisp-contact-shell {
    width: calc(100% - 28px) !important;
    max-width: 430px !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
}

.wisp-home #home-contact-form input,
.wisp-home #home-contact-form textarea {
    width: 100% !important;
    max-width: 100% !important;
}

/* Footer */
.wisp-main-footer {
    padding: 40px 0 22px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
}

.wisp-main-footer .wisp-footer-container {
    width: calc(100% - 32px) !important;
    max-width: 430px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 26px 18px !important;
    align-items: start !important;
    justify-items: center !important;
    text-align: center !important;
}

.wisp-main-footer .wisp-footer-brand {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 360px !important;
    order: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    min-width: 0 !important;
    position: static !important;
    transform: none !important;
}

.wisp-main-footer .wisp-footer-logo {
    width: auto !important;
    max-width: 104px !important;
    height: auto !important;
    max-height: 82px !important;
    margin: 0 auto 12px !important;
    display: block !important;
    object-fit: contain !important;
    position: static !important;
    transform: none !important;
}

.wisp-main-footer .wisp-footer-brand p {
    max-width: 320px !important;
    margin: 0 auto 12px !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
}

.wisp-main-footer .wisp-footer-registration {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
    text-align: center !important;
}

.wisp-main-footer .wisp-footer-links {
    width: 100% !important;
    max-width: 160px !important;
    order: 2 !important;
    display: grid !important;
    gap: 8px !important;
    justify-items: center !important;
    text-align: center !important;
    margin: 0 auto !important;
    position: static !important;
    transform: none !important;
}

.wisp-main-footer .wisp-footer-links h3 {
    margin: 0 0 4px !important;
    font-size: 17px !important;
    text-align: center !important;
}

.wisp-main-footer .wisp-footer-links a {
    display: inline-block !important;
    line-height: 1.8 !important;
    text-align: center !important;
    font-size: 14px !important;
}

.wisp-main-footer .wisp-footer-bottom {
    width: calc(100% - 32px) !important;
    max-width: 430px !important;
    margin: 26px auto 0 !important;
    padding-top: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 1.8 !important;
}

/* Landscape */
@media (orientation: landscape) and (max-width: 900px) {
    .site-header {
        top: 6px !important;
    }

    .site-header .container.nav {
        min-height: 48px !important;
        padding: 6px 12px !important;
    }

    .site-header .brand img {
        height: 34px !important;
    }

    .wisp-home #home-top.wisp-home-hero,
    .wisp-home #home-top.wisp-home-hero-slider {
        padding-top: 62px !important;
        padding-bottom: 24px !important;
    }

    .wisp-home #home-stats .wisp-stats-grid,
    .wisp-home #home-stats .wisp-stats-grid-final {
        max-width: 760px !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .wisp-main-footer .wisp-footer-container {
        max-width: 760px !important;
        grid-template-columns: minmax(240px, 1.2fr) repeat(2, minmax(140px, .8fr)) !important;
    }

    .wisp-main-footer .wisp-footer-brand {
        grid-column: auto !important;
    }
}

/* WISP_MOBILE_SPLIT_V1_END */


/* WISP_MOBILE_STEP1_HEADER_STATS_START
   Step 1 only:
   - Mobile header visual order: logo right, language next, quote button after.
   - Add navy separator after stats before About.
   - No desktop changes.
*/

/* Header ordering on mobile */
@media (max-width: 900px) {
    .site-header .container.nav {
        display: flex !important;
        flex-direction: row !important;
        direction: rtl !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
    }

    html[dir="ltr"] .site-header .container.nav {
        direction: ltr !important;
    }

    .site-header .menu {
        display: none !important;
    }

    .site-header .brand {
        order: 1 !important;
        flex: 0 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        position: static !important;
        transform: none !important;
    }

    .site-header .brand img {
        display: block !important;
        width: auto !important;
        height: 40px !important;
        max-width: 88px !important;
        object-fit: contain !important;
    }

    .site-header .header-actions-group {
        order: 2 !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        direction: rtl !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        margin: 0 !important;
        position: static !important;
        transform: none !important;
    }

    html[dir="ltr"] .site-header .header-actions-group {
        direction: ltr !important;
    }

    .site-header .header-actions-group > * {
        flex: 0 0 auto !important;
    }

    .site-header .language-switcher,
    .site-header .language-switcher a,
    .site-header .header-action:not(.header-quote-action) {
        order: 1 !important;
    }

    .site-header .header-quote-action {
        order: 2 !important;
    }

    .site-header .header-quote-action,
    .site-header .header-action,
    .site-header .language-switcher a {
        min-height: 38px !important;
        padding: 8px 12px !important;
        border-radius: 999px !important;
        font-size: 12px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }
}

/* Navy separator between stats and About */
@media (max-width: 900px) {
    .wisp-home #home-stats {
        position: relative !important;
        padding-bottom: 34px !important;
        margin-bottom: 0 !important;
        overflow: visible !important;
    }

    .wisp-home #home-stats::after {
        content: "" !important;
        display: block !important;
        width: min(calc(100% - 56px), 240px) !important;
        height: 6px !important;
        margin: 24px auto 0 !important;
        border-radius: 999px !important;
        background: #0B2F3D !important;
        box-shadow: 0 8px 18px rgba(11, 47, 61, .16) !important;
    }

    .wisp-home #home-about {
        margin-top: 0 !important;
    }
}

/* WISP_MOBILE_STEP1_HEADER_STATS_END */


/* WISP_MOBILE_STEP2_HEADER_HERO_STATS_START
   Mobile only:
   1) Full-width header.
   2) Right: Feather menu button + logo.
   3) Left: language + quote button.
   4) Push hero text down from header.
   5) Push stats slightly down.
   6) Remove large navy space under stats.
*/

@media (max-width: 900px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* Full mobile header */
    .site-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        z-index: 1000 !important;
        border-radius: 0 !important;
        overflow: visible !important;
        background: rgba(248, 245, 239, .96) !important;
        box-shadow: 0 10px 28px rgba(44, 80, 103, .10) !important;
        backdrop-filter: blur(12px) !important;
    }

    .site-header .container.nav {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 68px !important;
        margin: 0 !important;
        padding: 8px 14px !important;
        display: flex !important;
        flex-direction: row !important;
        direction: rtl !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
    }

    html[dir="ltr"] .site-header .container.nav {
        direction: ltr !important;
    }

    .site-header .menu {
        display: none !important;
    }

    /* Right side: Feather menu + logo */
    .site-header .wisp-mobile-menu-button {
        order: 1 !important;
        flex: 0 0 42px !important;
        width: 42px !important;
        height: 42px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(184, 139, 74, .24) !important;
        border-radius: 14px !important;
        background: #0B2F3D !important;
        color: #DDB669 !important;
        box-shadow: 0 8px 18px rgba(11, 47, 61, .12) !important;
        cursor: pointer !important;
    }

    .site-header .wisp-mobile-menu-button svg {
        width: 23px !important;
        height: 23px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 2 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        display: block !important;
    }

    .site-header .brand {
        order: 2 !important;
        flex: 0 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        min-width: 58px !important;
        position: static !important;
        transform: none !important;
    }

    .site-header .brand img {
        width: auto !important;
        height: 44px !important;
        max-width: 92px !important;
        object-fit: contain !important;
        display: block !important;
    }

    /* Left side: language + quote */
    .site-header .header-actions-group {
        order: 3 !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        direction: ltr !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
        transform: none !important;
    }

    html[dir="ltr"] .site-header .header-actions-group {
        justify-content: flex-end !important;
    }

    .site-header .header-actions-group > * {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    .site-header .language-switcher,
    .site-header .header-action:not(.header-quote-action) {
        order: 1 !important;
    }

    .site-header .header-quote-action {
        order: 2 !important;
    }

    .site-header .header-quote-action,
    .site-header .header-action,
    .site-header .language-switcher a {
        min-height: 38px !important;
        padding: 8px 12px !important;
        border-radius: 999px !important;
        font-size: 12px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }

    @media (max-width: 390px) {
        .site-header .container.nav {
            padding-inline: 10px !important;
            gap: 7px !important;
        }

        .site-header .wisp-mobile-menu-button {
            width: 39px !important;
            height: 39px !important;
            flex-basis: 39px !important;
        }

        .site-header .brand img {
            height: 39px !important;
            max-width: 78px !important;
        }

        .site-header .header-quote-action,
        .site-header .header-action,
        .site-header .language-switcher a {
            min-height: 34px !important;
            padding: 7px 9px !important;
            font-size: 11px !important;
        }
    }

    /* Hero text down from header */
    .wisp-home #home-top.wisp-home-hero,
    .wisp-home #home-top.wisp-home-hero-slider {
        padding-top: 118px !important;
        padding-bottom: 34px !important;
        min-height: auto !important;
        overflow: hidden !important;
    }

    .wisp-home #home-top .wisp-hero-copy-panel h1 {
        margin-top: 8px !important;
    }

    .wisp-home #home-top .wisp-hero-copy-panel p {
        margin-top: 4px !important;
    }

    /* Stats lower and no navy block */
    .wisp-home #home-stats {
        margin: 14px 0 0 !important;
        padding: 0 0 28px !important;
        background: transparent !important;
        background-color: transparent !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 5 !important;
    }

    .wisp-home #home-stats::before {
        content: none !important;
        display: none !important;
    }

    .wisp-home #home-stats::after {
        content: "" !important;
        display: block !important;
        width: min(calc(100% - 72px), 210px) !important;
        height: 4px !important;
        margin: 22px auto 0 !important;
        border-radius: 999px !important;
        background: #0B2F3D !important;
        box-shadow: none !important;
    }

    .wisp-home #home-stats .wisp-stats-grid,
    .wisp-home #home-stats .wisp-stats-grid-final {
        background: transparent !important;
    }

    .wisp-home #home-about {
        margin-top: 0 !important;
    }
}

/* WISP_MOBILE_STEP2_HEADER_HERO_STATS_END */


/* WISP_MOBILE_STEP3_MENU_ORDER_STATS_START
   Mobile only final correction for current issue:
   - Full header with right menu + logo.
   - Left actions order in RTL: language first then quote.
   - Menu button opens a dropdown menu via body.wisp-mobile-menu-open.
   - Push hero and stats down.
   - Remove navy block/line under stats.
*/

@media (max-width: 900px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .site-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        z-index: 1000 !important;
        overflow: visible !important;
        border-radius: 0 !important;
        background: rgba(248,245,239,.97) !important;
        box-shadow: 0 10px 26px rgba(44,80,103,.10) !important;
        backdrop-filter: blur(12px) !important;
    }

    .site-header .container.nav {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 68px !important;
        margin: 0 !important;
        padding: 8px 14px !important;
        display: grid !important;
        grid-template-columns: auto auto minmax(0, 1fr) !important;
        grid-template-areas: "menu logo actions" !important;
        direction: rtl !important;
        align-items: center !important;
        gap: 10px !important;
    }

    html[dir="ltr"] .site-header .container.nav {
        direction: ltr !important;
        grid-template-columns: auto auto minmax(0, 1fr) !important;
        grid-template-areas: "menu logo actions" !important;
    }

    .site-header .wisp-mobile-menu-button {
        grid-area: menu !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(221,182,105,.32) !important;
        border-radius: 14px !important;
        background: #0B2F3D !important;
        color: #DDB669 !important;
        box-shadow: 0 8px 18px rgba(11,47,61,.12) !important;
        cursor: pointer !important;
    }

    .site-header .wisp-mobile-menu-button svg {
        width: 23px !important;
        height: 23px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 2.2 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        display: block !important;
    }

    .site-header .brand {
        grid-area: logo !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
        transform: none !important;
        min-width: 54px !important;
    }

    .site-header .brand img {
        display: block !important;
        height: 44px !important;
        width: auto !important;
        max-width: 92px !important;
        object-fit: contain !important;
    }

    .site-header .header-actions-group {
        grid-area: actions !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        direction: rtl !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
        transform: none !important;
    }

    html[dir="ltr"] .site-header .header-actions-group {
        direction: ltr !important;
        justify-content: flex-end !important;
    }

    .site-header .header-actions-group > * {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    /* Current DOM: quote comes before language.
       CSS makes language appear first in RTL visual order. */
    .site-header .header-actions-group a[data-wisp-language-link="1"],
    .site-header .header-actions-group .header-action[data-wisp-language-link="1"] {
        order: 1 !important;
    }

    .site-header .header-actions-group .header-quote-action {
        order: 2 !important;
    }

    .site-header .header-quote-action,
    .site-header .header-action,
    .site-header .language-switcher a {
        min-height: 38px !important;
        padding: 8px 12px !important;
        border-radius: 999px !important;
        font-size: 12px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }

    @media (max-width: 390px) {
        .site-header .container.nav {
            padding-inline: 10px !important;
            grid-template-columns: 39px 48px minmax(0,1fr) !important;
            gap: 7px !important;
        }

        .site-header .wisp-mobile-menu-button {
            width: 39px !important;
            height: 39px !important;
            min-width: 39px !important;
        }

        .site-header .brand img {
            height: 39px !important;
            max-width: 78px !important;
        }

        .site-header .header-quote-action,
        .site-header .header-action,
        .site-header .language-switcher a {
            min-height: 34px !important;
            padding: 7px 9px !important;
            font-size: 11px !important;
        }
    }

    /* Mobile dropdown menu */
    .site-header .menu {
        display: none !important;
        position: absolute !important;
        top: calc(100% + 8px) !important;
        right: 14px !important;
        left: 14px !important;
        width: auto !important;
        max-width: none !important;
        padding: 12px !important;
        border: 1px solid rgba(44,80,103,.10) !important;
        border-radius: 18px !important;
        background: rgba(255,255,255,.98) !important;
        box-shadow: 0 18px 42px rgba(11,47,61,.18) !important;
        z-index: 1001 !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        text-align: right !important;
    }

    body.wisp-mobile-menu-open .site-header .menu {
        display: grid !important;
    }

    .site-header .menu a {
        display: block !important;
        width: 100% !important;
        padding: 11px 12px !important;
        border-radius: 12px !important;
        color: #0B2F3D !important;
        background: transparent !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        text-decoration: none !important;
    }

    .site-header .menu a:hover,
    .site-header .menu a:focus {
        background: rgba(221,182,105,.16) !important;
        color: #0B2F3D !important;
    }

    /* Hero down from fixed header */
    .wisp-home #home-top.wisp-home-hero,
    .wisp-home #home-top.wisp-home-hero-slider {
        padding-top: 132px !important;
        padding-bottom: 46px !important;
        min-height: auto !important;
        overflow: hidden !important;
    }

    .wisp-home #home-top .wisp-hero-grid {
        position: relative !important;
        z-index: 3 !important;
    }

    .wisp-home #home-top .wisp-hero-copy-panel h1 {
        margin-top: 12px !important;
    }

    /* Stats lower + remove navy background/line */
    .wisp-home #home-stats {
        margin: 30px 0 0 !important;
        padding: 0 0 22px !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 5 !important;
    }

    .wisp-home #home-stats::before,
    .wisp-home #home-stats::after,
    .wisp-home #home-stats .wisp-stats-grid::before,
    .wisp-home #home-stats .wisp-stats-grid::after,
    .wisp-home #home-stats .wisp-stats-grid-final::before,
    .wisp-home #home-stats .wisp-stats-grid-final::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
        background-image: none !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .wisp-home #home-stats .wisp-stats-grid,
    .wisp-home #home-stats .wisp-stats-grid-final {
        margin-top: 0 !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    .wisp-home #home-stats .wisp-stat-card {
        background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(250,247,240,.96)) !important;
        background-color: #ffffff !important;
        background-image: linear-gradient(180deg, rgba(255,255,255,.94), rgba(250,247,240,.96)) !important;
    }

    .wisp-home #home-stats .wisp-stat-card::before,
    .wisp-home #home-stats .wisp-stat-card::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
        background-image: none !important;
    }

    .wisp-home #home-stats .wisp-hero-slide-dots-wrap,
    .wisp-home #home-stats [data-wisp-hero-dots] {
        margin-top: 14px !important;
        padding: 0 !important;
        background: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
        position: relative !important;
        z-index: 8 !important;
    }

    .wisp-home #home-about {
        margin-top: 0 !important;
        padding-top: 30px !important;
        background: #ffffff !important;
        position: relative !important;
        z-index: 6 !important;
    }
}

/* WISP_MOBILE_STEP3_MENU_ORDER_STATS_END */


/* WISP_MOBILE_STEP4_HEADER_STATS_FINAL_START
   Mobile only:
   - Header full width.
   - Right: menu + logo.
   - Left: language then quote.
   - Hero has enough height/space.
   - Stats move below hero button.
   - Remove navy background/empty strip under stats.
*/

@media (max-width: 900px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    body {
        background: #fff !important;
    }

    .site-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        border-radius: 0 !important;
        overflow: visible !important;
        z-index: 1000 !important;
        background: rgba(248,245,239,.97) !important;
        box-shadow: 0 10px 26px rgba(44,80,103,.10) !important;
        backdrop-filter: blur(12px) !important;
    }

    .site-header .container.nav {
        width: 100% !important;
        max-width: none !important;
        min-height: 68px !important;
        margin: 0 !important;
        padding: 8px 14px !important;
        display: flex !important;
        flex-direction: row !important;
        direction: rtl !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        overflow: visible !important;
    }

    html[dir="ltr"] .site-header .container.nav {
        direction: ltr !important;
    }

    .site-header .wisp-mobile-menu-button {
        order: 1 !important;
        flex: 0 0 42px !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(221,182,105,.32) !important;
        border-radius: 14px !important;
        background: #0B2F3D !important;
        color: #DDB669 !important;
        box-shadow: 0 8px 18px rgba(11,47,61,.12) !important;
        cursor: pointer !important;
    }

    .site-header .wisp-mobile-menu-button svg {
        width: 23px !important;
        height: 23px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 2.2 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        display: block !important;
    }

    .site-header .brand {
        order: 2 !important;
        flex: 0 0 auto !important;
        min-width: 54px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: static !important;
        transform: none !important;
    }

    .site-header .brand img {
        display: block !important;
        height: 44px !important;
        width: auto !important;
        max-width: 92px !important;
        object-fit: contain !important;
    }

    .site-header .header-actions-group {
        order: 3 !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        margin-right: auto !important;
        margin-left: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        direction: ltr !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        position: static !important;
        transform: none !important;
    }

    html[dir="ltr"] .site-header .header-actions-group {
        margin-left: auto !important;
        margin-right: 0 !important;
        direction: ltr !important;
    }

    .site-header .header-actions-group > * {
        flex: 0 0 auto !important;
        margin: 0 !important;
    }

    .site-header .header-actions-group a[data-wisp-language-link="1"],
    .site-header .header-actions-group .header-action[data-wisp-language-link="1"] {
        order: 1 !important;
    }

    .site-header .header-actions-group .header-quote-action {
        order: 2 !important;
    }

    .site-header .header-quote-action,
    .site-header .header-action,
    .site-header .language-switcher a {
        min-height: 38px !important;
        padding: 8px 12px !important;
        border-radius: 999px !important;
        font-size: 12px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }

    .site-header .menu {
        display: none !important;
        position: absolute !important;
        top: calc(100% + 8px) !important;
        right: 14px !important;
        left: 14px !important;
        width: auto !important;
        padding: 12px !important;
        border: 1px solid rgba(44,80,103,.10) !important;
        border-radius: 18px !important;
        background: rgba(255,255,255,.98) !important;
        box-shadow: 0 18px 42px rgba(11,47,61,.18) !important;
        z-index: 1001 !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        text-align: right !important;
    }

    body.wisp-mobile-menu-open .site-header .menu {
        display: grid !important;
    }

    .site-header .menu a {
        display: block !important;
        width: 100% !important;
        padding: 11px 12px !important;
        border-radius: 12px !important;
        color: #0B2F3D !important;
        background: transparent !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
        text-decoration: none !important;
    }

    .site-header .menu a:hover,
    .site-header .menu a:focus {
        background: rgba(221,182,105,.16) !important;
    }

    @media (max-width: 390px) {
        .site-header .container.nav {
            padding-inline: 10px !important;
            gap: 7px !important;
        }

        .site-header .wisp-mobile-menu-button {
            width: 39px !important;
            height: 39px !important;
            min-width: 39px !important;
            flex-basis: 39px !important;
        }

        .site-header .brand img {
            height: 39px !important;
            max-width: 78px !important;
        }

        .site-header .header-actions-group {
            gap: 6px !important;
        }

        .site-header .header-quote-action,
        .site-header .header-action,
        .site-header .language-switcher a {
            min-height: 34px !important;
            padding: 7px 9px !important;
            font-size: 11px !important;
        }
    }

    /* Hero: larger height so CTA does not collide with stats */
    .wisp-home #home-top.wisp-home-hero,
    .wisp-home #home-top.wisp-home-hero-slider {
        min-height: 560px !important;
        padding-top: 126px !important;
        padding-bottom: 106px !important;
        overflow: hidden !important;
        background-color: #fff !important;
    }

    .wisp-home #home-top .wisp-home-hero-bg,
    .wisp-home #home-top .wisp-home-hero-bg-layer {
        background-size: cover !important;
        background-position: center top !important;
    }

    .wisp-home #home-top .wisp-hero-grid {
        position: relative !important;
        z-index: 3 !important;
    }

    .wisp-home #home-top .wisp-hero-copy-panel h1 {
        margin-top: 12px !important;
    }

    .wisp-home #home-top .wisp-home-actions {
        margin-bottom: 44px !important;
    }

    /* Stats: move down and force clean background */
    .wisp-home #home-stats,
    .wisp-home section#home-stats.wisp-home-section {
        margin: 56px 0 0 !important;
        padding: 0 0 18px !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        background-image: none !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 6 !important;
        box-shadow: none !important;
    }

    .wisp-home #home-stats::before,
    .wisp-home #home-stats::after,
    .wisp-home #home-stats .wisp-stats-grid::before,
    .wisp-home #home-stats .wisp-stats-grid::after,
    .wisp-home #home-stats .wisp-stats-grid-final::before,
    .wisp-home #home-stats .wisp-stats-grid-final::after,
    .wisp-home #home-stats .wisp-hero-slide-dots-wrap::before,
    .wisp-home #home-stats .wisp-hero-slide-dots-wrap::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
        background-image: none !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .wisp-home #home-stats .wisp-stats-grid,
    .wisp-home #home-stats .wisp-stats-grid-final {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .wisp-home #home-stats .wisp-stat-card {
        background: rgba(255,255,255,.96) !important;
        background-image: none !important;
        box-shadow: 0 14px 30px rgba(44,80,103,.10) !important;
    }

    .wisp-home #home-stats .wisp-stat-card::before,
    .wisp-home #home-stats .wisp-stat-card::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    .wisp-home #home-stats .wisp-hero-slide-dots-wrap,
    .wisp-home #home-stats [data-wisp-hero-dots] {
        margin: 14px auto 0 !important;
        padding: 0 !important;
        min-height: auto !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
        position: relative !important;
        z-index: 8 !important;
    }

    .wisp-home #home-about {
        margin-top: 0 !important;
        padding-top: 30px !important;
        background: #ffffff !important;
        position: relative !important;
        z-index: 7 !important;
    }
}

/* WISP_MOBILE_STEP4_HEADER_STATS_FINAL_END */


/* WISP_MOBILE_SWAP_LANGUAGE_QUOTE_ONLY_START
   Mobile only:
   Reverse the visible order of language and quote buttons.
   Result: quote button first on the left side group, then language button beside it.
*/
@media (max-width: 900px) {
    .site-header .header-actions-group {
        direction: ltr !important;
    }

    .site-header .header-actions-group .header-quote-action {
        order: 1 !important;
    }

    .site-header .header-actions-group a[data-wisp-language-link="1"],
    .site-header .header-actions-group .header-action[data-wisp-language-link="1"] {
        order: 2 !important;
    }
}
/* WISP_MOBILE_SWAP_LANGUAGE_QUOTE_ONLY_END */


/* WISP_MOBILE_FIX_HERO_NAVY_GAP_BUTTONS_STATS_START
   Mobile only:
   - Center header button text horizontally/vertically.
   - Remove navy gap caused by hero background layer area.
   - Raise stats about 80px from previous position.
*/

@media (max-width: 900px) {
    /* Header buttons text centering */
    .site-header .header-actions-group .header-quote-action,
    .site-header .header-actions-group .header-action,
    .site-header .header-actions-group a[data-wisp-language-link="1"],
    .site-header .language-switcher a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        vertical-align: middle !important;
        line-height: 1 !important;
        min-height: 38px !important;
        height: 38px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Hero background: remove navy empty strip */
    .wisp-home #home-top.wisp-home-hero,
    .wisp-home #home-top.wisp-home-hero-slider {
        background: #ffffff !important;
        background-color: #ffffff !important;
        background-image: none !important;
        overflow: hidden !important;
        min-height: 520px !important;
        padding-top: 126px !important;
        padding-bottom: 36px !important;
        position: relative !important;
    }

    .wisp-home #home-top.wisp-home-hero::before,
    .wisp-home #home-top.wisp-home-hero::after,
    .wisp-home #home-top.wisp-home-hero-slider::before,
    .wisp-home #home-top.wisp-home-hero-slider::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    .wisp-home #home-top .wisp-home-hero-bg-layer {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        overflow: hidden !important;
        z-index: 0 !important;
    }

    .wisp-home #home-top .wisp-home-hero-bg,
    .wisp-home #home-top .wisp-home-hero-bg.is-active,
    .wisp-home #home-top [data-wisp-hero-bg] {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        display: block !important;
        background-color: #ffffff !important;
        background-size: cover !important;
        background-position: center top !important;
        background-repeat: no-repeat !important;
        opacity: 1 !important;
        z-index: 0 !important;
    }

    .wisp-home #home-top .wisp-home-hero-bg::before,
    .wisp-home #home-top .wisp-home-hero-bg::after,
    .wisp-home #home-top [data-wisp-hero-bg]::before,
    .wisp-home #home-top [data-wisp-hero-bg]::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        pointer-events: none !important;
        z-index: 1 !important;
    }

    .wisp-home #home-top .wisp-home-hero-bg::before,
    .wisp-home #home-top [data-wisp-hero-bg]::before {
        background: rgba(255,255,255,.48) !important;
    }

    .wisp-home #home-top .wisp-home-hero-bg::after,
    .wisp-home #home-top [data-wisp-hero-bg]::after {
        background: linear-gradient(
            180deg,
            rgba(255,255,255,.18) 0%,
            rgba(255,255,255,.52) 48%,
            rgba(255,255,255,.88) 78%,
            #ffffff 100%
        ) !important;
    }

    .wisp-home #home-top .wisp-hero-grid {
        position: relative !important;
        z-index: 5 !important;
    }

    .wisp-home #home-top .wisp-home-actions {
        margin-bottom: 0 !important;
    }

    /* Stats: raise about 80px and keep clean white background */
    .wisp-home #home-stats,
    .wisp-home section#home-stats.wisp-home-section {
        margin: -24px 0 0 !important;
        padding: 0 0 18px !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        background-image: none !important;
        box-shadow: none !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 20 !important;
    }

    .wisp-home #home-stats::before,
    .wisp-home #home-stats::after,
    .wisp-home #home-stats .wisp-stats-grid::before,
    .wisp-home #home-stats .wisp-stats-grid::after,
    .wisp-home #home-stats .wisp-stats-grid-final::before,
    .wisp-home #home-stats .wisp-stats-grid-final::after,
    .wisp-home #home-stats .wisp-hero-slide-dots-wrap::before,
    .wisp-home #home-stats .wisp-hero-slide-dots-wrap::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
        background-image: none !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .wisp-home #home-stats .wisp-stats-grid,
    .wisp-home #home-stats .wisp-stats-grid-final {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
        transform: none !important;
        position: relative !important;
        z-index: 22 !important;
    }

    .wisp-home #home-stats .wisp-stat-card {
        background: rgba(255,255,255,.96) !important;
        background-color: rgba(255,255,255,.96) !important;
        background-image: none !important;
        box-shadow: 0 14px 30px rgba(44,80,103,.10) !important;
    }

    .wisp-home #home-stats .wisp-stat-card::before,
    .wisp-home #home-stats .wisp-stat-card::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    .wisp-home #home-stats .wisp-hero-slide-dots-wrap,
    .wisp-home #home-stats [data-wisp-hero-dots] {
        margin: 14px auto 0 !important;
        padding: 0 !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
        position: relative !important;
        z-index: 24 !important;
    }
}

/* WISP_MOBILE_FIX_HERO_NAVY_GAP_BUTTONS_STATS_END */


/* WISP_MOBILE_RAISE_STATS_EXTRA80_START
   Mobile only:
   Raise home stats 80px more from current approved position.
*/
@media (max-width: 900px) {
    .wisp-home #home-stats,
    .wisp-home section#home-stats.wisp-home-section {
        margin: -104px 0 0 !important;
    }
}
/* WISP_MOBILE_RAISE_STATS_EXTRA80_END */


/* WISP_MOBILE_STATS_INSIDE_HERO_AFTER_CTA_START
   Mobile only:
   Stats should appear visually inside the hero, below the hero CTA button.
   The hero background image continues behind the stats.
   Remove the navy empty gap.
*/

@media (max-width: 900px) {
    /* Header buttons: keep text centered */
    .site-header .header-actions-group .header-quote-action,
    .site-header .header-actions-group .header-action,
    .site-header .header-actions-group a[data-wisp-language-link="1"],
    .site-header .language-switcher a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        vertical-align: middle !important;
        line-height: 1 !important;
        min-height: 38px !important;
        height: 38px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Hero becomes the visual container for CTA + stats */
    .wisp-home #home-top.wisp-home-hero,
    .wisp-home #home-top.wisp-home-hero-slider {
        position: relative !important;
        min-height: 650px !important;
        padding-top: 126px !important;
        padding-bottom: 240px !important;
        overflow: hidden !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    .wisp-home #home-top.wisp-home-hero::before,
    .wisp-home #home-top.wisp-home-hero::after,
    .wisp-home #home-top.wisp-home-hero-slider::before,
    .wisp-home #home-top.wisp-home-hero-slider::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    .wisp-home #home-top .wisp-home-hero-bg-layer {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        overflow: hidden !important;
        z-index: 0 !important;
    }

    .wisp-home #home-top .wisp-home-hero-bg,
    .wisp-home #home-top .wisp-home-hero-bg.is-active,
    .wisp-home #home-top [data-wisp-hero-bg] {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        display: block !important;
        background-color: #ffffff !important;
        background-size: cover !important;
        background-position: center top !important;
        background-repeat: no-repeat !important;
        opacity: 1 !important;
        z-index: 0 !important;
    }

    .wisp-home #home-top .wisp-home-hero-bg::before,
    .wisp-home #home-top [data-wisp-hero-bg]::before,
    .wisp-home #home-top .wisp-home-hero-bg::after,
    .wisp-home #home-top [data-wisp-hero-bg]::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        display: block !important;
        pointer-events: none !important;
        z-index: 1 !important;
    }

    .wisp-home #home-top .wisp-home-hero-bg::before,
    .wisp-home #home-top [data-wisp-hero-bg]::before {
        background: rgba(255,255,255,.45) !important;
    }

    .wisp-home #home-top .wisp-home-hero-bg::after,
    .wisp-home #home-top [data-wisp-hero-bg]::after {
        background: linear-gradient(
            180deg,
            rgba(255,255,255,.12) 0%,
            rgba(255,255,255,.38) 42%,
            rgba(255,255,255,.72) 72%,
            #ffffff 100%
        ) !important;
    }

    .wisp-home #home-top .wisp-hero-grid {
        position: relative !important;
        z-index: 5 !important;
    }

    .wisp-home #home-top .wisp-home-actions {
        position: relative !important;
        z-index: 8 !important;
        margin-bottom: 0 !important;
    }

    /* Pull stats upward into the hero, but below the CTA */
    .wisp-home #home-stats,
    .wisp-home section#home-stats.wisp-home-section {
        position: relative !important;
        z-index: 30 !important;
        margin: -220px 0 0 !important;
        padding: 0 0 18px !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .wisp-home #home-stats::before,
    .wisp-home #home-stats::after,
    .wisp-home #home-stats .wisp-stats-grid::before,
    .wisp-home #home-stats .wisp-stats-grid::after,
    .wisp-home #home-stats .wisp-stats-grid-final::before,
    .wisp-home #home-stats .wisp-stats-grid-final::after,
    .wisp-home #home-stats .wisp-hero-slide-dots-wrap::before,
    .wisp-home #home-stats .wisp-hero-slide-dots-wrap::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
        background-image: none !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .wisp-home #home-stats .wisp-stats-grid,
    .wisp-home #home-stats .wisp-stats-grid-final {
        position: relative !important;
        z-index: 31 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .wisp-home #home-stats .wisp-stat-card {
        background: rgba(255,255,255,.94) !important;
        background-color: rgba(255,255,255,.94) !important;
        background-image: none !important;
        box-shadow: 0 16px 34px rgba(44,80,103,.12) !important;
    }

    .wisp-home #home-stats .wisp-stat-card::before,
    .wisp-home #home-stats .wisp-stat-card::after {
        content: none !important;
        display: none !important;
        background: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    .wisp-home #home-stats .wisp-hero-slide-dots-wrap,
    .wisp-home #home-stats [data-wisp-hero-dots] {
        position: relative !important;
        z-index: 32 !important;
        margin: 14px auto 0 !important;
        padding: 0 !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
    }

    .wisp-home #home-about {
        position: relative !important;
        z-index: 10 !important;
        margin-top: 0 !important;
        padding-top: 34px !important;
        background: #ffffff !important;
    }
}

/* WISP_MOBILE_STATS_INSIDE_HERO_AFTER_CTA_END */


/* WISP_MOBILE_RAISE_STATS_INHERO_80_MORE_START
   Mobile only:
   Raise stats 80px more while keeping them below hero CTA.
*/
@media (max-width: 900px) {
    .wisp-home #home-stats,
    .wisp-home section#home-stats.wisp-home-section {
        margin: -300px 0 0 !important;
    }
}
/* WISP_MOBILE_RAISE_STATS_INHERO_80_MORE_END */


/* WISP_MOBILE_ABOUT_IMAGE_TOP_START
   Mobile only:
   In About section, show image above the text/definition.
*/
@media (max-width: 900px) {
    .wisp-home #home-about .wisp-intro-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 22px !important;
    }

    .wisp-home #home-about .wisp-intro-image {
        order: 1 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .wisp-home #home-about .wisp-section-copy {
        order: 2 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .wisp-home #home-about .wisp-intro-image img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }
}
/* WISP_MOBILE_ABOUT_IMAGE_TOP_END */


/* WISP_MOBILE_ABOUT_IMAGE_TOP_START
   Mobile only:
   In About section, show image above the text/definition.
*/
@media (max-width: 900px) {
    .wisp-home #home-about .wisp-intro-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 22px !important;
    }

    .wisp-home #home-about .wisp-intro-image {
        order: 1 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .wisp-home #home-about .wisp-section-copy {
        order: 2 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .wisp-home #home-about .wisp-intro-image img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }
}
/* WISP_MOBILE_ABOUT_IMAGE_TOP_END */


/* WISP_MOBILE_ABOUT_IMAGE_TOP_START
   Mobile only:
   In About section, show image above the text/definition.
*/
@media (max-width: 900px) {
    .wisp-home #home-about .wisp-intro-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 22px !important;
    }

    .wisp-home #home-about .wisp-intro-image {
        order: 1 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .wisp-home #home-about .wisp-section-copy {
        order: 2 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .wisp-home #home-about .wisp-intro-image img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }
}
/* WISP_MOBILE_ABOUT_IMAGE_TOP_END */


/* WISP_MOBILE_ABOUT_IMAGE_TOP_START
   Mobile only:
   In About section, show image above the text/definition.
*/
@media (max-width: 900px) {
    .wisp-home #home-about .wisp-intro-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 22px !important;
    }

    .wisp-home #home-about .wisp-intro-image {
        order: 1 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .wisp-home #home-about .wisp-section-copy {
        order: 2 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .wisp-home #home-about .wisp-intro-image img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }
}
/* WISP_MOBILE_ABOUT_IMAGE_TOP_END */


/* WISP_MOBILE_NEWS_FINAL_FOOTER_COMPACT_START
   Mobile only - one clean current news block:
   1) Move "مشاهدة الكل" below the last news card.
   2) News card background #FDFCFB.
   3) News image gradient ends with #FDFCFB.
   4) News date color rgba(44, 80, 103, .66) and font-size 13px.
   5) News body padding 170px 18px 20px.
   6) News paragraph margin-bottom 0.
   7) Remove empty space above "اقرأ المزيد" by removing body min-height and footer auto margin.
*/
@media (max-width: 900px) {
    .wisp-home #home-news > .wisp-home-container {
        display: flex !important;
        flex-direction: column !important;
    }

    .wisp-home #home-news .wisp-section-head.wisp-section-head-action {
        display: contents !important;
    }

    .wisp-home #home-news .wisp-section-head.wisp-section-head-action > div {
        order: 1 !important;
        width: 100% !important;
    }

    .wisp-home #home-news .wisp-news-grid {
        order: 2 !important;
    }

    .wisp-home #home-news .wisp-section-entry {
        order: 3 !important;
        align-self: center !important;
        margin: 16px auto 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .wisp-home #home-news .wisp-news-card {
        background: #FDFCFB !important;
        background-color: #FDFCFB !important;
        background-image: none !important;
    }

    .wisp-home #home-news .wisp-news-image.has-image::after {
        background: linear-gradient(
            to bottom,
            rgba(246, 240, 230, 0) 0%,
            rgba(246, 240, 230, .18) 26%,
            rgba(246, 240, 230, .58) 58%,
            rgba(246, 240, 230, .88) 82%,
            #FDFCFB 100%
        ) !important;
    }

    .wisp-home #home-news .wisp-news-body {
        padding: 170px 18px 20px !important;
        min-height: auto !important;
    }

    .wisp-home #home-news .wisp-news-body p {
        margin-bottom: 0 !important;
    }

    .wisp-home #home-news .wisp-news-footer {
        margin-top: 0 !important;
    }

    .wisp-home #home-news .wisp-news-body time,
    .wisp-home #home-news .wisp-news-body .wisp-news-date {
        color: rgba(44, 80, 103, .66) !important;
        font-size: 13px !important;
    }
}
/* WISP_MOBILE_NEWS_FINAL_FOOTER_COMPACT_END */


/* WISP_MOBILE_CLIENTS_LANDSCAPE_MATCH_DESKTOP_START
   Mobile clients final:
   - Portrait keeps compact mobile layout.
   - Landscape matches desktop clients logo values exactly.
   - Footer is not touched.
*/
@media (max-width: 900px) {
    .wisp-home #home-clients.wisp-home-clients-logo-section,
    .wisp-home #home-clients {
        position: relative !important;
        overflow: hidden !important;
        isolation: isolate !important;
        background: linear-gradient(180deg, #EFE9DF 0%, #F7F2EA 22%, #ffffff 35%, #ffffff 100%) !important;
        background-color: #ffffff !important;
    }

    .wisp-home #home-clients .wisp-home-container {
        position: relative !important;
        z-index: 2 !important;
    }

    .wisp-home #home-clients .wisp-section-head {
        position: relative !important;
        z-index: 20 !important;
        isolation: isolate !important;
    }

    .wisp-home #home-clients .wisp-section-head h2 {
        position: relative !important;
        z-index: 21 !important;
    }

    .wisp-home #home-clients .wisp-loop-marquee,
    .wisp-home #home-clients .wisp-client-logo-marquee,
    .wisp-home #home-clients .wisp-loop-clients {
        position: relative !important;
        z-index: 1 !important;
        overflow: hidden !important;
        width: 100% !important;
        max-width: 100% !important;
        background: transparent !important;
        -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%) !important;
        mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%) !important;
        -webkit-mask-size: 100% 100% !important;
        mask-size: 100% 100% !important;
        -webkit-mask-repeat: no-repeat !important;
        mask-repeat: no-repeat !important;
    }

    .wisp-home #home-clients .wisp-loop-track,
    .wisp-home #home-clients .wisp-client-logo-track {
        align-items: center !important;
    }

    .wisp-home #home-clients .wisp-loop-group,
    .wisp-home #home-clients .wisp-client-logo-group {
        align-items: center !important;
    }

    .wisp-home #home-clients .wisp-client-logo-free,
    .wisp-home #home-clients .wisp-loop-chip,
    .wisp-home #home-clients .wisp-loop-client-chip {
        margin: 0 !important;
        padding: 0 18px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .wisp-home #home-clients .wisp-client-logo-img,
    .wisp-home #home-clients img {
        display: block !important;
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        margin: auto !important;
        object-fit: contain !important;
        background: transparent !important;
        filter: grayscale(1) saturate(0) contrast(.92) brightness(.78) !important;
        opacity: .92 !important;
        mix-blend-mode: normal !important;
        transform: none !important;
        transition: filter .25s ease, opacity .25s ease, transform .25s ease !important;
    }

    .wisp-home #home-clients .wisp-client-logo-free:hover .wisp-client-logo-img {
        filter: none !important;
        opacity: 1 !important;
        transform: translateY(-2px) !important;
    }
}

/* Portrait: compact mobile only */
@media (max-width: 620px) and (orientation: portrait) {
    .wisp-home #home-clients .wisp-loop-group,
    .wisp-home #home-clients .wisp-client-logo-group {
        gap: 0 !important;
    }

    .wisp-home #home-clients .wisp-client-logo-free,
    .wisp-home #home-clients .wisp-loop-chip,
    .wisp-home #home-clients .wisp-loop-client-chip {
        width: 42vw !important;
        max-width: 42vw !important;
        height: 118px !important;
        min-height: 118px !important;
        flex: 0 0 42vw !important;
        padding: 0 6px !important;
    }

    .wisp-home #home-clients .wisp-client-logo-img,
    .wisp-home #home-clients img {
        max-width: 36vw !important;
        max-height: 78px !important;
    }
}

/* Landscape: match desktop exactly */
@media (max-width: 900px) and (orientation: landscape) {
    .wisp-home #home-clients .wisp-loop-group,
    .wisp-home #home-clients .wisp-client-logo-group {
        gap: 46px !important;
    }

    .wisp-home #home-clients .wisp-client-logo-free,
    .wisp-home #home-clients .wisp-loop-chip,
    .wisp-home #home-clients .wisp-loop-client-chip {
        width: 240px !important;
        height: 136px !important;
        min-height: 136px !important;
        flex: 0 0 240px !important;
        padding: 0 18px !important;
        margin: 0 !important;
    }

    .wisp-home #home-clients .wisp-client-logo-img,
    .wisp-home #home-clients img {
        max-width: 178px !important;
        max-height: 88px !important;
    }
}
/* WISP_MOBILE_CLIENTS_LANDSCAPE_MATCH_DESKTOP_END */


/* WISP_MOBILE_FOOTER_LANDSCAPE_DESKTOP_LIKE_START
   Mobile footer only:
   - Portrait keeps approved mobile order.
   - Landscape becomes desktop-like:
     brand/logo/info on the right, links + business on the left.
   - Desktop CSS, home blade, clients, and news are not touched.
*/
@media (max-width: 900px) {
    footer.wisp-main-footer,
    .wisp-main-footer {
        padding: 34px 0 18px !important;
    }

    footer.wisp-main-footer .wisp-footer-container,
    .wisp-main-footer .wisp-footer-container {
        width: calc(100% - 32px) !important;
        margin: 0 auto !important;
        display: grid !important;
        align-items: start !important;
        direction: ltr !important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links,
    .wisp-main-footer .wisp-footer-container > .wisp-footer-links {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
        gap: 7px !important;
        direction: rtl !important;
        position: static !important;
        transform: none !important;
    }

    footer.wisp-main-footer .wisp-footer-links h3,
    .wisp-main-footer .wisp-footer-links h3 {
        margin: 0 0 6px !important;
        font-size: 16px !important;
        line-height: 1.35 !important;
        color: #d7b16b !important;
    }

    footer.wisp-main-footer .wisp-footer-links a,
    .wisp-main-footer .wisp-footer-links a {
        display: block !important;
        max-width: 100% !important;
        font-size: 13px !important;
        line-height: 1.6 !important;
        color: rgba(255,255,255,.76) !important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-brand,
    .wisp-main-footer .wisp-footer-container > .wisp-footer-brand {
        width: 100% !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: center !important;
        position: static !important;
        transform: none !important;
    }

    footer.wisp-main-footer .wisp-footer-logo,
    footer.wisp-main-footer .wisp-footer-brand img,
    .wisp-main-footer .wisp-footer-logo,
    .wisp-main-footer .wisp-footer-brand img {
        width: auto !important;
        max-width: 92px !important;
        height: auto !important;
        margin: 0 auto 12px !important;
        display: block !important;
    }

    footer.wisp-main-footer .wisp-footer-brand p,
    .wisp-main-footer .wisp-footer-brand p {
        margin: 0 auto 10px !important;
        font-size: 13px !important;
        line-height: 1.75 !important;
        text-align: center !important;
        color: rgba(255,255,255,.72) !important;
    }

    footer.wisp-main-footer .wisp-footer-registration,
    .wisp-main-footer .wisp-footer-registration {
        width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 6px 8px !important;
        font-size: 11.5px !important;
        line-height: 1.5 !important;
        text-align: center !important;
        color: rgba(255,255,255,.62) !important;
    }

    footer.wisp-main-footer .wisp-footer-bottom,
    .wisp-main-footer .wisp-footer-bottom {
        width: calc(100% - 32px) !important;
        margin: 22px auto 0 !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        font-size: 11.5px !important;
        color: rgba(255,255,255,.52) !important;
    }

    footer.wisp-main-footer .wisp-footer-bottom span,
    .wisp-main-footer .wisp-footer-bottom span {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        margin: 0 auto !important;
    }
}

/* Portrait: approved mobile layout, unchanged visually */
@media (max-width: 620px) and (orientation: portrait) {
    footer.wisp-main-footer .wisp-footer-container,
    .wisp-main-footer .wisp-footer-container {
        max-width: 430px !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-areas:
            "business links"
            "brand brand" !important;
        gap: 24px 18px !important;
        justify-items: center !important;
        text-align: center !important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links,
    .wisp-main-footer .wisp-footer-container > .wisp-footer-links {
        max-width: 180px !important;
        text-align: center !important;
        justify-items: center !important;
        align-content: start !important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links:nth-of-type(2),
    .wisp-main-footer .wisp-footer-container > .wisp-footer-links:nth-of-type(2) {
        grid-area: links !important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links:nth-of-type(3),
    .wisp-main-footer .wisp-footer-container > .wisp-footer-links:nth-of-type(3) {
        grid-area: business !important;
    }

    footer.wisp-main-footer .wisp-footer-links h3,
    .wisp-main-footer .wisp-footer-links h3,
    footer.wisp-main-footer .wisp-footer-links a,
    .wisp-main-footer .wisp-footer-links a {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-brand,
    .wisp-main-footer .wisp-footer-container > .wisp-footer-brand {
        grid-area: brand !important;
        max-width: 340px !important;
        margin: 4px auto 0 !important;
    }

    footer.wisp-main-footer .wisp-footer-brand p,
    .wisp-main-footer .wisp-footer-brand p {
        max-width: 310px !important;
    }
}

/* Landscape: desktop-like layout */
@media (max-width: 900px) and (orientation: landscape) {
    footer.wisp-main-footer .wisp-footer-container,
    .wisp-main-footer .wisp-footer-container {
        max-width: 760px !important;
        grid-template-columns: minmax(120px, .62fr) minmax(120px, .62fr) minmax(260px, 1.2fr) !important;
        grid-template-areas: "business links brand" !important;
        gap: 22px 34px !important;
        justify-items: stretch !important;
        text-align: initial !important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links,
    .wisp-main-footer .wisp-footer-container > .wisp-footer-links {
        max-width: 190px !important;
        text-align: right !important;
        justify-items: start !important;
        align-content: start !important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links:nth-of-type(2),
    .wisp-main-footer .wisp-footer-container > .wisp-footer-links:nth-of-type(2) {
        grid-area: links !important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-links:nth-of-type(3),
    .wisp-main-footer .wisp-footer-container > .wisp-footer-links:nth-of-type(3) {
        grid-area: business !important;
    }

    footer.wisp-main-footer .wisp-footer-links h3,
    .wisp-main-footer .wisp-footer-links h3,
    footer.wisp-main-footer .wisp-footer-links a,
    .wisp-main-footer .wisp-footer-links a {
        text-align: right !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    footer.wisp-main-footer .wisp-footer-container > .wisp-footer-brand,
    .wisp-main-footer .wisp-footer-container > .wisp-footer-brand {
        grid-area: brand !important;
        max-width: 340px !important;
        margin: 0 auto !important;
        align-items: center !important;
        text-align: center !important;
    }

    footer.wisp-main-footer .wisp-footer-brand p,
    .wisp-main-footer .wisp-footer-brand p {
        max-width: 320px !important;
    }

    footer.wisp-main-footer .wisp-footer-logo,
    footer.wisp-main-footer .wisp-footer-brand img,
    .wisp-main-footer .wisp-footer-logo,
    .wisp-main-footer .wisp-footer-brand img {
        max-width: 88px !important;
    }
}
/* WISP_MOBILE_FOOTER_LANDSCAPE_DESKTOP_LIKE_END */


/* WISP_MOBILE_CONTACT_TITLE_FORM_INFO_START
   Mobile only - contact card order:
   1) Title only first.
   2) Form directly under title.
   3) Description under form.
   4) Contact details under description.
   Footer, clients, news, desktop CSS, and Blade are not touched.
*/
@media (max-width: 900px) {
    .wisp-home #home-contact-form .wisp-home-contact-card.wisp-home-contact-final,
    .wisp-home #home-contact-form .wisp-home-contact-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "contact-title"
            "contact-form"
            "contact-description"
            "contact-details" !important;
        gap: 0 !important;
        align-items: start !important;
    }

    .wisp-home #home-contact-form .wisp-home-contact-info {
        display: contents !important;
    }

    .wisp-home #home-contact-form .wisp-home-contact-info h2 {
        grid-area: contact-title !important;
        margin: 0 0 18px !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .wisp-home #home-contact-form .wisp-home-contact-form {
        grid-area: contact-form !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .wisp-home #home-contact-form .wisp-home-contact-info > p {
        grid-area: contact-description !important;
        margin: 22px auto 14px !important;
        max-width: 320px !important;
        text-align: center !important;
        line-height: 1.85 !important;
    }

    .wisp-home #home-contact-form .wisp-contact-details-list {
        grid-area: contact-details !important;
        margin: 0 auto !important;
        width: 100% !important;
        max-width: 330px !important;
        display: grid !important;
        gap: 10px !important;
        text-align: center !important;
        justify-items: center !important;
    }

    .wisp-home #home-contact-form .wisp-contact-details-list > div {
        width: 100% !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: baseline !important;
        gap: 6px 8px !important;
        text-align: center !important;
    }

    .wisp-home #home-contact-form .wisp-contact-details-list strong,
    .wisp-home #home-contact-form .wisp-contact-details-list span {
        text-align: center !important;
    }

    .wisp-home #home-contact-form .wisp-contact-address-line {
        display: block !important;
        text-align: center !important;
        line-height: 1.8 !important;
    }
}
/* WISP_MOBILE_CONTACT_TITLE_FORM_INFO_END */


/* WISP_MOBILE_LANDSCAPE_FULLWIDTH_2X2_START
   Mobile landscape only:
   - remove big side whitespace
   - use nearly full section width
   - show 2 cards per row
   - show first 4 cards only
   - apply to news / sectors / business solutions
*/
@media (max-width: 920px) and (orientation: landscape) {
    /* outer section containers: reduce side padding so content uses available width */
    .wisp-home #home-news .wisp-home-container,
    .wisp-home #home-sectors .wisp-home-container,
    .wisp-home #home-business .wisp-home-container {
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
    }

    /* NEWS */
    .wisp-home #home-news .wisp-news-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .wisp-home #home-news .wisp-news-grid > * {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .wisp-home #home-news .wisp-news-grid > *:nth-child(n+5) {
        display: none !important;
    }

    /* SECTORS */
    .wisp-home #home-sectors .wisp-home-container [class*="grid"] {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .wisp-home #home-sectors .wisp-home-container [class*="grid"] > * {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .wisp-home #home-sectors .wisp-home-container [class*="grid"] > *:nth-child(n+5) {
        display: none !important;
    }

    /* BUSINESS SOLUTIONS */
    .wisp-home #home-business .wisp-home-container [class*="grid"] {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .wisp-home #home-business .wisp-home-container [class*="grid"] > * {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .wisp-home #home-business .wisp-home-container [class*="grid"] > *:nth-child(n+5) {
        display: none !important;
    }
}
/* WISP_MOBILE_LANDSCAPE_FULLWIDTH_2X2_END */


/* WISP_MOBILE_CONTACT_LANDSCAPE_FULLWIDTH_START
   Mobile landscape only:
   - Reduce side whitespace in contact card/form.
   - Make contact form use available landscape width.
   - Portrait, desktop, footer, clients, news, sectors, solutions are not touched.
*/
@media (max-width: 920px) and (orientation: landscape) {
    .wisp-home #home-contact-form .wisp-home-container {
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
    }

    .wisp-home #home-contact-form .wisp-home-contact-card,
    .wisp-home #home-contact-form .wisp-home-contact-card.wisp-home-contact-final {
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
    }

    .wisp-home #home-contact-form .wisp-home-contact-form {
        width: 100% !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    .wisp-home #home-contact-form form,
    .wisp-home #home-contact-form .wisp-home-contact-form form {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    .wisp-home #home-contact-form input,
    .wisp-home #home-contact-form textarea,
    .wisp-home #home-contact-form select,
    .wisp-home #home-contact-form button {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    .wisp-home #home-contact-form textarea {
        min-height: 128px !important;
    }
}
/* WISP_MOBILE_CONTACT_LANDSCAPE_FULLWIDTH_END */


/* WISP_MOBILE_INNER_PAGES_SHARED_BASE_START
   Mobile shared internal pages design system.
   Shared by internal public pages, not About-only CSS.
*/
@media (max-width: 900px) {
    .wisp-inner-container {
        width: calc(100% - 28px) !important;
        max-width: 760px !important;
    }

    .wisp-inner-hero {
        padding: 46px 0 36px !important;
    }

    .wisp-inner-hero-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .wisp-inner-hero-copy {
        text-align: center !important;
        margin: 0 auto !important;
    }

    .wisp-inner-eyebrow,
    .wisp-inner-section-kicker {
        margin-inline: auto !important;
    }

    .wisp-inner-hero h1 {
        font-size: clamp(32px, 8vw, 48px) !important;
        line-height: 1.18 !important;
    }

    .wisp-inner-hero p {
        margin-inline: auto !important;
        font-size: 15px !important;
    }

    .wisp-inner-hero-media,
    .wisp-inner-hero-mark {
        min-height: 245px !important;
        border-radius: 24px !important;
    }

    .wisp-inner-hero-media img {
        min-height: 245px !important;
    }

    .wisp-inner-section {
        padding: 38px 0 !important;
    }

    .wisp-inner-panel {
        border-radius: 24px !important;
        padding: 24px 20px !important;
        text-align: center !important;
    }

    .wisp-inner-panel h2,
    .wisp-inner-section-head h2 {
        font-size: clamp(25px, 6vw, 36px) !important;
        line-height: 1.32 !important;
    }

    .wisp-inner-rich-text {
        font-size: 14.5px !important;
        line-height: 1.95 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .wisp-inner-section-head {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .wisp-inner-card-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .wisp-inner-card {
        min-height: 0 !important;
        padding: 22px 20px !important;
        border-radius: 22px !important;
        text-align: center !important;
    }

    .wisp-inner-card h3 {
        font-size: 20px !important;
    }
}

@media (min-width: 621px) and (max-width: 900px), (max-width: 900px) and (orientation: landscape) {
    .wisp-inner-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .wisp-inner-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(260px, .85fr) !important;
        align-items: center !important;
    }

    .wisp-inner-hero-copy {
        text-align: start !important;
    }

    .wisp-inner-eyebrow {
        margin-inline: 0 !important;
    }

    .wisp-inner-hero p {
        margin-inline: 0 !important;
    }
}

@media (max-width: 620px) and (orientation: portrait) {
    .wisp-inner-hero-media,
    .wisp-inner-hero-mark {
        order: -1 !important;
    }
}
/* WISP_MOBILE_INNER_PAGES_SHARED_BASE_END */


/* WISP_MOBILE_PUBLIC_HEADER_FOOTER_BASE_FROM_HOME_START
   Mobile header/footer remains global and shared for homepage and internal pages.
   No About-specific mobile header/footer CSS.
*/
@media (max-width: 900px) {
    .site-header {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 120 !important;
        background: rgba(255,255,255,.42) !important;
        border-bottom: 1px solid rgba(255,255,255,.48) !important;
        box-shadow: 0 14px 34px rgba(24, 38, 50, .10) !important;
        backdrop-filter: blur(18px) saturate(1.18) !important;
        -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
    }

    main {
        padding-top: 64px !important;
    }

    .wisp-home #home-top,
    .wisp-home #home-top.wisp-home-hero,
    .wisp-home #home-top.wisp-home-hero-slider {
        margin-top: -64px !important;
        padding-top: calc(62px + 64px) !important;
    }
}
/* WISP_MOBILE_PUBLIC_HEADER_FOOTER_BASE_FROM_HOME_END */


/* WISP_MOBILE_MENU_BUTTON_VISIBLE_ONLY_MOBILE_START
   Mobile-only safety rule.
   Desktop hiding is in wisp-site.css; this keeps the menu button available on mobile only.
*/
@media (max-width: 900px) {
    .wisp-mobile-menu-button {
        display: inline-flex !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}
/* WISP_MOBILE_MENU_BUTTON_VISIBLE_ONLY_MOBILE_END */


/* WISP_MOBILE_HOME_FOOTER_V186H_START */

/*
    V186H preserves the successful portrait hero and
    portrait footer behavior from V186E.

    Landscape hero spacing is handled separately in
    wisp-site.css so it also applies when the landscape
    viewport is wider than the mobile stylesheet limit.
*/

@media
    (max-width: 700px)
    and (orientation: portrait) {

    html[lang="ar"]
    .wisp-home
    #home-top.wisp-home-hero,

    html[lang="ar"]
    .wisp-home
    #home-top.wisp-home-hero-slider,

    html[lang="en"]
    .wisp-home
    #home-top.wisp-home-hero,

    html[lang="en"]
    .wisp-home
    #home-top.wisp-home-hero-slider {
        padding-top: 150px !important;
    }

    html[lang="ar"]
    footer.wisp-main-footer
    .wisp-footer-container,

    html[lang="en"]
    footer.wisp-main-footer
    .wisp-footer-container {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        justify-items: center !important;
        align-items: start !important;
        gap: 0 !important;
    }

    html[lang="ar"]
    footer.wisp-main-footer
    .wisp-footer-container
    > .wisp-footer-links,

    html[lang="ar"]
    footer.wisp-main-footer
    .wisp-footer-container
    > .wisp-footer-links:nth-of-type(2),

    html[lang="ar"]
    footer.wisp-main-footer
    .wisp-footer-container
    > .wisp-footer-links:nth-of-type(3),

    html[lang="en"]
    footer.wisp-main-footer
    .wisp-footer-container
    > .wisp-footer-links,

    html[lang="en"]
    footer.wisp-main-footer
    .wisp-footer-container
    > .wisp-footer-links:nth-of-type(2),

    html[lang="en"]
    footer.wisp-main-footer
    .wisp-footer-container
    > .wisp-footer-links:nth-of-type(3) {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    html[lang="ar"]
    footer.wisp-main-footer
    .wisp-footer-container
    > .wisp-footer-brand,

    html[lang="en"]
    footer.wisp-main-footer
    .wisp-footer-container
    > .wisp-footer-brand {
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        justify-items: center !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 520px !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    html[lang="ar"]
    footer.wisp-main-footer
    .wisp-footer-brand
    .wisp-footer-logo,

    html[lang="en"]
    footer.wisp-main-footer
    .wisp-footer-brand
    .wisp-footer-logo {
        margin-inline: auto !important;
    }

    html[lang="ar"]
    footer.wisp-main-footer
    .wisp-footer-brand p,

    html[lang="ar"]
    footer.wisp-main-footer
    .wisp-footer-registration,

    html[lang="ar"]
    footer.wisp-main-footer
    .wisp-footer-bottom,

    html[lang="en"]
    footer.wisp-main-footer
    .wisp-footer-brand p,

    html[lang="en"]
    footer.wisp-main-footer
    .wisp-footer-registration,

    html[lang="en"]
    footer.wisp-main-footer
    .wisp-footer-bottom {
        text-align: center !important;
        justify-content: center !important;
    }
}

/* WISP_MOBILE_HOME_FOOTER_V186H_END */

/* WISP_FOOTER_LANDSCAPE_DIRECTION_V186E_START */
/*
    Final mobile-landscape footer order.

    Arabic:
    - link columns on the visual left
    - Wisp brand on the visual right

    English:
    - Wisp brand on the visual left
    - link columns on the visual right

    This block is restricted to landscape widths of 900px or less.
*/
@media screen and (orientation: landscape) and (max-width: 900px) {
    footer.wisp-main-footer .wisp-footer-container {
        width: min(calc(100% - 32px), 1180px) !important;
        max-width: 1180px !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
        display: grid !important;
        grid-template-rows: auto !important;
        align-items: start !important;
        column-gap: 18px !important;
        row-gap: 0 !important;
    }

    footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-brand,
    footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-links {
        min-width: 0 !important;
        grid-row: 1 !important;
        margin: 0 !important;
        transform: none !important;
    }

    html[lang="ar"] footer.wisp-main-footer
    .wisp-footer-container {
        direction: ltr !important;
        grid-template-columns:
            minmax(0, .85fr)
            minmax(0, .85fr)
            minmax(0, 1.5fr) !important;
    }

    html[lang="ar"] footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-links:nth-of-type(3) {
        grid-column: 1 !important;
        order: 1 !important;
    }

    html[lang="ar"] footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-links:nth-of-type(2) {
        grid-column: 2 !important;
        order: 2 !important;
    }

    html[lang="ar"] footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-brand {
        grid-column: 3 !important;
        order: 3 !important;
        direction: rtl !important;
        text-align: center !important;
        align-items: center !important;
    }

    html[lang="ar"] footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-links {
        direction: rtl !important;
        text-align: right !important;
        align-items: flex-start !important;
    }

    html[lang="en"] footer.wisp-main-footer
    .wisp-footer-container {
        direction: ltr !important;
        grid-template-columns:
            minmax(0, 1.5fr)
            minmax(0, .85fr)
            minmax(0, .85fr) !important;
    }

    html[lang="en"] footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-brand {
        grid-column: 1 !important;
        order: 1 !important;
        direction: ltr !important;
        text-align: center !important;
        align-items: center !important;
    }

    html[lang="en"] footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-links:nth-of-type(2) {
        grid-column: 2 !important;
        order: 2 !important;
    }

    html[lang="en"] footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-links:nth-of-type(3) {
        grid-column: 3 !important;
        order: 3 !important;
    }

    html[lang="en"] footer.wisp-main-footer
    .wisp-footer-container > .wisp-footer-links {
        direction: ltr !important;
        text-align: left !important;
        align-items: flex-start !important;
    }
}
/* WISP_FOOTER_LANDSCAPE_DIRECTION_V186E_END */
