﻿@media (max-width: 1400px) {
    .faq3-area .custom-row .right {
        max-width: 600px;
    }
    .faq3-area .custom-row .left {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

/* Final shared mobile grid: loaded after the base theme stylesheet. */
@media (max-width: 767px) {
    html,
    body,
    #page,
    .site {
        max-width: 100%;
        overflow-x: hidden;
    }

    /* max-width alone contains these horizontally. Do NOT add overflow-x here:
       with overflow-y visible, overflow-x: hidden computes overflow-y to auto,
       making these scroll containers. The header's wrappers are only as tall as
       the bar itself, so that clips the absolutely-positioned .responsive-menu. */
    .elementor,
    .elementor-element,
    .elementor-widget-container {
        max-width: 100%;
    }

    .header-bar-wrap {
        display: none !important;
    }

    /* .about-page / .practice-areas-page-shell cover every band on the two
       hand-authored pages; without them only the intro band had a gutter and
       the rest of the page sat flush against both screen edges. */
    .header-wrap .custom-container,
    .hero3-area .custom-container,
    .practice-page-breadcrumb .custom-container,
    .practice-area-page .custom-container,
    .about-page .custom-container,
    .practice-areas-page-shell .custom-container,
    .about-firm-page .custom-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box;
    }

    .header-wrap .custom-row {
        width: 100%;
        justify-content: space-between;
        position: relative;
        z-index: 1000000;
    }

    .header-wrap .right {
        width: auto !important;
        min-width: 0;
        margin-left: auto;
        gap: 0 !important;
    }

    .header-wrap .logo,
    .header-wrap .logo img {
        width: 180px !important;
        max-width: 180px !important;
        height: auto !important;
    }

    .header-wrap.header-style-1 .right > .logo {
        position: static !important;
        transform: none !important;
    }

    .hero3-area .hero-banner-top {
        width: 100% !important;
        max-width: 100% !important;
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    .hero3-area .hero-banner-top > .left,
    .hero3-area .hero-banner-top > .right,
    .practice-area-head,
    .about-firm-grid {
        width: calc(100vw - 40px) !important;
        max-width: calc(100vw - 40px) !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    .hero3-area .hero-banner-top h1 {
        max-width: 100%;
        font-size: 44px;
        line-height: 1.08;
    }

    .hero3-area .hero-banner-top h1,
    .practice-area-head h1,
    .practice-area-head p,
    .about-firm-grid h1,
    .about-firm-grid p {
        width: calc(100vw - 40px) !important;
        max-width: calc(100vw - 40px) !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal;
    }

    .practice-area-head,
    .about-firm-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .hero3-area .quote-now-btn {
        right: 0 !important;
        left: auto !important;
        width: min(calc(100vw - 40px), 330px) !important;
        max-width: calc(100vw - 40px) !important;
        padding-left: 28px;
        padding-right: 28px;
        box-sizing: border-box;
        white-space: normal;
    }
}

/* ==================================================================
   Original mobile header/navigation geometry (video reference, 2026-08-03).
   This is the single final authority for the phone header.  Earlier repair
   rules are intentionally normalised here so the logo and controls cannot
   shift between the homepage and inner pages.
   ================================================================== */
@media (max-width: 0px) {
    body.mobile-menu-open {
        overflow: hidden !important;
    }

    .header-wrap,
    .header-wrap.header-style-1,
    .header-wrap.header-style-4 {
        position: relative !important;
        z-index: 1000000 !important;
        min-height: 98px !important;
        height: 98px !important;
        padding: 0 !important;
        background: #fff !important;
        border-top: 2px solid #122620 !important;
        border-bottom: 1px solid #e5e7e9 !important;
        box-shadow: none !important;
    }

    .header-wrap .custom-container {
        width: 100% !important;
        height: 96px !important;
        min-height: 96px !important;
        padding: 0 30px !important;
    }

    .header-wrap .custom-row {
        position: relative !important;
        z-index: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 96px !important;
        min-height: 96px !important;
    }

    .header-wrap .custom-row > .right,
    .header-wrap .custom-row > .left,
    .header-wrap .right {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-wrap .logo,
    .header-wrap.header-style-1 .right > .logo,
    .header-wrap.header-style-4 .logo,
    body.mobile-menu-open .header-wrap .logo {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        width: auto !important;
        max-width: calc(100vw - 218px) !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: translate(-50%, -50%) !important;
        white-space: nowrap !important;
    }

    .header-wrap .logo .logo-wordmark {
        width: auto !important;
        max-width: none !important;
        align-items: center !important;
    }

    .header-wrap .logo .logo-wordmark-name,
    body.mobile-menu-open .header-wrap .logo .logo-wordmark-name {
        font-size: clamp(17px, 4.8vw, 24px) !important;
        line-height: 1.05 !important;
        letter-spacing: -.35px !important;
        white-space: nowrap !important;
    }

    .header-wrap .logo .logo-wordmark-tagline,
    body.mobile-menu-open .header-wrap .logo .logo-wordmark-tagline {
        margin-top: 5px !important;
        font-size: clamp(7px, 1.85vw, 9px) !important;
        line-height: 1.1 !important;
        letter-spacing: .02em !important;
        white-space: nowrap !important;
    }

    .header-wrap .sidebar-icon,
    body.mobile-menu-open .header-wrap .sidebar-icon {
        position: absolute !important;
        top: 50% !important;
        left: 20px !important;
        right: auto !important;
        width: 57px !important;
        height: 42px !important;
        margin: 0 !important;
        transform: translateY(-50%) !important;
        z-index: 4 !important;
    }

    .header-wrap .sidebar-icon a,
    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 57px !important;
        height: 42px !important;
        margin: 0 !important;
        transform: none !important;
    }

    .header-wrap .sidebar-icon a svg {
        display: block !important;
        width: 57px !important;
        height: 10px !important;
    }

    .header-wrap .sidebar-icon a > i {
        display: none !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon {
        left: auto !important;
        right: 10px !important;
        width: 42px !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum {
        width: 42px !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum svg {
        display: none !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum > i {
        position: static !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        color: #966515 !important;
        font-size: 30px !important;
        line-height: 1 !important;
        transform: none !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum > i::before {
        content: "\f00d" !important;
        position: static !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        transform: none !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum > i::after {
        content: none !important;
        display: none !important;
    }

    .header-wrap .responsive-menu,
    .header-wrap .responsive-menu.active {
        position: fixed !important;
        top: 98px !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: calc(100dvh - 98px) !important;
        max-height: calc(100dvh - 98px) !important;
        margin: 0 !important;
        padding: 38px 30px 30px !important;
        background: #fff !important;
        box-shadow: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    .header-wrap .responsive-menu {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .header-wrap .responsive-menu.active {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .header-wrap .responsive-menu nav {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .header-wrap .responsive-menu nav > ul {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-wrap .responsive-menu nav > ul > li:nth-child(1) { order: 1 !important; }
    .header-wrap .responsive-menu nav > ul > li:nth-child(4) { order: 2 !important; }
    .header-wrap .responsive-menu nav > ul > li:nth-child(2) { order: 3 !important; }
    .header-wrap .responsive-menu nav > ul > li:nth-child(3) { order: 4 !important; }
    .header-wrap .responsive-menu nav > ul > li:nth-child(5) { order: 5 !important; }

    .header-wrap .responsive-menu nav > ul > li,
    .header-wrap .responsive-menu nav > ul > li:first-child {
        position: relative !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
        border-bottom: 1px solid #dfe3e6 !important;
    }

    .header-wrap .responsive-menu nav > ul > li:first-child {
        border-top: 1px solid #dfe3e6 !important;
    }

    .header-wrap .responsive-menu nav > ul > li > a {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 73px !important;
        padding: 20px 42px 20px 20px !important;
        color: #102944 !important;
        font-family: var(--font_marcellus), Georgia, serif !important;
        font-size: 22px !important;
        font-weight: 400 !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        box-sizing: border-box !important;
    }

    .header-wrap .responsive-menu nav > ul > li.active > a,
    .header-wrap .responsive-menu nav > ul > li.current-menu-item > a,
    .header-wrap .responsive-menu nav > ul > li.dropdown-active > a {
        color: #102944 !important;
    }

    .header-wrap .responsive-menu nav > ul > li > i {
        position: absolute !important;
        top: 22px !important;
        right: 18px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 28px !important;
        height: 28px !important;
        color: #a16b0c !important;
        font-size: 14px !important;
        line-height: 1 !important;
        transform: rotate(90deg) !important;
        transition: transform .25s ease !important;
    }

    .header-wrap .responsive-menu nav > ul > li.dropdown-active > i {
        transform: rotate(-90deg) !important;
    }

    .header-wrap .responsive-menu nav ul li .dropdown {
        margin: 0 10px !important;
    }
}

@media (max-width: 420px) {
    .header-wrap .custom-container {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .header-wrap .sidebar-icon,
    body.mobile-menu-open .header-wrap .sidebar-icon {
        left: 18px !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon {
        right: 8px !important;
        left: auto !important;
    }

    .header-wrap .logo,
    .header-wrap.header-style-1 .right > .logo,
    .header-wrap.header-style-4 .logo,
    body.mobile-menu-open .header-wrap .logo {
        max-width: calc(100vw - 132px) !important;
    }

    .header-wrap .responsive-menu,
    .header-wrap .responsive-menu.active {
        padding-right: 24px !important;
        padding-left: 24px !important;
    }
}

/* One authoritative mobile header and menu. All superseded repair layers
   above are disabled at max-width:0 so they no longer enter the cascade. */
@media (max-width: 0px) {
    body.mobile-menu-open {
        overflow: hidden !important;
    }

    .header-wrap {
        position: relative !important;
        z-index: 1000000 !important;
        width: 100% !important;
        height: 98px !important;
        min-height: 98px !important;
        padding: 0 !important;
        background: #fff !important;
        border-top: 2px solid #122620 !important;
        border-bottom: 1px solid #e1e4e6 !important;
        box-shadow: none !important;
    }

    .header-wrap .custom-container,
    .header-wrap .custom-row {
        width: 100% !important;
        height: 96px !important;
        min-height: 96px !important;
    }

    .header-wrap .custom-container {
        padding: 0 30px !important;
    }

    .header-wrap .custom-row {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .header-wrap .custom-row > .right,
    .header-wrap .custom-row > .left,
    .header-wrap .right {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

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

    .header-wrap .logo,
    .header-wrap.header-style-1 .right > .logo,
    .header-wrap.header-style-4 .logo,
    body.mobile-menu-open .header-wrap .logo {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        width: auto !important;
        max-width: calc(100vw - 150px) !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: translate(-50%, -50%) !important;
        line-height: 1 !important;
    }

    .header-wrap .logo .logo-wordmark {
        width: max-content !important;
        max-width: 100% !important;
        align-items: center !important;
    }

    .header-wrap .logo .logo-wordmark-name,
    body.mobile-menu-open .header-wrap .logo .logo-wordmark-name {
        color: #061d38 !important;
        font-size: clamp(17px, 4.4vw, 22px) !important;
        font-weight: 700 !important;
        line-height: 1.05 !important;
        letter-spacing: -.3px !important;
        white-space: nowrap !important;
    }

    .header-wrap .logo .logo-wordmark-tagline,
    body.mobile-menu-open .header-wrap .logo .logo-wordmark-tagline {
        margin-top: 5px !important;
        color: #966515 !important;
        font-size: clamp(7px, 1.7vw, 8.5px) !important;
        line-height: 1.1 !important;
        letter-spacing: .02em !important;
        white-space: nowrap !important;
    }

    .header-wrap .sidebar-icon,
    body.mobile-menu-open .header-wrap .sidebar-icon {
        position: absolute !important;
        top: 50% !important;
        left: 20px !important;
        right: auto !important;
        width: 57px !important;
        height: 42px !important;
        margin: 0 !important;
        transform: translateY(-50%) !important;
        z-index: 4 !important;
    }

    .header-wrap .sidebar-icon a,
    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 57px !important;
        height: 42px !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        transform: none !important;
    }

    .header-wrap .sidebar-icon a svg {
        display: block !important;
        width: 57px !important;
        height: 10px !important;
    }

    .header-wrap .sidebar-icon a > i {
        display: none !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon {
        right: 12px !important;
        left: auto !important;
        width: 42px !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum {
        width: 42px !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum svg,
    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum > i {
        display: none !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum::before,
    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum::after {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        display: block !important;
        width: 25px !important;
        height: 2px !important;
        margin: 0 !important;
        background: #966515 !important;
        border: 0 !important;
        border-radius: 0 !important;
        transform-origin: center !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum::before {
        transform: translate(-50%, -50%) rotate(45deg) !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum::after {
        transform: translate(-50%, -50%) rotate(-45deg) !important;
    }

    .header-wrap .responsive-menu,
    .header-wrap .responsive-menu.active {
        position: fixed !important;
        inset: 98px 0 0 !important;
        width: 100% !important;
        height: calc(100dvh - 98px) !important;
        max-height: calc(100dvh - 98px) !important;
        margin: 0 !important;
        padding: 38px 30px 30px !important;
        background: #fff !important;
        box-shadow: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    .header-wrap .responsive-menu {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .header-wrap .responsive-menu.active {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .header-wrap .responsive-menu nav {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .header-wrap .responsive-menu nav > ul {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-wrap .responsive-menu nav > ul > li:nth-child(1) { order: 1 !important; }
    .header-wrap .responsive-menu nav > ul > li:nth-child(4) { order: 2 !important; }
    .header-wrap .responsive-menu nav > ul > li:nth-child(2) { order: 3 !important; }
    .header-wrap .responsive-menu nav > ul > li:nth-child(3) { order: 4 !important; }
    .header-wrap .responsive-menu nav > ul > li:nth-child(5) { order: 5 !important; }

    .header-wrap .responsive-menu nav > ul > li,
    .header-wrap .responsive-menu nav > ul > li:first-child {
        position: relative !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
        border-bottom: 1px solid #dfe3e6 !important;
    }

    .header-wrap .responsive-menu nav > ul > li:first-child {
        border-top: 1px solid #dfe3e6 !important;
    }

    .header-wrap .responsive-menu nav > ul > li > a {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 73px !important;
        padding: 20px 42px 20px 20px !important;
        color: #102944 !important;
        font-family: var(--font_marcellus), Georgia, serif !important;
        font-size: 22px !important;
        font-weight: 400 !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
        box-sizing: border-box !important;
    }

    .header-wrap .responsive-menu nav > ul > li > i {
        position: absolute !important;
        top: 22px !important;
        right: 18px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 28px !important;
        height: 28px !important;
        color: #a16b0c !important;
        font-size: 14px !important;
        line-height: 1 !important;
        pointer-events: none !important;
    }
}

@media (max-width: 420px) {
    .header-wrap .custom-container {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .header-wrap .sidebar-icon,
    body.mobile-menu-open .header-wrap .sidebar-icon {
        left: 18px !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon {
        right: 8px !important;
        left: auto !important;
    }

    .header-wrap .responsive-menu,
    .header-wrap .responsive-menu.active {
        padding-right: 24px !important;
        padding-left: 24px !important;
    }
}

/* Premium mobile navigation: calm spacing, clear hierarchy and a contained
   legal-services submenu. Kept at the end so it consistently wins over the
   original demo-theme mobile rules. */
@media (max-width: 0px) {
    .header-wrap {
        min-height: 76px;
        padding: 0 20px !important;
        background: #fff;
        border-top: 2px solid #122620;
        border-bottom: 1px solid rgb(6 29 56 / 10%);
        box-shadow: 0 8px 28px rgb(6 29 56 / 5%);
    }

    .header-wrap .custom-container,
    .header-wrap .custom-row {
        min-height: 74px;
    }

    .header-wrap .responsive-menu {
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        padding: 108px 24px 36px !important;
        background:
            linear-gradient(180deg, rgb(255 255 255 / 98%) 0%, rgb(250 248 243 / 99%) 100%);
        opacity: 0;
        transform: translate3d(0, -14px, 0);
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: none;
        visibility: hidden;
        pointer-events: none;
        box-shadow: none;
    }

    .header-wrap .responsive-menu.active {
        height: 100dvh;
        max-height: 100dvh !important;
        padding: 108px 24px 36px !important;
        opacity: 1;
        transform: translate3d(0, 0, 0);
        visibility: visible !important;
        pointer-events: auto;
    }

    .header-wrap .responsive-menu nav {
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
    }

    .header-wrap .responsive-menu nav > ul > li {
        position: relative;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid rgb(6 29 56 / 11%);
    }

    .header-wrap .responsive-menu nav > ul > li:first-child {
        border-top: 1px solid rgb(6 29 56 / 11%);
    }

    .header-wrap .responsive-menu nav > ul > li > a {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 58px;
        padding: 17px 40px 17px 16px !important;
        color: #061d38;
        font-family: var(--font_marcellus), Georgia, serif;
        font-size: 17px;
        font-weight: 400;
        line-height: 1.35;
        letter-spacing: .015em;
        text-transform: none;
        box-sizing: border-box;
    }

    .header-wrap .responsive-menu nav > ul > li > a:hover,
    .header-wrap .responsive-menu nav > ul > li.dropdown-active > a {
        color: #966515;
    }

    .header-wrap .responsive-menu nav > ul > li > a > i {
        top: 50%;
        right: 12px;
        width: 28px;
        height: 28px;
        color: #061d38;
        font-size: 14px;
        line-height: 28px;
        transform: translateY(-50%);
        transition: transform .3s ease, color .3s ease;
    }

    .header-wrap .responsive-menu nav > ul > li.dropdown-active > a > i {
        color: #966515;
        transform: translateY(-50%) rotate(180deg);
    }

    .header-wrap .responsive-menu nav ul li .dropdown {
        margin: 0 8px;
        padding: 0 14px;
        background: rgb(6 29 56 / 3.5%);
        border-left: 1px solid #b8892b;
        border-radius: 0 2px 2px 0;
        opacity: 0;
        transition: max-height .36s cubic-bezier(.4,0,.2,1), opacity .24s ease, padding .36s ease;
    }

    .header-wrap .responsive-menu nav ul li.dropdown-active .dropdown {
        padding-top: 12px;
        padding-bottom: 14px;
        opacity: 1;
        overflow: hidden;
    }

    .header-wrap .responsive-menu nav ul li .dropdown li {
        margin: 0;
        border-bottom: 1px solid rgb(6 29 56 / 7%);
    }

    .header-wrap .responsive-menu nav ul li .dropdown li:last-child {
        border-bottom: 0;
    }

    .header-wrap .responsive-menu nav ul li .dropdown li a {
        width: 100%;
        margin: 0;
        padding: 11px 6px !important;
        color: #18304d;
        font-family: Montserrat, Arial, sans-serif;
        font-size: 11px;
        font-weight: 500;
        line-height: 1.55;
        letter-spacing: .055em;
        text-transform: uppercase;
    }

    .header-wrap .responsive-menu nav ul li .dropdown li a::before {
        display: none;
    }

    .header-wrap .sidebar-icon {
        position: relative;
        z-index: 1000001;
    }

    .header-wrap .sidebar-icon a.active-hum > i {
        color: #966515;
        transition: transform .3s ease, color .3s ease;
    }

    .header-wrap .sidebar-icon a.active-hum:hover > i {
        transform: rotate(90deg);
    }
}
@media (max-width: 1226px) {
    .hero-slider-style-2 .hero-slide-content-wrap .hero-img-box {
        max-width: 500px;
    }
    .hero-slider-style-2 .hero-slide-content-wrap .hero-slide-content h1 {
        font-size: 44px;
        line-height: 44.7px;
    }
    .faq3-area .custom-row .right {
        max-width: 500px;
    }
    .about7-area .custom-container {
        padding-left: 20px;
        padding-right: 20px;
    }
    .hero6-area .right {
        padding-left: 60px;
        padding-right: 60px;
    }
    .hero6-area .content .title br {
        display: none;
    }
    .hero6-area .content .title {
        font-size: 44px;
        line-height: 44.7px;
    }
    .hero6-area .img-box {
        max-width: 340px;
    }
    .home6-page .contact-area .custom-row {
        gap: 70px;
    }
    .demo-blog-area .right {
        gap: 20px;
    }
    .demo-blog-area .right img {
        max-width: 200px;
    }
    .portfolio-detail-wrap .custom-container,
    .service-detail-wrap .custom-container,
    .ticket-detail-area .custom-container {
        padding-left: 20px;
        padding-right: 20px;
    }
    .ticket-detail-area .custom-row {
        gap: 70px;
    }
}
@media (max-width: 1085px) {
    .header-bar-wrap {
        padding-left: 0;
        padding-right: 0;
    }
    .about6-area .custom-row {
        gap: 60px;
    }
    .blog-detail-area .custom-container,
    .blog-area .custom-container,
    .work-query-page .faq2-area .custom-container,
    .faq-page .faq2-area .custom-container,
    .client-area .custom-container,
    .demo-blog-area .custom-container,
    .landing-page .header-wrap .custom-container,
    .hero10-area .custom-container,
    .about8-area .custom-container,
    .team-area .custom-container,
    .ticket-area .custom-container,
    .about6-area .custom-container,
    .hero5-area .custom-container,
    .about4-area .custom-container,
    .about5-area .custom-container,
    .service3-area .custom-container,
    .client-area .custom-container,
    .hero3-area .custom-container,
    .home3-page .faq2-area .custom-container,
    .header-wrap .custom-container,
    .header-bar-wrap .custom-container,
    .service5-area .custom-container,
    .faq-area .custom-container,
    .about3-area .custom-container,
    .service2-area .custom-container,
    .video2-area .custom-container,
    .about2-area .custom-container,
    .footer-area .custom-container,
    .newsletter-area .custom-container,
    .pricing-table-area .custom-container,
    .team-area .custom-container,
    .about-area .custom-container,
    .contact-area .custom-container {
        padding-left: 20px;
        padding-right: 20px;
    }
    .hero5-area .img-box {
        right: 20px;
    }
    .contact-area .custom-row {
        gap: 100px;
    }
    .video2-area .video-bg iframe {
        height: 100%;
    }
    .home3-page .faq-area .custom-row .left,
    .faq-area .custom-row .left {
        padding: 40px 70px;
    }
    .home3-page .faq-area .custom-row .left {
        padding-top: 70px;
    }
    .contact2-area .custom-row {
        align-items: normal;
    }
    .hero3-area .hero-banner-top .title {
        font-size: 44px;
        line-height: 52.5px;
    }
    .client-items {
        grid-template-columns: 1fr 1fr;
        column-gap: 56px;
    }
    .about5-area .custom-row {
        gap: 60px;
    }
    .hero4-area .left {
        padding-left: 20px;
    }
    .header-wrap.header-style-4 {
        padding-top: 0;
        padding-bottom: 0;
    }
    .about8-area .img-box {
        max-width: 500px;
    }
    .about8-area .custom-row {
        gap: 70px;
    }
}
@media (max-width: 1024px) {
    .sidebar-icon a > i {
        display: block;
        opacity: 0;
        visibility: hidden;
        transition: .5s;
    }
    .sidebar-icon a.active-hum > svg {
        transform: scale(0);
    }
    .sidebar-icon a.active-hum > i {
        opacity: 1;
        visibility: visible;
    }
    .home6-row {
        flex-direction: column;
    }
    .home6-row > .left,
    .home6-page .header-wrap .select-timezone,
    #fixed-sidebar,
    .header-style-2 .select-timezone,
    .header-wrap .menu-wrap {
        display: none;
    }
    .home6-page .header-wrap .sidebar-icon {
        display: block;
    }
    .header-wrap {
        padding: 22px 0;
    }
    .header-style-2 {
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .responsive-menu nav ul li.dropdown-active .dropdown {
        max-height: 400px;
        overflow-x: hidden;
    }
    .responsive-menu.active {
        max-height: 500px;
        padding-top: 32px;
        padding-bottom: 32px;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
        transition-delay: 0s;
        visibility: visible;
    }
    .service-area .section-header {
        gap: 24px;
        justify-content: space-between;
        padding: 0 15px;
        margin-bottom: 80px;
    }

    .service-box .service-img {
        height: auto;
    }
    .story-area .custom-container {
        padding: 0 20px;
    }
    .hero-slider-style-2 .hero-slide-content-wrap .hero-img-box {
        max-width: 400px;
    }
    .hero-slider-style-2 {
        min-height: 500px;
    }
    .hero-slider-style-2 .quote-now-btn {
        padding: 30px 70px 25px 30px;
    }
    .about3-area .left {
        width: 40%;
    }
    .about3-area .right {
        width: 60%;
        padding: 50px 20px 50px 70px;
    }
    .contact2-area .right {
        padding: 45px 60px;
    }
    .home6-page .contact-area,
    .home6-page .pricing-table-area {
        padding-right: 0;
    }
    .home6-page .pricing-table-area .custom-container,
    .home6-page .service3-area .custom-container,
    .home6-page .contact-area .custom-container {
        padding-right: 0;
        padding-left: 0;
    }
    .sticky2-menu {
        width: 100%;
        height: auto;
        padding: 15px 20px;
        flex-direction: row;
        position: absolute;
        top: 0;
    }
    .horizontal-section-scroll {
        flex-wrap: wrap;
        flex-direction: column;
        overflow: inherit;
    }
    .home10-page {
        padding-left: 0;
    }
    .horizontal-section-scroll > section {
        max-width: 100%;
        width: 100%;
    }
    .hero10-area {
        padding-top: 55px;
    }
    .hero10-area .right {
        max-width: 430px;
    }
    .service7-area {
        overflow: hidden;
        margin-top: 120px;
        margin-bottom: 120px;
    }
    .contact-and-footer-area .left, .pricing-table2-area .left, .service8-area .left, .service7-area .left {
        max-width: 430px;
        height: auto;
    }
    .contact-and-footer-area .right, .service8-area .right, .service7-area .right {
        padding: 80px 60px;
    }
    .service8-area .content-wrap {
        flex-direction: column;
        align-items: flex-start;
        gap: 40px;
    }
    .service8-area {
        margin-bottom: 120px;
    }
    .portfolio3-area .portfolio-item {
        max-width: 100%;
        width: 33.333333%;
    }
    .horizontal-section-scroll .portfolio3-area {
        width: 1005px;
    }
    .portfolio3-area .portfolio-item .quote-now-btn {
        bottom: 30px;
    }
    .horizontal-section-scroll .story2-area {
        padding: 120px 0;
    }
    .horizontal-section-scroll .pricing-table2-area {
        padding-bottom: 120px;
    }
    .horizontal-section-scroll .pricing-table2-area .custom-row {
        align-items: flex-start;
        flex-direction: column;
        padding: 0 20px;
        gap: 40px;
    }
    .horizontal-section-scroll .pricing-table2-area .right {
        padding: 0;
        width: 100%;
    }
    .horizontal-section-scroll .contact-and-footer-area .left {
        max-width: 100%;
        max-height: 500px;
    }
    .horizontal-section-scroll .contact-and-footer-area .custom-row {
        flex-direction: column;
    }
    .horizontal-section-scroll .contact-and-footer-area {
        height: auto;
        margin-left: 0;
    }
    .horizontal-section-scroll .contact-and-footer-area .right-content {
        max-width: 100%;
        margin-top: 40px;
    }
    .contact-and-footer-area .border-gradient-shape {
        width: 100%;
    }
    .hero-landing-area .content .title {
        font-size: 44px;
        line-height: 48.59px;
    }
    .ticket-detail-area .content-box .infos {
        flex-wrap: wrap;
        gap: 30px;
    }
    .portfolio-single-3-page .portfolio-detail-wrap .imgs .left,
    .portfolio-single-2-page .portfolio-detail-wrap .imgs .box-anim:first-child,
    .portfolio-detail-wrap .imgs .box-anim:last-child,
    .service-detail-wrap .imgs .box-anim:last-child {
        max-width: 400px;
    }
    .portfolio-detail-wrap .portfolio-detail-content,
    .service-detail-wrap .service-detail-content {
        column-gap: 60px;
    }
    .portfolio-single-3-page .portfolio-detail-wrap .imgs .left .box-anim{
        max-width: 100%;
    }
	.dropdown-item > a::before{
        left: -25%;
    }

}
@media (max-width: 982px) {
    .hero-slider-thumbnail  .thumb-content {
        padding: 26px 37px 10px 37px;
        width: 200px;
    }
    .hero-slider-thumbnail {
        bottom: auto;
        top: 100%;
    }
    .header-wrap .custom-container {
        padding: 0 20px;
    }
    .hero-slider-wrap .swiper-container {
        width: calc(100% - 40px);
        left: 20px;
    }
    .hero-slider-wrap .swiper-slide.swiper-slide-active .slide-inner .hero-slide-content p {
        max-height: 200px;
    }
    .hero-slider-thumbnail  .thumb-content {
        width: 33%;
        flex: 1;
        padding: 22px 27px 16px 27px;
    }
    .hero-slider-thumbnail {
        padding: 0 15px;
        width: 100%;
        right: 0;
    }
    .hero-slider-thumbnail .thumb-content h1 {
        line-height: 1;
        font-size: 15px;
        margin-top: 8px;
    }
    .video-area .video-content-wrap .video-play-btn {
        width: 150px;
        height: 150px;
        z-index: 9;
    }
    .testimonial-area .testimonial-content p br {
        display: none;
    }
    .testimonial-area .testimonial-content {
        padding: 0 20px;
    }
    .contact-area {
        padding-bottom: 120px;
        padding-top: 120px;
    }
    .contact-area .custom-row {
        flex-wrap: wrap;
    }
    .contact-area .contact-form {
        width: 100%;
        flex: 0 0 100%;
    }
    .about-area .custom-row {
        gap: 70px;
        justify-content: space-between;
    }
    .about-area .right::before {
        left: -80px;
    }
    .about-area .right {
        padding-top: 100px;
    }
    .about-area .content {
        padding-top: 107px;
    }
    .newsletter-area .custom-row {
        justify-content: center;
        gap: 20px;
        text-align: center;
    }
    .footer-area .custom-row {
        gap: 100px;
    }
    .video-popover .video-popover-inner iframe {
        width: 400px;
        height: 280px;
    }
    .hero-slider-style-2 .swiper-slide .slide-inner .hero-slide-content-wrap {
        gap: 58px;
    }
    .hero-slider-style-2 .hero-slide-content-wrap .hero-slide-content h1 {
        font-size: 34px;
        line-height: 34.7px;
    }
    .hero-slider-style-2 .quote-now-btn {
        right: auto;
        left: 20px;
        bottom: 0;
    }
    .hero-slider-style-2 .hero-slider-2-pagination {
        left: 57%;
    }
    .about2-area .custom-row {
        gap: 80px;
    }
    .faq-area .custom-row {
        flex-direction: column;
    }
    .faq-area .custom-row .right,
    .faq-area .custom-row .left {
        width: 100%;
    }
    .faq-area .custom-row .right {
        max-height: 450px;
    }
    .home3-page .faq2-area .custom-row {
        flex-direction: row;
        gap: 50px;
    }
    .home3-page .faq2-area .custom-row .left {
        padding: 0;
    }
    .home3-page .faq2-area .custom-row {
        flex-direction: column;
    }
    .home3-page .faq2-area .faq-list {
        max-width: 100%;
    }
    .hero3-area .hero-banner-top .title {
        font-size: 34px;
        line-height: 42.5px;
    }
    .client-area .custom-row {
        gap: 60px;
    }
    .client-area .left {
        max-width: 300px;
    }
    .service3-area .custom-row {
        row-gap: 50px;
        flex-direction: column;
    }
    .service3-items {
        column-gap: 60px;
    }
    .about5-area .right {
        max-width: 400px;
    }
    .home3-page .faq-area .faq-content {
        max-width: 100%;
    }
    .hero4-area .custom-row {
        gap: 80px;
    }
    .hero4-area .section-heading .title {
        font-size: 44px;
        line-height: 44.7px;
    }
    .hero4-area .left {
        max-width: 360px;
    }
    .about4-area .custom-row {
        gap: 20px;
    }
    .faq-area.faq3-area .custom-row .right {
        max-width: 100%;
    }
    .about7-area .custom-row {
        gap: 70px;
    }
    .team3-area .teams-wrap {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .team3-area .teams-wrap .team-slide-box:nth-child(4) {
        margin-top: 0;
    }
    .team3-area .teams-wrap .team-slide-box:nth-child(5) {
        margin-top: 35px;
    }
    .home6-row > .right {
        padding-left: 20px;
        padding-right: 20px;
    }
    .hero6-area .img-box {
        height: 510px;
    }
    .video-area .video-bg {
        height: 470px;
    }
    .mentor-lists {
        gap: 40px;
    }
    .service6-lists {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .service6-lists .service6-box:nth-child(1),
    .service6-lists .service6-box:nth-child(2) {
        border-bottom: 0.5px solid #fff;
    }
    .service6-box > a {
        min-height: 200px;
    }
    .faq4-area .custom-container {
        padding-left: 0;
        padding-right: 0;
    }
    .faq4-area .right {
        max-width: 100%;
    }
    .about8-area .img-box {
        max-width: 400px;
    }
    .hero8-wrapper .custom-container {
        padding-left: 20px;
        padding-right: 20px;
    }
    .home9-page #multiscroll .hero-content .title {
        font-size: 44px;
        line-height: 44.7px;
    }
    .home9-page #multiscroll .ms-right .contact-form-content,
    .home9-page #multiscroll .ms-left .hero-content {
        padding-left: 20px;
        padding-right: 20px;
    }
    .home9-page #multiscroll .ms-right .service-consulting,
    .home9-page #multiscroll .ms-right .right-content {
        padding-left: 40px;
    }
    .home9-page #multiscroll .ms-left .service3-items {
        /* grid-template-columns: 1fr; */
        column-gap: 30px;
        padding-left: 20px;
        padding-right: 20px;
    }
    .demo-area .demo-boxes.column-2,
    .demo-area .demo-boxes {
        column-gap: 30px;
    }
    .demo-area .demo-boxes {
        grid-template-columns: 1fr 1fr;
    }
    .demo-blog-area .content {
        max-width: 100%;
    }
    .demo-blog-area .custom-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 40px;
    }
    .faq-page .faq2-area {
        padding-bottom: 120px;
        padding-top: 120px;
    }
    .faq-page .faq2-area .custom-row .left,
    .faq-page .faq-area .faq-content {
        padding-top: 0;
    }
    .faq-page .faq2-area .faq-content .title,
    .faq-page .faq2-area .faq-content .section-header {
        max-width: 100%;
    }
    .ticket-detail-area .img-box {
        max-width: 450px;
    }
    .blog-detail-area .custom-row,
    .blog-area .custom-row {
        gap: 50px;
    }
    
}

@media (max-width: 768px) {
    .hero3-area .hero-banner-top,
    .service-area .section-header {
        flex-direction: column;
    }
    .portfolio-single-3-page .portfolio-detail-wrap .imgs .left,
    .portfolio-single-2-page .portfolio-detail-wrap .imgs .box-anim:first-child,
    .work-query-page .faq2-area .faq-content .title,
    .work-query-page .faq2-area .faq-content .section-header,
    .service-area .section-header .left,
    .service-area .section-header .right {
        max-width: 100%;
    }
    .pricing-table2-area .pricing-table-lists,
    .mentor-lists,
    .team3-area .teams-wrap,
    .teams-wrap,
    .pricing-table-lists,
    .story-items,
    .service-items {
        grid-template-columns: 1fr 1fr;
    }
    .video-area .video-content-wrap .content {
        max-width: 300px;
        padding: 25px 40px;
    }
    .video-area .video-content-wrap .content h2 {
        /* font-size: 18px;
        line-height: 24.7px; */
        margin-bottom: 8px;
    }
    .about4-area .content,
    .client-area .left {
        max-width: 100%;
    }
    .about7-area,
    .about4-area,
    .about5-area {
        padding-top: 120px;
    }
    .about7-area {
        padding-bottom: 120px;
    }
    .blog-post {
        padding-bottom: 50px;
        margin-bottom: 50px;
    }
    .portfolio-detail-wrap .imgs .box-anim:last-child,
    .service-detail-wrap .imgs .box-anim:last-child,
    .blog-detail-area .sidebar, .blog-area .sidebar {
        max-width: 100%;
    }
    .portfolio-detail-wrap .portfolio-detail-content,
    .portfolio-detail-wrap .imgs,
    .service-detail-wrap .service-detail-content,
    .service-detail-wrap .imgs,
    .blog-detail-area .custom-row,
    .blog-area .custom-row,
    .ticket-detail-area .custom-row,
    .hero-landing-area .custom-row,
    .hero10-area .custom-container .custom-row,
    .contact-and-footer-area .contact-form-and-info,
    .about8-area .custom-row,
    .hero6-area .custom-row,
    .about7-area .custom-row,
    .about6-area .custom-row,
    .about4-area .custom-row,
    .about5-area .custom-row,
    .client-area .custom-row,
    .contact2-area .custom-row,
    .service5-area .section-header,
    .about-area .custom-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .about7-area .left .box-anim {
        margin-left: 0;
    }
    .service5-area .section-header {
        gap: 10px;
    }
    .about-area .content {
        padding-top: 0;
    }
    .hero-landing-area .right,
    .contact2-area .img-box,
    .contact2-area .right,
    .about-area .right::before {
        width: 100%;
    }
    .hero6-area .img-box {
        max-width: 100%;
    }
    .contact2-area .right {
        padding-left: 40px;
        padding-right: 40px;
    }
    .team-area .custom-row {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 50px;
    }
    .footer-area .custom-row {
        flex-direction: column;
    }
    .footer-area .footer-links,
    .footer-contact-infos {
        flex-wrap: wrap;
        row-gap: 50px;
    }
    .hero-slider-style-2 {
        min-height: inherit;
        padding-top: 40px;
    }
    .hero-slider-style-2 .hero-slider-2-pagination {
        left: auto;
        right: 0px;
        margin-left: 0;
        bottom: 26px;
    }
    .hero-slider-wrap .swiper-container {
        position: relative;
        padding-bottom: 40px;
    }
    .hero-slider-style-2.hero-slider-wrap .swiper-container {
        padding-bottom: 70px;
    }
    .hero-slider-style-2 .swiper-slide .slide-inner .hero-slide-content-wrap {
        flex-direction: column;
    }
    .hero-slider-wrap .slide-inner {
        position: relative;
    }
    .hero-slider-style-2 .quote-now-btn {
        display: none;
    }
    .hero-slider-style-2 .hero-slider-2-pagination {
        right: auto;
        left: 10px;
        bottom: 28px;
        transform: translate(0, 0);
    }
    .hero-slider-style-2::before {
        height: 100%;
    }
    .about2-area .custom-row {
        flex-direction: column;
    }
    .video2-area .video-bg {
        height: 380px;
    }
    .video2-area .section-heading {
        flex-wrap: wrap;
        gap: 15px;
    }
    .about6-area .right,
    .video2-area .section-heading p {
        max-width: 100%;
    }
    .service2-items {
        column-gap: 20px;
    }
    .service2-items .service2-box {
        max-width: 48%;
    }
    .service5-area .custom-row {
        flex-wrap: wrap;
    }
    .service5-area .img-box .box-anim img {
        object-fit: cover;
    }
    .service5-area .img-box .box-anim {
        height: 100%;
    }
    .service5-area .img-box {
        width: 48%;
    }
    .funfacts-wrap .funfact-items {
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 25px;
    }
    .hero3-area .funfact-box {
        width: 30%;
    }
    .hero4-area {
        padding-top: 80px;
    }
    .hero4-area .custom-row {
        flex-direction: column;
    }
    .hero4-area .left {
        max-width: 100%;
        padding-right: 20px;
    }
    .portfolio-detail-wrap/*,
    .service-detail-wrap*/ {
        padding-top: 120px;
        padding-bottom: 120px;
    }
    .portfolio-detail-wrap .portfolio-detail-content,
    .service-detail-wrap .service-detail-content,
    .about4-area .custom-row {
        gap: 50px;
    }
    .hero5-area .img-box {
        max-width: calc(100% - 200px);
        bottom: auto;
        top: 40px;
    }
    .about6-area {
        padding-top: 0;
        padding-bottom: 120px;
    }
    .hero5-area .custom-container {
        padding-top: 100px;
    }
    .hero5-area .content .title {
        font-size: 60px;
        line-height: 60.3px;
    }
    .ticket-box h4 {
        padding-right: 130px;
    }
    .team3-area .teams-wrap .team-slide-box:nth-child(5),
    .team3-area .teams-wrap .team-slide-box:nth-child(even) {
        margin-top: 0;
    }
    .team3-area .teams-wrap {
        gap: 20px;
    }
    .hero-slider-style-2.hero7-slider-wrap .hero-slide-content-wrap .hero-img-box {
        max-width: 100%;
        max-height: 350px;
    }
    .hero7-slider-wrap {
        padding-bottom: 80px;
    }
    .hero7-slider-wrap .swiper-slide.swiper-slide-active .slide-inner .hero-slide-content h1 br {
        display: none;
    }
    .hero7-slider-wrap.hero-slider-wrap .swiper-container {
        padding-bottom: 60px;
    }
    .hero7-slider-wrap.hero-slider-wrap .swiper-container {
        left: 0;
    }
    .hero7-slider-wrap.hero-slider-style-2 .swiper-slide .slide-inner .hero-slide-content-wrap {
        padding-right: 0;
    }
    .home7-page .about6-area .left .quote-now-btn {
        left: auto;
        right: 0;
    }
    .about8-area .img-box .shape-img {
        bottom: -30px;
    }
    .about8-area {
        padding-bottom: 0;
    }
    html, body {
        overflow-x: hidden;
        overflow-y: auto;
    }
    .home9-page #multiscroll .ms-right .service-consulting,
    .home9-page #multiscroll .ms-right .right-content,
    .home9-page #multiscroll .ms-left .service3-items,
    .home9-page #multiscroll .ms-right .contact-form-content,
    .home9-page #multiscroll .ms-left .hero-content {
        padding: 50px 20px;
    }
    .contact-and-footer-area .left, .pricing-table2-area .left, .service8-area .left, .service7-area .left,
    .hero10-area .right,
    .home9-page #multiscroll .hero-img {
        max-height: 400px;
    }
    .ticket-detail-area .img-box,
    .contact-and-footer-area .left, .pricing-table2-area .left, .service8-area .left, .service7-area .left,
    .hero10-area .right,
    .home9-page #multiscroll .ms-left .faq-list {
        max-width: 100%;
    }
    .ticket-detail-area {
        padding-top: 120px;
        padding-bottom: 120px;
    }
    .hero10-area {
        padding-top: 120px;
    }
    .hero10-area .custom-container .custom-row {
        gap: 50px;
    }
    .horizontal-section-scroll .service7-area .custom-row {
        flex-direction: column;
    }
    .contact-and-footer-area .right, .service8-area .right, .service7-area .right {
        padding-left: 20px;
        padding-right: 20px;
    }
    .service8-area .custom-row {
        flex-direction: column;
    }
    .horizontal-section-scroll .portfolio3-area .custom-row {
        flex-wrap: wrap;
    }
    .portfolio3-area .portfolio-item .quote-now-btn {
        padding: 30px 25px 20px 30px;
    }
    .portfolio3-area .portfolio-item {
        width: 50%;
    }
    .portfolio3-area .portfolio-item .quote-now-btn .title {
        font-size: 20px;
        margin: 0;
        line-height: 1;
    }
    .coming-soon .content {
        padding: 40px;
    }
    .coming-soon {
        height: calc(100vh - 68px);
    }
    .hero-landing-area .imgs {
        width: 100%;
        justify-content: flex-end;
    }
    .hero-landing-area {
        overflow: hidden;
    }
    .hero-landing-area .content {
        padding-bottom: 0;
    }
    .demo-features-area .custom-container,
    .demo-blog-area .custom-container,
    .fully-responsive-area .custom-container,
    .inner-pages-area .custom-container,
    .demo-area .custom-container {
        padding-left: 20px;
        padding-right: 20px;
    }
    .demo-area .section-heading .title br {
        display: none;
    }
    .inner-pages-area .section-header .title,
    .demo-area .section-heading .title {
        line-height: 44.13px;
    }
    .demo-features-area {
        padding-top: 120px;
        padding-bottom: 120px;
    }
    .demo-footer-area .footer-right-imgs {
        position: relative;
        justify-content: flex-end;
        margin-top: 50px;
    }
    .demo-footer-area .footer-right-imgs img:first-child {
        position: absolute;
        margin-right: 0;
        left: -100px;
    }
    .demo-footer-area .custom-container {
        padding-left: 40px;
        padding-right: 40px;
    }
    .demo-footer-area .content {
        padding-bottom: 40px;
        padding-top: 120px;
    }
    .hero-slider-wrap .slide-inner .hero-slide-content {
        padding-top: 40px;
    }
    .hero-slider-style-2.hero-slider-wrap .slide-inner .hero-slide-content {
        padding-top: 0;
    }
    .hero-style-1.hero-slider-wrap .slide-inner .hero-slide-content {
        padding: 70px 0;
    }
    .hero-style-1.hero-slider-wrap .slide-inner .hero-slide-content-wrap {
        min-height: 475px;
    }
    .breadcrumb-area {
        padding-top: 200px;
        padding-bottom: 50px;
    }
    .breadcrumb-area .content ul li {
        font-size: 34px;
    }
    .portfolio-page .service-area,
    .blog-area,
    .pricing-page .pricing-table-area,
    .work-query-page .faq2-area,
    .work-query-page .service-area,
    .service3-area,
    .service-area {
        padding-top: 120px;
    }
    .service-box .service-img {
        max-width: 100%;
    }
    .team-area .left {
        padding-right: 0;
        max-width: 100%;
    }
    .portfolio-page .service-area,
    .blog-area,
    .pricing-page .pricing-table-area,
    .work-query-page .faq2-area,
    .work-query-page .service-area,
    .team-page .about8-area {
        padding-bottom: 120px;
    }
    .team-page .about6-area .left .quote-now-btn {
        left: auto;
        right: 0;
    }
    .work-query-page .faq2-area .custom-row .left {
        padding-top: 0;
    }
    .blog-author-box {
        flex-direction: column;
    }
    .comment .comment {
        padding-left: 40px;
    }
    .blog-detail-area .blog-post .tags {
        flex-wrap: wrap;
    }
    .about-area .img-box img:not(.border-shape){
        height: auto;
    }

}
@media (max-width: 628px) {
    .header-bar-wrap .custom-row {
        flex-direction: column;
        gap: 5px;
    }
    .header-bar-wrap .right ul {
        gap: 26px;
    }
    .header-bar-wrap .right ul li + li::before {
        left: -13px;
    }
    .about3-area .custom-row {
        flex-direction: column;
    }
    .about3-area .left {
        width: 100%;
        max-height: 400px;
    }
    .about3-area .right {
        width: 100%;
        padding-left: 40px;
        padding-right: 40px;
    }
    .about6-area .left {
        width: 100%;
    }
    .about6-area .left .quote-now-btn {
        right: 0;
    }
    .about6-area .left img {
        width: calc(100% - 60px);
    }
    .about6-area .left .quote-now-btn {
        font-size: 18px;
        line-height: 23.7px;
        padding: 35px 36px;
    }
    .service6-lists,
    .mentor-lists {
        grid-template-columns: 1fr;
    }
    .service6-lists .service6-box:nth-child(3) {
        border-bottom: 0.5px solid #fff;
    }
    .home6-page .pricing-table-area {
        padding-top: 120px;
    }
    .interactive-portfolio .box-img {
        height: 230px;
    }
    .interactive-portfolio .title {
        font-size: 22px;
    }
    .interactive-portfolio .box-img {
        left: auto;
        right: 10%;
    }
    .hero-interactive-portfolios {
        justify-content: center;
        padding: 60px 0;
    }
    .hero-slider-wrap .swiper-container {
        margin-left: 0;
    }
    .hero-slider-wrap .slide-inner .hero-slide-content-wrap {
        padding-left: 30px;
    }
    .video-area {
        position: relative;
        padding-bottom: 120px;
    }
    .video-area .video-content-wrap {
        position: static;
    }
    .video-area .video-content-wrap .content {
        left: 15px;
        max-width: calc(100% - 30px);
    }
    .video-area .video-content-wrap .video-play-btn {
        top: 34%;
    }
    .faq-list .faq-item .accordion-header button {
        padding-right: 8px;
    }
    .blog-detail-area .blog-post .img-box1 {
        flex-direction: column;
    }
    .blog-detail-area .blog-post .img-box1 .right {
        max-width: 100%;
    }
    #custom-cursor-inner,
    #custom-cursor {
        display: none;
    }

}
@media (max-width: 525px) {
    .logo-wordmark-name {
        font-size: 20px;
    }

    .logo-wordmark-tagline {
        margin-top: 5px;
        font-size: 9px;
        letter-spacing: .035em;
    }

    .service-area {
        padding: 100px 0;
    }
    .story-area,
    .testimonial-area,
    .service2-area,
    .about2-area {
        padding-top: 100px;
        padding-bottom: 100px;
    }
    .service5-area {
        padding-top: 100px;
    }
    .hero-slider-thumbnail {
        display: none;
    }
    .hero-slider-wrap .slide-inner .hero-slide-content-wrap {
        padding-left: 25px;
        padding-right: 25px;
        margin: 0;
    }
    .hero-slider-wrap .slide-inner .hero-slide-content h1 {
        font-size: 44px;
        line-height: 44.1px;
    }
    .hero-slider-wrap .slide-inner .hero-slide-content h1 br {
        display: none;
    }
    .hero-slider-wrap {
        min-height: 450px;
    }
    .hero-style-1.hero-slider-wrap {
        min-height: 350px;

    }
    .header-bar-wrap .right ul {
        /* flex-direction: column; */
        column-gap: 15px;
        gap: 12px 24px;
        flex-wrap: wrap;
        justify-content: center;
    }
    .header-bar-wrap .right ul li::before {
        display: none;
    }
    .team3-area {
        padding-top: 120px;
    }
    .service-items {
        row-gap: 40px;
    }
    .service-items,
    .demo-area .demo-boxes,
    .pricing-table2-area .pricing-table-lists,
    .team3-area .teams-wrap,
    .teams-wrap,
    .service3-items,
    .client-items,
    .pricing-table-lists,
    .story-items {
        grid-template-columns: 1fr;
    }
    .about-area .img-box {
        width: 100%;
        height: 400px;
    }
    .about-area .img-box .border-shape {
        left: auto;
        right: 20px;
    }
    .ticket-area .section-heading .title br {
        display: none;
    }
    .ticket-area .section-heading {
        margin-bottom: 45px;
    }
    
    .blog-post .title,
    .demo-footer-area .content .title,
    .demo-features-area .section-header .title,
    .coming-soon .content .title,
    .home9-page #multiscroll .ms-right .contact-form-content .title,
    .home9-page #multiscroll .ms-right .hero-content .title,
    .home9-page #multiscroll .ms-right .right-content .title,
    .home9-page #multiscroll .ms-left .hero-content-faq .title,
    .home9-page #multiscroll .hero-content .title,
    .ticket-area .section-heading .title,
    .about7-area .section-header .title,
    .about6-area .content .title,
    .about4-area .content .title,
    .about5-area .section-header .title,
    .service3-area .section-header .title,
    .client-area .section-heading .title,
    .faq-area .faq-content .title,
    .portfolio-area .section-heading .title,
    .service2-area .section-heading .title,
    .video2-area .section-heading .title,
    .about2-area .left-content .title,
    .newsletter-area .title,
    .pricing-table-area .section-header h1,
    .story-area .section-header h1,
    .section-header-default-content .title {
        /* font-size: 24px;
        line-height: 31.4px; */
    }
    .gallery-box .gallery-content {
        padding-left: 29px;
        padding-right: 29px;
    }
    .testimonial-area {
        padding-bottom: 120px;
    }
    .team-area .right {
        position: relative;
        flex: 1;
        width: 100%;
    }
    .team-area .team-slider-wrap {
        width: 100% !important;
        overflow: hidden;
    }
    .team-slide-box .content .title {
        font-size: 20px;
    }
    .team-area .left {
        padding-right: 0;
    }
    .service2-items .service2-box {
        max-width: 100%;
    }
    .home3-page .service2-area {
        padding-top: 60px;
        padding-bottom: 80px;
    }
    .service3-area {
        padding-top: 80px;
    }
    .client-area {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .portfolio3-area .portfolio-item,
    .footer-contact-infos .footer-widget-link,
    .footer-area .footer-links .footer-widget {
        width: 100%;
    }
    .service2-items {
        row-gap: 40px;
    }
    .copyright-area {
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
        align-items: center;
        row-gap: 5px;
        padding-bottom: 15px;
    }
    .footer-area .border-gradient-shape {
        bottom: 50px;
    }
    .video-area .video-content-wrap .video-play-btn {
        width: 120px;
        height: 120px;
    }
    .testimonial-area .testimonial-button-next, .testimonial-area .testimonial-button-prev {
        display: none;
    }
    .hero-slider-style-2 .swiper-slide .slide-inner .hero-slide-content-wrap {
        gap: 38px;
        padding-right: 0;
    }
    .service2-box .title {
        font-size: 20px;
    }
    .service2-box p {
        font-size: 14px;
    }
    .video2-area .video-bg {
        height: 260px;
    }
    .home3-page .faq-area .custom-row .left,
    .faq-area .custom-row .left {
        padding-left: 40px;
        padding-right: 40px;
    }
    .home3-page .faq2-area .custom-row .left {
        padding: 0;
    }
    .service5-area .img-box {
        width: 100%;
    }
    .hero-banner-bottom .quote-now-btn {
        padding: 30px 50px 20px 30px;
    }
    .hero5-area {
        padding-bottom: 120px;
    }
    .hero5-area .content .title {
        font-size: 50px;
        line-height: 50.3px;
    }
    .hero5-area .img-box {
        width: 100%;
        max-width: 100%;
        top: 0;
        height: 100%;
        right: 0;
    }
    .hero5-area .content p,
    .hero5-area .content .title {
        color: #ffffff;
    }
    .hero5-area .content .theme-btn {
        color: #ffffff;
    }
    .hero5-area .content .theme-btn::before,
    .hero5-area .content .theme-btn::after,
    .hero5-area .content .theme-btn span::after,
    .hero5-area .content .theme-btn span::before {
        background: #ffffff;
    }
    .hero5-area .content .theme-btn span {
        border-color: #ffffff;
    }
    .hero5-area .custom-container {
        min-height: calc(80vh - 55px);
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding: 0 40px 50px 40px;
    }
    .header-style-4 .logo {
        padding: 18px 30px;
    }
    .mentor-area {
        padding-top: 120px;
        padding-bottom: 120px;
    }
    .hero6-area .right {
        padding: 40px;
    }
    .hero6-area .content .title {
        font-size: 34px;
        line-height: 34.7px;
    }

    .horizontal-section-scroll .contact-and-footer-area .footer-infos {
        flex-wrap: wrap;
        column-gap: 20px;
        row-gap: 48px;
        flex-direction: column;
    }
    .hero10-area .content .title {
        font-size: 38px;
        line-height: 38.8px;
    }

    .coming-soon .content {
        max-width: calc(100% - 20px);
    }
    .coming-soon .content p {
        font-size: 12px;
        line-height: 24.6px;
        margin-bottom: 30px;
    }
    .coming-soon .content #countdown ul li span {
        font-size: 36px;
    }
    .coming-soon .content #countdown ul {
        gap: 43px;
    }
    .hero-landing-area .custom-container {
        padding-left: 20px;
        padding-right: 20px;
    }
    .hero-landing-area .right img:nth-child(2) {
        max-width: 85%;
    }
    .hero-landing-area {
        padding-top: 150px;
    }
    .demo-area .demo-boxes {
        row-gap: 50px;
    }
    .demo-area .demo-boxes.first-box .demo-box .demo-img img {
        height: auto;
    }
    .demo-area .demo-boxes.column-2 {
        grid-template-columns: 1fr;
    }
    .demo-blog-area .right {
        flex-direction: column;
        width: 100%;
    }
    .about7-area .left {
        width: 100%;
    }
    .about7-area .right,
    .about7-area .left .box-anim,
    .demo-blog-area .right img {
        max-width: 100%;
    }
    .hero-style-1.hero-slider-wrap .slide-inner .hero-slide-content-wrap {
        min-height: auto;
    }
    .breadcrumb-area {
        padding-top: 150px;
        padding-bottom: 30px;
    }
    .service-area .section-header .left .title {
        line-height: 36.4px;
    }
    .about-area .content {
        max-width: 100%;
    }
    .breadcrumb-area .content ul li {
        font-size: 26px;
    }
    .blog-post .meta {
        flex-wrap: wrap;
        row-gap: 10px;
    }
    .comment .comment-inner {
        flex-direction: column;
    }
    .blog-comment-form form .row-group {
        grid-template-columns: 1fr;
    }
    .hero-style-1.hero-slider-wrap {
        min-height: calc(100vh - 220px);
        height: calc(100vh - 220px);
    }
    .footer-area .footer-links {
        border-bottom: none;
        padding-bottom: 0;
    }
    .header-wrap .logo img {
        max-width: 130px;
    }
    .header-wrap.header-style-1 {
        padding: 15px 0;
    }
    .hero-slider-wrap .swiper-container {
        padding-bottom: 0;
    }
    .hero-style-1.hero-slider-wrap .slide-inner .hero-slide-content {
        padding-bottom: 50px;
    }
    .section-header-default-content ul li {
        font-size: 16px;
        line-height: 33.3px;
    }
    .story-box .content-box ul li {
        font-size: 14px;
    }
    .story-box .content-box h1 {
        font-size: 24px;
        line-height: 31.7px;
    }
    .team-slide-box img {
        width: 100%;
    }
    .pricing-table ul li {
        font-size: 14px;
        line-height: 33.3px;
    }
    .about8-area .img-box,
    .home6-page .service3-area .section-heading,
    .home3-page .faq-area .custom-row .right,
    .hero-slider-style-2 .hero-slide-content-wrap .hero-img-box,
    .footer-area .footer-left {
        max-width: 100%;
    }
    .footer-widget p {
        font-size: 14px;
        line-height: 25.4px;
    }
    .service3-box .title {
        font-size: 20px;
    }
    .team3-area .teams-wrap .team-slide-box {
        height: 450px;
    }
    .video-area .video-bg {
        height: 270px;
    }
    .video-area {
        padding-bottom: 134px;
    }
    .home6-page .video-area .video-content-wrap .content {
        max-width: 100%;
        left: 0;
    }
    .hero-slider-wrap .swiper-container {
        width: 100%;
        left: 0;
    }
    .hero-slider-style-2.hero-slider-wrap .slide-inner .hero-slide-content {
        padding-left: 40px;
        padding-right: 40px;
    }
    .hero-slider-style-2 .hero-slider-2-pagination {
        left: 40px;
    }
    .home7-page .about6-area .left .quote-now-btn {
        align-items: flex-start;
    }
    .about6-area .left .quote-now-btn {
        font-size: 22px;
    }
    .portfolio3-area .portfolio-item .quote-now-btn .title {
        font-size: 26px;
    }
    .landing-page .header-wrap.header-style-1 {
        padding: 32px 0;
    }
    .service2-box p br {
        display: none;
    }
    .demo-features-area .service2-items .service2-box-style2 {
        max-width: 100%;
    }
    .funfacts-wrap .funfact-items {
        justify-content: center;
    }
    .client-area .border-gradient-shape,
    .about3-area .border-gradient-shape,
    .video2-area .border-gradient-shape {
        right: 10px;
        top: 10px;
    }
    .newsletter2-area .border-gradient-shape,
    .faq-area .border-gradient-shape {
        left: 10px;
        top: 10px;
    }
    .faq-area .border-gradient-shape-cf {
        left: 26px !important;
        top: 12px !important;
    }
    .footer-area .border-gradient-shape {
        right: 10px;
    }
    .ticket-area .border-gradient-shape {
        right: 26px;
        top: 12px;
    }
    .hero7-slider-wrap {
        padding-top: 0;
    }
    
    .hero-slider-2-pagination-cf{
        bottom: 5px !important;
    }
    .service-detail-wrap .service-detail-content .detail-list{
        display: grid;
        gap: 0px;
        grid-template-columns:auto auto;
    }
}

/* Text logo sizing replaces the old image-width rules on tablet and mobile. */
@media (max-width: 991px) {
    .header-wrap .logo,
    .header-wrap.header-style-1 .right > .logo,
    .header-wrap.header-style-4 .logo {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: 0 1 auto !important;
        padding: 10px 0 !important;
    }

    .header-wrap .logo .logo-wordmark {
        width: max-content;
        max-width: 100%;
    }

    .header-wrap .logo .logo-wordmark-name {
        font-size: 22px;
    }

    .header-wrap .logo .logo-wordmark-tagline {
        margin-top: 5px;
        font-size: 10px;
        letter-spacing: .035em;
    }
}

/* Homepage mobile layout pass: keep the desktop visual language while making
   every section follow one narrow-screen rhythm. */
@media (max-width: 767px) {
    .home3-page [data-aos] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .header-wrap .custom-row {
        gap: 14px;
    }

    .header-wrap .sidebar-icon {
        flex: 0 0 44px;
    }

    .header-wrap .sidebar-icon svg {
        width: 44px;
        height: auto;
    }

    .header-wrap .right {
        display: flex;
        flex: 1 1 auto;
        width: calc(100vw - 98px) !important;
        max-width: calc(100vw - 98px);
        justify-content: flex-end;
        overflow: hidden;
    }

    .header-wrap.header-style-1 .right > .logo {
        position: absolute !important;
        top: 50% !important;
        right: 20px !important;
        left: auto !important;
        width: 220px !important;
        max-width: 230px !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
        padding: 8px 0 !important;
    }

    .header-wrap .logo .logo-wordmark {
        /* max-content, not 100%: the wrapper must hug the name so the tagline
           below can lock to the name's width. With width:100% plus flex-end the
           tagline was pushed ~49px right of the name's centre. */
        width: max-content;
        max-width: 100%;
        align-items: center;
    }

    .header-wrap .logo .logo-wordmark-name {
        max-width: 100%;
        font-size: clamp(14px, 4.2vw, 18px);
        letter-spacing: -.2px;
    }

    .header-wrap .logo .logo-wordmark-tagline {
        max-width: 100%;
        margin-top: 4px;
        font-size: clamp(6px, 2vw, 8px);
        letter-spacing: 0;
    }

    .home3-page .hero3-area {
        padding-top: 44px;
    }

    .home3-page .hero3-area .hero-banner-top {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 18px !important;
    }

    .home3-page .hero3-area .hero-banner-top > .left,
    .home3-page .hero3-area .hero-banner-top > .right {
        width: calc(100vw - 40px) !important;
        max-width: calc(100vw - 40px) !important;
        height: auto !important;
        min-height: 0 !important;
        padding-top: 0 !important;
    }

    .home3-page .hero3-area .hero-banner-top .subtitle {
        margin-bottom: 12px;
        font-size: 9px;
        line-height: 1.5;
        letter-spacing: .24em;
    }

    .home3-page .hero3-area .hero-banner-top .title {
        display: block !important;
        position: static !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        width: calc(100vw - 40px) !important;
        max-width: calc(100vw - 40px) !important;
        font-size: clamp(29px, 8.2vw, 34px) !important;
        line-height: 1.12 !important;
        letter-spacing: -.02em;
        white-space: normal !important;
        text-wrap: wrap !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        overflow: visible !important;
    }

    .home3-page .hero3-area .hero-banner-top p {
        width: calc(100vw - 40px) !important;
        max-width: calc(100vw - 40px) !important;
        margin: 0;
        white-space: normal !important;
        text-wrap: wrap !important;
        overflow-wrap: anywhere !important;
        font-size: 14px;
        line-height: 1.75;
    }

    .home3-page .hero-banner-bottom {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-top: 34px;
    }

    .home3-page .hero-banner-bottom .box-anim,
    .home3-page .hero-banner-bottom .box-anim img {
        width: 100vw !important;
        max-width: 100vw !important;
    }

    .home3-page .hero-banner-bottom .box-anim img {
        height: 260px;
        object-position: center 40%;
    }

    .home3-page .hero-banner-bottom .quote-now-btn {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        display: flex;
        width: calc(100vw - 40px) !important;
        max-width: 330px !important;
        min-height: 68px;
        margin: -20px 20px 0 !important;
        padding: 20px 24px !important;
        align-items: center;
        justify-content: space-between;
    }

    .home3-page .funfacts-wrap {
        padding: 52px 0;
    }

    .home3-page .funfacts-wrap .funfact-items {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 20px;
        align-items: start;
    }

    .home3-page .hero3-area .funfact-box {
        width: auto;
        min-width: 0;
    }

    .home3-page .funfact-box .title {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        align-items: flex-end;
        font-size: 28px;
    }

    .home3-page .funfact-box .title span {
        margin-left: 0;
    }

    .home3-page .team2-area .teams-wrap {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .home3-page .team2-area .teams-wrap .team-slide-box {
        width: 100%;
        max-width: 100%;
    }

    .home3-page .team2-area .teams-wrap .team-slide-box .content,
    .home3-page .team2-area .teams-wrap .team-slide-box:hover .content {
        min-height: 0;
        padding: 17px 18px 19px;
    }

    .home3-page .contact2-area .right {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 380px) {
    .header-wrap .custom-container,
    .home3-page .custom-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .home3-page .hero3-area .hero-banner-top > .left,
    .home3-page .hero3-area .hero-banner-top > .right,
    .home3-page .hero3-area .hero-banner-top .title,
    .home3-page .hero3-area .hero-banner-top p {
        width: calc(100vw - 32px) !important;
        max-width: calc(100vw - 32px) !important;
    }

    .home3-page .hero-banner-bottom .quote-now-btn {
        width: calc(100vw - 32px) !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
    }
}

@media (max-width: 525px) {
    .header-wrap .logo .logo-wordmark-name {
        font-size: 18px;
        letter-spacing: -.2px;
    }

    .header-wrap .logo .logo-wordmark-tagline {
        margin-top: 4px;
        font-size: 8px;
        letter-spacing: 0;
    }

    .header-wrap .logo .logo-wordmark-tagline b {
        margin: 0 .15em;
    }

    .home3-page .team2-area .teams-wrap {
        gap: 24px;
    }

    .home3-page .team2-area .teams-wrap .team-slide-box > img {
        height: auto;
        aspect-ratio: 1 / 1;
        object-position: center 20%;
    }

    .home3-page .team2-area .teams-wrap .team-slide-box .content,
    .home3-page .team2-area .teams-wrap .team-slide-box:hover .content {
        grid-template-columns: 1fr;
        gap: 8px;
        min-height: 0;
        padding: 16px 18px 18px;
    }

    .home3-page .team2-area .teams-wrap .team-slide-box .content .title {
        font-size: 20px;
    }

    .home3-page .team2-area .teams-wrap .team-slide-box .content .team-desig {
        justify-content: flex-start;
    }

    .home3-page .team2-area .teams-wrap .team-slide-box .content .team-desig li {
        text-align: left;
    }
}

@media (max-width: 425px) {
    .title {
        /* font-size: 26px;
        line-height: 36.4px; */
    }
    .service-items {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .service-box .service-img {
        max-width: 100%;
    }
    .contact-form .title {
        /* font-size: 24px; */
    }
    .testimonial-area .testimonial-content p {
        /* font-size: 15px; */
        /* line-height: 25.3px; */
    }
    .copyright-area ul {
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 5px;
    }
    .about4-area .imgs {
        flex-direction: column;
    }
    .about4-area .right {
        width: 100%;
    }
    .about4-area .imgs .box-anim {
        width: 100%;
    }
    .about4-area .imgs .box-anim  img {
        width: 100%;
        object-fit: cover;
    }
    .hero5-area .content .title {
        font-size: 40px;
        line-height: 40.3px;
    }
    .ticket-box h4 {
        padding-right: 0;
    }
    .ticket-box > a {
        position: relative;
        top: 0;
        display: inline-block;
        margin-top: 13px;
    }
    .fully-responsive-area::before {
        height: 50%;
    }
    .demo-blog-area .content .title,
    .inner-pages-area .section-header .title,
    .fully-responsive-area .section-heading .title,
    .about8-area .content .title,
    .mentor-area .section-heading .title,
    .team3-area .section-heading .title {
        /* font-size: 24px;
        line-height: 31.4px; */
    }
    .interactive-portfolio {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .interactive-portfolio {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .interactive-portfolio:hover .box-img {
        width: 180px;
    }
    .hero-landing-area .imgs img:first-child {
        left: -155px;
    }
    .contact2-area .right {
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media (max-width: 407px) {
    .hero-slider-wrap .slide-inner .hero-slide-content p {
        font-size: 13px;
        line-height: 22.6px;
    }
}

/* Homepage mobile containment. Keep this block last so desktop-width widget
   defaults cannot override the phone layout. */
@media (max-width: 767px) {
    .header-wrap {
        position: relative;
        z-index: 1000;
    }

    .header-wrap .sidebar-icon {
        display: block !important;
        position: relative;
        z-index: 2;
    }

    .header-wrap .responsive-menu.active {
        visibility: visible !important;
        max-height: calc(100vh - 76px) !important;
        padding: 92px 28px 34px !important;
        overflow-y: auto;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
        transition-delay: 0s;
        box-shadow: 0 18px 28px rgb(18 38 32 / 8%);
    }

    .header-wrap .responsive-menu {
        top: 0;
        min-height: 0;
        box-sizing: border-box;
    }

    .header-wrap .responsive-menu nav > ul {
        margin: 0;
        padding: 0;
    }

    .header-wrap .responsive-menu nav > ul > li {
        margin: 0;
        padding: 4px 0;
    }

    .header-wrap .responsive-menu nav > ul > li > a {
        width: 100%;
        padding: 7px 28px 7px 14px;
        color: #071b36;
        font-size: 14px;
        font-weight: 500;
        line-height: 1.35;
        box-sizing: border-box;
    }

    /* Current item marker: the theme's real star-shape.svg, same as the desktop
       menu and the theme demo. Keep this as the SVG, not a unicode glyph â€” the
       glyph renders in whatever font happens to resolve and does not match. */
    .header-wrap .responsive-menu nav > ul > li.current-menu-item > a::before,
    .header-wrap .responsive-menu nav > ul > li.active > a::before {
        content: '';
        display: block;
        position: absolute;
        left: 0;
        top: 50%;
        width: 11px;
        height: 11px;
        margin: -5px 0 0 0;
        background: url('../imgs/star-shape.svg') no-repeat center center;
        background-size: contain;
    }

    .header-wrap .sidebar-icon {
        z-index: 1000000;
    }

    .header-wrap .sidebar-icon a.active-hum > i {
        color: #d3b184;
        font-size: 32px;
        font-family: Arial, sans-serif !important;
        font-style: normal;
        font-weight: 300;
    }

    .header-wrap .sidebar-icon a.active-hum > i::before {
        content: '\00d7';
    }

    body.mobile-menu-open {
        overflow: hidden;
    }

    body .elementor-2460,
    body .elementor-2460 .e-con,
    body .elementor-2460 .elementor-element,
    body .elementor-2460 .elementor-widget,
    body .elementor-2460 .elementor-widget-container,
    .home3-page,
    .home3-page section,
    .home3-page .custom-container,
    .home3-page .custom-row,
    .home3-page .elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
    }

    body #content.home3-page {
        width: 100vw !important;
        max-width: 100vw !important;
    }

    .home3-page .custom-container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .home3-page .hero3-area .hero-banner-top,
    .home3-page .hero3-area .hero-banner-top > .left,
    .home3-page .hero3-area .hero-banner-top > .right {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .home3-page .hero3-area .hero-banner-top .title,
    .home3-page .hero3-area .hero-banner-top p {
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: break-word;
    }

    .home3-page .hero-banner-bottom,
    .home3-page .hero-banner-bottom .box-anim,
    .home3-page .hero-banner-bottom .box-anim img {
        width: 100% !important;
        max-width: 100% !important;
    }

    .home3-page .hero-banner-bottom .quote-now-btn {
        right: 20px !important;
        left: auto !important;
        width: calc(100% - 40px) !important;
        max-width: 330px !important;
        box-sizing: border-box;
    }
}

@media (max-width: 525px) {
    .home3-page .hero3-area .hero-banner-top .title {
        font-size: 32px !important;
        line-height: 1.12 !important;
    }

    .header-wrap .logo img {
        width: 230px !important;
        max-width: 230px !important;
    }

    /* Keep the two-line wordmark readable without crowding the mobile menu. */
    .header-wrap.header-style-4 .logo {
        width: auto !important;
        max-width: none !important;
        box-sizing: border-box;
        flex: 0 1 auto;
        padding: 8px 0;
    }

    .header-wrap.header-style-4 .logo img {
        width: 230px !important;
        max-width: 230px !important;
    }
}

/* # Off-canvas menu: Practice Areas sub-list
   The list carries 13 long labels. The theme's .6em tracking made every label
   far wider than the panel, and the 400px cap combined with overflow-x: hidden
   clipped whatever did not fit. Tighten the type, let it wrap, and let the
   open accordion grow. */
@media (max-width: 991px) {
    .header-wrap .responsive-menu nav > ul {
        display: flex;
        flex-direction: column;
    }

    .header-wrap .responsive-menu nav > ul > li:nth-child(1) {
        order: 1;
    }

    .header-wrap .responsive-menu nav > ul > li:nth-child(4) {
        order: 2;
    }

    .header-wrap .responsive-menu nav > ul > li:nth-child(2) {
        order: 3;
    }

    .header-wrap .responsive-menu nav > ul > li:nth-child(3) {
        order: 4;
    }

    .header-wrap .responsive-menu nav > ul > li:nth-child(5) {
        order: 5;
    }

    .header-wrap .responsive-menu nav ul li .dropdown li a {
        font-size: 12px;
        letter-spacing: .08em;
        line-height: 1.5;
        margin: 9px 0;
        padding-left: 18px;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .header-wrap .responsive-menu nav ul li .dropdown li a::before {
        top: 9px;
    }

    .header-wrap .responsive-menu nav ul li.dropdown-active .dropdown {
        max-height: 1400px;
        overflow: visible;
    }

    /* comfortable tap targets on the top-level items */
    .header-wrap .responsive-menu nav > ul > li > a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

/* ------------------------------------------------------------------
   Footer on small screens.

   The stock rules drop every footer widget to width:100%, which stacks
   seven blocks into a ~1550px-tall column, and .copyright-area wraps with
   only a row-gap, so "Made with Xper8" butts straight into the legal links
   with no space between them.
   ------------------------------------------------------------------ */
@media (max-width: 767px) {
    .footer-area .footer-links,
    .footer-contact-infos {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px 24px;
    }

    .footer-area .footer-links .footer-widget,
    .footer-contact-infos .footer-widget-link {
        width: 100%;
        min-width: 0;
    }

    /* The address lines run long; give them the full row instead of
       wrapping every line inside a half-width column. */
    .footer-contact-infos .footer-widget-link:first-child {
        grid-column: 1 / -1;
    }

    .copyright-area {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        gap: 12px;
        text-align: center;
        /* Bottom space clears the fixed WhatsApp button, which would
           otherwise sit on top of the copyright line. */
        padding: 60px 0 88px;
    }

    .copyright-area p,
    .copyright-area .footer-credit {
        line-height: 1.5;
    }

    .copyright-area ul {
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px 24px;
    }
}

/* Final mobile-nav cascade: this must remain after all legacy theme rules. */
@media (max-width: 0px) {
    .header-wrap {
        min-height: 76px;
        padding: 0 20px !important;
        background: #fff;
        border-top: 2px solid #122620;
        border-bottom: 1px solid rgb(6 29 56 / 10%);
        box-shadow: 0 8px 28px rgb(6 29 56 / 5%);
    }

    .header-wrap .responsive-menu,
    .header-wrap .responsive-menu.active {
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100dvh;
        max-height: 100dvh !important;
        padding: 108px 24px 36px !important;
        background: linear-gradient(180deg, rgb(255 255 255 / 98%), rgb(250 248 243 / 99%));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .header-wrap .responsive-menu nav {
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
    }

    .header-wrap .responsive-menu nav > ul > li {
        margin: 0;
        padding: 0;
        border-bottom: 1px solid rgb(6 29 56 / 11%);
    }

    .header-wrap .responsive-menu nav > ul > li:first-child {
        border-top: 1px solid rgb(6 29 56 / 11%);
    }

    .header-wrap .responsive-menu nav > ul > li > a {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 58px;
        padding: 17px 40px 17px 16px !important;
        color: #061d38;
        font-family: var(--font_marcellus), Georgia, serif;
        font-size: 17px;
        font-weight: 400;
        line-height: 1.35;
        letter-spacing: .015em;
        text-transform: none;
    }

    .header-wrap .responsive-menu nav > ul > li.dropdown-active > a {
        color: #966515;
    }

    .header-wrap .responsive-menu nav > ul > li > a > i {
        top: 50%;
        right: 12px;
        transform: translateY(-50%);
    }

    .header-wrap .responsive-menu nav > ul > li.dropdown-active > a > i {
        color: #966515;
        transform: translateY(-50%) rotate(180deg);
    }

    .header-wrap .responsive-menu nav ul li .dropdown {
        width: calc(100% - 16px);
        margin: 0 8px;
        padding: 0 16px;
        background: rgb(6 29 56 / 3.5%);
        border-left: 1px solid #b8892b;
        border-right: 1px solid rgb(6 29 56 / 6%);
        border-bottom: 1px solid rgb(6 29 56 / 8%);
        border-radius: 0 0 3px 0;
        opacity: 0;
        overflow: hidden;
        box-sizing: border-box;
    }

    .header-wrap .responsive-menu nav ul li.dropdown-active .dropdown {
        max-height: min(56dvh, 520px) !important;
        padding-top: 12px;
        padding-bottom: 16px;
        opacity: 1;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: #b8892b transparent;
    }

    .header-wrap .responsive-menu nav ul li.dropdown-active .dropdown::-webkit-scrollbar {
        width: 4px;
    }

    .header-wrap .responsive-menu nav ul li.dropdown-active .dropdown::-webkit-scrollbar-thumb {
        background: #b8892b;
        border-radius: 10px;
    }

    .header-wrap .responsive-menu nav ul li .dropdown li a {
        width: 100%;
        margin: 0;
        padding: 12px 8px !important;
        color: #18304d;
        font-size: 11px;
        font-weight: 500;
        line-height: 1.55;
        letter-spacing: .055em;
    }

    /* Mobile wordmark: keep the name prominent and the descriptor genuinely
       readable, while reserving clear space for the close control. */
    .header-wrap .logo,
    .header-wrap.header-style-1 .right > .logo,
    .header-wrap.header-style-4 .logo {
        width: auto !important;
        max-width: calc(100vw - 105px) !important;
        margin: 0 !important;
        padding: 8px 0 !important;
    }

    .header-wrap .logo .logo-wordmark {
        width: max-content;
        max-width: 100%;
        align-items: center;
    }

    .header-wrap .logo .logo-wordmark-name {
        color: #061d38;
        font-size: clamp(18px, 4.6vw, 22px) !important;
        font-weight: 700;
        line-height: 1.08;
        letter-spacing: -.25px;
        text-rendering: optimizeLegibility;
    }

    .header-wrap .logo .logo-wordmark-tagline {
        margin-top: 6px;
        color: #966515;
        font-size: clamp(8px, 2.1vw, 9.5px) !important;
        font-weight: 500;
        line-height: 1.2;
        letter-spacing: .025em;
        white-space: nowrap;
    }

    .header-wrap .logo .logo-wordmark-tagline b {
        margin: 0 .55em;
    }

    .header-wrap .sidebar-icon a {
        min-width: 40px;
        min-height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

@media (max-width: 380px) {
    .header-wrap .logo .logo-wordmark-name {
        font-size: 17px !important;
    }

    .header-wrap .logo .logo-wordmark-tagline {
        font-size: 7.5px !important;
        letter-spacing: .01em;
    }
}

/* ------------------------------------------------------------------
   Mobile navigation polish. Must stay after the cascade block above.

   The chevron is a SIBLING of the menu anchor:
       <li class="dropdown-item"><a>…</a><i></i><ul class="dropdown">…</ul></li>
   but every legacy rule targets `li > a > i`, so none of them ever matched.
   The icon fell back to top:0/right:0 and sat ~18px above the row's centre,
   with no open/closed direction change. These selectors match the real DOM.
   ------------------------------------------------------------------ */
@media (max-width: 0px) {
    .header-wrap .responsive-menu,
    .header-wrap .responsive-menu.active {
        /* Flat #fff, matching .header-wrap and body exactly. Opaque, because at
           98% the page behind ghosted through; flat, because the old gradient
           drifted to #faf8f3 by the bottom and never matched the white header
           it hangs from, leaving a visible tonal seam down the panel. */
        background: #ffffff;
        /* Room for the last item to clear the floating WhatsApp button and to
           stop a long submenu ending flush against the viewport edge. */
        padding-bottom: 120px !important;
    }

    /* The header row already paints above the panel (z-index 1000000) but was
       transparent, so only the logo's own white background showed: it read as a
       floating white card with menu items sliding out from behind it. Give the
       row a full-bleed opaque band so the list scrolls cleanly underneath.
       The pseudo-element bleeds past the container's 20px gutters; z-index:-1
       keeps it behind the logo while staying inside the row's stacking
       context, which is above the panel. */
    body.mobile-menu-open .header-wrap .custom-row::before {
        content: "";
        position: absolute;
        top: -20px;
        bottom: -3px;
        left: -50vw;
        right: -50vw;
        z-index: -1;
        background: #ffffff;
        border-bottom: 1px solid rgb(6 29 56 / 10%);
    }

    .header-wrap .responsive-menu nav > ul > li {
        position: relative;
    }

    .header-wrap .responsive-menu nav > ul > li > i {
        position: absolute;
        top: 0;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        /* Height matches the row's min-height so the glyph centres on the row
           and stays put when the submenu below expands. */
        width: 46px;
        height: 58px;
        margin: 0;
        color: #b8892b;
        font-size: 13px;
        line-height: 1;
        /* The anchor owns the tap; the icon must not swallow it. */
        pointer-events: none;
        transform: none;
        transition: color .3s ease;
    }

    .header-wrap .responsive-menu nav > ul > li > i::before {
        display: inline-block;
        /* la-angle-right draws a right chevron; rotate it down for "expand". */
        transform: rotate(90deg);
        transition: transform .35s cubic-bezier(.4, 0, .2, 1);
    }

    .header-wrap .responsive-menu nav > ul > li.dropdown-active > i {
        color: #966515;
        transform: none;
    }

    .header-wrap .responsive-menu nav > ul > li.dropdown-active > i::before {
        /* Points up while the submenu is open. */
        transform: rotate(-90deg);
    }
}

/* Final mobile footer layout. Keep after the theme's legacy footer rules so
   every column follows one spacing and alignment system. */
@media (max-width: 767px) {
    .footer-area {
        padding: 64px 0 0;
        background-position: center top;
        overflow: hidden;
    }

    .footer-area .border-gradient-shape,
    .footer-area .shape {
        display: none;
    }

    .footer-area .custom-container {
        width: 100%;
        max-width: 100%;
        padding-right: 24px !important;
        padding-left: 24px !important;
        box-sizing: border-box;
    }

    .footer-area .custom-row {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 44px;
    }

    .footer-area .footer-left {
        width: 100%;
        max-width: 100%;
    }

    .footer-area .footer-left .logo {
        width: max-content;
        max-width: 100%;
        margin-bottom: 20px;
    }

    .footer-area .footer-left > p {
        max-width: 330px;
        font-size: 13px;
        line-height: 1.75;
    }

    .footer-area .social-icons {
        margin-top: 24px;
        gap: 10px;
    }

    .footer-area .social-icons li a {
        width: 42px;
        height: 42px;
        line-height: 42px;
        font-size: 19px;
    }

    .footer-area .right::before {
        display: none;
    }

    /* Treat the two legacy footer wrappers as one six-item grid:
       Company | Know More, Hours | Address, Contact | Expertise. */
    .footer-area .right {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
        gap: 42px 28px;
    }

    .footer-area .footer-links {
        display: contents;
    }

    .footer-area .footer-links .footer-widget {
        width: 100%;
        min-width: 0;
    }

    .footer-area .footer-links .footer-widget:nth-child(3) {
        grid-column: auto;
    }

    .footer-area .footer-links .footer-widget:nth-child(3) ul {
        display: block;
    }

    .footer-area .footer-links .footer-widget:nth-child(3) ul li {
        margin: 0 0 15px;
    }

    .footer-area .footer-links .footer-widget:nth-child(3) ul li:last-child {
        margin-bottom: 0;
    }

    .footer-area .footer-contact-infos {
        display: contents;
    }

    .footer-area .footer-contact-infos .footer-widget-link {
        width: 100%;
        min-width: 0;
    }

    .footer-area .footer-contact-infos .footer-widget-link:first-child {
        grid-column: auto;
    }

    .footer-area .footer-widget h3 {
        margin: 0 0 20px;
        font-size: 10px;
        line-height: 1.3;
        letter-spacing: .28em;
    }

    .footer-area .footer-widget-link ul,
    .footer-area .footer-widget-link ul li {
        margin-top: 0;
    }

    .footer-area .footer-widget-link ul li {
        margin-bottom: 15px;
        font-size: 12.5px;
        line-height: 1.55;
    }

    .footer-area .footer-widget-link ul li:last-child {
        margin-bottom: 0;
    }

    .footer-area .footer-widget-link ul li,
    .footer-area .footer-widget-link ul li a {
        overflow-wrap: anywhere;
    }

    .footer-area .copyright-area {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        margin-top: 46px;
        padding: 30px 0 32px;
        gap: 14px;
        border-top: 1px solid rgb(211 177 132 / 30%);
        text-align: center;
    }

    .footer-area .copyright-area p {
        max-width: 100%;
        font-size: 11px;
        line-height: 1.6;
    }

    .footer-area .copyright-area ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px 24px;
        margin-top: 2px;
    }

    .footer-area .copyright-area ul li,
    .footer-area .copyright-area ul li a {
        font-size: 11px;
        line-height: 1.5;
    }
}

@media (max-width: 390px) {
    .footer-area .custom-container {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    .footer-area .footer-links,
    .footer-area .footer-contact-infos {
        column-gap: 18px;
    }

    .footer-area .right {
        column-gap: 18px;
    }

    .footer-area .footer-widget-link ul li {
        font-size: 12px;
    }
}

/* Precisely aligned mobile close control. The original Line Awesome glyph
   sits off-centre because of its font metrics, so draw the two strokes. */
@media (max-width: 0px) {
    .header-wrap .sidebar-icon a.active-hum {
        position: fixed;
        top: 17px;
        right: 20px;
        z-index: 1000002;
        width: 42px;
        height: 42px;
        min-width: 42px;
        min-height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        line-height: 1;
    }

    .header-wrap .sidebar-icon a.active-hum > i {
        position: relative;
        inset: auto;
        width: 22px;
        height: 22px;
        display: block;
        color: transparent;
        font-size: 0 !important;
        line-height: 0;
        opacity: 1;
        visibility: visible;
        transform: none;
    }

    .header-wrap .sidebar-icon a.active-hum > i::before,
    .header-wrap .sidebar-icon a.active-hum > i::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 22px;
        height: 2px;
        margin: -1px 0 0 -11px;
        border-radius: 2px;
        background: #966515;
        transform-origin: center;
    }

    .header-wrap .sidebar-icon a.active-hum > i::before {
        transform: rotate(45deg);
    }

    .header-wrap .sidebar-icon a.active-hum > i::after {
        transform: rotate(-45deg);
    }

    .header-wrap .sidebar-icon a.active-hum:hover > i {
        transform: none;
    }
}

@media (max-width: 380px) {
    .header-wrap .sidebar-icon a.active-hum {
        right: 14px;
    }
}

/* Service-detail Scope / Delivery facts: legacy mobile CSS used auto columns
   with no gutter, so long values overlapped at the centre. */
@media (max-width: 767px) {
    .service-detail-wrap .service-detail-content .detail-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
        width: 100%;
    }

    .service-detail-wrap .service-detail-content .detail-list li {
        min-width: 0;
        margin-bottom: 0;
    }

    .service-detail-wrap .service-detail-content .detail-list li .title {
        max-width: 100%;
        font-size: 17px;
        line-height: 1.25;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: normal;
    }
}

@media (max-width: 420px) {
    .service-detail-wrap .service-detail-content .detail-list {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    body.mobile-menu-open .header-wrap .logo .logo-wordmark-name {
        font-size: 16.5px !important;
        letter-spacing: -.3px;
    }

    body.mobile-menu-open .header-wrap .logo .logo-wordmark-tagline {
        font-size: 7.25px !important;
        margin-top: 5px;
    }

    body.mobile-menu-open .header-wrap .logo,
    body.mobile-menu-open .header-wrap.header-style-1 .right > .logo,
    body.mobile-menu-open .header-wrap.header-style-4 .logo {
        max-width: calc(100vw - 118px) !important;
    }
}

/* ------------------------------------------------------------------
   Inner-page breadcrumb on mobile.

   The list is a flex row, so a long page title wrapped to four lines
   *beside* "Home —", underlined, and read as one broken sentence. Stack it
   instead: "Home" becomes a small gold eyebrow, the rule sits under it, and
   the page title reads as the display heading it actually is.
   ------------------------------------------------------------------ */
@media (max-width: 767px) {
    .breadcrumb-area .content ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .breadcrumb-area .content ul li:first-child,
    .breadcrumb-area .content ul li:first-child a {
        font-family: var(--font_montserrat), Montserrat, Arial, sans-serif;
        font-size: 11px;
        font-weight: 600;
        line-height: 1;
        letter-spacing: .2em;
        text-transform: uppercase;
        /* Brighter than --primary: over the breadcrumb photo the standard gold
           measures ~3.6:1 at this size, this reaches ~4.7:1. */
        color: #e8c9a0 !important;
    }

    /* The inline dash becomes a short rule beneath the eyebrow. */
    .breadcrumb-area .content ul .seperate {
        width: 44px;
        height: 1px;
        margin: 0;
        background: var(--primary) !important;
    }

    .breadcrumb-area .content ul li:last-child {
        max-width: 100%;
        font-size: 30px;
        line-height: 1.18;
        /* Underlining a four-line heading looked like a broken link. */
        text-decoration: none;
    }

    /* Blog and archive templates render their own <h1> right after the list, so
       the trailing crumb must stay a crumb rather than compete as a heading. */
    .breadcrumb-area .content ul:has(+ h1) li:last-child {
        font-family: var(--font_montserrat), Montserrat, Arial, sans-serif;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: .14em;
        text-transform: uppercase;
        opacity: .82;
    }

    .breadcrumb-area .content ul:has(+ h1) {
        gap: 10px;
    }

    .breadcrumb-area {
        padding-bottom: 44px;
    }
}

/* The Scope/Delivery block and the heading block below it had no separation on
   mobile: .detail-list li gets margin-bottom:0 (responsive.css:3107) and the
   .content block has no top margin, so the last value sat flush against the
   "PRACTICE AREA n OF 13" kicker. Most visible under 420px where the facts
   stack into a single column and the last value is the final line. */
@media (max-width: 767px) {
    .service-detail-wrap .service-detail-content .detail-list {
        margin-bottom: 34px;
    }
}

/* ==================================================================
   Text legibility pass - COLOUR ONLY, no sizes, weights or spacing.

   --primary (#d3b184) is the accent for DARK surfaces. Used as text on the
   site's white/ivory panels it measures 2.02:1 where WCAG AA requires 4.5:1
   for normal text. magnuz-unit-test.css also paints every <strong>, <dt> and
   <th> with it, so bold words inside ordinary paragraphs were unreadable.

   #966515 is the theme's own dark gold (already the active mobile-menu colour)
   and measures 5.04:1 on white - same hue, legible. Gold on DARK surfaces is
   untouched and still uses --primary.

   This file loads after style.css and magnuz-unit-test.css, so plain selectors
   are enough to win without !important.
   ================================================================== */

/* Inline emphasis in body copy (magnuz-unit-test.css:1184 and :2299) */
strong,
dt,
th,
p strong,
/* Section kickers */
.practice-area-kicker strong,
.about-firm-kicker strong,
/* Sequence numbers */
.practice-coverage-item span,
.practice-area-card-content span,
.service-box .content h4.subtitle,
.service2-box .title span,
/* Headings, names and credentials */
.about-vm-card h3,
.about-founder-creds,
.about-team-card-body span,
/* Stat and contact units */
.funfact-box .title span,
.contact-detail-content .title span,
.contact-form h4.subtitle,
/* Listing and post meta */
.insight-card-cat a,
.blog-post .meta .date.subtitle,
.blog-post .meta .posted-by a,
.blog-post-detail .title a,
/* Practice-areas page breadcrumb (light background, unlike .breadcrumb-area) */
.practice-page-breadcrumb li:last-child,
.practice-page-breadcrumb a:hover,
/* Accordion plus/minus */
.faq-list .faq-item .accordion-header button .icon {
    color: #966515;
}

/* Listing card meta was rgb(18 38 32 / 60%) = 4.29:1; 78% matches the excerpt
   colour already used on the same card and clears 4.5. */
.insight-card-meta {
    color: rgb(18 38 32 / 78%);
}

/* Elementor's default body grey (#7a7a7a) sits at 4.29:1 on the Terms and
   Privacy pages. */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor em,
.elementor-widget-text-editor h3 {
    color: #5f5f5f;
}

/* Visually hidden overlay link still carried the UA default link blue. */
.home3-page .team2-area .team-slide-box .content .team-card-link {
    color: #ffffff;
}

/* Exception: this band has a dark green background, where the light accent is
   the legible one. The dark gold above would drop it to 3.15:1. */
.practice-process-band .practice-area-kicker strong {
    color: var(--primary);
}

/* Stable mobile header: menu control owns the left edge, the wordmark is
   centred independently, and the open state moves only the close control. */
@media (max-width: 0px) {
    .header-wrap {
        min-height: 76px !important;
        padding: 0 20px !important;
    }

    .header-wrap .custom-container,
    .header-wrap .custom-row {
        width: 100%;
        min-height: 74px !important;
    }

    .header-wrap .custom-row {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .header-wrap .sidebar-icon {
        position: absolute !important;
        top: 50%;
        left: 0;
        right: auto;
        margin: 0;
        transform: translateY(-50%);
    }

    .header-wrap .right {
        display: flex !important;
        align-items: center;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible;
    }

    .header-wrap .logo,
    .header-wrap.header-style-1 .right > .logo,
    .header-wrap.header-style-4 .logo {
        position: static !important;
        inset: auto !important;
        width: auto !important;
        max-width: calc(100vw - 132px) !important;
        margin: 0 auto !important;
        padding: 6px 0 !important;
        transform: none !important;
    }

    .header-wrap .logo .logo-wordmark-name {
        font-size: clamp(16px, 4.5vw, 19px) !important;
        line-height: 1.08;
    }

    .header-wrap .logo .logo-wordmark-tagline {
        margin-top: 5px;
        font-size: clamp(7px, 2vw, 8.5px) !important;
        line-height: 1.15;
    }

    .header-wrap .sidebar-icon a.active-hum {
        position: fixed !important;
        top: 17px !important;
        right: 20px !important;
        left: auto !important;
        transform: none !important;
    }

}

/* Desktop footer: explicitly restore the horizontal live-site geometry so
   the mobile display:contents grid can never leak into desktop layout. */
@media (min-width: 992px) {
    .footer-area .custom-row {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 197px !important;
    }

    .footer-area .footer-left {
        width: 245px !important;
        max-width: 245px !important;
        flex: 0 0 245px !important;
    }

    .footer-area .footer-left .logo {
        width: fit-content !important;
        max-width: none !important;
        margin: 0 0 23px !important;
    }

    .footer-area .footer-left .logo .logo-wordmark {
        width: fit-content !important;
        max-width: none !important;
        align-items: flex-start !important;
    }

    .footer-area .footer-left .logo .logo-wordmark-name {
        font-size: 20px !important;
        line-height: 1.08 !important;
        letter-spacing: -.25px !important;
    }

    .footer-area .footer-left .logo .logo-wordmark-tagline {
        align-self: center !important;
        margin-top: 7px !important;
        font-size: 8.5px !important;
        line-height: 1.15 !important;
        letter-spacing: .04em !important;
    }

    .footer-area .footer-left .logo .logo-wordmark-tagline b {
        margin: 0 .55em !important;
    }

    .footer-area .right {
        display: block !important;
        width: auto !important;
        min-width: 0;
        flex: 1 1 auto !important;
    }

    .footer-area .right::before {
        left: -82px !important;
        top: 0 !important;
        height: calc(100% - 20px) !important;
        width: 1px !important;
        background: rgb(211 177 132 / 30%) !important;
    }

    .footer-area .footer-links,
    .footer-area .footer-contact-infos {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        width: 100% !important;
    }

    .footer-area .footer-links {
        padding-bottom: 46px !important;
        border-bottom: 1px solid rgb(211 177 132 / 30%) !important;
    }

    .footer-area .footer-contact-infos {
        padding-top: 50px !important;
    }

    .footer-area .copyright-area {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 90px 0 10px !important;
        border-top: 0 !important;
        text-align: left !important;
    }
}

/* Footer wordmark containment on phones. */
@media (max-width: 767px) {
    .footer-area > .border-gradient-shape,
    .footer-area > .border-gradient-shape::before,
    .footer-area > .border-gradient-shape::after,
    .footer-area > .shape {
        display: none !important;
        content: none !important;
    }

    .footer-area .footer-left .logo {
        display: block;
        width: fit-content !important;
        max-width: 100% !important;
        margin: 0 0 20px !important;
        overflow: visible;
    }

    .footer-area .footer-left .logo .logo-wordmark {
        width: fit-content;
        max-width: 100%;
        align-items: flex-start;
    }

    .footer-area .footer-left .logo .logo-wordmark-name {
        font-size: clamp(19px, 5.2vw, 22px) !important;
        line-height: 1.1;
        letter-spacing: -.25px;
    }

    .footer-area .footer-left .logo .logo-wordmark-tagline {
        align-self: center;
        margin-top: 6px;
        font-size: clamp(8px, 2.15vw, 9px) !important;
        line-height: 1.2;
        letter-spacing: .02em;
    }

    .footer-area .footer-left .logo .logo-wordmark-tagline b {
        margin: 0 .5em;
    }
}

@media (max-width: 380px) {
    .footer-area .footer-left .logo .logo-wordmark-name {
        font-size: 18px !important;
    }

    .footer-area .footer-left .logo .logo-wordmark-tagline {
        font-size: 7.5px !important;
    }
}

/* Final mobile header positioning: centre against the viewport, not against
   the flex space remaining after the hamburger. Move the active container,
   because a transformed parent changes how its fixed child is positioned. */
@media (max-width: 0px) {
    .header-wrap .custom-row {
        position: relative !important;
    }

    .header-wrap .logo,
    .header-wrap.header-style-1 .right > .logo,
    .header-wrap.header-style-4 .logo {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon {
        position: fixed !important;
        top: 17px !important;
        right: 20px !important;
        bottom: auto !important;
        left: auto !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        transform: none !important;
        z-index: 1000002 !important;
    }

    body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum {
        position: static !important;
        inset: auto !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        transform: none !important;
    }
}

@media (max-width: 380px) {
    body.mobile-menu-open .header-wrap .sidebar-icon {
        right: 14px !important;
    }
}

/* ------------------------------------------------------------------
   Mobile header: stop the hamburger sitting on top of the logo.

   responsive.css:3522 centres the logo against the viewport
   (position:absolute; left:50%; translate(-50%,-50%)), explicitly "not against
   the flex space remaining after the hamburger". But the toggle is absolute at
   left:0 and 44px wide, so a viewport-centred wordmark runs straight into it:
   measured 9px overlap at 390px and 4px at 414px.

   Put the logo back in normal flow, left-aligned in the space beside the
   toggle. Must stay last in this file to win over the block above.
   ------------------------------------------------------------------ */
@media (max-width: 0px) {
    .header-wrap .logo,
    .header-wrap.header-style-1 .right > .logo,
    .header-wrap.header-style-4 .logo {
        position: static !important;
        inset: auto !important;
        transform: none !important;
        margin: 0 !important;
        max-width: 100% !important;
    }

    /* The row centres its children, which left the two header widgets aligning
       differently (homepage logo at x=96, inner pages at x=158-281). */
    .header-wrap .custom-row {
        justify-content: flex-start !important;
    }

    .header-wrap .custom-row > .right,
    .header-wrap .custom-row > .left {
        box-sizing: border-box;
        justify-content: flex-start !important;
        /* Clears the 44px toggle at left:0, plus breathing room. */
        padding-left: 56px;
    }
}

/* Final video-reference lock. Keep this as the last mobile-header block. */
@media (max-width: 0px) {
    html body .header-wrap {
        height: 98px !important;
        min-height: 98px !important;
        padding: 0 !important;
        background: #fff !important;
        border-top: 2px solid #122620 !important;
        border-bottom: 1px solid #e5e7e9 !important;
        box-shadow: none !important;
    }

    html body .header-wrap .custom-container,
    html body .header-wrap .custom-row {
        height: 96px !important;
        min-height: 96px !important;
    }

    html body .header-wrap .custom-container {
        padding: 0 30px !important;
    }

    html body .header-wrap .custom-row {
        position: relative !important;
        align-items: center !important;
        justify-content: center !important;
    }

    html body .header-wrap .custom-row > .right,
    html body .header-wrap .custom-row > .left {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        justify-content: center !important;
    }

    html body .header-wrap .logo,
    html body .header-wrap.header-style-1 .right > .logo,
    html body .header-wrap.header-style-4 .logo {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        width: auto !important;
        max-width: calc(100vw - 218px) !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: translate(-50%, -50%) !important;
    }

    html body .header-wrap .logo .logo-wordmark-name {
        font-size: clamp(17px, 4.8vw, 24px) !important;
        line-height: 1.05 !important;
        letter-spacing: -.35px !important;
        white-space: nowrap !important;
    }

    html body .header-wrap .logo .logo-wordmark-tagline {
        margin-top: 5px !important;
        font-size: clamp(7px, 1.85vw, 9px) !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    html body .header-wrap .sidebar-icon,
    html body.mobile-menu-open .header-wrap .sidebar-icon {
        position: absolute !important;
        top: 50% !important;
        left: 20px !important;
        right: auto !important;
        width: 57px !important;
        height: 42px !important;
        margin: 0 !important;
        transform: translateY(-50%) !important;
    }

    html body .header-wrap .sidebar-icon a,
    html body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum {
        position: static !important;
        width: 57px !important;
        height: 42px !important;
        margin: 0 !important;
        transform: none !important;
    }

    html body.mobile-menu-open .header-wrap .sidebar-icon {
        right: 10px !important;
        left: auto !important;
        width: 42px !important;
    }

    html body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum {
        width: 42px !important;
    }

    html body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum svg {
        display: none !important;
    }

    html body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum > i {
        position: static !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        color: #966515 !important;
        font-size: 30px !important;
        line-height: 1 !important;
        transform: none !important;
    }

    html body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum > i::before {
        content: "\f00d" !important;
        position: static !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        transform: none !important;
    }

    html body.mobile-menu-open .header-wrap .sidebar-icon a.active-hum > i::after {
        content: none !important;
    }

    html body .header-wrap .responsive-menu,
    html body .header-wrap .responsive-menu.active {
        position: fixed !important;
        inset: 98px 0 0 !important;
        width: 100% !important;
        height: calc(100dvh - 98px) !important;
        max-height: calc(100dvh - 98px) !important;
        padding: 38px 30px 30px !important;
        background: #fff !important;
        transform: none !important;
        box-shadow: none !important;
    }

    html body .header-wrap .responsive-menu nav {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    html body .header-wrap .responsive-menu nav > ul {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
    }

    html body .header-wrap .responsive-menu nav > ul > li:nth-child(1) { order: 1 !important; }
    html body .header-wrap .responsive-menu nav > ul > li:nth-child(4) { order: 2 !important; }
    html body .header-wrap .responsive-menu nav > ul > li:nth-child(2) { order: 3 !important; }
    html body .header-wrap .responsive-menu nav > ul > li:nth-child(3) { order: 4 !important; }
    html body .header-wrap .responsive-menu nav > ul > li:nth-child(5) { order: 5 !important; }

    html body .header-wrap .responsive-menu nav > ul > li,
    html body .header-wrap .responsive-menu nav > ul > li:first-child {
        border-top: 0 !important;
        border-bottom: 1px solid #dfe3e6 !important;
    }

    html body .header-wrap .responsive-menu nav > ul > li:first-child {
        border-top: 1px solid #dfe3e6 !important;
    }

    html body .header-wrap .responsive-menu nav > ul > li > a {
        min-height: 73px !important;
        padding: 20px 42px 20px 20px !important;
        color: #102944 !important;
        font-family: var(--font_marcellus), Georgia, serif !important;
        font-size: 22px !important;
        line-height: 1.25 !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    html body .header-wrap .responsive-menu nav > ul > li > i {
        top: 22px !important;
        right: 18px !important;
        width: 28px !important;
        height: 28px !important;
    }
}

@media (max-width: 420px) {
    html body .header-wrap .logo,
    html body .header-wrap.header-style-1 .right > .logo,
    html body .header-wrap.header-style-4 .logo {
        max-width: calc(100vw - 132px) !important;
    }

    html body .header-wrap .responsive-menu,
    html body .header-wrap .responsive-menu.active {
        padding-right: 24px !important;
        padding-left: 24px !important;
    }
}

/* ------------------------------------------------------------------
   Below 420px only: the viewport-centred logo cannot clear the toggle.

   The "video-reference lock" block above centres the logo and reserves
   calc(100vw - 218px), which works from ~520px up (measured 2px clearance at
   520, 113px at 767). Its own max-width:420px override relaxes the reservation
   to calc(100vw - 132px) because the 25-character wordmark will not fit the
   tighter box - and that re-creates the collision: measured 39px overlap at
   390px, 41px at 360px.

   The geometry does not allow a centred logo here: the toggle ends at 107px, so
   a centred wordmark would have to fit ~172px, i.e. about a 12px font. Below
   420px the logo is therefore left-aligned beside the toggle, which gives it
   ~243px and keeps the type readable. The centred treatment above 420px is
   untouched.
   ------------------------------------------------------------------ */
@media (max-width: 0px) {
    html body .header-wrap .custom-row > .right,
    html body .header-wrap .custom-row > .left {
        box-sizing: border-box !important;
        justify-content: flex-start !important;
        /* Toggle occupies 50-107px; the row starts at 30px. */
        padding-left: 87px !important;
    }

    html body .header-wrap .logo,
    html body .header-wrap.header-style-1 .right > .logo,
    html body .header-wrap.header-style-4 .logo {
        position: static !important;
        inset: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
        transform: none !important;
    }

    html body .header-wrap .logo .logo-wordmark-name {
        font-size: clamp(15px, 4.2vw, 20px) !important;
    }
}

/* ------------------------------------------------------------------
   Mobile submenu: a considered list rather than a grey box of shouting caps.

   Was: 11px uppercase with .055em tracking on a flat grey panel, so the longer
   practice areas wrapped to two dense lines and read as a wall. Now the source
   title case is kept, set in the brand serif, with a counter rail so the depth
   of the practice list reads as a feature.

   Must stay last so it wins over the mobile-header blocks above.
   ------------------------------------------------------------------ */
@media (max-width: 767px) {
    html body .header-wrap .responsive-menu nav ul li .dropdown {
        counter-reset: hka-sub;
        margin: 2px 0 10px !important;
        padding: 6px 0 6px 14px !important;
        background: linear-gradient(90deg, rgb(150 101 21 / 5%), rgb(150 101 21 / 0%) 62%) !important;
        border-left: 2px solid rgb(150 101 21 / 55%) !important;
    }

    html body .header-wrap .responsive-menu nav ul li .dropdown li {
        border-bottom: 1px solid rgb(6 29 56 / 7%);
    }

    html body .header-wrap .responsive-menu nav ul li .dropdown li:last-child {
        border-bottom: 0;
    }

    html body .header-wrap .responsive-menu nav ul li .dropdown li a {
        position: relative;
        display: block;
        padding: 13px 8px 13px 40px !important;
        color: #17324e !important;
        font-family: var(--font_marcellus), Georgia, serif !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
        letter-spacing: 0 !important;
        /* The source titles are already title case; the uppercase transform was
           what made these read as cramped. */
        text-transform: none !important;
        transition: color .25s ease;
    }

    /* Counter rail: 01, 02 ... in the brand gold. */
    html body .header-wrap .responsive-menu nav ul li .dropdown li a::before {
        counter-increment: hka-sub;
        content: counter(hka-sub, decimal-leading-zero);
        position: absolute;
        top: 15px;
        left: 4px;
        width: 26px;
        /* The theme's own ::before is a 1px gold bar (style.css:1352); reset the
           bar properties or it draws a line above every number. */
        height: auto;
        background: none;
        color: #966515;
        font-family: var(--font_montserrat), Montserrat, Arial, sans-serif;
        font-size: 10px;
        font-weight: 600;
        letter-spacing: .1em;
        line-height: 1.35;
        transition: color .25s ease;
    }

    html body .header-wrap .responsive-menu nav ul li .dropdown li a:hover,
    html body .header-wrap .responsive-menu nav ul li .dropdown li.current-menu-item > a {
        color: #966515 !important;
    }
}

/* Chevron state. The "video-reference lock" block resizes this icon with
   `html body` specificity, which outranks the earlier rotation rule, so the
   arrow stayed pointing right even while the submenu was open. */
@media (max-width: 767px) {
    html body .header-wrap .responsive-menu nav > ul > li > i {
        color: #b8892b !important;
        transform: none !important;
    }

    html body .header-wrap .responsive-menu nav > ul > li > i::before {
        display: inline-block;
        transform: rotate(90deg);
        transition: transform .35s cubic-bezier(.4, 0, .2, 1);
    }

    html body .header-wrap .responsive-menu nav > ul > li.dropdown-active > i {
        color: #966515 !important;
    }

    html body .header-wrap .responsive-menu nav > ul > li.dropdown-active > i::before {
        transform: rotate(-90deg);
    }
}
