/* Unified responsive layer for single codebase rendering */
:root {
    --mobile-main-color: #045ca9;
    --mobile-main-dark: #023a6c;
    --mobile-card-shadow: 0 16px 30px rgba(5, 72, 126, 0.14);
    --z-mobile-fixbar: 1040;
    --z-mobile-floating: 1060;
    --z-mobile-header: 1100;
    --z-mobile-overlay: 1110;
    --z-mobile-drawer: 1120;
    --z-modal-backdrop: 1180;
    --z-modal: 1190;
}

#mobile-header-shell,
#mobile-menu-overlay,
#menu {
    display: none;
}

body.mobile-lock-scroll {
    overflow: hidden;
    touch-action: none;
}

.mobile-hidden-heading {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 991.98px) {
    /* Force-show content that Slick hides via .none when destroyed on mobile */
    /* SCOPED: only override .none for specific slider containers */
    .wrap-construction .slide-construction.none,
    .wrap-newspapers .mobile-press-slider.none,
    .wrap-video-tv .mobile-video-slider.none,
    .wrap-album .mobile-album-slider.none,
    .wrap-news .slide-1.none,
    .wrap-news .slide-3up.none,
    .wrap-news .slide-2up.none,
    .wrap-partner .slide-8.none {
        display: block !important;
    }

    .min-width {
        min-width: 0;
        width: 100%;
        overflow-x: clip;
    }

    #desktop-header-shell {
        display: none;
    }

    #mobile-header-shell {
        display: block;
        position: sticky;
        top: 0;
        height: auto;
        z-index: var(--z-mobile-header);
        background: transparent;
        backdrop-filter: none;
        box-shadow: none;
    }

    #mobile-header-shell .mobile-brand-top {
        background: url(../images/zero/bg-header-mobile-wave-v2.svg) center / cover no-repeat;
        border-bottom: 1px solid rgba(4, 61, 112, 0.12);
        overflow: hidden;
        max-height: 132px;
        opacity: 1;
        transform: none;
        transition: none;
    }

    #mobile-header-shell .mobile-brand-top .wrap-content {
        min-height: 102px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 6px 0 8px;
        transition: none;
    }

    #mobile-header-shell.is-brand-collapsed .mobile-brand-top {
        max-height: 0;
        opacity: 0;
        transform: none;
        border-bottom-color: transparent;
        pointer-events: none;
    }

    #mobile-header-shell.is-brand-collapsed .mobile-brand-top .wrap-content {
        min-height: 0;
        padding: 0;
    }

    #mobile-header-shell .mobile-brand-stack {
        width: min(96vw, 430px);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0;
    }

    #mobile-header-shell .mobile-logo-top,
    #mobile-header-shell .mobile-brand-logo {
        display: none;
    }

    #mobile-header-shell .mobile-banner-bottom,
    #mobile-header-shell .mobile-brand-banner {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: min(96vw, 430px);
        max-width: 100%;
        height: 72px;
        flex-shrink: 0;
    }

    #mobile-header-shell .mobile-logo-top img,
    #mobile-header-shell .mobile-brand-logo img,
    #mobile-header-shell .mobile-banner-bottom img,
    #mobile-header-shell .mobile-brand-banner img {
        width: 100%;
        height: 100% !important;
        object-fit: contain;
        object-position: center;
        filter: none;
        display: block;
    }

    #mobile-header-shell .menu-bar-res {
        min-height: 52px;
        height: auto;
        display: grid;
        grid-template-columns: 38px minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px;
        padding: 8px 0;
        background: linear-gradient(135deg, #0a7dc9, #0662a8);
    }

    #mobile-search-box {
        position: static;
        width: 100%;
    }

    #mobile-header-shell .search-grid {
        position: static;
        width: min(100%, 285px);
        justify-self: center;
        display: grid;
        grid-template-columns: 1fr auto;
        background: #fff;
        border: 0;
        border-radius: 999px;
        overflow: hidden;
        box-shadow: 0 6px 18px rgba(6, 33, 58, 0.18);
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: none;
        pointer-events: auto;
    }

    #mobile-header-shell .search-grid.is-open {
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
    }

    #mobile-header-shell .search-grid input {
        border: 0;
        min-height: 36px;
        padding: 0 14px;
        font: inherit;
        font-size: 14px;
        color: #14324f;
    }

    #mobile-header-shell .search-grid input:focus {
        outline: none;
    }

    #mobile-header-shell .search-grid button {
        border: 0;
        min-width: 42px;
        background: transparent;
        color: #6a7d8f;
        font-size: 23px;
        cursor: pointer;
    }

    .mobile-menu-trigger {
        width: 38px;
        height: 38px;
        border-radius: 8px;
        border: 1px solid rgba(255, 255, 255, 0.35);
        background: rgba(255, 255, 255, 0.12);
        color: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

    .mobile-menu-text-trigger {
        border: 0;
        background: transparent;
        color: #fff;
        font-family: 'Barlow Condensed', sans-serif;
        font-size: 24px;
        font-weight: 600;
        letter-spacing: .35px;
        line-height: 1;
        padding: 0 3px 0 2px;
        min-width: 62px;
        text-align: right;
        transform: translateX(-3px);
        cursor: pointer;
    }

    #hamburger {
        width: 18px;
        height: 14px;
        position: relative;
        display: inline-block;
    }

    #hamburger::before,
    #hamburger::after,
    #hamburger span {
        content: '';
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
        transition: transform .24s ease, top .24s ease, opacity .2s ease;
    }

    #hamburger::before {
        top: 0;
    }

    #hamburger span {
        top: 6px;
    }

    #hamburger::after {
        top: 12px;
    }

    .mobile-menu-trigger.is-open #hamburger::before {
        top: 6px;
        transform: rotate(45deg);
    }

    .mobile-menu-trigger.is-open #hamburger::after {
        top: 6px;
        transform: rotate(-45deg);
    }

    .mobile-menu-trigger.is-open #hamburger span {
        opacity: 0;
    }

    #mobile-menu-overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(8, 20, 34, 0.55);
        backdrop-filter: blur(2px);
        z-index: var(--z-mobile-overlay);
        opacity: 0;
        transition: opacity .24s ease;
    }

    #mobile-menu-overlay.is-visible {
        opacity: 1;
    }

    #menu {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        width: min(88vw, 360px);
        height: 100dvh;
        background: linear-gradient(190deg, #0d2741 0%, #0a3f6e 45%, #055a9d 100%);
        color: #eef8ff;
        z-index: var(--z-mobile-drawer);
        transform: translateX(102%);
        transition: transform .24s ease;
        overflow: auto;
        padding: 14px 14px 90px;
    }

    #menu.is-open {
        transform: translateX(0);
    }

    .mobile-menu-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 12px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        margin-bottom: 10px;
    }

    .mobile-menu-head p {
        margin: 0;
        font: 700 18px/1 'Barlow Condensed', sans-serif;
        letter-spacing: .06em;
    }

    #mobile-menu-close {
        width: 34px;
        height: 34px;
        border-radius: 10px;
        border: 0;
        background: rgba(255, 255, 255, 0.15);
        color: #fff;
        font-size: 22px;
        cursor: pointer;
    }

    .mobile-nav-list {
        display: grid;
        gap: 2px;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .mobile-nav-list > li {
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, 0.14);
        background: rgba(255, 255, 255, 0.08);
    }

    .mobile-nav-list a {
        display: block;
        padding: 11px 12px;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: .03em;
        text-transform: uppercase;
        color: #f5fbff;
        text-shadow: 0 1px 1px rgba(1, 20, 39, 0.45);
    }

    .mobile-nav-list a:hover {
        color: #ffffff;
    }

    .mobile-nav-list a.is-active {
        color: #062947;
        background: linear-gradient(135deg, #fff2dd, #f2bc6d);
    }

    .mobile-menu-row {
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
    }

    .mobile-menu-expand {
        width: 40px;
        height: 40px;
        border: 0;
        border-left: 1px solid rgba(255, 255, 255, 0.22);
        background: transparent;
        color: #fff;
        font-size: 22px;
        cursor: pointer;
    }

    .mobile-submenu {
        display: grid;
        gap: 1px;
        background: rgba(6, 44, 76, 0.52);
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .mobile-submenu a {
        padding: 9px 12px 9px 18px;
        font-size: 12px;
        text-transform: none;
        font-weight: 700;
        color: #e8f5ff;
        text-shadow: 0 1px 1px rgba(0, 17, 33, 0.45);
    }

    .mobile-submenu a:hover {
        color: #ffffff;
    }

    .mobile-menu-hotline {
        margin-top: 12px;
        display: grid;
        gap: 8px;
        padding: 12px;
        border-radius: 14px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        background: rgba(255, 255, 255, 0.1);
    }

    .mobile-menu-hotline a {
        color: #fff;
        font-weight: 600;
    }

    .product-runtime-detail {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .product-runtime-detail .left-pro-detail {
        padding: 10px;
    }

    .product-runtime-thumb-gallery {
        grid-template-columns: 28px minmax(0, 1fr) 28px;
        gap: 6px;
    }

    .product-runtime-thumb-strip {
        gap: 7px;
    }

    .product-runtime-thumb {
        flex-basis: 56px;
    }

    .product-runtime-thumb-nav {
        width: 28px;
        height: 28px;
    }

    .product-runtime-thumb-nav i {
        font-size: 11px;
    }

    .product-runtime-contact-box {
        margin: 10px 0 12px;
        padding: 10px 12px;
    }

    .product-runtime-contact-box a {
        font-size: 21px;
    }

    .product-runtime-tabs {
        margin-top: 1rem;
    }

    .product-runtime-tabs .tab-content {
        padding: 0 12px;
    }

    .content-ck img,
    .content-ck iframe,
    .content-ck video {
        max-width: 100% !important;
        height: auto !important;
    }

    .product-runtime-spec-item {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 10px;
    }

    /* Product listing mobile fix: keep cards readable by switching to 2 columns */
    .grid-product {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px;
    }

    .grid-product .item-product {
        min-width: 0;
    }

    /* Homepage slogan mobile: premium animated banner */
    .slogan-main {
        padding: 0;
        margin-bottom: 18px;
        overflow: hidden;
    }

    .slogan-main .wrap-content {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
    }

    .slogan-main .img-slogan {
        display: none !important;
    }

    .box-slogan {
        width: 100% !important;
        max-width: 100%;
        margin: 0;
        padding: 18px 14px 20px;
        text-align: center;
        position: relative;
        background: linear-gradient(118deg, #063a69 0%, #0a75c1 34%, #0796d6 66%, #04416f 100%) !important;
        background-size: 240% 240% !important;
        animation: sloganBgShift 9s ease-in-out infinite !important;
        border-radius: 0 !important;
        isolation: isolate;
    }

    /* Decorative top accent line */
    .box-slogan::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 3px;
        background: linear-gradient(90deg, transparent, #ffe4b8, #ffd699, #ffe4b8, transparent);
        border-radius: 0 0 4px 4px;
        animation: sloganAccentLine 1.2s 0.4s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
    }

    /* Subtle sparkle dots */
    .box-slogan::after {
        content: '';
        position: absolute;
        inset: 0;
        background-image:
            radial-gradient(1.5px 1.5px at 15% 30%, rgba(255,228,184,0.35) 50%, transparent 100%),
            radial-gradient(1px 1px at 78% 65%, rgba(255,255,255,0.25) 50%, transparent 100%),
            radial-gradient(1.5px 1.5px at 45% 80%, rgba(255,228,184,0.2) 50%, transparent 100%),
            radial-gradient(1px 1px at 88% 20%, rgba(255,255,255,0.3) 50%, transparent 100%);
        pointer-events: none;
        opacity: .55;
        animation: sloganSparkle 4.2s ease-in-out infinite;
    }

    .box-slogan .text_1 {
        display: inline-block;
        width: auto;
        max-width: 100%;
        margin: 0 auto;
        text-align: center;
        white-space: normal;
        word-break: keep-all;
        overflow: visible;
        color: #f7fbff;
        font-family: 'Mulish', sans-serif;
        font-size: clamp(15px, 4.9vw, 21px);
        font-weight: 800;
        line-height: 1.52;
        letter-spacing: .018em;
        text-transform: uppercase;
        text-shadow: 0 2px 12px rgba(1, 32, 61, 0.35);
        padding: 4px 0;
        clip-path: inset(0 100% 0 0 round 2px);
        animation:
            sloganTyping 3.8s steps(32, end) 0.35s infinite,
            sloganTextIdle 3.8s ease-in-out 0.35s infinite;
        will-change: clip-path, opacity, transform;
    }

    .box-slogan .text_1::after {
        content: '';
        display: inline-block;
        width: 2px;
        height: 1.05em;
        margin-left: 4px;
        border-radius: 2px;
        vertical-align: -0.12em;
        background: rgba(255, 255, 255, 0.9);
        animation: sloganCaretBlink .8s steps(1, end) infinite;
    }

    /* Brand name: golden shimmer accent */
    .box-slogan .text_1 > span {
        display: inline;
        width: auto;
        max-width: none;
        white-space: normal;
        overflow: visible;
        font-family: 'Mulish', sans-serif;
        font-size: 1.12em;
        font-weight: 900;
        letter-spacing: .02em;
        color: #ffe8bf;
        background: linear-gradient(
            102deg,
            #ffe8bf 0%,
            #fffaf0 28%,
            #ffd389 52%,
            #fffaf0 74%,
            #ffe8bf 100%
        );
        background-size: 260% 100%;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        text-shadow: none;
        animation: sloganBrandFlow 2.8s linear infinite;
    }

    .box-slogan .text_1 > span span {
        font-size: inherit;
        line-height: inherit;
    }

    .box-slogan .text_2 {
        display: none;
    }

    /* ── Slogan Keyframes ── */
    @keyframes sloganBgShift {
        0%   { background-position: 0% 50%; }
        50%  { background-position: 100% 50%; }
        100% { background-position: 0% 50%; }
    }

    @keyframes sloganAccentLine {
        0%   { width: 0; opacity: 0; }
        35%  { opacity: .85; }
        100% { width: min(72%, 300px); opacity: 1; }
    }

    @keyframes sloganSparkle {
        0%, 100% { opacity: .3; }
        50%      { opacity: .7; }
    }

    @keyframes sloganTyping {
        0% {
            clip-path: inset(0 100% 0 0 round 2px);
            opacity: .5;
            transform: translateY(4px);
        }
        18% {
            opacity: 1;
            transform: translateY(0);
        }
        62% {
            clip-path: inset(0 0 0 0 round 2px);
            opacity: 1;
            transform: translateY(0);
        }
        82% {
            clip-path: inset(0 0 0 0 round 2px);
            opacity: 1;
            transform: translateY(0);
        }
        100% {
            clip-path: inset(0 100% 0 0 round 2px);
            opacity: .45;
            transform: translateY(-2px);
        }
    }

    @keyframes sloganTextIdle {
        0%, 100% { text-shadow: 0 2px 12px rgba(1, 32, 61, 0.35); }
        50%      { text-shadow: 0 2px 16px rgba(1, 32, 61, 0.5); }
    }

    @keyframes sloganCaretBlink {
        0%, 45%    { opacity: 1; }
        46%, 100%  { opacity: 0; }
    }

    @keyframes sloganBrandFlow {
        0%   { background-position: 260% 0; }
        100% { background-position: -40% 0; }
    }

    /* Homepage process section: remove legacy absolute layout on mobile */
    .wrap-criteria {
        padding: 24px 10px 30px !important;
        background-size: cover;
        background-position: center;
        overflow: hidden;
    }

    .box-criteria {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .logo-criteria {
        width: min(52vw, 180px) !important;
        max-width: 180px !important;
        margin: 0 auto 8px !important;
        border-radius: 50% !important;
    }

    .logo-criteria img {
        width: 100% !important;
        height: auto !important;
    }

    .item-criteria,
    .item-criteria-1,
    .item-criteria-2,
    .item-criteria-3,
    .item-criteria-4,
    .item-criteria-5,
    .item-criteria-6,
    .item-criteria-odd {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    .item-criteria .content-criteria,
    .item-criteria-odd .content-criteria {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: left !important;
        border-radius: 14px !important;
        padding: 12px 80px 12px 14px !important;
        min-height: 80px !important;
        box-sizing: border-box !important;
    }

    .item-criteria .content-criteria span {
        display: block !important;
        font-size: 13px !important;
        margin-bottom: 4px !important;
        line-height: 1.25 !important;
    }

    .item-criteria .content-criteria p {
        font-size: 11.5px !important;
        line-height: 1.35 !important;
        margin: 0 !important;
    }

    .item-criteria .num-criteria,
    .item-criteria-odd .num-criteria {
        position: absolute !important;
        left: auto !important;
        right: 6px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        padding: 8px 14px !important;
    }

    .item-criteria .num-criteria:before {
        width: 64px !important;
        height: 64px !important;
    }

    .item-criteria .num-criteria:after {
        width: 52px !important;
        height: 52px !important;
    }

    .item-criteria .num-criteria p {
        font-size: 12px !important;
        line-height: 1 !important;
    }

    .item-criteria .num-criteria span {
        font-size: 18px !important;
        line-height: 1 !important;
    }

    /* Partner section mobile cleanup */
    .wrap-partner {
        padding: 26px 0 24px;
    }

    .wrap-partner .title-main-second {
        margin-bottom: 12px;
    }

    .wrap-partner .title-main-second span {
        font-size: clamp(30px, 8.2vw, 42px);
    }

    .wrap-partner .slide-8 {
        margin: 0;
    }

    .wrap-partner .slide-8 .slick-list {
        margin: 0 -4px;
        overflow: hidden;
    }

    .wrap-partner .slide-8 .slick-track {
        display: flex;
        align-items: stretch;
    }

    .wrap-partner .slide-8 .slick-slide {
        margin: 0;
        padding: 0 4px;
        height: auto;
    }

    .wrap-partner .slide-8 .slick-slide > div {
        display: flex;
        height: 100%;
        justify-content: center;
    }

    .wrap-partner .item-partner {
        width: 104px;
        margin: 0 auto;
        border-width: 2px;
        border-color: #d8dde2;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 8px 18px rgba(9, 43, 79, 0.12);
        overflow: hidden;
    }

    .wrap-partner .item-partner .scale-img {
        min-height: 152px;
        aspect-ratio: 1 / 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding: 10px 8px 8px;
        border-radius: 10px;
        background: #fff;
    }

    .wrap-partner .item-partner .scale-img img {
        width: 100%;
        max-width: 112px;
        max-height: 84px;
        object-fit: contain;
        border-radius: 6px;
    }

    .wrap-partner .item-partner .scale-img span {
        position: static !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100%;
        display: block !important;
        font-size: 11px;
        line-height: 1.25;
        padding: 4px 6px;
        min-height: 22px;
        border-radius: 6px;
        text-align: center;
        background: #5a5a5a !important;
        color: #ffffff !important;
        font-weight: 700;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        text-transform: uppercase;
    }

    /* Register form mobile cleanup */
    .wrap-regis {
        padding: 28px 0 30px;
        background-size: cover;
        background-position: center;
    }

    .wrap-regis:before {
        display: none;
    }

    .wrap-regis .wrap-content {
        padding: 16px 12px 14px;
        border-width: 2px;
        border-radius: 14px;
    }

    .box-regis {
        width: 100%;
        margin-left: 0;
    }

    .title-regis span {
        font-size: clamp(20px, 5.4vw, 27px);
        line-height: 1.04;
    }

    .title-regis p {
        font-size: 12px;
        line-height: 1.35;
        margin: 4px 0 10px;
    }

    .footer-titles {
        display: block;
        width: 100%;
        margin: 0 0 12px;
        margin-left: 0;
        text-align: center;
        font-size: clamp(16px, 5.4vw, 21px);
        line-height: 1.2;
    }

    #FormNewsletter .d-flex,
    #FormNewsletter2 .d-flex {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
    }

    #FormNewsletter .newsletter-col,
    #FormNewsletter2 .newsletter-col {
        width: 100%;
    }

    #FormNewsletter input,
    #FormNewsletter textarea,
    #FormNewsletter2 input,
    #FormNewsletter2 textarea {
        margin-bottom: 8px;
        border-radius: 8px;
        font-size: 14px;
    }

    #FormNewsletter .newsletter-upload,
    #FormNewsletter2 .newsletter-upload {
        min-height: 42px;
        margin-bottom: 8px;
    }

    #FormNewsletter input,
    #FormNewsletter2 input,
    #FormNewsletter .newsletter-upload .custom-file-label,
    #FormNewsletter2 .newsletter-upload .custom-file-label {
        height: 42px;
    }

    #FormNewsletter .newsletter-upload .custom-file-label,
    #FormNewsletter2 .newsletter-upload .custom-file-label {
        position: relative;
        width: 100%;
    }

    #FormNewsletter textarea,
    #FormNewsletter2 textarea {
        height: 84px;
    }

    #FormNewsletter button {
        height: 46px;
        margin-top: 2px;
        font-size: 16px;
    }

    #FormNewsletter2 .btn-submit {
        width: 100%;
        height: 44px;
        font-size: 14px;
    }

    /* Homepage news/video: rebalance layout on mobile + tablet */
    .wrap-news {
        padding: 32px 0 36px;
    }

    .wrap-news .row-news {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .wrap-news .news-left,
    .wrap-news .news-right {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100%;
        margin: 0;
        border-radius: 16px;
    }

    .wrap-news .news-left {
        padding: 14px;
    }

    .wrap-news .news-right {
        padding: 16px 14px;
    }

    .wrap-news #mobile-news-side-slider,
    .wrap-news .mobile-news-slider {
        --mobile-news-side-row-height: 122px;
        margin: 0;
    }

    .wrap-news #mobile-news-side-slider:not(.slick-initialized),
    .wrap-news .mobile-news-slider:not(.slick-initialized) {
        max-height: calc((var(--mobile-news-side-row-height) * 3) + 20px);
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding-right: 4px;
        scrollbar-width: thin;
        scrollbar-color: rgba(4, 92, 169, 0.62) rgba(4, 92, 169, 0.14);
    }

    .wrap-news #mobile-news-side-slider:not(.slick-initialized)::-webkit-scrollbar,
    .wrap-news .mobile-news-slider:not(.slick-initialized)::-webkit-scrollbar {
        width: 5px;
    }

    .wrap-news #mobile-news-side-slider:not(.slick-initialized)::-webkit-scrollbar-track,
    .wrap-news .mobile-news-slider:not(.slick-initialized)::-webkit-scrollbar-track {
        background: rgba(4, 92, 169, 0.14);
        border-radius: 999px;
    }

    .wrap-news #mobile-news-side-slider:not(.slick-initialized)::-webkit-scrollbar-thumb,
    .wrap-news .mobile-news-slider:not(.slick-initialized)::-webkit-scrollbar-thumb {
        background: linear-gradient(180deg, #00a6e6, #045ca9);
        border-radius: 999px;
    }

    .wrap-news #mobile-news-side-slider .slick-slide,
    .wrap-news .mobile-news-slider .slick-slide {
        margin: 6px 0;
    }

    .wrap-news #mobile-news-side-slider.slick-initialized .item-news-2,
    .wrap-news .mobile-news-slider.slick-initialized .item-news-2 {
        margin-bottom: 0;
    }

    .wrap-news #mobile-news-side-slider.slick-initialized .slick-list,
    .wrap-news .mobile-news-slider.slick-initialized .slick-list {
        overflow: hidden;
    }

    .wrap-news .title-news {
        margin-bottom: 10px;
    }

    .wrap-news .title-news span {
        display: block;
        font-size: clamp(24px, 6.8vw, 33px);
        line-height: 1.12;
    }

    .wrap-news .box-news {
        flex-direction: column;
        gap: 12px;
    }

    .wrap-news .box-news-left,
    .wrap-news .box-news-right {
        width: 100% !important;
        max-width: 100%;
    }

    .wrap-news .item-news-2 {
        min-height: var(--mobile-news-side-row-height);
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 10px;
    }

    .wrap-news .item-news-2:last-child {
        margin-bottom: 0;
    }

    .wrap-news .content-news-2 {
        width: calc(100% - 160px);
    }

    .wrap-news .content-news-2 span {
        line-height: 1.5;
    }

    /* Floating quick-contact icons: reduce visual weight on phone */
    .btn-frame {
        width: 34px;
        height: 34px;
        right: 10px;
    }

    .btn-frame i {
        width: 34px;
        height: 34px;
    }

    .btn-frame i img {
        width: 58%;
    }

    .btn-frame .kenit-alo-circle {
        width: 42px;
        height: 42px;
        top: -4px;
        right: -4px;
    }

    .btn-frame .kenit-alo-circle-fill {
        width: 48px;
        height: 48px;
        top: -7px;
        right: -7px;
    }

    .btn-zalo {
        bottom: 206px;
    }

    .btn-email {
        bottom: 158px;
    }

    .btn-phone {
        bottom: 110px;
    }

    .scrollToTop {
        width: 34px;
        height: 34px;
        right: 10px;
        bottom: 56px;
        border-radius: 50%;
        background: linear-gradient(135deg, #0469bb, #04497f);
        box-shadow: 0 8px 18px rgba(4, 73, 127, 0.32);
        text-indent: -9999px;
        overflow: hidden;
    }

    .scrollToTop::before {
        content: "↑";
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        text-indent: 0;
        color: #ffffff;
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
    }

    .scrollToTop img {
        display: none !important;
    }

    .js-facebook-messenger-box {
        width: 34px;
        height: 34px;
        right: 9px;
        bottom: 254px;
    }

    .js-facebook-messenger-box svg#fb-msng-icon {
        width: 18px;
        height: 18px;
        top: 8px;
        left: 8px;
    }

    .js-facebook-messenger-box svg#close-icon {
        width: 12px;
        height: 12px;
        top: 11px;
        left: 11px;
    }

    .js-facebook-messenger-tooltip {
        right: 52px;
        bottom: 80px;
    }

    .toolbar,
    .fixbar,
    .plugbar {
        z-index: var(--z-mobile-fixbar);
    }

    .bottom {
        min-width: 0;
        width: min(360px, calc(100% - 26px));
        max-width: calc(100% - 26px);
        left: 50%;
        transform: translateX(-50%);
        bottom: 6px;
        border-radius: 999px;
    }

    .phone {
        width: 100%;
        padding: 0 8px;
        border-radius: 999px;
        justify-content: space-between;
    }

    .phone a {
        font-size: 18px;
    }

    .phone span.call {
        width: 26px;
        height: 26px;
        background-size: 22px;
    }

    .scrollToTop,
    .btn-frame,
    .cart-fixed,
    .support-online,
    .widget-mobile {
        z-index: var(--z-mobile-floating);
    }

    .modal-backdrop {
        z-index: var(--z-modal-backdrop);
    }

    .modal {
        z-index: var(--z-modal);
    }

    #main-content {
        padding-bottom: 72px;
    }
}

