.tp-omada-header .tp-omada-product-box a { color: #2b2b2b !important; }
.tp-omada-header.header-scrolled .tp-omada-product-box a { color: inherit !important; }
@media (max-width: 736px) {
.tp-omada-header .black .tp-omada-product-box .tp-omada-product-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) { background: rgba(43, 43, 43) !important; }
.tp-omada-header.header-scrolled .black .tp-omada-product-box .tp-omada-product-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) { background: #fff !important; }
}

body,
body>.page-content-wrapper,
html {
    overflow: visible !important;
}

.omada {
    font-size: 16px;
}

.omada .bold {
    font-weight: 700;
}

.omada .medium {
    font-weight: 500;
}

.omada .regular {
    font-weight: 400;
}

.omada .light {
    font-weight: 300;
}

.omada .white {
    color: #fff;
}

.omada .tp-color {
    color: #4acbd6;
}

.omada .smb-color {
    color: #005564;
}

.omada .omada-blue {
    color: #0069cb;
}

.omada .omada-green {
    color: #00a870;
}

.omada .omada-rich-green {
    color: #008055;
}

.omada .omada-green-yellow {
    color: #a6ef00;
}

.omada .omada-neon-green {
    color: #00E194;
}

.omada .text-left {
    text-align: left;
}

.omada .text-center {
    text-align: center;
}

.omada .text-right {
    text-align: right;
}

.omada .no-wrap {
    white-space: nowrap;
}

.omada .m-show {
    display: none;
}

.omada sup {
    font-size: 0.5556em;
}

.omada h1,
.omada h2 {
    font-size: 3.75em;
    font-weight: 300;
    line-height: 1.2;
    padding-bottom: 0.5em;
}

.omada h2.page-section-title {
    font-size: 2.5em;
    font-weight: 300;
    line-height: 1.2;
    padding-bottom: 0.5em;
}

.omada h2.page-section-title-underline {
    font-size: 2.5em;
    font-weight: 300;
    line-height: 1.2;
    padding-bottom: 0.5em;
    border-bottom: 0.5px solid rgba(43, 43, 43, 0.3);
}

.omada h3,
.omada h2.h3,
.omada p.h3 {
    font-size: 2.5em;
    font-weight: 300;
    line-height: 1.2;
    padding-bottom: 0.4em;
}

.omada h4,
.omada p.h4 {
    font-size: 1.5em;
    font-weight: 300;
    line-height: 1.2;
    padding-bottom: 0.25em;
}

.omada h5,
.omada p.h5,
.omada span.h5 {
    display: block;
    font-size: 1.35em;
    font-weight: 300;
    line-height: 1.2;
    padding-bottom: 0.5em;
}

.omada p {
    font-size: 1em;
    font-weight: 300;
    line-height: 1.5;
}

.omada h6,
.omada p.h6,
.omada span.h6 {
    display: block;
    font-size: 1.25em;
    line-height: 1.2;
    padding-bottom: 0.5em;
}

.omada p {
    font-size: 1em;
    line-height: 1.5;
}

.omada a {
    font-size: 1.125em;
    font-weight: 400;
    line-height: 1.5;
    color: #0069cb;
}

.omada a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.omada button {
    text-decoration: none;
    background: none;
    outline: none;
    border: none;
    cursor: pointer;
}

.omada input {
    border: none;
    outline: none;
    background: unset;
    caret-color: #00a870;
}

.omada img,
.omada video {
    width: 100%;
    display: block;
    margin: 0 auto;
}

.omada img.icon {
    width: auto;
    height: 3.75em;
    display: block;
}

.omada img.prod-img {
    width: 13.889em;
    height: auto;
    display: block;
}

/* width:15.625em; */
.omada img.arrow-down {
    width: 1.25em;
    height: auto;
    margin: 0 0 0 2em;
    display: block;
    transition: transform 500ms;
}

.omada img.icon-arrow-link {
    display: inline;
    width: 0.625em;
    height: auto;
    margin: 0.1em 0 0 0.25em;
}

.omada img.rotate {
    transform: rotate(180deg);
}

.omada ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.omada .link-noline,
.omada .link-img,
.omada .video {
    text-decoration: none;
    color: inherit;
    line-height: normal;
    display: block;
}

.omada .link-img {
    transition: transform 300ms;
}

.omada .link-noline-green {
    text-decoration: none;
    color: #008055;
    display: inline-block;
    margin-top: 1.25em;
    font-weight: 500;
}

.omada .link-noline-green-20 {
    font-size: 1.25em;
}

.omada .link-noline-green-16 {
    font-size: 1em;
}

.omada .link-noline-white {
    text-decoration: none;
    color: #fff;
    display: inline-block;
}

.omada .link-noline-black {
    text-decoration: none;
    color: #000;
    display: inline-block;
}

.omada .link-underline {
    text-decoration: none;
    border-bottom: 0.1em solid;
    display: inline-block;
}

.omada .link-button-bg-green {
    color: #fff;
    text-decoration: none;
    padding: 0.65em 1.35em;
    margin-top: 1.5em;
    background-color: #00a870;
    border-radius: 4px;
    display: inline-block;
}

.omada .link-button-bg-green0_1 {
    color: rgba(10, 90, 90, 1);
    text-decoration: none;
    padding: 0.25em 0.75em;
    margin-top: 1.25em;
    background-color: rgba(0, 168, 112, 0.1);
    border-radius: 4px;
    display: inline-block;
}

