.nav-wrapper,
.nav-wrapper.fixed {
    position: relative;
    margin-top: 0;
    border-top: 1px solid rgba(255, 255, 255, .05);
    border-bottom: 1px solid rgba(114, 105, 255, .32);
    background:
        radial-gradient(circle at 78% 0, rgba(112, 91, 255, .22), transparent 28%),
        linear-gradient(90deg, #030417, #090b2c 55%, #15103a) !important;
    box-shadow: 0 10px 30px rgba(2, 3, 22, .24);
}

.nav-wrapper::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 1px;
    opacity: .85;
    background: linear-gradient(90deg, transparent 4%, #42e59a 24%, #766cff 54%, #ef3043 82%, transparent 96%);
    content: "";
    pointer-events: none;
}

.nav-wrapper.fixed {
    position: fixed;
    z-index: 999;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    animation: header-slide-down .42s cubic-bezier(.2, .75, .25, 1) both;
    box-shadow: 0 15px 38px rgba(2, 3, 22, .35);
}

.nav-wrapper .navbar {
    min-height: 57px;
    padding-top: 0;
    padding-bottom: 0;
}

.nav-wrapper .navbar-collapse { justify-content: center; }

.nav-wrapper .navbar-nav {
    align-items: center;
    gap: 3px;
}

.nav-wrapper .navbar-dark .navbar-nav .nav-link {
    position: relative;
    display: flex;
    min-height: 41px;
    align-items: center;
    padding: 10px 12px;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 9px;
    color: rgba(232, 238, 252, .78);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .2px;
    line-height: 1.25;
    text-transform: uppercase;
    transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.nav-wrapper .navbar-dark .navbar-nav .nav-link::before {
    position: absolute;
    right: 12px;
    bottom: 4px;
    left: 12px;
    height: 2px;
    border-radius: 4px;
    background: linear-gradient(90deg, #4ce9a1, #7f75ff, #ff5f71);
    content: "";
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .28s cubic-bezier(.2, .75, .25, 1);
}

.nav-wrapper .navbar-dark .navbar-nav .nav-link:hover,
.nav-wrapper .navbar-dark .navbar-nav .nav-link:focus,
.nav-wrapper .navbar-dark .navbar-nav .nav-link[aria-expanded="true"] {
    border-color: rgba(132, 124, 255, .18);
    color: #fff;
    background: linear-gradient(135deg, rgba(119, 108, 255, .16), rgba(255, 255, 255, .045));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
    transform: translateY(-1px);
}

.nav-wrapper .navbar-dark .navbar-nav .nav-link:hover::before,
.nav-wrapper .navbar-dark .navbar-nav .nav-link:focus::before,
.nav-wrapper .navbar-dark .navbar-nav .nav-link[aria-expanded="true"]::before,
.nav-wrapper .navbar-nav > .nav-item.active > .nav-link::before { transform: scaleX(1); }

.nav-wrapper .navbar-nav > .nav-item.active > .nav-link {
    border-color: rgba(71, 230, 155, .26);
    color: #fff;
    background: linear-gradient(135deg, rgba(54, 218, 141, .14), rgba(113, 103, 255, .1));
    box-shadow: 0 8px 20px rgba(0, 0, 16, .17), inset 0 1px 0 rgba(255, 255, 255, .06);
}

.nav-wrapper .navbar-nav > .nav-item:last-child > .nav-link {
    min-height: 39px;
    margin-left: 5px;
    padding-right: 17px;
    padding-left: 17px;
    border-color: rgba(255, 89, 107, .48);
    color: #fff;
    background: linear-gradient(135deg, #ef3043, #b80a2c);
    box-shadow: 0 9px 20px rgba(201, 11, 43, .28), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.nav-wrapper .navbar-nav > .nav-item:last-child > .nav-link::before { display: none; }
.nav-wrapper .navbar-nav > .nav-item:last-child > .nav-link:hover { background: linear-gradient(135deg, #ff4053, #c5082d); box-shadow: 0 12px 25px rgba(201, 11, 43, .4); }

.nav-wrapper .dropdown-toggle::after {
    margin-left: 6px;
    vertical-align: 2px;
    transition: transform .25s ease;
}

.nav-wrapper .dropdown-toggle[aria-expanded="true"]::after { transform: rotate(180deg); }

.nav-wrapper .dropdown-menu {
    top: calc(100% + 2px);
    margin-top: 0;
    padding: 8px;
    overflow: hidden;
    border: 1px solid rgba(125, 143, 202, .2);
    border-radius: 13px;
    background:
        radial-gradient(circle at 100% 0, rgba(119, 108, 255, .15), transparent 35%),
        linear-gradient(145deg, rgba(12, 15, 48, .99), rgba(5, 7, 28, .99));
    box-shadow: 0 22px 50px rgba(1, 2, 17, .42), inset 0 1px 0 rgba(255, 255, 255, .06);
    backdrop-filter: blur(16px);
}

@media (min-width: 992px) {
    .nav-wrapper .navbar-nav > .dropdown > .dropdown-menu {
        top: calc(100% + 2px) !important;
        margin-top: 0 !important;
    }


    .nav-wrapper .navbar-nav > .dropdown:not(.mega-parent) > .dropdown-menu {
        top: calc(100% + 9px) !important;
    }
}

.nav-wrapper .dropdown-menu.show { animation: nav-dropdown-in .3s cubic-bezier(.2, .75, .25, 1) both; }

.nav-wrapper .navbar .dropdown-menu .dropdown-item,
.nav-wrapper .mega-drop-down-wrap > li > ul > li > a {
    position: relative;
    border: 0;
    border-radius: 7px;
    color: #24415e;
    background: transparent;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
    transition: color .2s ease, background .2s ease, padding-left .2s ease;
}

.nav-wrapper .navbar .dropdown-menu .dropdown-item { padding: 9px 12px 9px 28px; }
.nav-wrapper .mega-drop-down-wrap > li > ul > li > a { margin: 0; padding: 6px 8px 6px 27px; line-height: 1.3; }

.nav-wrapper .navbar .dropdown-menu .dropdown-item::before,
.nav-wrapper .mega-drop-down-wrap > li > ul > li > a::before {
    left: 10px;
    top: 50%;
    color: #4ae69e;
    font-size: 9px;
    transform: translateY(-50%);
}

.nav-wrapper .mega-drop-down-wrap > li > ul > li > a::before { left: 9px; color: #2688c7; }

.nav-wrapper .mega-drop-down-wrap > li > ul > li > a::before {
    top: 50%;
    transform: translateY(-50%);
}

.nav-wrapper .navbar .dropdown-menu .dropdown-item:hover,
.nav-wrapper .navbar .dropdown-menu .dropdown-item:focus,
.nav-wrapper .mega-drop-down-wrap > li > ul > li > a:hover,
.nav-wrapper .mega-drop-down-wrap > li > ul > li > a:focus {
    color: #0b5e9a !important;
    background: #eef7fd;
}

.nav-wrapper .navbar .dropdown-menu .dropdown-item:hover { padding-left: 32px; }
.nav-wrapper .mega-drop-down-wrap > li > ul > li > a:hover { padding-left: 30px; }
.nav-wrapper .mega-drop-down-wrap > li > ul > li > a:hover::before { transform: translate(3px, -50%); }

.nav-wrapper .dropdown-menu.mega-drop-down-wrap {
    top: calc(100% + 2px);
    width: min(1080px, calc(100vw - 48px));
    min-width: 0;
    max-width: none;
    max-height: min(430px, calc(100vh - 235px));
    padding: 12px 11px 9px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid rgba(20, 67, 111, .12);
    border-radius: 18px;
    background: rgba(255, 255, 255, .985);
    box-shadow: 0 20px 45px rgba(6, 34, 64, .18);
    backdrop-filter: none;
}

.nav-wrapper .mega-drop-down-wrap > li + li { border-left: 1px solid #e7eef5; }
.nav-wrapper .mega-drop-down-wrap > li { padding-right: 9px; padding-left: 9px; }
.nav-wrapper .mega-drop-down-wrap > li > ul { margin-bottom: 6px; }
.nav-wrapper .mega-drop-down-wrap > li > ul:last-child { margin-bottom: 0; }
.nav-wrapper .mega-drop-down-wrap > li > ul > li { margin-bottom: 0; }
.nav-wrapper .mega-drop-down-wrap .sp-head {
    margin: 3px 0 6px;
    padding: 6px 8px;
    border: 0;
    border-left: 3px solid #e3111a;
    border-radius: 4px 8px 8px 4px;
    background: linear-gradient(90deg, #f3f8fd, transparent);
}
.nav-wrapper .mega-drop-down-wrap .sp-head,
.nav-wrapper .mega-drop-down-wrap .sp-head b,
.nav-wrapper .mega-drop-down-wrap .sp-head a {
    color: #0c3158;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .35px;
}

.nav-wrapper .dropdown-menu::before {
    border-bottom-color: #101233;
    filter: drop-shadow(0 -1px 0 rgba(129, 145, 204, .24));
}

@media (min-width: 992px) {
    .top-header {
        background: linear-gradient(90deg, #b4082b, #e3112d 52%, #8d1040);
        box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .11);
    }

    .top-header a { transition: opacity .2s ease, transform .2s ease; }
    .top-header a:hover { color: #fff; opacity: .86; transform: translateY(-1px); }

    .middle-header {
        background: linear-gradient(90deg, #fff, #fbfbff 62%, #fff7f8);
        box-shadow: inset 0 -1px 0 rgba(8, 13, 45, .05);
    }

    .middle-right li a {
        min-height: 44px;
        padding: 8px 13px 8px 50px;
        border: 1px solid rgba(18, 45, 91, .08);
        border-radius: 12px;
        background: rgba(255, 255, 255, .72);
        box-shadow: 0 7px 20px rgba(10, 22, 61, .055);
        transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
    }

    .middle-right li a:hover { border-color: rgba(119, 108, 255, .2); box-shadow: 0 10px 24px rgba(10, 22, 61, .1); transform: translateY(-2px); }
    .middle-right li a > i { left: 6px; border-radius: 10px; background: linear-gradient(145deg, #fff, #f1f3ff); }
    .middle-right .web-what a > i { background: linear-gradient(145deg, #e8fff4, #fff); }
    .srdv-logo img { transition: transform .35s ease, filter .35s ease; }
    .srdv-logo a:hover img { filter: drop-shadow(0 7px 10px rgba(18, 44, 88, .12)); transform: translateY(-2px) scale(1.015); }
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .nav-wrapper .navbar-dark .navbar-nav .nav-link { padding-right: 7px; padding-left: 7px; font-size: 9px; }
    .nav-wrapper .navbar-nav { gap: 1px; }
}

@media (max-width: 991.98px) {
    .nav-wrapper .navbar { min-height: 52px; }
    .nav-wrapper .navbar-collapse {
        width: min(88vw, 390px);
        border-right: 1px solid rgba(128, 120, 255, .28);
        background:
            radial-gradient(circle at 20% 4%, rgba(66, 229, 154, .12), transparent 24%),
            radial-gradient(circle at 90% 70%, rgba(239, 48, 67, .13), transparent 27%),
            linear-gradient(155deg, #07091f, #0b0d30 62%, #161034);
        box-shadow: 22px 0 55px rgba(0, 0, 15, .42);
    }

    .nav-wrapper .navbar-nav { display: block; height: 100vh; padding: 71px 18px 34px; overflow-y: auto; }
    .nav-wrapper .navbar-nav:hover { max-height: none; overflow-y: auto; }
    .nav-wrapper .navbar-nav li:not(:last-child) { border-bottom: 1px solid rgba(144, 160, 210, .09); }
    .nav-wrapper .navbar-dark .navbar-nav .nav-link { min-height: 46px; padding: 12px 10px; border-radius: 8px; font-size: 11px; }
    .nav-wrapper .navbar-dark .navbar-nav .nav-link::before { right: 10px; bottom: 2px; left: 10px; transform-origin: left; }
    .nav-wrapper .navbar-nav > .nav-item:last-child > .nav-link { justify-content: center; margin: 13px 0 0; }

    .nav-wrapper .navbar-toggler {
        top: 7px;
        right: 10px;
        width: 39px;
        height: 37px;
        padding: 7px;
        border: 1px solid rgba(137, 128, 255, .38);
        border-radius: 9px;
        background: linear-gradient(145deg, rgba(119, 108, 255, .22), rgba(239, 48, 67, .13));
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
    }

    .navbar-dark .navbar-toggler[aria-expanded="true"] {
        top: 13px;
        right: 13px;
        width: 39px;
        height: 39px;
        padding: 8px;
        border: 1px solid rgba(255, 103, 120, .48);
        border-radius: 10px;
        background: linear-gradient(145deg, #ef3043, #aa0827);
        box-shadow: 0 10px 25px rgba(195, 10, 41, .3);
    }

    .nav-wrapper .dropdown-menu {
        margin: 2px 0 8px;
        padding: 5px;
        border: 1px solid rgba(137, 152, 204, .12);
        border-radius: 9px;
        background: rgba(255, 255, 255, .035);
        box-shadow: none;
        backdrop-filter: none;
    }

    .nav-wrapper .dropdown-menu.mega-drop-down-wrap { min-width: 100%; max-width: 100%; padding: 9px 8px; }
    .nav-wrapper .mega-drop-down-wrap > li { padding: 0 7px; }
    .nav-wrapper .mega-drop-down-wrap > li + li { border-left: 0; }
    .nav-wrapper .mega-drop-down-wrap .sp-head { margin-top: 10px; }
}

@keyframes header-slide-down {
    from { top: -16px; opacity: 0; }
    to { top: 0; opacity: 1; }
}

@keyframes nav-dropdown-in {
    from { opacity: 0; transform: translate3d(0, 9px, 0) scale(.985); }
    to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

.tp-power-features {
    position: relative;
    overflow: hidden;
    padding: 18px 0 24px;
    background:
        radial-gradient(circle at 12% 18%, rgba(111, 101, 255, .12), transparent 26%),
        radial-gradient(circle at 88% 72%, rgba(255, 88, 107, .1), transparent 25%),
        linear-gradient(110deg, #f7f6ff 0%, #fff 48%, #f8f7ff 100%);
    color: #071632;
}

/* Dark travel solutions ecosystem — intentionally distinct from feature cards below. */
.travel-portal.travel-portal-modern {
    position: relative;
    padding: 66px 0 58px;
    overflow: hidden;
    color: #fff;
    background:
        linear-gradient(120deg, rgba(42, 48, 146, .22), transparent 42%),
        radial-gradient(circle at 82% 25%, rgba(104, 88, 255, .2), transparent 29%),
        #030419;
}

.travel-portal-modern::after {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 38px 38px;
    content: "";
    pointer-events: none;
}

.travel-portal-modern > .container { position: relative; z-index: 2; }

.travel-portal-modern__orb {
    position: absolute;
    z-index: 1;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 50%;
    pointer-events: none;
}

.travel-portal-modern__orb--one { width: 330px; height: 330px; top: -190px; left: -90px; box-shadow: inset 0 0 70px rgba(26, 100, 245, .12); }
.travel-portal-modern__orb--two { width: 210px; height: 210px; right: -75px; bottom: -115px; border-width: 32px; border-color: rgba(227, 17, 37, .08); }

.travel-portal-modern__signal {
    position: absolute;
    z-index: 1;
    top: 92px;
    right: 5%;
    width: 270px;
    height: 170px;
    opacity: .5;
    border-top: 1px solid rgba(105, 96, 255, .4);
    border-right: 1px solid rgba(105, 96, 255, .4);
    border-radius: 0 70px 0 0;
    pointer-events: none;
}

.travel-portal-modern__signal::before,
.travel-portal-modern__signal::after {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(78, 232, 155, .55), rgba(109, 97, 255, .35));
    content: "";
    transform-origin: right center;
}

.travel-portal-modern__signal::before { width: 210px; top: 54px; right: 0; transform: rotate(22deg); }
.travel-portal-modern__signal::after { width: 165px; top: 116px; right: 22px; transform: rotate(-18deg); }

.travel-portal-modern__signal span {
    position: absolute;
    width: 8px;
    height: 8px;
    border: 2px solid rgba(3, 4, 25, .8);
    border-radius: 50%;
    background: #45ef9b;
    box-shadow: 0 0 0 5px rgba(69, 239, 155, .08), 0 0 18px #45ef9b;
    animation: srdv-signal-pulse 2.4s ease-in-out infinite;
}

.travel-portal-modern__signal span:nth-child(1) { top: -4px; left: -4px; }
.travel-portal-modern__signal span:nth-child(2) { top: 49px; right: -4px; animation-delay: .7s; }
.travel-portal-modern__signal span:nth-child(3) { right: 18px; bottom: 45px; animation-delay: 1.35s; }

.travel-portal-modern__heading {
    max-width: 830px;
    margin: 0 auto 35px;
    text-align: center;
}

.travel-portal-modern__badge {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 8px;
    padding: 6px 15px;
    border: 1px solid rgba(112, 164, 255, .3);
    border-radius: 30px;
    color: #59f0a6;
    background: rgba(44, 221, 137, .08);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.travel-portal-modern__badge i { color: #59f0a6; font-size: 15px; }

.travel-portal-modern__heading h2 {
    margin: 14px 0 11px;
    color: #fff;
    font-size: clamp(31px, 3.2vw, 45px);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -1.2px;
}

.travel-portal-modern__heading h2 span {
    color: #69a0ff;
    background: linear-gradient(90deg, #736cff, #fff 52%, #ff596d);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.travel-portal-modern__heading p {
    max-width: 700px;
    margin: 0 auto;
    color: rgba(224, 234, 251, .68);
    font-size: 14px;
    line-height: 1.7;
}

.travel-portal-modern__grid { margin-right: -8px; margin-left: -8px; counter-reset: portal-solution; }
.travel-portal-modern__grid > [class*="col-"] { padding-right: 8px; padding-left: 8px; counter-increment: portal-solution; }

.travel-portal-modern__grid > [class*="col-"] > a {
    position: relative;
    display: block;
    height: calc(100% - 14px);
    margin-bottom: 14px;
    color: #fff;
}

.travel-portal-modern .srdv-serv-col {
    position: relative;
    display: flex;
    height: 100%;
    min-height: 112px;
    align-items: center;
    margin: 0;
    padding: 18px 38px 18px 72px;
    overflow: hidden;
    border: 1px solid rgba(144, 177, 230, .14);
    border-radius: 4px;
    background: linear-gradient(100deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .025));
    transition: border-color .25s ease, background .25s ease, transform .25s ease;
}

.travel-portal-modern .srdv-serv-col::after {
    position: absolute;
    right: 13px;
    top: 13px;
    color: rgba(255, 255, 255, .2);
    content: counter(portal-solution, decimal-leading-zero);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
}

.travel-portal-modern__grid > [class*="col-"]:nth-child(3n+1) .srdv-serv-col { border-left: 3px solid #42e897; }
.travel-portal-modern__grid > [class*="col-"]:nth-child(3n+2) .srdv-serv-col { border-left: 3px solid #776cff; }
.travel-portal-modern__grid > [class*="col-"]:nth-child(3n) .srdv-serv-col { border-left: 3px solid #ee3042; }

.travel-portal-modern .srdv-serv-icon {
    left: 17px;
    top: 50%;
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(145deg, #25c97e, #08784a);
    box-shadow: 0 7px 16px rgba(0, 23, 65, .3), inset 0 1px 0 rgba(255, 255, 255, .18);
    font-size: 19px;
    transform: translateY(-50%);
}

.travel-portal-modern__grid > [class*="col-"]:nth-child(3n+2) .srdv-serv-icon { background: linear-gradient(145deg, #776cff, #4134b1); }
.travel-portal-modern__grid > [class*="col-"]:nth-child(3n) .srdv-serv-icon { background: linear-gradient(145deg, #ef3445, #a9081a); }

.travel-portal-modern .srdv-serv-txt h4 {
    margin: 0 0 5px;
    color: #fff;
    background: none;
    -webkit-text-fill-color: currentColor;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
}

.travel-portal-modern .srdv-serv-txt p {
    margin: 0;
    color: rgba(220, 231, 249, .62);
    font-size: 10.5px;
    line-height: 1.5;
}

.travel-portal-modern__grid > [class*="col-"] > a:hover .srdv-serv-col {
    z-index: 2;
    border-color: rgba(105, 160, 255, .55);
    background: linear-gradient(100deg, rgba(31, 104, 230, .24), rgba(255, 255, 255, .07));
    transform: translateY(-3px);
}

.travel-portal-modern .srdv-serv-col:hover .srdv-serv-icon { color: #fff; transform: translateY(-50%) scale(1.06); }
.travel-portal-modern .srdv-serv-col:hover .srdv-serv-txt h4 { color: #fff; background: none; -webkit-text-fill-color: currentColor; }

.portal-stack {
    --stack-accent: #43e49a;
    --stack-accent-rgb: 67, 228, 154;
    position: relative;
    height: calc(100% - 16px);
    margin-bottom: 16px;
    padding: 0 14px 13px;
    overflow: hidden;
    border: 1px solid rgba(142, 153, 208, .18);
    border-radius: 18px;
    background: linear-gradient(155deg, rgba(18, 21, 62, .96), rgba(6, 7, 30, .94));
    box-shadow: 0 20px 38px rgba(0, 0, 12, .24), inset 0 1px 0 rgba(255, 255, 255, .045);
    transition: border-color .28s ease, transform .28s ease, box-shadow .28s ease;
}

.portal-stack::before {
    position: absolute;
    top: 0;
    left: 20px;
    right: 20px;
    height: 2px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(90deg, transparent, var(--stack-accent), transparent);
    content: "";
}

.portal-stack::after {
    position: absolute;
    width: 100px;
    height: 100px;
    top: -58px;
    right: -38px;
    border-radius: 50%;
    background: rgba(var(--stack-accent-rgb), .12);
    filter: blur(3px);
    content: "";
    pointer-events: none;
}

.portal-stack--violet { --stack-accent: #8074ff; --stack-accent-rgb: 128, 116, 255; }
.portal-stack--blue { --stack-accent: #3f9cff; --stack-accent-rgb: 63, 156, 255; }
.portal-stack--red { --stack-accent: #f2384d; --stack-accent-rgb: 242, 56, 77; }

.portal-stack:hover {
    border-color: rgba(var(--stack-accent-rgb), .42);
    box-shadow: 0 24px 45px rgba(0, 0, 12, .32), 0 0 30px rgba(var(--stack-accent-rgb), .06);
    transform: translateY(-4px);
}

.portal-stack__head {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 96px;
    align-items: center;
    gap: 13px;
    padding: 17px 7px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
}

.portal-stack__head > span {
    display: inline-flex;
    width: 47px;
    height: 47px;
    flex: 0 0 47px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(var(--stack-accent-rgb), .35);
    border-radius: 14px;
    color: var(--stack-accent);
    background: rgba(var(--stack-accent-rgb), .1);
    box-shadow: inset 0 0 18px rgba(var(--stack-accent-rgb), .08), 0 8px 17px rgba(0, 0, 0, .18);
    font-size: 21px;
}

.portal-stack__head small,
.portal-stack__head h3 { display: block; }

.portal-stack__head small {
    margin-bottom: 3px;
    color: var(--stack-accent);
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.portal-stack__head h3 {
    margin: 0;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
}

.portal-stack__item {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 35px minmax(0, 1fr) 18px;
    min-height: 73px;
    align-items: center;
    gap: 10px;
    padding: 10px 5px;
    color: #fff;
    transition: background .22s ease, padding .22s ease;
}

.portal-stack__item + .portal-stack__item { border-top: 1px solid rgba(255, 255, 255, .065); }

.portal-stack__item > i:first-child {
    display: inline-flex;
    width: 35px;
    height: 35px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: var(--stack-accent);
    background: rgba(var(--stack-accent-rgb), .1);
    font-size: 16px;
    transition: color .22s ease, background .22s ease, transform .22s ease;
}

.portal-stack__item > span,
.portal-stack__item strong,
.portal-stack__item small { display: block; min-width: 0; }

.portal-stack__item strong {
    margin-bottom: 3px;
    color: #f7f8ff;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.3;
}

.portal-stack__item small {
    overflow: hidden;
    color: rgba(211, 217, 242, .53);
    font-size: 8.5px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.portal-stack__item > i:last-child {
    color: rgba(255, 255, 255, .24);
    font-size: 11px;
    transition: color .22s ease, transform .22s ease;
}

.portal-stack__item:hover {
    padding-right: 2px;
    padding-left: 8px;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(90deg, rgba(var(--stack-accent-rgb), .12), transparent);
}

.portal-stack__item:hover > i:first-child { color: #061022; background: var(--stack-accent); transform: scale(1.06); }
.portal-stack__item:hover > i:last-child { color: var(--stack-accent); transform: translateX(3px); }

.travel-portal-modern__cta { margin-top: 14px; text-align: center; }

.travel-portal-modern__cta a {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 10px 22px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    color: #fff;
    background: rgba(255, 255, 255, .07);
    font-size: 12px;
    font-weight: 600;
}

.travel-portal-modern__cta a:hover { border-color: #ef3042; color: #fff; background: #d90d22; transform: translateY(-2px); }

@keyframes srdv-signal-pulse {
    0%, 100% { opacity: .55; transform: scale(.8); }
    50% { opacity: 1; transform: scale(1.3); }
}

@media (max-width: 991.98px) {
    .travel-portal.travel-portal-modern { padding: 52px 0 48px; }
    .travel-portal-modern .srdv-serv-col { min-height: 105px; }
    .portal-stack { height: calc(100% - 18px); margin-bottom: 18px; }
}

@media (max-width: 575.98px) {
    .travel-portal.travel-portal-modern { padding: 40px 0 38px; }
    .travel-portal-modern__heading { margin-bottom: 25px; }
    .travel-portal-modern__heading h2 { font-size: 28px; }
    .travel-portal-modern__heading p { font-size: 12.5px; }
    .travel-portal-modern .srdv-serv-col { min-height: 98px; padding: 15px 34px 15px 68px; }
    .travel-portal-modern .srdv-serv-icon { left: 15px; width: 40px; height: 40px; }
    .portal-stack { padding-right: 12px; padding-left: 12px; border-radius: 15px; }
    .portal-stack__head { min-height: 84px; padding-top: 13px; padding-bottom: 12px; }
    .portal-stack__item { min-height: 67px; }
    .portal-stack__item strong { font-size: 12px; }
    .portal-stack__item small { font-size: 9px; }
    .travel-portal-modern__cta { margin-top: 9px; }
}

.tp-power-container {
    position: relative;
    z-index: 2;
    width: calc(100% - 72px);
    max-width: 1400px;
    margin: 0 auto;
}

.tp-power-heading { text-align: center; }

.tp-power-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 35px;
    padding: 5px 19px;
    border: 1px solid #eef2fa;
    border-radius: 30px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 8px 20px rgba(32, 87, 180, .06);
    color: #5c50d9;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.tp-power-badge i { font-size: 17px; }

.tp-power-heading h1,
.tp-power-heading h2 {
    margin: 13px 0 14px;
    color: #071632;
    font-size: clamp(34px, 3.65vw, 58px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -1.8px;
}

.tp-power-heading h1 span,
.tp-power-heading h2 span {
    color: #2464ef;
    background: linear-gradient(90deg, #5e55e7, #2975ff 55%, #e3263d);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.tp-power-heading p {
    margin: 0;
    color: #293957;
    font-size: 18px;
    line-height: 1.5;
}

.tp-power-highlight {
    display: inline-flex;
    max-width: 720px;
    align-items: center;
    gap: 9px;
    margin-top: 15px;
    padding: 9px 17px;
    border: 1px solid #d6091d;
    border-radius: 30px;
    color: #fff;
    background: linear-gradient(135deg, #b80518 0%, #ef1b2b 52%, #c4071b 100%);
    box-shadow: 0 9px 22px rgba(215, 10, 30, .28);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.tp-power-highlight i {
    flex: 0 0 auto;
    color: #fff2b7;
    font-size: 17px;
}

.tp-power-tabs {
    display: grid;
    grid-template-columns: repeat(4, 1fr) 1.25fr;
    width: min(820px, 100%);
    margin: 31px auto 44px;
    overflow: hidden;
    border: 1px solid #edf0f5;
    border-radius: 34px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 9px 22px rgba(16, 47, 105, .1);
}

.tp-power-tab {
    min-height: 57px;
    padding: 8px 16px;
    border: 0;
    border-right: 1px solid #e7ebf2;
    border-radius: 0;
    background: transparent;
    color: #071632;
    cursor: pointer;
    font-family: Poppins, sans-serif;
    font-size: 17px;
    font-weight: 600;
    white-space: nowrap;
    transition: color .25s ease, background .25s ease, box-shadow .25s ease;
}

.tp-power-tab:last-child { border-right: 0; }
.tp-power-tab i {
    margin-right: 10px;
    color: #0759db;
    font-size: 22px;
    vertical-align: -2px;
}

.tp-power-tab.active {
    border-radius: 32px;
    background: linear-gradient(135deg, #5148d8, #7067fa);
    box-shadow: 0 8px 18px rgba(82, 71, 216, .27);
    color: #fff;
}

.tp-power-tab.active i { color: #fff; }

.tp-power-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px 20px;
}

.tp-power-grid[hidden] {
    display: none;
}

.tp-power-card {
    position: relative;
    display: block;
    min-height: 260px;
    padding: 27px 38px 24px;
    border: 1px solid #e8edf6;
    border-radius: 17px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 13px 28px rgba(35, 76, 145, .09);
    color: #071632;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.tp-power-card:hover {
    transform: translateY(-5px);
    border-color: #cfcaff;
    box-shadow: 0 18px 34px rgba(77, 65, 180, .16);
    color: #071632;
}

.tp-power-card-icon {
    display: inline-flex;
    width: 90px;
    height: 86px;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    font-size: 43px;
}

.tp-icon-blue { background: #e7efff; color: #2865f3; }
.tp-icon-green { background: #e7f9f1; color: #08b775; }
.tp-icon-purple { background: #eeebff; color: #664ce5; }
.tp-icon-orange { background: #fff0e6; color: #ff7c2f; }
.tp-icon-cyan { background: #e6f9fc; color: #12aec8; }
.tp-icon-yellow { background: #fff7df; color: #f5ae0a; }
.tp-icon-pink { background: #ffedf4; color: #dc3f7b; }
.tp-icon-royal { background: #e9f1ff; color: #2865ee; }

.tp-power-arrow {
    position: absolute;
    top: 58px;
    right: 37px;
    display: inline-flex;
    width: 35px;
    height: 35px;
    align-items: center;
    justify-content: center;
    border: 1px solid #e1e8f2;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 3px 8px rgba(20, 50, 100, .08);
    color: #0a2247;
    font-size: 13px;
    transition: color .25s ease, transform .25s ease;
}

.tp-power-card:hover .tp-power-arrow {
    transform: translateX(3px);
    color: #1761ed;
}

.tp-power-card h3 {
    margin: 14px 0 7px;
    color: #08142d;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.3;
}

.tp-power-card p {
    margin: 0;
    color: #344562;
    font-size: 15.5px;
    line-height: 1.5;
}

.tp-power-cta-wrap { margin-top: 20px; text-align: center; }

.tp-power-cta {
    display: inline-flex;
    min-width: 247px;
    min-height: 49px;
    align-items: center;
    justify-content: center;
    gap: 24px;
    border-radius: 9px;
    background: linear-gradient(135deg, #e42527, #bf101d);
    box-shadow: 0 9px 20px rgba(213, 27, 42, .24);
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}

.tp-power-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(21, 91, 230, .28);
    color: #fff;
}

.tp-power-plane {
    position: absolute;
    z-index: 1;
    top: 112px;
    left: 4.5%;
    width: 170px;
    height: 170px;
    color: #d6e4ff;
    opacity: .9;
    transform: rotate(-18deg);
    text-align: center;
}

.tp-power-plane i {
    font-size: 135px;
    line-height: 1;
    text-shadow: 12px 12px 20px rgba(48, 105, 220, .12);
    animation: srdv-plane-float 4.8s ease-in-out infinite;
}

.tp-power-plane:after {
    content: '';
    position: absolute;
    top: 119px;
    left: -43px;
    width: 105px;
    height: 88px;
    border-bottom: 3px dashed #dbe7ff;
    border-left: 3px dashed #dbe7ff;
    border-radius: 0 0 0 70px;
}

.tp-power-dots {
    position: absolute;
    z-index: 1;
    top: 48px;
    right: 4.6%;
    width: 145px;
    height: 145px;
    opacity: .82;
    background-image: radial-gradient(circle, #bfd3fb 3px, transparent 3.5px);
    background-size: 20px 20px;
    animation: srdv-dots-drift 12s linear infinite;
}

@keyframes srdv-plane-float {
    0%, 100% { transform: translate3d(0, 0, 0) rotate(0); }
    50% { transform: translate3d(10px, -12px, 0) rotate(2deg); }
}

@keyframes srdv-dots-drift {
    from { background-position: 0 0; }
    to { background-position: 40px 20px; }
}

@media (max-width: 1199.98px) {
    .tp-power-container { width: calc(100% - 40px); }
    .tp-power-card { padding: 24px; }
    .tp-power-arrow { right: 24px; }
    .tp-power-plane { left: 1%; opacity: .45; }
    .tp-power-dots { right: 1%; opacity: .5; }
}

@media (max-width: 991.98px) {
    .tp-power-features { padding-top: 35px; }
    .tp-power-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tp-power-card { min-height: 245px; }
    .tp-power-plane, .tp-power-dots { display: none; }
}

@media (max-width: 575.98px) {
    .tp-power-features { padding: 32px 0; }
    .tp-power-container { width: calc(100% - 28px); }
    .tp-power-heading h1,
    .tp-power-heading h2 {
        margin-top: 16px;
        font-size: 32px;
        letter-spacing: -1px;
    }
    .tp-power-heading h1 br,
    .tp-power-heading h2 br { display: none; }
    .tp-power-heading p { font-size: 15px; }
    .tp-power-highlight {
        align-items: flex-start;
        margin-top: 13px;
        padding: 9px 13px;
        border-radius: 14px;
        font-size: 11.5px;
        text-align: left;
    }
    .tp-power-highlight i { margin-top: 1px; }
    .tp-power-tabs {
        grid-template-columns: repeat(4, minmax(125px, 1fr)) minmax(165px, 1.25fr);
        margin: 25px auto 30px;
        overflow-x: auto;
        overflow-y: hidden;
        border-radius: 18px;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }
    .tp-power-tab {
        min-height: 52px;
        border-right: 1px solid #e7ebf2;
        border-bottom: 0;
        font-size: 15px;
        white-space: nowrap;
    }
    .tp-power-tab:nth-child(2),
    .tp-power-tab:nth-child(4) { border-right: 1px solid #e7ebf2; }
    .tp-power-tab:nth-child(5) { border-right: 0; }
    .tp-power-tab.active { border-radius: 17px; }
    .tp-power-grid { grid-template-columns: 1fr; gap: 14px; }
    .tp-power-card { min-height: 0; padding: 22px; }
    .tp-power-card-icon { width: 75px; height: 72px; font-size: 36px; }
    .tp-power-arrow { top: 40px; right: 22px; }
    .tp-power-card h3 { font-size: 18px; }
    .tp-power-card p { font-size: 14.5px; }
}

/* Modern technology providers section */
.our-technology.our-technology--modern {
    position: relative;
    z-index: 1;
    padding: 48px 0 52px;
    overflow: hidden;
    background:
        radial-gradient(circle at 7% 50%, rgba(105, 94, 238, .12), transparent 25%),
        radial-gradient(circle at 94% 40%, rgba(229, 35, 50, .09), transparent 23%),
        linear-gradient(180deg, #f8f7ff 0%, #fff 100%);
}

.our-technology--modern::before {
    position: absolute;
    width: 260px;
    height: 260px;
    top: -170px;
    left: 50%;
    border: 42px solid rgba(24, 93, 228, .045);
    border-radius: 50%;
    content: "";
    transform: translateX(-50%);
}

.our-technology__dots {
    position: absolute;
    width: 110px;
    height: 110px;
    opacity: .6;
    background-image: radial-gradient(circle, #c8d9fc 2.5px, transparent 3px);
    background-size: 16px 16px;
}

.our-technology__dots--left { left: 2.5%; bottom: 22px; }
.our-technology__dots--right { right: 2.5%; top: 36px; }

.our-technology__heading {
    position: relative;
    z-index: 2;
    max-width: 790px;
    margin: 0 auto 22px;
    text-align: center;
}

.our-technology__badge {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 8px;
    padding: 6px 15px;
    border: 1px solid #dce7fb;
    border-radius: 30px;
    color: #574bd0;
    background: #fff;
    box-shadow: 0 7px 18px rgba(29, 82, 171, .08);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.our-technology__badge i { color: #24ba72; font-size: 15px; }

.our-technology__heading h2 {
    margin: 13px 0 10px;
    color: #071632;
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -1px;
}

.our-technology__heading h2 span {
    color: #1762e9;
    background: linear-gradient(90deg, #5d51df, #2975ff 55%, #e42532);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.our-technology__heading p {
    margin: 0;
    color: #627089;
    font-size: 14px;
    line-height: 1.7;
}

.our-technology__slider-shell {
    position: relative;
    z-index: 2;
    padding: 40px 58px 15px;
    border: 1px solid #e4eaf4;
    border-radius: 22px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 20px 45px rgba(24, 56, 108, .11);
}

.our-technology__slider-shell::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 96%;
    height: 4px;
    border-radius: 0 0 8px 8px;
    background: linear-gradient(90deg, transparent, #42dc91 18%, #6a5cf0 52%, #e42532 82%, transparent);
    content: "";
    transform: translateX(-50%);
}

.our-technology__trust {
    position: absolute;
    top: 12px;
    left: 50%;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #718097;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .3px;
    text-transform: uppercase;
    transform: translateX(-50%);
    white-space: nowrap;
}

.our-technology__trust i { color: #0caf71; font-size: 14px; }

.our-technology--modern .homepage-partner { padding: 4px 0 0; }

.our-technology--modern .homepage-partner .owl-stage {
    display: flex;
    align-items: stretch;
}

.our-technology--modern .homepage-partner .owl-item {
    display: flex;
    float: none;
    align-items: stretch;
}

.our-technology--modern .homepage-partner .item { width: 100%; padding: 5px 5px 7px; }

.technology-logo-card {
    display: flex;
    min-height: 88px;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding: 14px 14px;
    border: 1px solid #e6ebf3;
    border-radius: 14px;
    background: linear-gradient(145deg, #fff, #f8faff);
    box-shadow: 0 8px 17px rgba(26, 58, 110, .07);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.technology-logo-card:hover {
    transform: translateY(-5px);
    border-color: #bed1fa;
    box-shadow: 0 14px 25px rgba(26, 76, 164, .14);
}

.our-technology--modern .homepage-partner .owl-item img {
    width: auto;
    max-width: 100%;
    max-height: 54px;
    margin: 0 auto;
    object-fit: contain;
    filter: saturate(.9);
    transition: filter .25s ease, transform .25s ease;
}

.technology-logo-card:hover img { filter: saturate(1.12); transform: scale(1.035); }

.our-technology--modern .homepage-partner .owl-nav {
    position: static;
    width: auto;
    max-width: none;
}

.our-technology--modern .homepage-partner .owl-nav button.owl-prev,
.our-technology--modern .homepage-partner .owl-nav button.owl-next {
    top: 50%;
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    margin-top: -19px;
    border: 1px solid #dce5f4 !important;
    border-radius: 50%;
    color: #145bdd !important;
    background: #fff !important;
    box-shadow: 0 6px 15px rgba(17, 60, 129, .13);
    font-size: 18px !important;
    line-height: 1 !important;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}

.our-technology--modern .homepage-partner .owl-nav button.owl-prev { left: -45px; }
.our-technology--modern .homepage-partner .owl-nav button.owl-next { right: -45px; }

.our-technology--modern .homepage-partner .owl-nav button:hover {
    color: #fff !important;
    background: linear-gradient(135deg, #e31125, #bd0718) !important;
    transform: scale(1.06);
}

@media (max-width: 991.98px) {
    .our-technology.our-technology--modern { padding: 44px 0 48px; }
    .our-technology__slider-shell { padding-right: 45px; padding-left: 45px; }
    .our-technology--modern .homepage-partner .owl-nav button.owl-prev { left: -37px; }
    .our-technology--modern .homepage-partner .owl-nav button.owl-next { right: -37px; }
}

@media (max-width: 575.98px) {
    .our-technology.our-technology--modern { padding: 35px 0 38px; }
    .our-technology__dots { display: none; }
    .our-technology__heading { margin-bottom: 18px; }
    .our-technology__heading h2 { margin-top: 12px; font-size: 28px; }
    .our-technology__heading p { font-size: 12.5px; }
    .our-technology__slider-shell { padding: 39px 34px 15px; border-radius: 17px; }
    .our-technology__trust { top: 11px; width: calc(100% - 30px); justify-content: center; font-size: 8px; }
    .technology-logo-card { min-height: 76px; padding: 11px 9px; border-radius: 11px; }
    .our-technology--modern .homepage-partner .owl-item img { max-height: 46px; }
    .our-technology--modern .homepage-partner .owl-nav button.owl-prev,
    .our-technology--modern .homepage-partner .owl-nav button.owl-next { width: 32px; height: 32px; margin-top: -16px; }
    .our-technology--modern .homepage-partner .owl-nav button.owl-prev { left: -29px; }
    .our-technology--modern .homepage-partner .owl-nav button.owl-next { right: -29px; }
}

/* Unified platform and company overview — paired dashboard modules. */
.home-about-temp.home-about-modern {
    position: relative;
    padding: 54px 0 58px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 6% 30%, rgba(45, 224, 145, .1), transparent 26%),
        radial-gradient(circle at 94% 70%, rgba(227, 17, 37, .14), transparent 28%),
        linear-gradient(115deg, #080a24 0%, #050619 48%, #0e0927 100%);
}

.home-about-modern::before {
    position: absolute;
    inset: 0;
    opacity: .2;
    background-image:
        linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
    background-size: 42px 42px;
    content: "";
    pointer-events: none;
}

.home-about-modern::after {
    position: absolute;
    top: 0;
    left: 50%;
    width: min(720px, 65vw);
    height: 2px;
    background: linear-gradient(90deg, transparent, #48e89d, #746bff, #ef3043, transparent);
    content: "";
    transform: translateX(-50%);
}

.home-about-modern > .container { position: relative; z-index: 2; }
.home-about-modern__row { margin-right: -8px; margin-left: -8px; }
.home-about-modern__column { display: flex; padding-right: 8px; padding-left: 8px; }

.home-about-modern__platform,
.home-about-modern__company {
    position: relative;
    width: 100%;
    min-height: 490px;
    overflow: hidden;
    border: 1px solid rgba(142, 167, 220, .18);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025));
    box-shadow: 0 24px 55px rgba(0, 0, 18, .3), inset 0 1px 0 rgba(255, 255, 255, .06);
}

.home-about-modern__platform {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 44px 38px 28px;
    isolation: isolate;
}

.home-about-modern__image {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .6;
    filter: saturate(.72) contrast(1.08);
    transition: transform .7s cubic-bezier(.2, .75, .25, 1), filter .35s ease;
}

.home-about-modern__image-shade {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(4, 6, 26, .98) 0%, rgba(4, 6, 26, .92) 45%, rgba(4, 6, 26, .4) 100%),
        linear-gradient(0deg, rgba(4, 6, 26, .96), transparent 55%);
}

.home-about-modern__platform:hover .home-about-modern__image {
    filter: saturate(.9) contrast(1.08);
    transform: scale(1.035);
}

.home-about-modern__platform-copy { max-width: 500px; }

.home-about-modern__eyebrow {
    display: inline-flex;
    min-height: 31px;
    align-items: center;
    gap: 8px;
    padding: 5px 12px;
    border: 1px solid rgba(74, 232, 157, .28);
    border-radius: 30px;
    color: #5af0aa;
    background: rgba(46, 209, 135, .09);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .75px;
    text-transform: uppercase;
}

.home-about-modern__eyebrow i { font-size: 14px; }

.home-about-modern__eyebrow--red {
    border-color: rgba(255, 82, 101, .3);
    color: #ff6d7d;
    background: rgba(239, 48, 67, .09);
}

.home-about-modern__platform h2 {
    margin: 19px 0 15px;
    color: #fff;
    font-size: clamp(31px, 3.1vw, 43px);
    font-weight: 700;
    line-height: 1.13;
    letter-spacing: -1.1px;
}

.home-about-modern__platform h2 span,
.home-about-modern__company h2 span {
    color: #7c74ff;
    background: linear-gradient(90deg, #8178ff, #99b7ff 48%, #ff6475);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.home-about-modern__platform-copy p {
    max-width: 535px;
    margin: 0 0 23px;
    color: rgba(237, 242, 255, .88);
    font-size: 14px;
    line-height: 1.72;
}

.home-about-modern__button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 9px 18px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}

.home-about-modern__button:hover { color: #fff; transform: translateY(-2px); }
.home-about-modern__button i { font-size: 14px; transition: transform .25s ease; }
.home-about-modern__button:hover i { transform: translateX(3px); }

.home-about-modern__button--primary {
    background: linear-gradient(135deg, #ef3043, #be0b2b);
    box-shadow: 0 10px 24px rgba(211, 16, 47, .28), inset 0 1px 0 rgba(255, 255, 255, .2);
}

.home-about-modern__button--primary:hover { box-shadow: 0 13px 29px rgba(211, 16, 47, .4), inset 0 1px 0 rgba(255, 255, 255, .2); }

.home-about-modern__button--outline {
    margin-top: auto;
    border-color: rgba(135, 128, 255, .45);
    background: rgba(105, 96, 255, .09);
}

.home-about-modern__button--outline:hover {
    border-color: rgba(135, 128, 255, .8);
    background: rgba(105, 96, 255, .2);
    box-shadow: 0 10px 24px rgba(72, 62, 197, .18);
}

.home-about-modern__products {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 25px;
}

.home-about-modern__products span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 7px;
    color: rgba(246, 249, 255, .92);
    background: rgba(8, 10, 36, .66);
    backdrop-filter: blur(6px);
    font-size: 10.5px;
    font-weight: 500;
}

.home-about-modern__products i { color: #62e9a9; font-size: 12px; }

.home-about-modern__company {
    display: flex;
    flex-direction: column;
    padding: 36px 34px 29px;
}

.home-about-modern__company::before {
    position: absolute;
    top: 0;
    right: 28px;
    left: 28px;
    height: 2px;
    background: linear-gradient(90deg, #776cff, #ef3043, transparent);
    content: "";
}

.home-about-modern__company h2 {
    margin: 17px 0 13px;
    color: #fff;
    font-size: 32px;
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: -.6px;
}

.home-about-modern__company-head p {
    margin: 0;
    color: rgba(237, 242, 255, .86);
    font-size: 13.5px;
    line-height: 1.68;
}

.home-about-modern__metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 23px 0 21px;
    overflow: hidden;
    border: 1px solid rgba(142, 167, 220, .14);
    border-radius: 10px;
    background: rgba(255, 255, 255, .035);
}

.home-about-modern__metrics div { padding: 16px 8px 14px; text-align: center; }
.home-about-modern__metrics div + div { border-left: 1px solid rgba(142, 167, 220, .12); }
.home-about-modern__metrics strong { display: block; color: #fff; font-size: 23px; font-weight: 700; line-height: 1.15; }
.home-about-modern__metrics div:nth-child(1) strong { color: #5fe9aa; }
.home-about-modern__metrics div:nth-child(2) strong { color: #8f88ff; }
.home-about-modern__metrics div:nth-child(3) strong { color: #ff6374; }
.home-about-modern__metrics span { display: block; margin-top: 5px; color: rgba(233, 239, 252, .74); font-size: 9.5px; line-height: 1.4; }

.home-about-modern__capabilities { margin: 0 0 22px; padding: 0; list-style: none; }
.home-about-modern__capabilities li { display: flex; align-items: center; gap: 10px; }
.home-about-modern__capabilities li + li { margin-top: 12px; }
.home-about-modern__capabilities li > i {
    display: inline-flex;
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #938cff;
    background: rgba(119, 108, 255, .12);
    font-size: 16px;
}
.home-about-modern__capabilities li:nth-child(2) > i { color: #58e5a5; background: rgba(66, 232, 151, .1); }
.home-about-modern__capabilities li:nth-child(3) > i { color: #ff6878; background: rgba(239, 48, 67, .1); }
.home-about-modern__capabilities span { color: rgba(230, 237, 252, .78); font-size: 11px; line-height: 1.45; }
.home-about-modern__capabilities strong { display: block; margin-bottom: 1px; color: #fff; font-size: 13px; font-weight: 600; }

.home-about-modern__glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(2px);
}
.home-about-modern__glow--one { width: 230px; height: 230px; top: -140px; left: 8%; border: 30px solid rgba(68, 226, 153, .045); }
.home-about-modern__glow--two { width: 300px; height: 300px; right: -165px; bottom: -180px; border: 42px solid rgba(115, 103, 255, .06); }

@media (max-width: 991.98px) {
    .home-about-temp.home-about-modern { padding: 42px 0 46px; }
    .home-about-modern__column + .home-about-modern__column { margin-top: 16px; }
    .home-about-modern__platform,
    .home-about-modern__company { min-height: auto; }
    .home-about-modern__platform { min-height: 420px; }
}

@media (max-width: 575.98px) {
    .home-about-temp.home-about-modern { padding: 34px 0 38px; }
    .home-about-modern__row { margin-right: -5px; margin-left: -5px; }
    .home-about-modern__column { padding-right: 5px; padding-left: 5px; }
    .home-about-modern__platform,
    .home-about-modern__company { border-radius: 14px; }
    .home-about-modern__platform { min-height: 446px; padding: 28px 20px 20px; }
    .home-about-modern__image { object-position: 60% center; }
    .home-about-modern__image-shade { background: linear-gradient(90deg, rgba(4, 6, 26, .98), rgba(4, 6, 26, .76)), linear-gradient(0deg, rgba(4, 6, 26, .98), transparent 60%); }
    .home-about-modern__platform h2 { margin-top: 16px; font-size: 30px; }
    .home-about-modern__platform-copy p { font-size: 12px; }
    .home-about-modern__products { gap: 5px; }
    .home-about-modern__products span { padding: 6px 8px; }
    .home-about-modern__company { padding: 25px 20px 22px; }
    .home-about-modern__company::before { right: 20px; left: 20px; }
    .home-about-modern__company h2 { font-size: 23px; }
    .home-about-modern__metrics div { padding-right: 4px; padding-left: 4px; }
    .home-about-modern__metrics strong { font-size: 17px; }
    .home-about-modern__button { width: 100%; }
}

/* Compact live-demo conversion panel. */
.bp_blue_back.live-demo-cta {
    position: relative;
    padding: 0;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 15% 10%, rgba(63, 231, 158, .1), transparent 25%),
        radial-gradient(circle at 90% 75%, rgba(239, 48, 67, .16), transparent 27%),
        linear-gradient(112deg, #05071e 0%, #0b0d31 55%, #171037 100%);
}

.live-demo-cta::before {
    position: absolute;
    inset: 0;
    opacity: .2;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
    background-size: 56px 100%;
    content: "";
    pointer-events: none;
}

.live-demo-cta::after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    background: linear-gradient(90deg, #40e297, #766cff 52%, #ef3043);
    content: "";
}

.live-demo-cta > .container { position: relative; z-index: 2; }

.live-demo-cta__inner {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    min-height: 166px;
    align-items: center;
    gap: 23px;
    padding: 25px 28px;
}

.live-demo-cta__visual {
    display: flex;
    width: 66px;
    height: 66px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(99, 236, 173, .28);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(68, 232, 151, .16), rgba(119, 108, 255, .12));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 14px 30px rgba(0, 0, 20, .28);
}

.live-demo-cta__pulse {
    position: relative;
    z-index: 1;
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #4de7a0, #159d67);
    box-shadow: 0 8px 19px rgba(42, 220, 141, .28);
    font-size: 15px;
}

.live-demo-cta__pulse::before,
.live-demo-cta__pulse::after {
    position: absolute;
    z-index: -1;
    inset: -7px;
    border: 1px solid rgba(78, 235, 163, .35);
    border-radius: 50%;
    content: "";
    animation: live-demo-ring 2.4s ease-out infinite;
}

.live-demo-cta__pulse::after { animation-delay: 1.2s; }

.live-demo-cta__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 6px;
    color: #5ce9a8;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .75px;
    text-transform: uppercase;
}

.live-demo-cta__content h2 {
    margin: 0 0 7px;
    color: #fff;
    font-size: clamp(22px, 2.1vw, 29px);
    font-weight: 650;
    line-height: 1.22;
    letter-spacing: -.65px;
}

.live-demo-cta__content h2 span {
    background: linear-gradient(90deg, #938cff, #90adff 50%, #ff6879);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.live-demo-cta__content p {
    max-width: 730px;
    margin: 0;
    color: rgba(225, 233, 250, .68);
    font-size: 11px;
    line-height: 1.55;
}

.live-demo-cta__benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 9px;
}

.live-demo-cta__benefits span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: rgba(239, 244, 255, .72);
    font-size: 9px;
}

.live-demo-cta__benefits i { color: #4be59f; font-size: 11px; }

.live-demo-cta__action {
    min-width: 225px;
    text-align: center;
}

.live-demo-cta__button {
    position: relative;
    display: flex;
    min-height: 49px;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding: 10px 18px;
    overflow: hidden;
    border: 1px solid rgba(255, 110, 126, .45);
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg, #ef3043, #b9082a);
    box-shadow: 0 13px 28px rgba(202, 11, 43, .28), inset 0 1px 0 rgba(255, 255, 255, .22);
    font-size: 11px;
    font-weight: 650;
    letter-spacing: .15px;
    text-transform: uppercase;
    transition: transform .25s ease, box-shadow .25s ease;
}

.live-demo-cta__button::before {
    position: absolute;
    top: -80%;
    left: -55%;
    width: 34%;
    height: 260%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent);
    content: "";
    transform: rotate(22deg);
    transition: left .55s ease;
}

.live-demo-cta__button:hover { color: #fff; box-shadow: 0 16px 34px rgba(202, 11, 43, .4), inset 0 1px 0 rgba(255, 255, 255, .22); transform: translateY(-2px); }
.live-demo-cta__button:hover::before { left: 125%; }
.live-demo-cta__button i { font-size: 14px; transition: transform .25s ease; }
.live-demo-cta__button:hover i { transform: translateX(3px); }

.live-demo-cta__action small {
    display: block;
    margin-top: 8px;
    color: rgba(218, 228, 247, .52);
    font-size: 8px;
}
.live-demo-cta__action small i { margin-right: 4px; color: #5ce9a8; }

.live-demo-cta__orb {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    pointer-events: none;
}
.live-demo-cta__orb--left { width: 155px; height: 155px; top: -105px; left: 4%; box-shadow: inset 0 0 45px rgba(58, 225, 149, .06); }
.live-demo-cta__orb--right { width: 190px; height: 190px; right: -75px; bottom: -125px; border-width: 25px; border-color: rgba(239, 48, 67, .06); }

@keyframes live-demo-ring {
    0% { opacity: .8; transform: scale(.75); }
    75%, 100% { opacity: 0; transform: scale(1.55); }
}

@media (max-width: 991.98px) {
    .live-demo-cta__inner { grid-template-columns: 62px minmax(0, 1fr); gap: 17px; padding: 24px 18px; }
    .live-demo-cta__visual { width: 58px; height: 58px; }
    .live-demo-cta__action { grid-column: 2; min-width: 0; text-align: left; }
    .live-demo-cta__button { display: inline-flex; min-width: 220px; }
    .live-demo-cta__action small { margin-left: 7px; }
}

@media (max-width: 575.98px) {
    .live-demo-cta__inner { display: block; padding: 27px 16px 25px; text-align: center; }
    .live-demo-cta__visual { width: 54px; height: 54px; margin: 0 auto 14px; }
    .live-demo-cta__eyebrow { justify-content: center; }
    .live-demo-cta__content h2 { font-size: 23px; }
    .live-demo-cta__content p { font-size: 10.5px; }
    .live-demo-cta__benefits { justify-content: center; gap: 7px 11px; }
    .live-demo-cta__action { margin-top: 17px; text-align: center; }
    .live-demo-cta__button { display: flex; width: 100%; min-width: 0; }
    .live-demo-cta__action small { margin-left: 0; }
}

/* Homepage typography system — consistent scale across every redesigned section. */
.top-header,
.top-header a,
.middle-header,
.middle-header h4,
.nav-wrapper,
.travel-portal-modern,
.tp-power-features,
.home-about-modern,
.our-technology--modern,
.live-demo-cta,
.why-query-modern {
    font-family: Poppins, sans-serif;
    font-style: normal;
}

.top-header,
.top-header a {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .05px;
}

.middle-header h4 {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -.05px;
}

.travel-portal-modern__heading h2,
.tp-power-heading h1,
.tp-power-heading h2,
.our-technology__heading h2 {
    font-family: Poppins, sans-serif;
    font-size: clamp(34px, 3vw, 44px);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -1.15px;
}

.travel-portal-modern__heading p,
.tp-power-heading p,
.our-technology__heading p {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.68;
    letter-spacing: 0;
}

.travel-portal-modern__badge,
.tp-power-badge,
.our-technology__badge,
.home-about-modern__eyebrow,
.live-demo-cta__eyebrow,
.why-query-modern__eyebrow {
    font-family: Poppins, sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .72px;
}

.portal-stack__head h3 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.28;
}

.portal-stack__head small {
    font-size: 10px;
    line-height: 1.35;
}

.portal-stack__item strong,
.home-about-modern__capabilities strong,
.why-query-modern__benefit strong {
    font-weight: 600;
    letter-spacing: -.05px;
}

.portal-stack__item { min-height: 88px; }
.portal-stack__item strong { font-size: 14px; line-height: 1.35; }
.portal-stack__item small {
    overflow: visible;
    color: rgba(231, 237, 255, .82);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;
    text-overflow: clip;
    white-space: normal;
}

.tp-power-tab {
    font-size: 15px;
    font-weight: 600;
}

.tp-power-card h3 {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -.2px;
}

.tp-power-card p {
    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.62;
}

.tp-power-highlight {
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
}

.tp-power-cta,
.home-about-modern__button,
.live-demo-cta__button,
.why-query-modern__submit {
    font-family: Poppins, sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .05px;
}

.home-about-modern__platform h2 {
    font-size: clamp(32px, 2.7vw, 38px);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -.9px;
}

.home-about-modern__company h2 {
    font-family: Poppins, sans-serif;
    font-size: clamp(30px, 2.5vw, 34px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.7px;
}

.why-query-modern__about h2,
.why-query-modern__form-card h2 {
    font-family: Poppins, sans-serif;
    font-size: clamp(26px, 2.15vw, 30px);
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -.6px;
}

.home-about-modern__platform-copy p,
.home-about-modern__company-head p,
.why-query-modern__intro,
.why-query-modern__form-intro {
    font-family: Poppins, sans-serif;
    font-weight: 400;
    line-height: 1.68;
}

.home-about-modern__platform-copy p { font-size: 14px; }

.why-query-modern__intro { font-size: 13px; }

.home-about-modern__company-head p { font-size: 13.5px; }

.why-query-modern__form-intro { font-size: 12px; }

.live-demo-cta__content h2 {
    font-size: clamp(23px, 2vw, 28px);
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -.55px;
}

.live-demo-cta__content p {
    font-size: 11px;
    font-weight: 400;
    line-height: 1.6;
}

@media (max-width: 575.98px) {
    .travel-portal-modern__heading h2,
    .tp-power-heading h1,
    .tp-power-heading h2,
    .our-technology__heading h2 { font-size: 29px; line-height: 1.2; letter-spacing: -.65px; }

    .travel-portal-modern__heading p,
    .tp-power-heading p,
    .our-technology__heading p { font-size: 12.5px; line-height: 1.6; }

    .tp-power-tab { font-size: 13px; }
    .tp-power-card h3 { font-size: 16px; }
    .tp-power-card p { font-size: 12.5px; }
    .home-about-modern__platform h2 { font-size: 29px; }
    .home-about-modern__company h2 { font-size: 27px; }
    .why-query-modern__about h2,
    .why-query-modern__form-card h2 { font-size: 25px; }
    .live-demo-cta__content h2 { font-size: 23px; }
}

/* ZeptoMail-inspired motion language, adapted to SRDV branding. */
.tp-power-highlight {
    animation: srdv-highlight-glow 3.2s ease-in-out infinite;
}

.our-technology__dots--left { animation: srdv-dots-drift 14s linear infinite reverse; }
.our-technology__dots--right { animation: srdv-dots-drift 11s linear infinite; }

.technology-logo-card::after {
    position: absolute;
    width: 42px;
    height: 1px;
    right: 10px;
    bottom: 9px;
    opacity: 0;
    background: linear-gradient(90deg, transparent, #43df92);
    content: "";
    transition: opacity .25s ease, width .25s ease;
}

.technology-logo-card { position: relative; overflow: hidden; }
.technology-logo-card:hover::after { width: 76px; opacity: 1; }

@keyframes srdv-highlight-glow {
    0%, 100% { box-shadow: 0 9px 22px rgba(215, 10, 30, .24); }
    50% { box-shadow: 0 9px 28px rgba(215, 10, 30, .42), 0 0 0 4px rgba(228, 37, 39, .06); }
}

.srdv-motion-ready .srdv-reveal {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity .72s ease var(--srdv-reveal-delay, 0ms), transform .72s cubic-bezier(.2, .75, .25, 1) var(--srdv-reveal-delay, 0ms);
    will-change: opacity, transform;
}

.srdv-motion-ready .srdv-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.srdv-motion-ready .travel-portal-modern__grid > div.srdv-reveal:nth-child(3n+1),
.srdv-motion-ready .home-about-modern__platform.srdv-reveal {
    transform: translate3d(-28px, 0, 0);
}

.srdv-motion-ready .travel-portal-modern__grid > div.srdv-reveal:nth-child(3n),
.srdv-motion-ready .home-about-modern__company.srdv-reveal {
    transform: translate3d(28px, 0, 0);
}

.srdv-motion-ready .travel-portal-modern__grid > div.srdv-reveal.is-visible,
.srdv-motion-ready .home-about-modern__platform.srdv-reveal.is-visible,
.srdv-motion-ready .home-about-modern__company.srdv-reveal.is-visible {
    transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
    .travel-portal-modern__signal span,
    .live-demo-cta__pulse::before,
    .live-demo-cta__pulse::after,
    .tp-power-highlight,
    .tp-power-plane i,
    .tp-power-dots,
    .our-technology__dots { animation: none !important; }

    .srdv-motion-ready .srdv-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