@media (max-width: 991.98px) {
    .projects-index-page #projects-layout-row,
    .projects-detail-page #projects-detail-layout {
        row-gap: 18px;
    }

    .projects-index-page #projects-main-column,
    .projects-index-page #projects-sidebar-column,
    .projects-detail-page #projects-detail-main-column,
    .projects-detail-page #projects-detail-sidebar-column {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    .projects-index-page .projects-sidebar-stack,
    .projects-detail-page .projects-detail-sidebar-stack {
        position: static;
    }

    .projects-index-page #projects-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px;
    }

    .projects-detail-page #project-detail-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .projects-index-page .projects-grid-item,
    .projects-detail-page #project-detail-gallery-grid > div {
        min-width: 0;
    }

    .projects-index-page .item-product,
    .projects-detail-page .item-product {
        height: 100%;
        display: flex;
        flex-direction: column;
    }

    .projects-index-page .item-product .content-product,
    .projects-detail-page .item-product .content-product {
        flex: 1;
    }

    .projects-detail-page .project-detail-article,
    .projects-detail-page .project-detail-related {
        margin-bottom: 14px;
    }

    .projects-index-page #projects-pagination {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .projects-index-page .content-category,
    .projects-detail-page .share {
        overflow: hidden;
    }

    .projects-index-page .content-category .content-ck,
    .projects-detail-page #project-detail-content {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .projects-detail-page #project-detail-content img,
    .projects-detail-page #project-detail-content iframe,
    .projects-detail-page #project-detail-content video,
    .projects-detail-page #project-detail-content table {
        max-width: 100% !important;
    }

    .projects-detail-page #project-detail-content iframe,
    .projects-detail-page #project-detail-content video {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9;
    }

    .projects-detail-page #project-detail-content table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .projects-detail-page #project-detail-content pre {
        white-space: pre-wrap;
        word-break: break-word;
    }
}