.omada .link-button-bg-green:hover {
    color: #fff;
    text-decoration: none;
    background-color: #05C178;
}

.omada .link-button-bg-green0_1:hover {
    color: rgba(10, 90, 90, 1);
    text-decoration: none;
    background-color: rgba(0, 168, 112, 0.3);
}

.omada .link-with-icon {
    display: flex;
    align-items: center;
}

.omada .page-section {
    max-width: 120em;
    margin: 0 auto;
}

.omada .page-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.omada .page-section-header-underline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 0.5px solid rgba(43, 43, 43, 0.3);
}

.omada .page-section-row {
    margin: 0 auto;
    position: relative;
}

.omada .page-section-row+.page-section-row {
    margin-top: 2.5em;
}

.omada .omada-container {
    width: 95em;
    margin: 0 auto;
}

.omada .omada-wrapper {
    width: 85em;
    margin: 0 auto;
}

.omada .row-flex-list {
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.omada .link-item-list {
    padding: 0 2em;
}

.omada .link-item-list .link-item+.link-item {
    border-top: 0.5px solid rgba(43, 43, 43, 0.3);
}

.omada .link-item-list .link-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 2em 0;
}

.omada .link-item-list .link-item-content {
    display: none;
    padding-bottom: 2em;
}

.omada .link-item-list .link-item-content a{font-size:1em; overflow-wrap: break-word;}
.omada .link-item-list .link-item-content img{margin:0;max-width:100%;}
.omada .link-item-list .link-item-content p+p{margin-top:1em;}

.omada .top-reset-0 {
    margin-top: 0em;
}

.omada .visuallyhidden {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    border: 0;
    clip-path: inset(0 0 99.9% 99.9%);
    height: 1px;
    overflow: hidden;
    padding: 0;
    width: 1px;
}

@media(min-width:1921px) {
    .omada {
        font-size: 0.8333vw;
    }
}

@media(max-width:1680px) {
    .omada {
        font-size: 14px;
    }
}

@media(max-width:1440px) {
    .omada {
        font-size: 12px;
    }
}

@media(max-width:1200px) {
    .omada {
        font-size: 10px;
    }
}

@media(max-width:1024px) {
    .omada {
        font-size: 8px;
    }
}

@media(max-width:736px) {
    .omada {
        font-size: 10.35px;
    }

    .omada h2 {
        font-size: 7.33vw;
    }

    .omada h2.page-section-title {
        font-size: 5.625vw;
    }

    .omada h2.page-section-title-underline {
        font-size: 5.625vw;
    }

    .omada h3,
    .omada h2.h3,
    .omada p.h3 {
        font-size: 5.75vw;
    }

    .omada h4,
    .omada p.h4 {
        font-size: 5vw;
    }

    .omada h5,
    .omada p.h5,
    .omada a.h5,
    .omada span.h5 {
        font-size: 4vw;
    }

    .omada h6,
    .omada p.h6,
    .omada a.h6,
    .omada span.h6 {
        font-size: 3.75vw;
    }

    .omada p {
        font-size: 3.5vw;
    }

    .omada a {
        font-size: 3.5vw;
    }

    .omada .page-section {
        max-width: 100vw;
    }

    .omada .page-section-header {
        display: block;
    }

    .omada .page-section-header-underline {
        display: block;
    }

    .omada .page-section-row+.page-section-row {
        margin-top: 6.25vw;
    }

    .omada .omada-container {
        width: auto;
    }

    .omada .omada-wrapper {
        width: auto;
    }

    .omada .row-flex-list {
        display: block;
    }

    .omada .link-item-list {
        padding: 0 4vw;
    }

    .omada .link-item-list .link-item-header {
        padding: 4vw 0;
    }

    .omada .link-item-list .link-item-content {
        padding-bottom: 4vw;
    }

    .omada img.icon {
        height: 8vw;
    }

    .omada img.prod-img {
        width: 30vw;
    }

    .omada img.arrow-down {
        width: 4vw;
        margin-left: 4vw;
    }

    .omada img.icon-arrow-link {
        width: 2.25vw;
        margin: 0 0 0 1vw;
    }

    .omada .link-noline-green {
        margin-top: 3vw;
    }

    .omada .link-noline-green-20 {
        font-size: 3.75vw;
    }

    .omada .link-noline-green-16 {
        font-size: 3.25vw;
    }

    .omada .link-button-bg-green {
        margin-top: 5vw;
    }

    .omada .m-show {
        display: block;
    }

    .omada .m-hide {
        display: none;
    }
}

@media(max-width: 414px) {
    .omada {
        font-size: 2.5vw;
    }
}

.category-page .category-hero {
    height: 40em;
    background-repeat: no-repeat;
    background-size: 120em;
    display: flex;
    align-items: center;
}

/* Background images */
.category-page .category-hero.banner-1 {
    background-image: url(img/banner-1_2.jpg);
    background-position: center;
    position: relative;
}
.category-page .category-hero.banner-2 {
    background-image: url(img/banner-2_2.jpg?1);
    background-position: center;
    position: relative;
    overflow: hidden;
}

/* ── Banner-2 overlay */
.b2-scene {
    position: absolute;
    top: 0; bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120em;
    pointer-events: none;
}

@keyframes b2-circle-pulse {
    0%, 100% { box-shadow: 0 0 0.4em 0   rgba(127, 196, 173, 0.1); }
    50%       { box-shadow: 0 0 1.8em 0.4em rgba(127, 196, 173, 0.55); }
}

@keyframes b2-circle-fx {
    0%   { transform: translate(var(--tx), var(--ty)) scale(1.4); opacity: 0;
           background: rgba(245,250,249,0.1); backdrop-filter: blur(6px); border-color: rgba(127,196,173,0.45); }
    22%  { transform: translate(var(--tx), var(--ty)) scale(1.3); opacity: 1;
           background: rgba(245,250,249,0.1); backdrop-filter: blur(6px); border-color: rgba(127,196,173,0.45); }
    50%  { transform: translate(var(--tx), var(--ty)) scale(1.3); opacity: 1;
           background: rgba(245,250,249,0.1); backdrop-filter: blur(6px); border-color: rgba(127,196,173,0.45); }
    100% { transform: translate(0, 0) scale(1); opacity: 1;
           background: #F5FAF9; backdrop-filter: blur(0px); border-color: #7FC4AD; }
}


.b2-group {
    position: absolute;
    display: flex;
    align-items: center;
}

.b2-group--a { top: 11.5em;  left: 16.16em; }
.b2-group--b { top: 22.3em; left: 16.16em; }
.b2-group--c { top: 11.5em;  left: 49.66em; }
.b2-group--d { top: 22.3em; left: 49.7em; }

/* Frosted-glass overlays */
.b2-circle-fx {
    position: absolute;
    width: 8.75em;
    height: 8.75em;
    border-radius: 50%;
    overflow: hidden;
    -webkit-backdrop-filter: blur(4px);
    border: 0.1em solid rgba(127, 196, 173, 0.5);
    opacity: 0;
    pointer-events: none;
    z-index: 0;
}
.b2-circle-fx--a { top: 7em;  left: 7.24em;  --tx: 22.8em;  --ty: 5em;  }
.b2-circle-fx--b { top: 18em; left: 7.24em;  --tx: 22.8em;  --ty: -6em; }
.b2-circle-fx--c { top: 7em;  left: 53.04em; --tx: -23em; --ty: 5em;  }
.b2-circle-fx--d { top: 18em; left: 53.04em; --tx: -23em; --ty: -6em; }

/* Product circle — hidden; fx element is the visible one */
.b2-circle {
    width: 8.75em;
    height: 8.75em;
    flex-shrink: 0;
    border-radius: 50%;
    background: #F5FAF9;
    border: 0.1em solid #7FC4AD;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    z-index: 0;
    opacity: 0;
}
.b2-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Horizontal connector line */
.b2-h-line {
    height: 0.1em;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    overflow: visible;
}
/* Left groups: line runs from circle right edge → monitor left */
.b2-group--a .b2-h-line,
.b2-group--b .b2-h-line { width: 3.4em; }
/* Right groups: line runs from monitor right → circle left edge */
.b2-group--c .b2-h-line,
.b2-group--d .b2-h-line { width: 3.4em; }

.b2-h-line-svg { display: block; width: 100%; height: 100%; overflow: visible; }

/* fx circles animate in, resolve to solid, and stay */
.b2-scene.b2-visible .b2-circle-fx {
    animation: b2-circle-fx 1.8s cubic-bezier(0.22, 1, 0.36, 1) both;
}
.b2-scene.b2-visible .b2-circle-fx--a { animation-delay: 0s; }
.b2-scene.b2-visible .b2-circle-fx--b { animation-delay: 1.0s; }
.b2-scene.b2-visible .b2-circle-fx--c { animation-delay: 2.0s; }
.b2-scene.b2-visible .b2-circle-fx--d { animation-delay: 3.0s; }

/* Mobile vertical lines: hidden on desktop */
.b2-v-lines { display: none; }
.category-page .category-hero.banner-3 {
    background-image: url(img/banner-3.jpg);
    background-position: center;
}
.category-page .category-hero.banner-4 {
    background-image: url(img/banner-4_2.jpg?1);
    background-position: center;
}

/* Default: light theme, text left */
.category-page .category-hero .text {
    padding-right: 55%;
    text-align: left;
    color: #2b2b2b;
}

/* Modifier: text right */
.category-page .category-hero.text-right .text {
    padding-right: 0;
    padding-left: 57%;
}

.category-page .category-hero.banner-2.text-right .text {
    padding-bottom: 6%;
}

/* Modifier: dark bg/mode */
.category-page .category-hero.dark .text {
    color: #fff;
}

.category-page .category-hero .text h1,
.category-page .category-hero .text h2 {
    padding-bottom: 0.3em;
    font-size: 3em;
}

/* banner-1 header */

.category-page .category-hero.banner-1 .text h1 {
    font-size: 3.75em;
}

.category-page .category-hero.banner-1 .text p {
    font-size: 1.8em;
}

.category-page .category-hero .text p {
    font-size: 1.25em;
    font-weight: 300;
    line-height: 1.5;
}

.category-page .category-hero .text p .note {
    font-size: 0.75em;
    line-height: 3.5;
}

.category-page .category-hero.dark .text p {
    color: rgba(255, 255, 255, 0.64);
}

/* Benefits strip */
.category-page .category-benefits {
    background: #f9f9f9;
    padding: 2em 0 5em;
}

.category-page .category-benefits .benefits-layout {
    display: flex;
    gap: 1.5em;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

.category-page .category-benefits .benefits-taglines {
    flex-shrink: 0;
}

.category-page .category-benefits .benefits-eyebrow {
    font-size: 1.5em;
    font-weight: 300;
    color: #2b2b2b;
    margin: 0 0 .25em;
}

.category-page .category-benefits .benefits-heading {
    font-size: 3em;
    font-weight: 300;
    line-height: 1.4;
    color: #2b2b2b;
    margin: 0;
}

.category-page .category-benefits .benefits-list {
    flex: 1;
    display: flex;
    gap: 2.5em;
    justify-content: space-between;
    width: 100%;
}
.category-page .category-benefits .benefit-item {
    display: flex;
    flex-direction: column;
    /* align-items: flex-start; */
    align-items: center;
    /* text-align: left; */
    gap: 1em;
    width: 100%;
}
.category-page .benefit-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 128, 85, 0.10);
    border-radius: 50%;
    padding: 0.875em;
}