@media (max-width: 767.98px) {
    .mobile-slideshow {
        padding-top: 16px;
    }

    .mobile-hero-card {
        border-radius: 18px;
        overflow: hidden;
        border: 1px solid #cce2f5;
        box-shadow: var(--mobile-card-shadow);
        background: #fff;
    }

    .mobile-hero-slider {
        position: relative;
        width: 100%;
        aspect-ratio: 15 / 8;
        overflow: hidden;
        background: #edf6ff;
    }

    .mobile-hero-slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        pointer-events: none;
        transition: opacity .55s ease;
    }

    .mobile-hero-slide.is-active {
        opacity: 1;
        pointer-events: auto;
        z-index: 1;
    }

    .mobile-hero-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .mobile-hero-dots {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 7px;
        padding: 10px 12px 0;
    }

    .mobile-hero-dot {
        width: 8px;
        height: 8px;
        border-radius: 999px;
        border: 0;
        background: #afcde8;
        box-shadow: inset 0 0 0 1px rgba(5, 62, 111, 0.18);
        transition: width .22s ease, background-color .22s ease, transform .22s ease;
        cursor: pointer;
    }

    .mobile-hero-dot.is-active {
        width: 24px;
        background: linear-gradient(135deg, #0566b9, #023b6c);
    }

    .mobile-hero-dot:focus-visible {
        outline: 2px solid #0a67b8;
        outline-offset: 2px;
    }

    .mobile-hero-content {
        padding: 15px 14px;
        display: grid;
        gap: 9px;
    }

    .mobile-kicker {
        margin: 0;
        display: inline-flex;
        width: fit-content;
        padding: 4px 9px;
        border-radius: 999px;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .07em;
        text-transform: uppercase;
        color: #fff;
        background: linear-gradient(135deg, #0d64af, #09355f);
    }

    .mobile-hero-content h2 {
        margin: 0;
        font: 700 clamp(22px, 7vw, 30px)/1.13 'Barlow Condensed', sans-serif;
        color: #08345b;
        letter-spacing: .015em;
    }

    .mobile-hero-content p {
        margin: 0;
        color: #486582;
        font-size: 14px;
    }

    .mobile-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 2px;
    }

    .mobile-hero-actions a {
        min-height: 44px;
        border-radius: 12px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 10px 12px;
        text-align: center;
        text-transform: uppercase;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: .05em;
    }

    #mobile-hero-primary-cta {
        color: #fff;
        background: linear-gradient(135deg, #0566b9, #023b6c);
    }

    #mobile-hero-secondary-cta {
        color: #0a4f84;
        border: 1px solid #b6d8f2;
        background: #edf7ff;
    }

    .mobile-hero-kpi {
        margin-top: 10px;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .mobile-kpi {
        border-radius: 12px;
        padding: 10px 8px;
        text-align: center;
        border: 1px solid #c9dff1;
        background: linear-gradient(160deg, #ffffff 0%, #edf6ff 100%);
    }

    .mobile-kpi strong {
        display: block;
        font: 800 22px/1 'Barlow Condensed', sans-serif;
        color: #0a4f83;
    }

    .mobile-kpi span {
        font-size: 11px;
        color: #577797;
    }

    .projects-index-page,
    .projects-detail-page {
        padding-left: 10px;
        padding-right: 10px;
    }

    .projects-breadcrumbs .wrap-content,
    .project-detail-breadcrumbs .wrap-content {
        padding: .6rem 10px;
    }

    .projects-breadcrumbs .breadcrumb,
    .project-detail-breadcrumbs .breadcrumb {
        display: flex;
        flex-wrap: wrap;
        gap: 2px 0;
    }

    .projects-breadcrumbs .breadcrumb-item,
    .project-detail-breadcrumbs .breadcrumb-item {
        max-width: 100%;
    }

    .projects-breadcrumbs .breadcrumb-item a,
    .project-detail-breadcrumbs .breadcrumb-item a {
        font-size: 12px;
        line-height: 1.35;
        word-break: break-word;
    }

    .projects-index-page .title-main,
    .projects-detail-page .title-main {
        margin-bottom: 20px;
    }

    .projects-index-page #projects-page-title,
    .projects-detail-page #project-detail-title {
        font-size: 1.6rem;
        line-height: 1.25;
    }

    .news-detail-page #news-detail-title {
        font-size: clamp(24px, 6vw, 28px);
        line-height: 1.28;
        font-weight: 700;
    }

    /* Homepage section headings on phone: smaller + consistent sizing (single responsive route) */
    .wrap-pro_nb .title-main-second span,
    .wrap-product .title-main-second span,
    .wrap-construction .title-main-second span,
    .wrap-newspapers .title-main-second span,
    .wrap-video-tv .title-main-second span,
    .wrap-album .title-main-second span,
    .wrap-partner .title-main-second span,
    .wrap-feedback .title-feedback span {
        font-size: clamp(20px, 5.8vw, 24px);
        line-height: 1.28;
        margin-bottom: 22px;
    }

    .wrap-pro_nb .title-main-second span::before,
    .wrap-product .title-main-second span::before,
    .wrap-construction .title-main-second span::before,
    .wrap-newspapers .title-main-second span::before,
    .wrap-video-tv .title-main-second span::before,
    .wrap-album .title-main-second span::before,
    .wrap-partner .title-main-second span::before {
        zoom: .42;
        bottom: -30px;
    }

    .wrap-feedback .title-feedback span::before {
        bottom: -16px;
        background-size: 180px 11px;
        background-position: center;
    }

    .wrap-pro_nb .title-main-second p {
        font-size: clamp(12px, 3.6vw, 14px);
        line-height: 1.42;
    }

    .wrap-product .title-main-second p,
    .wrap-construction .title-main-second p,
    .wrap-newspapers .title-main-second p,
    .wrap-video-tv .title-main-second p,
    .wrap-album .title-main-second p,
    .wrap-partner .title-main-second p {
        font-size: clamp(16px, 4.8vw, 19px);
        line-height: 1.35;
    }

    .projects-index-page #projects-grid,
    .projects-detail-page #project-detail-gallery-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    /* Sản phẩm nổi bật: 2 items, horizontal swipe */
    .wrap-pro_nb .slide-4,
    .wrap-pro_nb .slide-4.none {
        display: grid !important;
        grid-auto-flow: column;
        grid-auto-columns: calc((100% - 10px) / 2);
        gap: 10px;
        margin: 0;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 6px;
    }

    .wrap-pro_nb .slide-4::-webkit-scrollbar,
    .wrap-pro_nb .slide-4.none::-webkit-scrollbar {
        display: none;
    }

    .wrap-pro_nb .slide-4 > div {
        scroll-snap-align: start;
        min-width: 0;
    }

    .wrap-pro_nb .slide-4 .item-pro_nb {
        height: 100%;
        margin: 0;
        border-radius: 12px;
        overflow: hidden;
    }

    /* [MOBILE-SYNC-NOTE] Đồng bộ tỷ lệ ảnh với desktop để hiển thị nhất quán */
    .wrap-pro_nb .slide-4 .item-pro_nb .scale-img {
        display: block;
        aspect-ratio: 275 / 290;
        background: #eef3f9;
        border-radius: 12px 12px 0 0;
        overflow: hidden;
    }

    .wrap-pro_nb .slide-4 .item-pro_nb .scale-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    /* Hide all Slick/Owl artifacts on mobile */
    .wrap-pro_nb .slide-4 .slide-arrow-pronb,
    .wrap-pro_nb .slide-4 .slick-arrow,
    .wrap-pro_nb .slide-4 .slick-prev,
    .wrap-pro_nb .slide-4 .slick-next,
    .wrap-pro_nb .slide-4 .slick-cloned,
    .wrap-pro_nb .slide-4 .slick-dots,
    .wrap-pro_nb .slide-4 .owl-nav,
    .wrap-pro_nb .slide-4 .control-owl,
    .wrap-pro_nb .slide-4 .owl-prev,
    .wrap-pro_nb .slide-4 .owl-next {
        display: none !important;
    }

    /* [MOBILE-SYNC-NOTE] Thu nhỏ chữ để đồng bộ với các card mobile khác */
    .wrap-pro_nb .slide-4.none .item-pro_nb .content-pro_nb {
        padding: 6px 6px 8px;
    }

    .wrap-pro_nb .slide-4.none .item-pro_nb .content-pro_nb>a {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: 12px;
        line-height: 1.18;
        min-height: 28px;
    }

    .wrap-pro_nb .slide-4.none .item-pro_nb .content-pro_nb p {
        margin: 3px 0 0;
        font-size: 10px;
        line-height: 1.2;
    }

    .wrap-pro_nb .slide-4.none .item-pro_nb .content-pro_nb p span {
        font-size: inherit;
    }

    /* PHẦN 2: Sản phẩm của chúng tôi -> 6 hàng, mỗi hàng 2 sản phẩm (tối đa 12 item) */
    .wrap-product .grid-products {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .wrap-product .grid-products > .item-product,
    .wrap-main:not(.projects-index-page):not(.projects-detail-page) .grid-product > .item-product {
        margin: 0;
        min-width: 0;
    }

    .wrap-product .grid-products > .item-product .scale-img,
    .wrap-main:not(.projects-index-page):not(.projects-detail-page) .grid-product > .item-product .scale-img {
        display: block;
        aspect-ratio: 275 / 290;
        background: #eef3f9;
        border-radius: 10px;
        overflow: hidden;
    }

    .wrap-product .grid-products > .item-product .scale-img img,
    .wrap-main:not(.projects-index-page):not(.projects-detail-page) .grid-product > .item-product .scale-img img {
        display: block;
        width: 100%;
        height: 100% !important;
        object-fit: cover;
        object-position: center;
    }

    /* Đồng bộ cấu trúc chữ card mobile giữa trang chủ và các trang danh mục */
    .wrap-product .grid-products > .item-product .name-product a,
    .wrap-main:not(.projects-index-page):not(.projects-detail-page) .grid-product > .item-product .name-product a {
        font-size: 12px;
        line-height: 1.18;
        height: 28px;
    }

    .wrap-product .grid-products > .item-product .view-product,
    .wrap-main:not(.projects-index-page):not(.projects-detail-page) .grid-product > .item-product .view-product {
        font-size: 10px;
        margin-top: 8px;
        width: auto;
        padding: 3px 6px;
    }

    .wrap-product .grid-products > .item-product:nth-child(n+13) {
        display: none;
    }

    /* CÔNG TRÌNH ĐÃ THI CÔNG: 1 item full-width, lướt ngang */
    .wrap-construction .slide-construction,
    .wrap-construction .slide-construction.none {
        display: grid !important;
        grid-auto-flow: column;
        grid-auto-columns: 100%;
        gap: 12px;
        margin: 0;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 6px;
    }

    .wrap-construction .slide-construction::-webkit-scrollbar,
    .wrap-construction .slide-construction.none::-webkit-scrollbar {
        display: none;
    }

    .wrap-construction .slide-construction > div {
        scroll-snap-align: start;
        min-width: 0;
    }

    .wrap-construction .item-construction {
        height: 100%;
        border-radius: 12px;
        overflow: hidden;
        border: 1px solid #cde3f3;
        background: #fff;
        box-shadow: 0 4px 12px rgba(5, 72, 126, 0.1);
    }

    .wrap-construction .item-construction .scale-img img {
        width: 100%;
        aspect-ratio: 16 / 10;
        object-fit: cover;
    }

    .wrap-construction .content-construction {
        padding: 12px;
    }

    .wrap-construction .name-construction {
        font-size: 15px;
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .wrap-construction .view-contruction a {
        font-size: 13px;
        padding: 8px 16px;
        border-radius: 8px;
        display: inline-block;
        margin-top: 8px;
    }

    /* Hide Slick artifacts */
    .wrap-construction .slide-construction .slick-prev,
    .wrap-construction .slide-construction .slick-next,
    .wrap-construction .slide-construction .slick-dots,
    .wrap-construction .slide-construction .slick-cloned {
        display: none !important;
    }

    .projects-index-page .item-product,
    .projects-detail-page .item-product {
        border-radius: 12px;
    }

    .projects-index-page .item-product .scale-img img,
    .projects-detail-page .item-product .scale-img img {
        aspect-ratio: 16 / 11;
        object-fit: cover;
    }

    .projects-detail-page #project-detail-hero-image {
        border-radius: 10px;
        aspect-ratio: 16 / 10;
        object-fit: cover;
    }

    .projects-detail-page #project-detail-article {
        line-height: 1.75;
    }

    .projects-detail-page #project-detail-gallery {
        margin-top: 18px !important;
    }

    .projects-index-page .module_left .title,
    .projects-detail-page .module_left .title {
        font-size: 15px;
        line-height: 1.35;
        padding: 8px 6px;
    }

    .projects-index-page .module_left .content,
    .projects-detail-page .module_left .content {
        padding: 10px 8px 5px;
    }

    .projects-index-page .module_left .content ul li a,
    .projects-detail-page .module_left .content ul li a {
        line-height: 1.45;
        padding-top: 7px;
        padding-bottom: 7px;
    }

    .projects-detail-page #project-related-list {
        padding: 14px 12px 10px;
    }

    .projects-detail-page .project-detail-related .list-news-other {
        padding-left: 18px;
        margin-bottom: 0;
    }

    .projects-detail-page .project-detail-related .list-news-other li {
        margin-bottom: 4px;
    }

    /* Homepage press (mobile): 1 item per slide + explicit navigation arrows */
    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider,
    .wrap-newspapers .mobile-press-slider {
        margin: 0;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider:not(.slick-initialized),
    .wrap-newspapers .mobile-press-slider:not(.slick-initialized) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        row-gap: 14px;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .slick-list,
    .wrap-newspapers .mobile-press-slider .slick-list {
        margin: 0;
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 10px 26px rgba(5, 72, 126, 0.18);
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .slick-slide,
    .wrap-newspapers .mobile-press-slider .slick-slide {
        margin: 0;
        height: auto;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .slick-slide > div,
    .wrap-newspapers .mobile-press-slider .slick-slide > div {
        height: 100%;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .item-newspapers,
    .wrap-newspapers .mobile-press-slider .item-newspapers {
        margin: 0;
        border-radius: 14px;
        overflow: hidden;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .item-newspapers .scale-img img,
    .wrap-newspapers .mobile-press-slider .item-newspapers .scale-img img {
        aspect-ratio: 16 / 10;
        object-fit: cover;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .content-newspapers,
    .wrap-newspapers .mobile-press-slider .content-newspapers {
        padding: 16px 14px 14px;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .mobile-press-arrow,
    .wrap-newspapers .mobile-press-slider .mobile-press-arrow {
        width: 42px !important;
        height: 42px !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: linear-gradient(135deg, #0494de, #045ca9) !important;
        box-shadow: 0 10px 22px rgba(4, 92, 169, 0.28) !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        overflow: hidden !important;
        opacity: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        top: 46%;
        transform: translateY(-50%);
        z-index: 4;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .mobile-press-prev,
    .wrap-newspapers .mobile-press-slider .mobile-press-prev {
        left: 8px;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .mobile-press-next,
    .wrap-newspapers .mobile-press-slider .mobile-press-next {
        right: 8px;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .mobile-press-arrow::before,
    .wrap-newspapers .mobile-press-slider .mobile-press-arrow::before {
        content: "" !important;
        width: 12px !important;
        height: 12px !important;
        border-top: 3px solid #fff !important;
        border-right: 3px solid #fff !important;
        background: none !important;
        display: block !important;
        position: static !important;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .mobile-press-prev::before,
    .wrap-newspapers .mobile-press-slider .mobile-press-prev::before {
        transform: rotate(-135deg);
        margin-left: 4px;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .mobile-press-next::before,
    .wrap-newspapers .mobile-press-slider .mobile-press-next::before {
        transform: rotate(45deg);
        margin-left: -2px;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .mobile-press-arrow::after,
    .wrap-newspapers .mobile-press-slider .mobile-press-arrow::after,
    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .mobile-press-arrow > *,
    .wrap-newspapers .mobile-press-slider .mobile-press-arrow > * {
        content: none !important;
        display: none !important;
    }

    .wrap-newspapers #mobile-home-press-slider.mobile-press-slider .mobile-press-arrow.slick-disabled,
    .wrap-newspapers .mobile-press-slider .mobile-press-arrow.slick-disabled {
        opacity: 0.45 !important;
        pointer-events: none;
    }

    /* Homepage TV video (mobile): 1 video per slide + explicit navigation arrows */
    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider,
    .wrap-video-tv .mobile-video-slider {
        margin: 0;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider:not(.slick-initialized),
    .wrap-video-tv .mobile-video-slider:not(.slick-initialized) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        row-gap: 14px;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .slick-list,
    .wrap-video-tv .mobile-video-slider .slick-list {
        margin: 0;
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 10px 26px rgba(5, 72, 126, 0.18);
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .slick-slide,
    .wrap-video-tv .mobile-video-slider .slick-slide {
        margin: 0;
        height: auto;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .slick-slide > div,
    .wrap-video-tv .mobile-video-slider .slick-slide > div {
        height: 100%;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .item-video,
    .wrap-video-tv .mobile-video-slider .item-video {
        margin: 0;
        border-radius: 14px;
        overflow: hidden;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .img-video,
    .wrap-video-tv .mobile-video-slider .img-video {
        border-radius: 14px 14px 0 0;
        overflow: hidden;
        aspect-ratio: 16 / 10;
        background: #000;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .img-video iframe,
    .wrap-video-tv .mobile-video-slider .img-video iframe {
        width: 100%;
        height: 100%;
        border: 0;
        display: block;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .name-video,
    .wrap-video-tv .mobile-video-slider .name-video {
        padding: 14px 12px 16px;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .mobile-video-arrow,
    .wrap-video-tv .mobile-video-slider .mobile-video-arrow {
        width: 42px !important;
        height: 42px !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: linear-gradient(135deg, #0494de, #045ca9) !important;
        box-shadow: 0 10px 22px rgba(4, 92, 169, 0.28) !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        overflow: hidden !important;
        opacity: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        top: 46%;
        transform: translateY(-50%);
        z-index: 4;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .mobile-video-prev,
    .wrap-video-tv .mobile-video-slider .mobile-video-prev {
        left: 8px;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .mobile-video-next,
    .wrap-video-tv .mobile-video-slider .mobile-video-next {
        right: 8px;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .mobile-video-arrow::before,
    .wrap-video-tv .mobile-video-slider .mobile-video-arrow::before {
        content: "" !important;
        width: 12px !important;
        height: 12px !important;
        border-top: 3px solid #fff !important;
        border-right: 3px solid #fff !important;
        background: none !important;
        display: block !important;
        position: static !important;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .mobile-video-prev::before,
    .wrap-video-tv .mobile-video-slider .mobile-video-prev::before {
        transform: rotate(-135deg);
        margin-left: 4px;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .mobile-video-next::before,
    .wrap-video-tv .mobile-video-slider .mobile-video-next::before {
        transform: rotate(45deg);
        margin-left: -2px;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .mobile-video-arrow::after,
    .wrap-video-tv .mobile-video-slider .mobile-video-arrow::after,
    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .mobile-video-arrow > *,
    .wrap-video-tv .mobile-video-slider .mobile-video-arrow > * {
        content: none !important;
        display: none !important;
    }

    .wrap-video-tv #mobile-home-video-slider.mobile-video-slider .mobile-video-arrow.slick-disabled,
    .wrap-video-tv .mobile-video-slider .mobile-video-arrow.slick-disabled {
        opacity: 0.45 !important;
        pointer-events: none;
    }

    /* Homepage album (mobile): 1 image per slide + explicit navigation arrows */
    .wrap-album #mobile-home-album-slider.mobile-album-slider,
    .wrap-album .mobile-album-slider {
        margin: 0;
    }

    .wrap-album #mobile-home-album-slider.mobile-album-slider .slick-list,
    .wrap-album .mobile-album-slider .slick-list {
        margin: 0;
        border-radius: 14px;
        overflow: hidden;
        box-shadow: 0 10px 26px rgba(5, 72, 126, 0.18);
    }

    .wrap-album #mobile-home-album-slider.mobile-album-slider .slick-slide,
    .wrap-album .mobile-album-slider .slick-slide {
        margin: 0;
    }

    .wrap-album #mobile-home-album-slider.mobile-album-slider .item-album,
    .wrap-album .mobile-album-slider .item-album {
        margin: 0;
        border-radius: 14px;
        overflow: hidden;
    }

    .wrap-album #mobile-home-album-slider.mobile-album-slider .item-album .scale-img img,
    .wrap-album .mobile-album-slider .item-album .scale-img img {
        aspect-ratio: 16 / 10;
        object-fit: cover;
    }

    .wrap-album #mobile-home-album-slider.mobile-album-slider .content-album,
    .wrap-album .mobile-album-slider .content-album {
        padding: 22px 14px 12px;
        background-image: linear-gradient(to top, rgba(0, 94, 164, 0.94), rgba(0, 168, 229, 0.2) 68%, transparent);
    }

    .wrap-album #mobile-home-album-slider.mobile-album-slider .mobile-album-arrow,
    .wrap-album .mobile-album-slider .mobile-album-arrow {
        width: 42px !important;
        height: 42px !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: linear-gradient(135deg, #0494de, #045ca9) !important;
        box-shadow: 0 10px 22px rgba(4, 92, 169, 0.28) !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        overflow: hidden !important;
        opacity: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        top: 48%;
        transform: translateY(-50%);
        z-index: 3;
    }

    .wrap-album #mobile-home-album-slider.mobile-album-slider .mobile-album-prev,
    .wrap-album .mobile-album-slider .mobile-album-prev {
        left: 8px;
    }

    .wrap-album #mobile-home-album-slider.mobile-album-slider .mobile-album-next,
    .wrap-album .mobile-album-slider .mobile-album-next {
        right: 8px;
    }

    .wrap-album #mobile-home-album-slider.mobile-album-slider .mobile-album-arrow::before,
    .wrap-album .mobile-album-slider .mobile-album-arrow::before {
        content: "" !important;
        width: 12px !important;
        height: 12px !important;
        border-top: 3px solid #fff !important;
        border-right: 3px solid #fff !important;
        background: none !important;
        display: block !important;
        position: static !important;
    }

    .wrap-album #mobile-home-album-slider.mobile-album-slider .mobile-album-prev::before,
    .wrap-album .mobile-album-slider .mobile-album-prev::before {
        transform: rotate(-135deg);
        margin-left: 4px;
    }

    .wrap-album #mobile-home-album-slider.mobile-album-slider .mobile-album-next::before,
    .wrap-album .mobile-album-slider .mobile-album-next::before {
        transform: rotate(45deg);
        margin-left: -2px;
    }

    .wrap-album #mobile-home-album-slider.mobile-album-slider .mobile-album-arrow::after,
    .wrap-album .mobile-album-slider .mobile-album-arrow::after,
    .wrap-album #mobile-home-album-slider.mobile-album-slider .mobile-album-arrow > *,
    .wrap-album .mobile-album-slider .mobile-album-arrow > * {
        content: none !important;
        display: none !important;
    }
}

@media (max-width: 390px) {
    .mobile-hero-kpi {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .projects-index-page,
    .projects-detail-page {
        padding-left: 8px;
        padding-right: 8px;
    }

    .projects-index-page #projects-grid,
    .projects-detail-page #project-detail-gallery-grid {
        gap: 8px;
    }

    .projects-index-page #projects-page-title,
    .projects-detail-page #project-detail-title {
        font-size: 1.35rem;
    }

    .projects-breadcrumbs .breadcrumb-item a,
    .project-detail-breadcrumbs .breadcrumb-item a {
        font-size: 11px;
    }

    .projects-index-page .view-product {
        width: 100%;
        max-width: 170px;
        margin-top: 12px;
    }

    .projects-detail-page #project-related-list {
        padding: 12px 10px 8px;
    }
}

@media (min-width: 992px) {
    #desktop-header-shell {
        display: block;
    }

    #mobile-header-shell,
    #mobile-menu-overlay,
    #menu {
        display: none;
    }

    /* B006: Desktop balance for dual-column blocks */
    .wrap-feedback .row,
    .wrap-news .row-news {
        align-items: stretch;
    }

    .wrap-feedback .col-lg-6 {
        display: flex;
    }

    .wrap-feedback .box-feedback,
    .wrap-feedback .item-video-select,
    .wrap-news .news-left,
    .wrap-news .news-right {
        height: 100%;
    }

    .wrap-feedback .box-feedback,
    .wrap-feedback .item-video-select {
        width: 100%;
    }

    .wrap-feedback .box-feedback {
        min-height: 0;
    }

    .wrap-news .row-news {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
        align-items: stretch;
    }

    .wrap-news .news-left,
    .wrap-news .news-right {
        width: 100%;
        min-width: 0;
        height: 100%;
        display: flex;
        flex-direction: column;
    }

    .wrap-news #mobile-news-side-slider,
    .wrap-news .mobile-news-slider {
        position: relative;
        margin: -11px 0;
        padding: 0;
    }

    .wrap-news #mobile-news-side-slider:not(.slick-initialized) > div,
    .wrap-news .mobile-news-slider:not(.slick-initialized) > div {
        margin: 11px 0;
    }

    .wrap-news #mobile-news-side-slider.slick-initialized .slick-list,
    .wrap-news .mobile-news-slider.slick-initialized .slick-list {
        margin: 0;
        overflow: hidden;
    }

    .wrap-news #mobile-news-side-slider.slick-initialized .slick-track,
    .wrap-news .mobile-news-slider.slick-initialized .slick-track {
        display: block !important;
    }

    .wrap-news #mobile-news-side-slider .item-news-2,
    .wrap-news .mobile-news-slider .item-news-2 {
        margin: 0;
    }

    /* ── Desktop slogan: stable typewriter effect (desktop only) ── */
    .slogan-main {
        position: relative;
        overflow: hidden;
        padding: 14px 0;
    }

    .slogan-main .wrap-content {
        justify-content: center;
        align-items: center;
        gap: 0;
    }

    .slogan-main .img-slogan {
        display: none !important;
    }

    .slogan-main .box-slogan {
        width: min(100%, 900px);
        max-width: 100%;
        margin: 0 auto;
        text-align: center;
        padding: 0 8px;
    }

    .slogan-main .box-slogan .text_2 {
        display: none !important;
    }

    .slogan-main .box-slogan .text_1 {
        display: inline-block !important;
        max-width: 0;
        overflow: hidden;
        white-space: nowrap;
        position: relative;
        padding-right: 0.22em;
        font-size: clamp(20px, 1.55vw, 30px);
        line-height: 1.25;
        letter-spacing: 0.02em;
        color: #fff;
        text-shadow: 0 2px 18px rgba(0, 80, 160, 0.35);
        animation: desktopSloganTyping 7.2s steps(58, end) infinite !important;
    }

    .slogan-main .box-slogan .text_1 > span {
        font-size: clamp(24px, 2.05vw, 41px);
        line-height: 1.15;
        text-shadow:
            0 0 12px rgba(255, 255, 255, 0.45),
            0 2px 20px rgba(0, 80, 160, 0.35);
    }

    .slogan-main .box-slogan .text_1::after {
        content: "|" !important;
        position: absolute;
        right: -0.05em;
        color: #fff;
        animation: caret 0.9s steps(1, end) infinite !important;
    }

    @keyframes desktopSloganTyping {
        0%,
        14% {
            max-width: 0;
        }

        58%,
        99.5% {
            max-width: 100%;
        }

        100% {
            max-width: 0;
        }
    }




    /* ── Desktop criteria/process: scale to fit container ── */
    .wrap-criteria {
        padding: 60px 0;
        overflow: visible;
    }

    .box-criteria {
        position: relative;
        max-width: 1100px;
        margin: 0 auto;
        min-height: 360px;
    }

    /* Logo: keep centered and reasonable size */
    .logo-criteria {
        width: clamp(180px, 22vw, 300px);
        max-width: 300px;
        margin: 0 auto;
        position: relative;
        z-index: 1;
    }

    .logo-criteria img {
        width: 100%;
        height: auto;
        display: block;
    }

    /* Items: % width to stay within their half of the container */
    .item-criteria {
        width: clamp(220px, 30%, 360px);
        z-index: 2;
        display: flex;
        align-items: center;
        gap: 8px;
        overflow: visible;
    }

    .item-criteria-1 {
        position: absolute;
        top: -30px;
        left: 2%;
    }

    .item-criteria-2 {
        position: absolute;
        top: 49%;
        left: 0;
        transform: translateY(-50%);
    }

    .item-criteria-3 {
        position: absolute;
        bottom: -30px;
        left: 2%;
    }

    .item-criteria-4 {
        position: absolute;
        top: -30px;
        right: 2%;
    }

    .item-criteria-5 {
        position: absolute;
        top: 49%;
        right: 0;
        transform: translateY(-50%);
    }

    .item-criteria-6 {
        position: absolute;
        bottom: -30px;
        right: 2%;
    }

    /* Right column cards: badge on left, text on right */
    .item-criteria-odd {
        flex-direction: row-reverse;
    }

    /* Content: always clear area, never under badge */
    .content-criteria {
        width: 100%;
        max-width: 100%;
        padding: 12px 16px !important;
        box-sizing: border-box;
        overflow: hidden;
        position: relative;
        z-index: 3;
    }

    .item-criteria-odd .content-criteria {
        padding: 12px 16px !important;
    }

    .content-criteria span {
        font-size: clamp(12px, 1.2vw, 17px);
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .content-criteria p {
        font-size: clamp(11px, 1vw, 14px);
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
    }

    /* Num badge: in flow (no overlay) */
    .num-criteria {
        padding: 6px 11px;
        position: relative;
        top: auto;
        right: auto !important;
        left: auto !important;
        transform: none;
        z-index: 2;
        flex: 0 0 auto;
    }

    .item-criteria-odd .num-criteria {
        left: auto !important;
        right: auto !important;
    }

    .num-criteria:before {
        width: clamp(52px, 5.8vw, 84px);
        height: clamp(52px, 5.8vw, 84px);
    }

    .num-criteria:after {
        width: clamp(40px, 4.6vw, 68px);
        height: clamp(40px, 4.6vw, 68px);
    }

    .num-criteria p {
        font-size: clamp(11px, 1.05vw, 15px);
    }

    .num-criteria span {
        font-size: clamp(14px, 1.6vw, 22px);
    }

    .footer-1 .footer-titles {
        margin: 0 0 12px;
        margin-left: 0;
        text-align: center;
        font-size: clamp(24px, 1.8vw, 28px);
        line-height: 1.16;
    }

    .scrollToTop {
        width: 42px;
        height: 42px;
        right: 16px;
        bottom: 18px;
        border-radius: 50%;
        background: linear-gradient(135deg, #0469bb, #04497f);
        box-shadow: 0 10px 22px rgba(4, 73, 127, 0.32);
        text-indent: -9999px;
        font-size: 0;
        line-height: 0;
        overflow: hidden;
    }

    .scrollToTop::before {
        content: "↑";
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        text-indent: 0;
        color: #fff;
        font-size: 19px;
        font-weight: 700;
        line-height: 1;
    }

    .scrollToTop img,
    .scrollToTop br,
    .scrollToTop span {
        display: none !important;
    }

    .wrap-pro_nb .slide-4 .owl-nav button.owl-prev,
    .wrap-pro_nb .slide-4 .owl-nav button.owl-next,
    .wrap-pro_nb .slide-4 .control-owl button.owl-prev,
    .wrap-pro_nb .slide-4 .control-owl button.owl-next,
    .wrap-pro_nb .slide-4 .slick-prev,
    .wrap-pro_nb .slide-4 .slick-next,
    .wrap-pro_nb .slide-4 .slick-arrow,
    .wrap-pro_nb .slide-4 .owl-prev,
    .wrap-pro_nb .slide-4 .owl-next,
    .wrap-pro_nb .slide-4 .prev,
    .wrap-pro_nb .slide-4 .next,
    .wrap-pro_nb .slide-4 .slide-arrow-pronb,
    .wrap-pro_nb .slide-4 .slide-arrow,
    .wrap-pro_nb .slide-4 .slide-arrows,
    .wrap-construction .slide-construction .owl-nav button.owl-prev,
    .wrap-construction .slide-construction .owl-nav button.owl-next,
    .wrap-construction .slide-construction .control-owl button.owl-prev,
    .wrap-construction .slide-construction .control-owl button.owl-next,
    .wrap-construction .slide-construction .slick-prev,
    .wrap-construction .slide-construction .slick-next,
    .wrap-construction .slide-construction .slick-arrow,
    .wrap-construction .slide-construction .owl-prev,
    .wrap-construction .slide-construction .owl-next,
    .wrap-construction .slide-construction .prev,
    .wrap-construction .slide-construction .next,
    .wrap-construction .slide-construction .slide-arrow-pronb,
    .wrap-construction .slide-construction .slide-arrow,
    .wrap-construction .slide-construction .slide-arrows {
        width: 44px !important;
        height: 44px !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: linear-gradient(135deg, #0494de, #045ca9) !important;
        box-shadow: 0 10px 22px rgba(4, 92, 169, 0.26) !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        overflow: hidden !important;
        opacity: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    .wrap-pro_nb .slide-4 .owl-nav button.owl-prev::before,
    .wrap-pro_nb .slide-4 .control-owl button.owl-prev::before,
    .wrap-pro_nb .slide-4 .slick-prev::before,
    .wrap-pro_nb .slide-4 .owl-prev::before,
    .wrap-pro_nb .slide-4 .prev::before,
    .wrap-pro_nb .slide-4 .slide-arrow-pronb::before,
    .wrap-pro_nb .slide-4 .slide-arrow::before,
    .wrap-pro_nb .slide-4 .slide-arrows::before,
    .wrap-construction .slide-construction .owl-nav button.owl-prev::before,
    .wrap-construction .slide-construction .control-owl button.owl-prev::before,
    .wrap-construction .slide-construction .slick-prev::before,
    .wrap-construction .slide-construction .owl-prev::before,
    .wrap-construction .slide-construction .prev::before,
    .wrap-construction .slide-construction .slide-arrow-pronb::before,
    .wrap-construction .slide-construction .slide-arrow::before,
    .wrap-construction .slide-construction .slide-arrows::before,
    .wrap-pro_nb .slide-4 .owl-nav button.owl-next::before,
    .wrap-pro_nb .slide-4 .control-owl button.owl-next::before,
    .wrap-pro_nb .slide-4 .slick-next::before,
    .wrap-pro_nb .slide-4 .owl-next::before,
    .wrap-pro_nb .slide-4 .next::before,
    .wrap-pro_nb .slide-4 .slide-arrow-pronb.ic-right::before,
    .wrap-pro_nb .slide-4 .slide-arrow.ic-right::before,
    .wrap-pro_nb .slide-4 .slide-arrows.ic-rights::before,
    .wrap-construction .slide-construction .owl-nav button.owl-next::before,
    .wrap-construction .slide-construction .control-owl button.owl-next::before,
    .wrap-construction .slide-construction .slick-next::before,
    .wrap-construction .slide-construction .owl-next::before,
    .wrap-construction .slide-construction .next::before,
    .wrap-construction .slide-construction .slide-arrow-pronb.ic-right::before,
    .wrap-construction .slide-construction .slide-arrow.ic-right::before,
    .wrap-construction .slide-construction .slide-arrows.ic-rights::before {
        content: "" !important;
        width: 12px !important;
        height: 12px !important;
        border-top: 3px solid #fff !important;
        border-right: 3px solid #fff !important;
        background: none !important;
        background-image: none !important;
        display: block !important;
        position: static !important;
    }

    .wrap-pro_nb .slide-4 .owl-nav button.owl-prev::before,
    .wrap-pro_nb .slide-4 .control-owl button.owl-prev::before,
    .wrap-pro_nb .slide-4 .slick-prev::before,
    .wrap-pro_nb .slide-4 .owl-prev::before,
    .wrap-pro_nb .slide-4 .prev::before,
    .wrap-pro_nb .slide-4 .slide-arrow-pronb:not(.ic-right)::before,
    .wrap-pro_nb .slide-4 .slide-arrow:not(.ic-right)::before,
    .wrap-pro_nb .slide-4 .slide-arrows:not(.ic-rights)::before,
    .wrap-construction .slide-construction .owl-nav button.owl-prev::before,
    .wrap-construction .slide-construction .control-owl button.owl-prev::before,
    .wrap-construction .slide-construction .slick-prev::before,
    .wrap-construction .slide-construction .owl-prev::before,
    .wrap-construction .slide-construction .prev::before,
    .wrap-construction .slide-construction .slide-arrow-pronb:not(.ic-right)::before,
    .wrap-construction .slide-construction .slide-arrow:not(.ic-right)::before,
    .wrap-construction .slide-construction .slide-arrows:not(.ic-rights)::before {
        transform: rotate(-135deg);
        margin-left: 4px;
    }

    .wrap-pro_nb .slide-4 .owl-nav button.owl-next::before,
    .wrap-pro_nb .slide-4 .control-owl button.owl-next::before,
    .wrap-pro_nb .slide-4 .slick-next::before,
    .wrap-pro_nb .slide-4 .owl-next::before,
    .wrap-pro_nb .slide-4 .next::before,
    .wrap-pro_nb .slide-4 .slide-arrow-pronb.ic-right::before,
    .wrap-pro_nb .slide-4 .slide-arrow.ic-right::before,
    .wrap-pro_nb .slide-4 .slide-arrows.ic-rights::before,
    .wrap-construction .slide-construction .owl-nav button.owl-next::before,
    .wrap-construction .slide-construction .control-owl button.owl-next::before,
    .wrap-construction .slide-construction .slick-next::before,
    .wrap-construction .slide-construction .owl-next::before,
    .wrap-construction .slide-construction .next::before,
    .wrap-construction .slide-construction .slide-arrow-pronb.ic-right::before,
    .wrap-construction .slide-construction .slide-arrow.ic-right::before,
    .wrap-construction .slide-construction .slide-arrows.ic-rights::before {
        transform: rotate(45deg);
        margin-left: -2px;
    }

    .wrap-pro_nb .slide-4 .owl-nav button::after,
    .wrap-pro_nb .slide-4 .control-owl button::after,
    .wrap-pro_nb .slide-4 .slick-prev::after,
    .wrap-pro_nb .slide-4 .slick-next::after,
    .wrap-pro_nb .slide-4 .owl-prev::after,
    .wrap-pro_nb .slide-4 .owl-next::after,
    .wrap-pro_nb .slide-4 .prev::after,
    .wrap-pro_nb .slide-4 .next::after,
    .wrap-pro_nb .slide-4 .slide-arrow-pronb::after,
    .wrap-pro_nb .slide-4 .slide-arrow::after,
    .wrap-pro_nb .slide-4 .slide-arrows::after,
    .wrap-construction .slide-construction .owl-nav button::after,
    .wrap-construction .slide-construction .control-owl button::after,
    .wrap-construction .slide-construction .slick-prev::after,
    .wrap-construction .slide-construction .slick-next::after,
    .wrap-construction .slide-construction .owl-prev::after,
    .wrap-construction .slide-construction .owl-next::after,
    .wrap-construction .slide-construction .prev::after,
    .wrap-construction .slide-construction .next::after,
    .wrap-construction .slide-construction .slide-arrow-pronb::after,
    .wrap-construction .slide-construction .slide-arrow::after,
    .wrap-construction .slide-construction .slide-arrows::after {
        content: none !important;
    }

    .wrap-pro_nb .slide-4 .owl-nav button > *,
    .wrap-pro_nb .slide-4 .control-owl button > *,
    .wrap-pro_nb .slide-4 .slick-prev > *,
    .wrap-pro_nb .slide-4 .slick-next > *,
    .wrap-pro_nb .slide-4 .owl-prev > *,
    .wrap-pro_nb .slide-4 .owl-next > *,
    .wrap-pro_nb .slide-4 .prev > *,
    .wrap-pro_nb .slide-4 .next > *,
    .wrap-pro_nb .slide-4 .slide-arrow-pronb > *,
    .wrap-pro_nb .slide-4 .slide-arrow > *,
    .wrap-pro_nb .slide-4 .slide-arrows > *,
    .wrap-construction .slide-construction .owl-nav button > *,
    .wrap-construction .slide-construction .control-owl button > *,
    .wrap-construction .slide-construction .slick-prev > *,
    .wrap-construction .slide-construction .slick-next > *,
    .wrap-construction .slide-construction .owl-prev > *,
    .wrap-construction .slide-construction .owl-next > *,
    .wrap-construction .slide-construction .prev > *,
    .wrap-construction .slide-construction .next > *,
    .wrap-construction .slide-construction .slide-arrow-pronb > *,
    .wrap-construction .slide-construction .slide-arrow \u003e *,
    .wrap-construction .slide-construction .slide-arrows \u003e * {
        display: none !important;
    }

    /* ── Desktop: Press / TV / Album = 3 large equal thumbnails in one row (Slick-compatible) ── */
    .wrap-newspapers .home-press-track,
    .wrap-video-tv .home-video-track,
    .wrap-album .home-album-track {
        max-width: 1140px;
        margin: 0 auto;
    }

    .wrap-newspapers .home-press-track:not(.slick-initialized),
    .wrap-video-tv .home-video-track:not(.slick-initialized),
    .wrap-album .home-album-track:not(.slick-initialized) {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 32px;
        row-gap: 24px;
    }

    .wrap-newspapers .home-press-track:not(.slick-initialized) > div,
    .wrap-video-tv .home-video-track:not(.slick-initialized) > div,
    .wrap-album .home-album-track:not(.slick-initialized) > div {
        margin: 0;
    }

    .wrap-newspapers .home-press-track .slick-list {
        margin: 0;
        overflow: hidden;
    }

    .wrap-video-tv .home-video-track .slick-list {
        margin: 0 -16px;
        overflow: visible;
    }

    .wrap-album .home-album-track .slick-list {
        margin: 0;
        overflow: hidden;
    }

    .wrap-newspapers .home-press-track .slick-track,
    .wrap-video-tv .home-video-track .slick-track,
    .wrap-album .home-album-track .slick-track {
        display: flex !important;
    }

    .wrap-newspapers .home-press-track .slick-slide {
        margin: 0;
        padding: 0 16px;
        box-sizing: border-box;
        height: auto;
    }

    .wrap-video-tv .home-video-track .slick-slide {
        margin: 0 16px;
        height: auto;
    }

    .wrap-album .home-album-track .slick-slide {
        margin: 0;
        padding: 0 16px;
        box-sizing: border-box;
        height: auto;
    }

    .wrap-newspapers .home-press-track .slick-slide > div,
    .wrap-video-tv .home-video-track .slick-slide > div,
    .wrap-album .home-album-track .slick-slide > div {
        height: 100%;
    }

    .wrap-newspapers .item-newspapers,
    .wrap-video-tv .item-video,
    .wrap-album .item-album {
        height: 100%;
        margin: 0;
    }

    .wrap-newspapers .item-newspapers .scale-img img,
    .wrap-album .item-album .scale-img img {
        width: 100%;
        aspect-ratio: 263 / 250;
        object-fit: cover;
        border-radius: 10px 10px 0 0;
        display: block;
    }

    .wrap-video-tv .img-video {
        border-radius: 10px 10px 0 0;
        overflow: hidden;
        aspect-ratio: 263 / 250;
    }

    .wrap-video-tv .img-video iframe {
        width: 100%;
        height: 100%;
        border: 0;
        display: block;
    }

    .wrap-newspapers .content-newspapers,
    .wrap-video-tv .name-video,
    .wrap-album .content-album {
        padding: 10px 10px 14px;
    }

    .wrap-newspapers .name-newspapers,
    .wrap-video-tv .name-video span,
    .wrap-album .content-album p {
        font-size: 13px;
        line-height: 1.35;
    }

    .wrap-newspapers .view-newspapers a {
        font-size: 12px;
        padding: 6px 10px;
    }

    .wrap-news #mobile-news-side-slider .desktop-news-arrow,
    .wrap-news .mobile-news-slider .desktop-news-arrow {
        position: absolute;
        left: calc(100% + 8px);
        width: 40px !important;
        height: 40px !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: linear-gradient(135deg, #0494de, #045ca9) !important;
        box-shadow: 0 10px 22px rgba(4, 92, 169, 0.26) !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        overflow: hidden !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        opacity: 1 !important;
        z-index: 7;
        transition: opacity 0.2s ease;
    }

    .wrap-news #mobile-news-side-slider .desktop-news-prev,
    .wrap-news .mobile-news-slider .desktop-news-prev {
        top: 0;
    }

    .wrap-news #mobile-news-side-slider .desktop-news-next,
    .wrap-news .mobile-news-slider .desktop-news-next {
        bottom: 0;
    }

    .wrap-news #mobile-news-side-slider .desktop-news-arrow::before,
    .wrap-news .mobile-news-slider .desktop-news-arrow::before {
        content: "" !important;
        width: 10px !important;
        height: 10px !important;
        border-top: 3px solid #fff !important;
        border-right: 3px solid #fff !important;
        display: block !important;
        position: static !important;
    }

    .wrap-news #mobile-news-side-slider .desktop-news-prev::before,
    .wrap-news .mobile-news-slider .desktop-news-prev::before {
        transform: rotate(-45deg);
        margin-top: 3px;
    }

    .wrap-news #mobile-news-side-slider .desktop-news-next::before,
    .wrap-news .mobile-news-slider .desktop-news-next::before {
        transform: rotate(135deg);
        margin-top: -3px;
    }

    .wrap-news #mobile-news-side-slider .desktop-news-arrow::after,
    .wrap-news #mobile-news-side-slider .desktop-news-arrow > *,
    .wrap-news .mobile-news-slider .desktop-news-arrow::after,
    .wrap-news .mobile-news-slider .desktop-news-arrow > * {
        content: none !important;
        display: none !important;
    }

    .wrap-news #mobile-news-side-slider .desktop-news-arrow.slick-disabled,
    .wrap-news .mobile-news-slider .desktop-news-arrow.slick-disabled {
        opacity: 0.45 !important;
        pointer-events: none;
    }

    .wrap-newspapers .home-press-track .desktop-press-arrow,
    .wrap-video-tv .home-video-track .desktop-video-arrow,
    .wrap-album .home-album-track .desktop-album-arrow {
        position: absolute;
        top: 41%;
        transform: translateY(-50%);
        width: 44px !important;
        height: 44px !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: linear-gradient(135deg, #0494de, #045ca9) !important;
        box-shadow: 0 10px 22px rgba(4, 92, 169, 0.26) !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;
        overflow: hidden !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        opacity: 1 !important;
        z-index: 6;
        transition: opacity 0.2s ease;
    }

    .wrap-newspapers .home-press-track .desktop-press-prev,
    .wrap-video-tv .home-video-track .desktop-video-prev,
    .wrap-album .home-album-track .desktop-album-prev {
        left: -56px;
    }

    .wrap-newspapers .home-press-track .desktop-press-next,
    .wrap-video-tv .home-video-track .desktop-video-next,
    .wrap-album .home-album-track .desktop-album-next {
        right: -56px;
    }

    .wrap-newspapers .home-press-track .desktop-press-arrow::before,
    .wrap-video-tv .home-video-track .desktop-video-arrow::before,
    .wrap-album .home-album-track .desktop-album-arrow::before {
        content: "" !important;
        width: 12px !important;
        height: 12px !important;
        border-top: 3px solid #fff !important;
        border-right: 3px solid #fff !important;
        display: block !important;
        position: static !important;
    }

    .wrap-newspapers .home-press-track .desktop-press-prev::before,
    .wrap-video-tv .home-video-track .desktop-video-prev::before,
    .wrap-album .home-album-track .desktop-album-prev::before {
        transform: rotate(-135deg);
        margin-left: 4px;
    }

    .wrap-newspapers .home-press-track .desktop-press-next::before,
    .wrap-video-tv .home-video-track .desktop-video-next::before,
    .wrap-album .home-album-track .desktop-album-next::before {
        transform: rotate(45deg);
        margin-left: -2px;
    }

    .wrap-newspapers .home-press-track .desktop-press-arrow::after,
    .wrap-newspapers .home-press-track .desktop-press-arrow > *,
    .wrap-video-tv .home-video-track .desktop-video-arrow::after,
    .wrap-video-tv .home-video-track .desktop-video-arrow > *,
    .wrap-album .home-album-track .desktop-album-arrow::after,
    .wrap-album .home-album-track .desktop-album-arrow > * {
        content: none !important;
        display: none !important;
    }

    .wrap-newspapers .home-press-track .desktop-press-arrow.slick-disabled,
    .wrap-video-tv .home-video-track .desktop-video-arrow.slick-disabled,
    .wrap-album .home-album-track .desktop-album-arrow.slick-disabled {
        opacity: 0.45 !important;
        pointer-events: none;
    }

    /* Keep dots hidden in TV and album desktop sections */
    .wrap-video-tv .home-video-track .slick-dots,
    .wrap-album .home-album-track .slick-dots {
        display: none !important;
    }
}

@media (max-width: 767.98px) {
    /* Mobile only: keep original news layout, nudge text inward from both edges */
    .news-index-page #news-listing-items {
        margin-left: 0;
        margin-right: 0;
        padding-left: 8px;
        padding-right: 8px;
    }

    .news-index-page .courseListItem {
        padding-left: 0;
        padding-right: 2px;
        overflow: visible;
    }

    .news-index-page .courseListItem__intensity1 {
        float: left;
        width: 34%;
        padding: 0 12px 0 0;
    }

    .news-index-page .courseListItem__intensity1 .scale-img,
    .news-index-page .courseListItem__intensity1 img {
        display: block;
        width: 100%;
    }

    .news-index-page .courseListItem__intensity1 img {
        aspect-ratio: 4 / 3;
        object-fit: cover;
        border-radius: 8px;
    }

    .news-index-page .courseListItem__desc {
        width: auto;
        float: none;
        padding-left: 4px;
        padding-right: 4px;
    }

    .news-index-page .courseListItem__desc .name-newspapers,
    .news-index-page .courseListItem__desc .small,
    .news-index-page .courseListItem__desc__paragraph {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .news-index-page .courseListItem__desc__paragraph {
        clear: both;
        margin-top: 6px;
        padding-left: 2px;
        padding-right: 2px;
        text-align: justify;
        text-align-last: left;
    }
}