.category-page .benefit-icon-wrap-2 {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.category-page .benefit-icon {
    width: 2.25em;
    height: 2.25em;
    display: block;
}

.category-page .benefit-icon-wrap-2 .benefit-icon {
    width: 2.5em;
    height: 2.5em;
    display: block;
}

.category-page .category-benefits .benefit-item p {
    font-weight: 400;
    line-height: 1.5;
    color: #2b2b2b;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25em;
}
.category-page .category-benefits .benefit-item p strong {
    font-size: 1.38em;
    font-weight: 500;
}
.category-page .category-benefits .benefit-item p span {
    font-size: 1.25em;
    font-weight: 300;
    color: rgba(0, 0, 0, 0.64);
}

@media (max-width: 736px) {
    .category-page .category-benefits {
        padding: 0 5vw 12vw;
    }
    .category-page .category-benefits .omada-container {
        width: auto;
    }
    .category-page .category-benefits .benefits-layout {
        flex-direction: column;
        gap: 4vw;
    }
    .category-page .category-benefits .benefits-taglines {
        width: 100%;
    }
    .category-page .category-benefits .benefits-eyebrow {
        font-size: 4.33vw;
    }
    .category-page .category-benefits .benefits-heading {
        font-size: 7.33vw;
    }
    .category-page .category-benefits .benefits-list {
        width: 100%;
        gap: 4vw;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .category-page .category-benefits .benefit-item {
        gap: 2.5vw;
    }
    .category-page .benefit-icon-wrap {
        padding: 2vw;
    }
    
    .category-page .benefit-icon {
        width: 6vw;
        height: 6vw;
    }

    .category-page .benefit-icon-wrap-2 .benefit-icon {
        width: 6.5vw;
        height: 6.5vw;
    }
    .category-page .category-benefits .benefit-item p {
        font-size: 3vw;
    }
    .category-page .category-benefits .benefit-item p strong {
        font-size: 3.67vw;
    }
    .category-page .category-benefits .benefit-item p span {
        font-size: 3.2vw;
    }
}

/* Touchscreen section */
.category-page .touchscreen-section {
    background: #1D1D1D;
    padding: 5em 0 9em;
    text-align: center;
}
.category-page .touchscreen-section .omada-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7em;
}
.category-page .touchscreen-section .touchscreen-text {
    max-width: 40em;
}
.category-page .touchscreen-section .touchscreen-text h2 {
    color: #fff;
    font-size: 3em;
    padding-bottom: 0.4em;
    line-height: 1.25;
}
.category-page .touchscreen-section .touchscreen-text p {
    color: rgba(255, 255, 255, 0.64);
    font-size: 1.25em;
    line-height: 1.6;
}
.category-page .touchscreen-section .touchscreen-visual {
    width: 100%;
    max-width: 72em;
}
.category-page .touchscreen-section .device-wrap {
    position: relative;
}
.category-page .touchscreen-section .device-img {
    width: 100%;
    display: block;
    user-drag: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
}

/* Screen wheel */
.category-page .touchscreen-section .screen-wheel:hover {
    cursor: none;
}

#touchscreen-cursor {
    position: fixed;
    width: 32px;
    height: 32px;
    pointer-events: none;
    z-index: 9999;
    background: url('img/touchscreen-cursor.svg?1') no-repeat center / contain;
    transform: translate(-16px, -16px);
    opacity: 0;
    transition: opacity 0.2s ease;
}
.category-page .touchscreen-section .screen-wheel {
    position: absolute;
    left: 50%;
    width: 36%;
    top: 50%;
    transform: translate(-50%, -50%);
    overflow: hidden;
}
.category-page .touchscreen-section .screen-wheel .swiper-slide {
    display: flex;
    align-items: center;
    border-radius: 0.5em;
    transition: background 700ms ease, box-shadow 700ms ease, filter 700ms ease;
}
.category-page .touchscreen-section .screen-wheel .swiper-slide-active,
.category-page .touchscreen-section .screen-wheel .swiper-slide-duplicate-active {
    background: #181919;
    box-shadow: 
    inset 0 0 0 0.03em rgba(129, 129, 129, 0.026), 
    inset 0 0.03em 0 rgba(129, 129, 129, 0.22);
    filter: saturate(100%);
}
.category-page .touchscreen-section .screen-wheel .swiper-slide-prev,
.category-page .touchscreen-section .screen-wheel .swiper-slide-next,
.category-page .touchscreen-section .screen-wheel .swiper-slide-duplicate-prev,
.category-page .touchscreen-section .screen-wheel .swiper-slide-duplicate-next {
    background: rgba(58, 59, 59, 0.5);
    box-shadow: 
        inset 0 0 0 0.03em rgba(255, 255, 255, 0.026), 
        inset 0 0.03em 0 rgba(255, 255, 255, 0.22);
    filter: saturate(50%);
    backdrop-filter: blur(10px);
}

.category-page .touchscreen-section .screen-wheel .swiper-slide img {
    width: 100%;
    display: block;
    border-radius: 0.5em;
    opacity: 0.45;
    transition: opacity 700ms ease;
    user-drag: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
}
.category-page .touchscreen-section .screen-wheel .swiper-slide-active img,
.category-page .touchscreen-section .screen-wheel .swiper-slide-duplicate-active img {
    opacity: 1;
}

@media(max-width: 736px) {
    .category-page .category-hero {
        height: 144vw;
        background-size: 100%;
        display: block;
    }

    .category-page .category-hero.banner-1 { background-image: url(m/banner-1_2.jpg); height: 158vw; background-color: #F9F9F9; background-position: bottom; }
    .category-page .category-hero.banner-2 { background-image: url(m/banner-2_2.jpg?1); background-color: #F1F1F1; background-position: bottom; height: auto; aspect-ratio: 100 / 144; }

    /* Banner-2 mobile overlay */
    .b2-scene {
        width: 100%;
        left: 0;
        transform: none;
    }

    /* Lines */
    .b2-group--a { top: 42.36%; left:  5.6%; }
    .b2-group--b { top: 42.36%; left: 29.2%; }
    .b2-group--c { top: 42.36%; left: 52.8%; }
    .b2-group--d { top: 42.36%; left: 76.4%; }

    .b2-circle { width: 18%; aspect-ratio: 1 / 1; height: auto; }

    .b2-circle-fx { width: 18%; aspect-ratio: 1 / 1; height: auto; }
    .b2-circle-fx--a { top: 42.36%; left:  5.6%; --tx:  35.4vw; --ty: 35vw; }
    .b2-circle-fx--b { top: 42.36%; left: 29.2%; --tx:  11.8vw; --ty: 35vw; }
    .b2-circle-fx--c { top: 42.36%; left: 52.8%; --tx: -11.8vw; --ty: 35vw; }
    .b2-circle-fx--d { top: 42.36%; left: 76.4%; --tx: -35.4vw; --ty: 35vw; }

    .b2-h-line { display: none; }

    .b2-v-lines {
        display: block;
        position: absolute;
        inset: 0;
        pointer-events: none;
    }
    .b2-v-line { position: absolute; }
    .b2-v-line--1,
    .b2-v-line--4  { top: 54.17%; height: 13.61%; }
    .b2-v-line--2a,
    .b2-v-line--2b { top: 54.17%; height: 5.97%; }
    .b2-v-line--1  { left: 14.8%; width: 4%; }
    .b2-v-line--2a { left: 38.3%; width: 0.3%; }
    .b2-v-line--2b { left: 62%; width: 0.3%; }
    .b2-v-line--4  { left: 81.7%; width: 4%; }

    .b2-line-svg { width: 100%; height: 100%; display: block; overflow: visible; }

    .category-page .category-hero.banner-3 { background-image: url(m/banner-3_2.jpg); background-color: #1D1D1D; background-position: bottom; }
    .category-page .category-hero.banner-4 { background-image: url(m/banner-4_2.jpg?1); background-color: #D9D9D9; background-position: bottom; }

    .category-page .category-hero .text {
        padding: 32vw 5vw 0;
        text-align: center;
    }

    .category-page .category-hero.text-right .text,
    .category-page .category-hero.dark .text {
        padding: 10vw 5vw 0;
    }

    .category-page .category-hero .text h1,
    .category-page .category-hero .text h2 {
        font-size: 7.33vw;
        padding-bottom: 3vw;
    }

    .category-page .category-hero.banner-1 .text h1 {
        font-size: 8.33vw;
    }

    .category-page .touchscreen-section .touchscreen-text h2 {
        font-size: 7vw;
    }

    .category-page .category-hero .text p,
    .category-page .touchscreen-section .touchscreen-text p {
        font-size: 3.67vw;
    }

    .category-page .category-hero.dark .text p {
        color: rgba(255, 255, 255, 0.84);
        line-height: 1.5;
    }

    .category-page .category-hero.dark .text h2 {
        letter-spacing: initial;
    }

    .category-page .category-hero.banner-1 .text p {
        font-size: 4.33vw;
    }

    .category-page .touchscreen-section {
        padding: 0;
    }

    .category-page .touchscreen-section .omada-container {
        gap: 0;
    }

    .category-page .touchscreen-section .touchscreen-text {
        max-width: 100%;
        padding: 10vw 5vw 0;
    }

    .category-page .touchscreen-section .touchscreen-visual {
        max-width: 100%;
        overflow-x: hidden;
    }
    .category-page .touchscreen-section .device-wrap {
        width: 200%;
        margin-left: -50%;
        margin-block: 20vw;
    }
}

.category-page .software-features-section {
    background: #ebebeb;
}

.category-page .software-features-section .text {
    padding: 7em 0 2.5em;
}

.category-page .software-features-section h2 {
    font-size: 3em;
    padding-bottom: 0.4em;
    line-height: 1.25;
}
.category-page .software-features-section .text p {
    font-size: 1.25em;
}

.category-page .software-features-cards {
    display: flex;
    gap: 1.25em;
    padding-bottom: 7em;
}
.category-page .software-card {
    flex: 1;
    min-width: 0;
    background: #2b2b2b;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.category-page .software-card.white {
    background: #fff;
}
.category-page .software-card-visual {
    width: 100%;
    aspect-ratio: 1 / 1;
    /* background: #2b2b2b; */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
#sd-wan-mesh-container::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 45%;
    background: linear-gradient(to bottom, transparent, #fff);
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
    z-index: 10;
}
#sd-wan-mesh-container.is-zoomed::after {
    opacity: 1;
}
.category-page .software-card-visual img {
    width: 80%;
    height: auto;
    object-fit: contain;
    display: block;
}
.category-page .software-card-visual svg {
    width: 100%;
    height: 100%;
    display: block;
    /* background: #fff; */
}

.category-page .software-card-label {
    text-align: center;
    font-size: 1.5em;
    font-weight: 500;
    color: #fff;
    /* padding-top: 1em; */
}

.category-page .software-card.white .software-card-label {
    color: #2b2b2b;
}
.category-page .qos-video-wrap {
    position: relative;
}
.category-page .qos-clip {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 75%;
    aspect-ratio: 4 / 3;
    border-radius: 0.8em;
    overflow: hidden;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.95);
    transition: opacity 1s ease, transform 0.6s ease;
    z-index: 1;
}
.category-page .qos-clip::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px #ECECEC, 0 0 0 1px #ECECEC;
    pointer-events: none;
    z-index: 3;
}
.category-page .qos-clip.is-active {
    opacity: 1;
    transform: translate(-50%, -50%) scale(0.99);
    z-index: 2;
}
.category-page .qos-clip.is-exiting {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.95);
    z-index: 2;
}

.category-page .qos-clip video {
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    margin: -1px;
    display: block;
    object-fit: cover;
}
.category-page .acl-video-wrap {
    position: relative;
}
.category-page .acl-clip {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 85%;
    aspect-ratio: 40 / 27;
    border-radius: 0.45em;
    overflow: hidden;
    transform: translate(-50%, -50%);
}
.category-page .acl-clip::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px #ECECEC, 0 0 0 1px #ECECEC;
    pointer-events: none;
    z-index: 3;
}
.category-page .acl-clip video {
    width: calc(100% + 2px);
    height: calc(100% + 2px);
    margin: -1px;
    display: block;
    object-fit: cover;
}
.category-page .software-card-desc {
    text-align: center;
    font-size: 1.15em;
    color: #c5c5c5;
    padding: 0.25em 1.5em 2em;
    line-height: 1.5;
}

.category-page .software-card.white .software-card-desc {
    color: #3d3d3d;
}
@media (max-width: 736px) {
    .category-page .software-features-section .text {
        padding: 10vw 5vw 6vw;
    }
    .category-page .software-features-section h2 {
        font-size: 7.33vw;
        text-align: center;
    }
    .category-page .software-features-section .text p {
        font-size: 3.67vw;
        text-align: center;
    }
    .category-page .software-features-cards {
        flex-direction: column;
        gap: 4vw;
        margin: 0 5vw;
        padding-bottom: 10vw;
    }
    .category-page .software-card-label {
        font-size: 4.33vw;
        /* padding-top: 3vw; */
    }
    .category-page .software-card-desc {
        font-size: 3.33vw;
        padding: 1vw 4vw 6vw;
    }

    .category-page .software-card-visual {
        aspect-ratio: 4 / 3;
    }
}

.category-page .category-scenarios {
    margin-bottom: 7em;
}

.category-page .category-scenarios .text {
    padding: 7em 0 2.5em;
}

.category-page .category-scenarios .text p {
    font-size: 1.25em;
}

.category-page .category-scenarios .page-section-header-underline {
    padding-bottom: 1.5em;
}

.category-page .category-scenarios .scenarios-list {
    display: flex;
    gap: 1.25em;
}

.category-page .category-scenarios .scenario-item {
    flex: 1;
    min-width: 0;
}

.category-page .category-scenarios .scenario-img {
    width: 100%;
    display: block;
    object-fit: cover;
}

.category-page .category-scenarios .scenario-label {
    text-align: center;
    font-size: 1.35em;
    font-weight: 400;
    padding-top: 1em;
}

@media(max-width: 736px) {
    .category-page .category-scenarios {
        margin-bottom: 10vw;
    }

    .category-page .category-scenarios .text {
        padding: 10vw 5vw 6vw;
    }

    .category-page .category-scenarios .text p {
        font-size: 3.33vw;
    }

    .category-page .category-scenarios .page-section-header-underline {
        padding-bottom: 4vw;
    }

    .category-page .category-scenarios .scenarios-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 6vw 3.33vw;
        margin: 0 5vw;
    }

    .category-page .category-scenarios .scenario-label {
        font-size: 3.5vw;
        padding-top: 3vw;
    }
}

/* Compare Table */
.category-page .category-compare {
    margin-bottom: 7em;
}

.category-page .category-compare .text {
    padding-bottom: 2.5em;
}

.category-page .category-compare .compare-table-wrap {
    position: relative;
}

.category-page .category-compare .compare-table-wrap.disable-col-3 .prod-col-3 {
    display: none;
}
.category-page .category-compare .compare-table-wrap.disable-col-3 .prod-col-1,
.category-page .category-compare .compare-table-wrap.disable-col-3 .prod-col-2 {
    width: 40%;
}

.category-page .category-compare .compare-table-wrap.disable-col-4 .prod-col-4 {
    display: none;
}
.category-page .category-compare .compare-table-wrap.disable-col-4 .prod-col-1,
.category-page .category-compare .compare-table-wrap.disable-col-4 .prod-col-2,
.category-page .category-compare .compare-table-wrap.disable-col-4 .prod-col-3 {
    width: 26.67%;
}

.category-page .category-compare .compare-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.category-page .category-compare .compare-table tr {
    border-bottom: 0.5px solid rgba(43, 43, 43, 0.15);
}

.category-page .category-compare .compare-table .label-col {
    width: 20%;
    padding: 2em 2em 2em 0;
    font-size: 1em;
    color: rgba(43, 43, 43, 0.6);
    font-weight: 400;
    vertical-align: middle;
    white-space: nowrap;
}

.category-page .category-compare .compare-table .prod-col {
    padding: 2em 1em;
    font-size: 1em;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
}

.category-page .category-compare .compare-table thead .label-col,
.category-page .category-compare .compare-table thead .prod-col {
    padding-top: 0;
    padding-bottom: 2.5em;
    vertical-align: bottom;
}

.category-page .category-compare .compare-table .prod-col a {
    font-size: inherit;
}

.category-page .category-compare .compare-prod-img {
    width: 10em;
    height: auto;
    display: block;
    margin: 0 auto 1em;
}

.category-page .category-compare .compare-badge {
    display: inline-block;
    font-size: 1em;
    font-weight: 600;
    padding: 0.35em 1em;
    /* border-radius: 0.25em; */
    line-height: 1.4;
    white-space: nowrap;
}

.category-page .category-compare .compare-badge.green {
    background-color: #ECF6F3;
    color: #0a5a5a;
}

.category-page .category-compare .compare-badge.yellow-green {
    background-color: #F3F7EA;
    color: #4C680E;
}


.category-page .category-compare .compare-badge.blue {
    background-color: #E5F0FA;
    color: #22639E;
}

.category-page .category-compare .compare-badge.purple {
    background-color: #F9F0F9;
    color: #622F66;
}

.category-page .category-compare .compare-label {
    font-weight: 500;
    font-size: 1.125em;
}

.category-page .category-compare .compare-prev,
.category-page .category-compare .compare-next {
    display: none;
}

@media(max-width: 736px) {
    .category-page .category-compare {
        padding: 5vw;
        margin-bottom: 10vw;
    }

    .category-page .category-compare .text {
        padding-bottom: 6vw;
    }

    .category-page .category-compare .compare-table thead,
    .category-page .category-compare .compare-table thead tr {
        display: block;
    }

    .category-page .category-compare .compare-table thead .label-col {
        display: none;
    }

    .category-page .category-compare .compare-table thead .prod-col {
        padding: 0 0 6vw;
        text-align: center;
    }

    .category-page .category-compare .compare-table tbody tr {
        display: flex;
    }

    .category-page .category-compare .compare-table tbody .label-col {
        width: 30%;
        flex-shrink: 0;
        white-space: normal;
        padding: 4vw 3vw 4vw 0;
        font-size: 3vw;
        vertical-align: top;
    }

    .category-page .category-compare .compare-table tbody .prod-col {
        flex: 1;
        font-size: 3vw;
        padding: 4vw 0 4vw 3vw;
        text-align: left;
    }

    .category-page .category-compare .compare-prod-img {
        width: 34vw;
        margin-bottom: 2vw;
    }

    .category-page .category-compare .compare-badge {
        font-size: 3vw;
        padding: 1.2vw 3vw;
    }

    .category-page .category-compare .compare-label {
        font-size: 3.67vw;
    }

    .category-page .category-compare .compare-table-wrap.disable-col-3 .prod-col-1,
    .category-page .category-compare .compare-table-wrap.disable-col-3 .prod-col-2 {
        width: 100%;
    }

    .category-page .category-compare .compare-table-wrap.disable-col-4 .prod-col-1,
    .category-page .category-compare .compare-table-wrap.disable-col-4 .prod-col-2,
    .category-page .category-compare .compare-table-wrap.disable-col-4 .prod-col-3 {
        width: 100%;
    }

    /* Show active product columns */
    .category-page .category-compare .compare-table-wrap[data-active="0"] thead .prod-col-1,
    .category-page .category-compare .compare-table-wrap[data-active="1"] thead .prod-col-2,
    .category-page .category-compare .compare-table-wrap[data-active="2"] thead .prod-col-3,
    .category-page .category-compare .compare-table-wrap[data-active="3"] thead .prod-col-4 {
        display: block;
    }

    /* Hide non-active product columns */
    .compare-table-wrap[data-active="0"] .prod-col-2,
    .compare-table-wrap[data-active="0"] .prod-col-3,
    .compare-table-wrap[data-active="0"] .prod-col-4,
    .compare-table-wrap[data-active="1"] .prod-col-1,
    .compare-table-wrap[data-active="1"] .prod-col-3,
    .compare-table-wrap[data-active="1"] .prod-col-4,
    .compare-table-wrap[data-active="2"] .prod-col-1,
    .compare-table-wrap[data-active="2"] .prod-col-2,
    .compare-table-wrap[data-active="2"] .prod-col-4,
    .compare-table-wrap[data-active="3"] .prod-col-1,
    .compare-table-wrap[data-active="3"] .prod-col-2,
    .compare-table-wrap[data-active="3"] .prod-col-3 {
        display: none;
    }

    .category-page .category-compare .compare-prev,
    .category-page .category-compare .compare-next {
        display: flex;
        align-items: center;
        position: absolute;
        top: 4vw;
        z-index: 10;
    }

    .category-page .category-compare .compare-prev {
        left: 0;
        padding-right: 3vw;
    }

    .category-page .category-compare .compare-next {
        right: 0;
        padding-left: 3vw;
        justify-content: flex-end;
    }

    .category-page .category-compare .compare-prev .arrow,
    .category-page .category-compare .compare-next .arrow {
        width: 8vw;
        height: auto;
    }

    .category-page .category-compare .compare-prev.disabled,
    .category-page .category-compare .compare-next.disabled {
        opacity: 0;
        pointer-events: none;
    }
}

.category-page .category-list {
    margin-bottom: 7em;
}

.category-page .category-list .text {
    padding: 7em 0 2.5em;
}

.category-page .category-list .text a {
    margin-top: 0em;
}

.category-page .category-list .prod-box {
    width: 100%;
    height: 22.625em;
    margin: 0 auto 1.5em;
    padding: 1em;
    box-sizing: border-box;
    background-color: #f7f7f7;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}

.category-page .category-list .prod-box .coming-soon-badge {
    position: absolute;
    top: 1em;
    left: 1em;
    background-color: #E6F0FA;
    color: #002A51;
    font-size: 0.875em;
    font-weight: 400;
    padding: 0.35em 0.75em;
    border-radius: 0.25em;
    line-height: 1.4;
    z-index: 1;
}

.category-page .category-list .link-img:hover {
    transform: scale(1.06);
}

.category-page .category-list .router-swiper {
    overflow: hidden;
}

.category-page .category-list .router-swiper .swiper-wrapper {
    display: flex;
}

.category-page .category-list .router-swiper .swiper-slide {
    height: auto;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.category-page .category-list .txt-content {
    flex-grow: 1;
}

.category-page .category-list .txt-content .h5 {
    font-weight: 400;
}

.category-page .category-list .button-prev {
    position: absolute;
    top: 25%;
    left: -5em;
    z-index: 10;
}

.category-page .category-list .button-next {
    position: absolute;
    top: 25%;
    right: -5em;
    z-index: 10;
}

.category-page .category-list .button-prev.swiper-button-disabled,
.category-page .category-list .button-next.swiper-button-disabled {
    opacity: 0;
}

.category-page .category-list .router-swiper .swiper-pagination {
    position: relative;
    margin-top: 3.75em;
}

.category-page .category-list .router-swiper .swiper-pagination .swiper-pagination-bullet {
    width: 0.75em;
    height: 0.75em;
    margin: 0 0.75em;
    background: #2b2b2b;
    opacity: 0.1;
    /* border: 0.5px solid #2b2b2b; */
}

.category-page .category-list .router-swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    width: 0.75em;
    height: 0.75em;
    background: url(./img/icon-page-point.svg) center / 99% no-repeat;
    border: none;
    opacity: 1;
}

.category-page .category-list .txt-content {
    flex-grow: 1;
}

@media(max-width: 736px) {
    .category-page .category-list {
        margin-bottom: 10vw;
        overflow-x: hidden;
    }

    .category-page .category-list .text {
        padding: 10vw 5vw 6vw;
    }

    .category-page .category-list .page-section-header-underline {
        padding-bottom: 2.5vw;
    }

    .category-page .category-list .prod-box {
        height: 43.2vw;
        margin: 0 auto 3.5vw;
        padding: 4vw;
    }

    .category-page .category-list .prod-box .coming-soon-badge {
        top: 2vw;
        left: 2vw;
        font-size: 2.33vw;
        padding: 1vw 2vw;
        border-radius: 0.5vw;
    }

    .category-page .category-list .router-swiper {
        margin-left: 5vw;
        overflow: hidden;
    }

    .category-page .category-list .router-swiper.margin {
        margin-right: 5vw;
    }

    .category-page .category-list .button-prev,
    .category-page .category-list .button-next {
        display: none;
    }

    .category-page .category-list .router-swiper .swiper-slide {
        width: 43vw;
    }

    .category-page .category-list .router-swiper .swiper-pagination {
        position: relative;
        margin-top: 10vw;
    }

    .category-page .category-list .router-swiper .swiper-pagination .swiper-pagination-bullet {
        width: 2vw;
        height: 2vw;
        margin: 0 1vw;
        background: #2b2b2b;
        /* border: 0.5px solid #2b2b2b; */
    }

    .category-page .category-list .router-swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
        width: 2vw;
        height: 2vw;
        background: url(./img/icon-page-point.svg) center / 100% no-repeat;
        border: none;
    }
}

/* Disabled product */
.category-page .category-list .swiper-slide.slide-disabled .txt-footer {
    visibility: hidden;
}

.category-page .category-list .swiper-slide.slide-disabled .link-img {
    pointer-events: none;
    cursor: default;
}

.category-page .category-list .swiper-slide.slide-disabled .link-img:hover {
    transform: none;
}

.category-page .category-faq {
    padding-bottom: 7em;
}

.category-page .category-faq .text {
    padding: 0 0 2.5em;
}

.category-page .category-faq .h6 {
    padding: 0em;
    color: #000000;
}

.category-page .category-faq p {
    color: #2b2b2b;
}

.category-page .category-faq p.note {
    padding-top: 1em;
    color: rgba(43, 43, 43, 0.7);
}

.category-page .category-faq .link-item-list {
    background-color: #f7f7f7;
}

@media(max-width: 736px) {
    .category-page .category-faq {
        padding-bottom: 15vw;
    }

    .category-page .category-faq .text {
        padding: 0 5vw 4vw;
    }

    .category-page .category-faq p.note {
        padding: 4vw 5vw 0;
    }

    .category-page .category-faq .link-item-list {
        margin: 0 5vw;
    }
}