:root {
    --bg: #090b0e;
    --bg-2: #0d1014;
    --surface: #11151a;
    --surface-2: #151a20;
    --surface-3: #1a2028;
    --ink: #f5f2e9;
    --muted: #9ea2a8;
    --muted-2: #6f747c;
    --gold: #d6ad52;
    --gold-2: #f0d184;
    --gold-3: #9f772a;
    --gold-soft: rgba(214, 173, 82, .1);
    --line: rgba(255,255,255,.08);
    --line-strong: rgba(255,255,255,.14);
    --line-gold: rgba(214,173,82,.27);
    --success: #64c58b;
    --danger: #df746f;
    --radius-xl: 30px;
    --radius-lg: 22px;
    --radius-md: 16px;
    --shadow-lg: 0 32px 90px rgba(0,0,0,.35);
    --header-height: 82px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 92px;
}

body {
    margin: 0;
    font-family: "Estedad", Tahoma, sans-serif;
    background: var(--bg);
    color: var(--ink);
    font-size: 15px;
    line-height: 1.8;
    overflow-x: hidden;
    text-rendering: optimizeLegibility;
}

body.modal-open {
    padding-right: 0 !important;
}

button, input, select, textarea {
    font: inherit;
}

a {
    text-decoration: none;
}

svg {
    width: 1em;
    height: 1em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.svg-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

::selection {
    background: var(--gold);
    color: #111;
}

.page-noise {
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;
    opacity: .025;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

.container {
    max-width: 1240px;
}

.section-padding {
    padding: 112px 0;
}

/* ---------- Global typography ---------- */
.section-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--gold-2);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .025em;
    margin-bottom: 13px;
}

.section-label::before {
    content: "";
    width: 20px;
    height: 1px;
    background: var(--gold);
}

.section-title {
    margin: 0;
    font-size: clamp(2rem, 2.5vw, 3.55rem);
    line-height: 1.34;
    letter-spacing: -.045em;
    font-weight: 800;
}

.section-title em {
    font-style: normal;
    color: var(--gold-2);
}

.section-description {
    margin: 0;
    color: var(--muted);
    font-size: .98rem;
    line-height: 2;
}


/* =========================================================
   V4 refinements: restored hero, deterministic RTL flow,
   readable typography floor and marquee
   ========================================================= */
.hero-orbit-visual {
    min-height: 585px;
    position: relative;
    display: grid;
    place-items: center;
    padding: 22px 0 35px
}

.visual-orbit {
    width: min(540px,100%);
    aspect-ratio: 1;
    position: relative;
    display: grid;
    place-items: center
}

.visual-orbit::before {
    content: "";
    position: absolute;
    width: 82%;
    height: 82%;
    border-radius: 50%;
    background: radial-gradient(circle,rgba(214,173,82,.11),transparent 67%);
    filter: blur(8px)
}

.orbit-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(214,173,82,.16)
}

.orbit-ring-1 {
    width: 37%;
    height: 37%;
    border-style: dashed;
    animation: spin 20s linear infinite
}

.orbit-ring-2 {
    width: 67%;
    height: 67%;
    animation: spinReverse 31s linear infinite
}

.orbit-ring-3 {
    width: 96%;
    height: 96%;
    border-color: rgba(255,255,255,.07);
    animation: spin 48s linear infinite
}

.orbit-ring-2::before,.orbit-ring-3::before {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 13px var(--gold);
    top: 50%;
    inset-inline-end: -4px
}

.core-engine {
    position: relative;
    z-index: 3;
    width: 188px;
    height: 188px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%,rgba(255,255,255,.12),transparent 22%),linear-gradient(145deg,#292116,#12151a 56%,#090b0e);
    border: 1px solid rgba(214,173,82,.4);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 14px rgba(214,173,82,.03),0 0 0 28px rgba(214,173,82,.014),0 30px 80px rgba(0,0,0,.52),inset 0 0 38px rgba(214,173,82,.07)
}

.core-engine::after {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px dashed rgba(214,173,82,.2);
    border-radius: 50%;
    animation: spin 20s linear infinite
}

.core-line {
    color: var(--gold);
    letter-spacing: .26em;
    font-size: 12px;
    margin-inline-end:-.26em}

.core-engine strong {
    font-size: 2.15rem;
    line-height: 1;
    margin: 8px 0
}

.core-engine small {
    color: var(--muted-2);
    font-size: 12px;
    letter-spacing: .05em
}

.orbit-item {
    position: absolute;
    z-index: 4;
    min-width: 86px;
    min-height: 76px;
    padding: 10px;
    border-radius: 17px;
    background: rgba(18,22,27,.92);
    border: 1px solid var(--line);
    backdrop-filter: blur(14px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--ink);
    box-shadow: 0 18px 42px rgba(0,0,0,.26);
    transition: transform .25s ease,border-color .25s ease,background .25s ease
}

.orbit-item:hover,.orbit-item.active {
    transform: scale(1.08);
    border-color: rgba(214,173,82,.58);
    background: rgba(39,32,20,.96)
}

.orbit-item svg {
    width: 22px;
    height: 22px;
    color: var(--gold)
}

.orbit-item b {
    font-size: 12px;
    font-weight: 700
}

.item-flight {
    top: 2%;
    right: 37%
}

.item-hotel {
    top: 20%;
    right: 4%
}

.item-cargo {
    bottom: 22%;
    right: 2%
}

.item-visa {
    bottom: 0;
    right: 34%
}

.item-shop {
    bottom: 18%;
    left: 2%
}

.item-carpet {
    top: 20%;
    left: 2%
}

.item-train {
    top: 43%;
    left: 16%
}

.orbit-floating-card {
    position: absolute;
    z-index: 5;
    min-width: 205px;
    padding: 13px 15px;
    border-radius: 16px;
    border: 1px solid var(--line);
    background: rgba(16,20,25,.9);
    backdrop-filter: blur(16px);
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: var(--shadow-lg);
    animation: float 5s ease-in-out infinite
}

.orbit-floating-card small,.orbit-floating-card strong {
    display: block
}

.orbit-floating-card small {
    color: var(--muted-2);
    font-size: 12px
}

.orbit-floating-card strong {
    font-size: 12px;
    margin-top: 2px
}

.orbit-status-card {
    bottom: 34px;
    inset-inline-end: -8px
}

.orbit-brand-card {
    top: 58px;
    inset-inline-start: -2px;
    animation-delay: -2.2s
}

.orbit-status-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--success);
    box-shadow: 0 0 0 7px rgba(100,197,139,.1)
}

.orbit-mini-logo {
    width: 35px;
    height: 35px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: #111;
    background: var(--gold);
    font-weight: 900;
    font-size: 14px
}

.hero-marquee {
    height: 82px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    overflow: hidden;
    display: flex;
    align-items: center;
    margin-top: 28px;
    transform: rotate(-1deg) scale(1.025);
    background: rgba(255,255,255,.012)
}


@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}
@keyframes spinReverse {
    to {
        transform: rotate(-360deg)
    }
}
@keyframes marqueeMove {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateX(-50%)
    }
}


.marquee-track {
    width: max-content;
    display: flex;
    align-items: center;
    gap: 36px;
    white-space: nowrap;
    direction: ltr;
    animation: marqueeMove 28s linear infinite;
    will-change: transform
}

.marquee-track span {
    font-size: 1rem;
    letter-spacing: .14em;
    color: #565c64;
    font-weight: 800
}

.marquee-track i {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--gold)
}

[dir="rtl"] .marquee-track {
    animation-direction: reverse
}

.hero-marquee:hover .marquee-track {
    animation-play-state: paused
}

.section-intro-row {
    margin-bottom: 52px;
}

.section-heading-centered {
    max-width: 850px;
    margin: 0 auto 55px;
}

.section-heading-centered .section-label {
    justify-content: center;
}

.section-heading-centered .section-description {
    max-width: 650px;
}

/* ---------- Header ---------- */
.site-header {
    z-index: 1030;
    border-bottom: 1px solid transparent;
    transition: .25s ease;
}

.site-header.scrolled {
    background: rgba(9,11,14,.87);
    backdrop-filter: blur(18px);
    border-bottom-color: var(--line);
}

.header-container {
    min-height: var(--header-height);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--ink) !important;
    margin: 0;
}

.brand-symbol {
    width: 38px;
    height: 38px;
    border: 1px solid var(--line-gold);
    border-radius: 12px;
    display: grid;
    place-items: center;
    position: relative;
    transform: rotate(45deg);
    background: linear-gradient(145deg, rgba(214,173,82,.12), transparent);
}

.brand-symbol::before, .brand-symbol::after {
    content: "";
    position: absolute;
    width: 11px;
    height: 11px;
    border: 2px solid var(--gold);
}

.brand-symbol::before {
    top: 7px;
    right: 7px;
    border-left: 0;
    border-bottom: 0;
}

.brand-symbol::after {
    bottom: 7px;
    left: 7px;
    border-right: 0;
    border-top: 0;
}

.brand-symbol > span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold-2);
    box-shadow: 0 0 14px var(--gold);
}

.brand-word {
    display: flex;
    align-items: baseline;
    gap: 7px;
}

.brand-word b {
    font-size: 1.08rem;
    font-weight: 900;
}

.brand-word small {
    color: var(--gold);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .22em;
}

.navbar-nav {
    gap: 13px;
}

.navbar .nav-link {
    color: #b9bbc0;
    font-size: .82rem;
    font-weight: 500;
    padding: 28px 9px !important;
    position: relative;
}

.navbar .nav-link::after {
    content: "";
    position: absolute;
    bottom: 19px;
    inset-inline-start: 9px;
    width: 0;
    height: 1px;
    background: var(--gold);
    transition: .25s ease;
}

.navbar .nav-link:hover, .navbar .nav-link.active {
    color: #fff;
}

.navbar .nav-link:hover::after, .navbar .nav-link.active::after {
    width: calc(100% - 18px);
}

.custom-toggler {
    border: 1px solid var(--line);
    border-radius: 12px;
    width: 44px;
    height: 44px;
    padding: 0;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    box-shadow: none !important;
}

.custom-toggler span {
    width: 19px;
    height: 1px;
    background: #fff;
}

.header-actions {
    flex-shrink: 0;
}

.language-button {
    color: #c5c7ca;
    border: 1px solid var(--line);
    border-radius: 12px;
    min-height: 42px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .76rem;
}

.language-button:hover, .language-button:focus {
    border-color: var(--line-gold);
    color: #fff;
}

.language-button svg {
    font-size: 1.05rem;
}

.language-dropdown .dropdown-menu {
    background: #15191f;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 7px;
    min-width: 145px;
    box-shadow: var(--shadow-lg);
}

.language-dropdown .dropdown-item {
    color: #c8c9cc;
    border-radius: 9px;
    padding: 8px 10px;
    font-size: .78rem;
    text-align: start;
}

.language-dropdown .dropdown-item:hover, .language-dropdown .dropdown-item.active {
    color: var(--gold-2);
    background: var(--gold-soft);
}

.btn-gold {
    background: var(--gold);
    color: #111 !important;
    border: 1px solid var(--gold);
    font-weight: 800;
    border-radius: 12px;
    box-shadow: 0 13px 35px rgba(214,173,82,.14);
}

.btn-gold:hover {
    background: var(--gold-2);
    border-color: var(--gold-2);
    transform: translateY(-2px);
}

.header-cta {
    min-height: 42px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: .76rem;
}

.header-cta svg {
    width: 15px;
}

[dir="rtl"] .header-cta svg, [dir="rtl"] .btn-gold svg, [dir="rtl"] .text-link svg, [dir="rtl"] .btn-dark-enterprise svg {
    transform: scaleX(-1);
}

/* ---------- Hero ---------- */
.hero-section {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 15% 10%, rgba(214,173,82,.09), transparent 24%), radial-gradient(circle at 90% 40%, rgba(87,110,145,.06), transparent 28%), var(--bg);
}

.hero-grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 74px 74px;
    mask-image: linear-gradient(to bottom, #000 5%, transparent 84%);
}

.hero-section::before {
    content: "";
    position: absolute;
    width: 580px;
    height: 580px;
    border: 1px solid rgba(214,173,82,.08);
    border-radius: 50%;
    top: -250px;
    inset-inline-end: -180px;
    box-shadow: 0 0 0 75px rgba(214,173,82,.018), 0 0 0 150px rgba(214,173,82,.01);
}

.hero-row {
    padding-top: 80px;
    min-height: 820px !important;
}

.hero-content {
    max-width: 650px;
    position: relative;
    z-index: 2;
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 7px 12px;
    border: 1px solid var(--line-gold);
    border-radius: 999px;
    color: var(--gold-2);
    background: rgba(214,173,82,.045);
    font-size: .72rem;
    font-weight: 700;
}

.eyebrow > span:first-child {
    width: 6px;
    height: 6px;
    background: var(--gold);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(214,173,82,.09);
}

.hero-content h1 {
    margin: 22px 0 20px;
    font-size: clamp(2.75rem, 5.1vw, 5.4rem);
    line-height: 1.18;
    letter-spacing: -.055em;
    font-weight: 900;
}

.hero-content h1 em {
    font-style: normal;
    color: var(--gold-2);
}

.hero-lead {
    max-width: 620px;
    color: #b5b7ba;
    font-size: 1rem;
    line-height: 2.05;
    margin-bottom: 30px;
}

.btn-lg-enterprise {
    min-height: 51px;
    padding: 0 21px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: .83rem;
    border-radius: 13px;
    transition: .25s ease;
}

.btn-outline-enterprise {
    color: #e5e5e2;
    border: 1px solid var(--line-strong);
    background: rgba(255,255,255,.025);
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 47px;
    padding: 0 18px;
    font-size: .8rem;
    font-weight: 700;
    transition: .25s ease;
}

.btn-outline-enterprise:hover {
    color: #fff;
    border-color: var(--line-gold);
    background: var(--gold-soft);
    transform: translateY(-2px);
}

.btn-outline-enterprise svg {
    width: 15px;
}

.hero-proof {
    margin-top: 42px;
    padding-top: 25px;
    border-top: 1px solid var(--line);
    max-width: 620px;
}

.proof-item {
    min-height: 54px;
    border-inline-start: 1px solid var(--line); padding-inline-start: 15px;
}

.hero-proof .col-4:first-child .proof-item {
    border-inline-start: 0; padding-inline-start: 0; }

.proof-item strong {
    display: block;
    color: var(--gold-2);
    font-size: 1.2rem;
    line-height: 1.2;
}

.proof-item span {
    display: block;
    color: var(--muted-2);
    font-size: .64rem;
    margin-top: 5px;
    line-height: 1.55;
}

.hero-console {
    position: relative;
    padding: 38px 5px 45px 28px;
}

.console-shell {
    background: #11151a;
    border: 1px solid rgba(214,173,82,.2);
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 40px 100px rgba(0,0,0,.47);
    transform: perspective(1200px) rotateY(-3deg) rotateX(1deg);
    transition: .4s ease;
}

[dir="rtl"] .console-shell {
    transform: perspective(1200px) rotateY(3deg) rotateX(1deg);
}

.console-shell:hover {
    transform: none;
}

.console-topbar {
    height: 52px;
    padding: 0 17px;
    border-bottom: 1px solid var(--line);
    background: #171c22;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.console-brand, .console-status {
    display: flex;
    align-items: center;
    gap: 8px;
}

.console-brand b {
    font-size: .68rem;
    color: #d6d8db;
}

.mini-core {
    width: 17px;
    height: 17px;
    border: 1px solid var(--gold);
    border-radius: 5px;
    transform: rotate(45deg);
    position: relative;
}

.mini-core::after {
    content: "";
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--gold);
    inset: 0;
    margin: auto;
}

.console-status {
    color: #8bcda2;
    font-size: .58rem;
}

.console-status > span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--success);
    box-shadow: 0 0 0 5px rgba(100,197,139,.08);
}

.console-layout {
    min-height: 475px;
    display: grid;
    grid-template-columns: 58px 1fr;
}

.console-sidebar {
    padding: 15px 9px;
    border-inline-end: 1px solid var(--line); display: flex;
    align-items: center;
    flex-direction: column;
    gap: 8px;
    background: #0e1216;
}

.console-sidebar button {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #59616c;
    display: grid;
    place-items: center;
}

.console-sidebar button.active {
    background: var(--gold-soft);
    color: var(--gold);
}

.console-sidebar svg {
    width: 17px;
    height: 17px;
}

.console-main {
    padding: 20px;
    min-width: 0;
}

.console-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 17px;
}

.console-heading small, .console-heading strong {
    display: block;
}

.console-heading small {
    color: var(--muted-2);
    font-size: .56rem;
}

.console-heading strong {
    font-size: .82rem;
    margin-top: 2px;
}

.date-pill {
    color: var(--success);
    border: 1px solid rgba(100,197,139,.2);
    background: rgba(100,197,139,.06);
    border-radius: 999px;
    font-size: .55rem;
    padding: 4px 9px;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
}

.metric-card {
    border: 1px solid var(--line);
    border-radius: 13px;
    padding: 11px;
    background: rgba(255,255,255,.018);
}

.metric-card span, .metric-card strong, .metric-card small {
    display: block;
}

.metric-card span {
    color: var(--muted-2);
    font-size: .52rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.metric-card strong {
    font-size: 1.06rem;
    margin: 6px 0 2px;
    letter-spacing: -.03em;
}

.metric-card small {
    color: var(--success);
    font-size: .5rem;
}

.console-chart-card {
    border: 1px solid var(--line);
    border-radius: 14px;
    margin-top: 10px;
    padding: 13px 14px 7px;
    background: rgba(255,255,255,.015);
}

.chart-card-head {
    display: flex;
    justify-content: space-between;
    color: #d4d5d6;
    font-size: .57rem;
}

.chart-card-head small {
    color: var(--muted-2);
}

.line-chart {
    height: 125px;
    margin-top: 8px;
}

.line-chart svg {
    width: 100%;
    height: 100%;
}

.chart-grid-line {
    stroke: rgba(255,255,255,.06);
    stroke-width: 1;
}

.chart-area {
    fill: url(#chartFill);
    stroke: none;
}

.chart-line {
    fill: none;
    stroke: var(--gold);
    stroke-width: 2.2;
    vector-effect: non-scaling-stroke;
}

.service-health {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
    margin-top: 10px;
}

.service-health > div {
    border: 1px solid var(--line);
    border-radius: 10px;
    min-height: 42px;
    padding: 0 9px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .52rem;
}

.service-health b {
    font-size: .55rem;
    flex: 1;
}

.service-health small {
    color: var(--muted-2);
}

.service-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold);
}

.service-dot.hotel {
    background: #70a9d8;
}

.service-dot.cargo {
    background: #79c48f;
}

.hero-floating-card {
    position: absolute;
    min-width: 155px;
    min-height: 57px;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: rgba(18,22,27,.9);
    backdrop-filter: blur(14px);
    box-shadow: 0 22px 55px rgba(0,0,0,.38);
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    animation: float 5s ease-in-out infinite;
}

.hero-floating-card > svg {
    width: 25px;
    height: 25px;
    padding: 5px;
    border-radius: 8px;
    color: var(--gold);
    background: var(--gold-soft);
}

.hero-floating-card > span {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--gold);
    color: #111;
    font-size: .66rem;
    font-weight: 900;
    display: grid;
    place-items: center;
}

.hero-floating-card small, .hero-floating-card b {
    display: block;
}

.hero-floating-card small {
    color: var(--muted-2);
    font-size: .5rem;
}

.hero-floating-card b {
    font-size: .62rem;
    margin-top: 2px;
}

.floating-one {
    top: 4px;
    inset-inline-end: -17px;
}

.floating-two {
    bottom: 5px;
    inset-inline-start: -12px;
    animation-delay: -2.3s;
}

.trusted-strip {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: rgba(255,255,255,.012);
    min-height: 74px;
    display: flex;
    align-items: center;
}

.trusted-strip .container > span {
    color: var(--muted-2);
    font-size: .65rem;
}

.trusted-items {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 21px;
    color: #777c83;
}

.trusted-items b {
    font-size: .67rem;
    font-weight: 600;
}

.trusted-items i {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--gold);
    opacity: .7;
}

/* ---------- Aggregation ---------- */
.platform-section {
    background: #0c0f13;
    border-bottom: 1px solid var(--line);
}

.aggregation-board {
    display: grid;
    grid-template-columns: 1fr 58px 1fr 58px 1fr;
    align-items: stretch;
    margin-top: 20px;
}

.aggregation-stage {
    min-width: 0;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255,255,255,.025), transparent), #11151a;
    padding: 20px;
    display: flex;
    flex-direction: column;
    min-height: 475px;
    position: relative;
    overflow: hidden;
}

.aggregation-stage::before {
    content: "";
    position: absolute;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    inset-inline-end: -110px;
    top: -110px;
    background: radial-gradient(circle,rgba(214,173,82,.08),transparent 68%);
}

.stage-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    z-index: 1;
}

.stage-heading > span {
    width: 31px;
    height: 31px;
    border: 1px solid var(--line-gold);
    border-radius: 9px;
    display: grid;
    place-items: center;
    color: var(--gold);
    font-size: .58rem;
    font-weight: 800;
}

.stage-heading b, .stage-heading small {
    display: block;
}

.stage-heading b {
    font-size: .75rem
}

.stage-heading small {
    color: var(--muted-2);
    font-size: .53rem;
    margin-top: 1px;
}

.stage-footer {
    margin-top: auto;
    border-top: 1px solid var(--line);
    padding-top: 14px;
    display: flex;
    align-items: baseline;
    gap: 8px;
    position: relative;
    z-index: 1;
}

.stage-footer strong {
    color: var(--gold-2);
    font-size: 1.2rem;
}

.stage-footer span {
    color: var(--muted-2);
    font-size: .6rem;
}

.supplier-cloud {
    flex: 1;
    padding: 28px 0 18px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    align-content: center;
    position: relative;
}

.supplier-cloud::after {
    content: "";
    position: absolute;
    inset: 20% 15%;
    border: 1px dashed rgba(214,173,82,.12);
    border-radius: 50%;
    filter: blur(.2px);
}

.supplier-node, .supplier-more {
    aspect-ratio: 1;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    place-items: center;
    color: #858b93;
    font-size: .5rem;
    font-weight: 700;
    background: #151a20;
    position: relative;
    z-index: 1;
    transition: .2s ease;
}

.supplier-node:nth-child(3n) {
    transform: translateY(-7px);
}

.supplier-node:nth-child(4n) {
    transform: translateY(8px)
}

.supplier-node:hover {
    border-color: var(--line-gold);
    color: var(--gold-2);
    transform: translateY(-3px) scale(1.04);
}

.supplier-node.node-large {
    border-color: rgba(214,173,82,.2);
    color: var(--gold);
    background: var(--gold-soft);
}

.supplier-more {
    color: #111;
    background: var(--gold);
    border-color: var(--gold);
    font-size: .62rem;
}

.aggregation-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.aggregation-flow::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg,transparent,var(--gold),transparent);
    opacity: .55;
}

[dir="rtl"] .aggregation-flow::before {
    background: linear-gradient(-90deg,transparent,var(--gold),transparent);
}

.aggregation-flow span {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 10px var(--gold);
    position: absolute;
    animation: flowDot 2.3s linear infinite;
}

.aggregation-flow span:nth-child(2) {
    animation-delay: -.8s
}

.aggregation-flow span:nth-child(3) {
    animation-delay: -1.6s
}

.core-processor {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    position: relative;
    z-index: 1;
}

.processor-logo {
    width: 112px;
    height: 112px;
    margin: 0 auto;
    border-radius: 50%;
    border: 1px solid var(--line-gold);
    background: radial-gradient(circle at 35% 30%,rgba(255,255,255,.1),transparent 20%),linear-gradient(145deg,#282116,#101318);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    box-shadow: 0 0 0 12px rgba(214,173,82,.025),0 18px 45px rgba(0,0,0,.32);
}

.processor-logo .brand-symbol {
    width: 30px;
    height: 30px;
    border-radius: 9px;
}

.processor-logo b {
    font-size: .65rem;
    letter-spacing: .18em;
    color: var(--gold-2);
}

.processor-steps {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.processor-steps > div {
    min-height: 39px;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,.015);
}

.processor-steps svg {
    width: 14px;
    height: 14px;
    color: var(--gold)
}

.processor-steps span {
    font-size: .57rem;
    flex: 1;
    color: #b8bbc0
}

.processor-steps b {
    color: var(--success);
    font-size: .65rem;
}

.unified-ui {
    flex: 1;
    margin: 22px 0 15px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: #0d1115;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.unified-top {
    min-height: 48px;
    border-bottom: 1px solid var(--line);
    display: flex;
    align-items: center;
    padding: 0 11px;
    gap: 8px;
}

.client-logo {
    width: 27px;
    height: 27px;
    border-radius: 8px;
    background: var(--gold);
    color: #111;
    display: grid;
    place-items: center;
    font-size: .65rem;
    font-weight: 900;
}

.unified-top>span {
    font-size: .58rem;
    font-weight: 700;
    flex: 1
}

.unified-top button {
    border: 0;
    border-radius: 7px;
    background: #20262d;
    color: #c7c9cb;
    font-size: .5rem;
    padding: 5px 9px;
}

.unified-search {
    margin: 10px;
    border: 1px solid var(--line);
    border-radius: 11px;
    min-height: 58px;
    padding: 8px;
    display: grid;
    grid-template-columns: 1fr 25px 1fr 56px;
    align-items: center;
    gap: 5px;
    background: #151a20;
}

.unified-search div {
    min-width: 0
}

.unified-search small,.unified-search b {
    display: block
}

.unified-search small {
    font-size: .45rem;
    color: var(--muted-2)
}

.unified-search b {
    font-size: .56rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.unified-search>svg {
    color: #666;
    width: 13px
}

.unified-search button {
    height: 39px;
    border: 0;
    border-radius: 8px;
    background: var(--gold);
    color: #111;
    font-size: .48rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px
}

.unified-search button svg {
    width: 12px;
}

.unified-results {
    padding: 0 10px 10px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.result-row {
    min-height: 53px;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    grid-template-columns: 30px 1fr auto;
    gap: 8px;
    align-items: center;
    padding: 6px 8px;
    background: #11161b
}

.airline-mark {
    width: 27px;
    height: 27px;
    border-radius: 8px;
    background: var(--gold-soft);
    color: var(--gold);
    display: grid;
    place-items: center;
    font-size: .54rem;
    font-weight: 900
}

.result-row div b,.result-row div small {
    display: block
}

.result-row div b {
    font-size: .52rem
}

.result-row div small {
    font-size: .42rem;
    color: var(--muted-2)
}

.result-row>strong {
    font-size: .5rem;
    color: var(--gold-2);
    direction: ltr;
}

.aggregation-summary {
    margin-top: 17px;
}

.summary-card {
    min-height: 86px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255,255,255,.018);
    padding: 14px;
    display: grid;
    grid-template-columns: auto 20px auto;
    align-items: center;
    column-gap: 8px
}

.summary-card>span {
    color: #92969c;
    font-size: .96rem;
}

.summary-card>svg {
    color: var(--gold);
    width: 14px
}

.summary-card>strong {
    font-size: .74rem;
    color: var(--gold-2)
}

.summary-card>small {
    grid-column: 1/-1;
    color: var(--muted-2);
    font-size: .72rem;
    margin-top: 5px;
}

[dir="rtl"] .summary-card>svg {
    transform: scaleX(-1);
}

/* ---------- RTL aggregation flow fix ----------
   Grid auto-placement already respects direction.
   Do not assign manual column numbers in RTL. */
html[dir="rtl"] .aggregation-board {
    direction: rtl;
}

html[dir="ltr"] .aggregation-board {
    direction: ltr;
}

html[dir="rtl"] .aggregation-board > .suppliers-stage, html[dir="rtl"] .aggregation-board > .flow-in, html[dir="rtl"] .aggregation-board > .core-stage, html[dir="rtl"] .aggregation-board > .flow-out, html[dir="rtl"] .aggregation-board > .product-stage {
    grid-column: auto !important;
}

/* ---------- Solutions ---------- */
.solutions-section {
    background: var(--bg);
}

.featured-solution {
    border: 1px solid var(--line);
    border-radius: 28px;
    overflow: hidden;
    background: linear-gradient(135deg,rgba(214,173,82,.055),transparent 40%),#11151a;
    margin-bottom: 16px;
}

.featured-content {
    padding: 45px;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.solution-icon-lg {
    width: 52px;
    height: 52px;
    border: 1px solid var(--line-gold);
    border-radius: 15px;
    display: grid;
    place-items: center;
    color: var(--gold);
    background: var(--gold-soft);
}

.solution-icon-lg svg {
    width: 24px;
    height: 24px;
}

.solution-overline {
    color: var(--muted-2);
    font-size: .56rem;
    letter-spacing: .16em;
    margin-top: 28px;
}

.featured-content h3 {
    font-size: 2rem;
    line-height: 1.4;
    margin: 7px 0 13px;
    font-weight: 800;
}

.featured-content>p {
    color: var(--muted);
    font-size: .88rem;
    line-height: 2;
    margin: 0;
}

.feature-list {
    list-style: none;
    padding: 0;
    margin: 25px 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.feature-list li {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #c9c9c6;
    font-size: .72rem
}

.feature-list svg {
    width: 18px;
    height: 18px;
    padding: 4px;
    border-radius: 50%;
    background: rgba(100,197,139,.08);
    color: var(--success);
}

.text-link {
    margin-top: auto;
    border: 0;
    background: none;
    color: var(--gold-2);
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: .73rem;
    font-weight: 700;
}

.text-link svg {
    width: 15px;
    transition: .2s
}

.text-link:hover svg {
    transform: translateX(4px)
}

[dir="rtl"] .text-link:hover svg {
    transform: scaleX(-1) translateX(4px)
}

.flight-product-visual {
    min-height: 550px;
    height: 100%;
    background: radial-gradient(circle at 65% 25%,rgba(214,173,82,.12),transparent 28%),#0c0f13;
    padding: 42px 35px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.flight-product-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
    background-size: 30px 30px;
    mask-image: linear-gradient(90deg,transparent,#000);
}

.flight-browser {
    width: 100%;
    border: 1px solid rgba(214,173,82,.18);
    border-radius: 20px;
    background: #11151a;
    box-shadow: 0 32px 70px rgba(0,0,0,.42);
    overflow: hidden;
    position: relative;
    z-index: 2;
    transform: perspective(1000px) rotateY(-2deg);
}

[dir="rtl"] .flight-browser {
    transform: perspective(1000px) rotateY(2deg)
}

.flight-browser-bar {
    height: 40px;
    background: #191e24;
    border-bottom: 1px solid var(--line);
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 0 12px;
    direction: ltr
}

.flight-browser-bar>span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #555d66
}

.flight-browser-bar>span:nth-child(1) {
    background: #d47672
}

.flight-browser-bar>span:nth-child(2) {
    background: #d6ad52
}

.flight-browser-bar>span:nth-child(3) {
    background: #68b784
}

.flight-browser-bar>b {
    margin: auto;
    color: #6e747b;
    font-size: .45rem;
    font-weight: 500;
    padding-inline-end:40px}

.flight-app {
    min-height: 390px;
    display: grid;
    grid-template-columns: 48px 1fr;
}

.flight-app>aside {
    border-inline-end:1px solid var(--line);background: #0e1216;
    padding: 10px 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px
}

.flight-logo {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--gold);
    color: #111;
    font-size: .6rem;
    font-weight: 900;
    display: grid;
    place-items: center;
    margin-bottom: 9px
}

.flight-app>aside button {
    width: 31px;
    height: 31px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #535b64;
    display: grid;
    place-items: center
}

.flight-app>aside button.active {
    background: var(--gold-soft);
    color: var(--gold)
}

.flight-app>aside svg {
    width: 14px;
    height: 14px
}

.flight-app-main {
    padding: 16px;
    min-width: 0
}

.flight-app-head {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.flight-app-head small,.flight-app-head b {
    display: block
}

.flight-app-head small {
    color: var(--muted-2);
    font-size: .45rem
}

.flight-app-head b {
    font-size: .66rem;
    margin-top: 2px
}

.provider-status {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: .46rem;
    color: #9ba0a6
}

.provider-status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--success);
    box-shadow: 0 0 0 5px rgba(100,197,139,.06)
}

.flight-search-bar {
    display: grid;
    grid-template-columns: 1fr 26px 1fr .8fr 38px;
    gap: 6px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #151a20;
    padding: 7px;
    margin-top: 13px
}

.flight-search-bar>div {
    border-inline-end:1px solid var(--line);padding-inline: 5px;
    min-width: 0
}

.flight-search-bar small,.flight-search-bar b {
    display: block
}

.flight-search-bar small {
    font-size: .42rem;
    color: var(--muted-2)
}

.flight-search-bar b {
    font-size: .5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.swap-btn,.search-btn {
    border: 0;
    border-radius: 8px;
    display: grid;
    place-items: center
}

.swap-btn {
    background: transparent;
    color: #777
}

.swap-btn svg {
    width: 12px
}

.search-btn {
    height: 34px;
    background: var(--gold);
    color: #111
}

.search-btn svg {
    width: 14px
}

.provider-pipeline {
    margin: 13px 0 10px
}

.pipeline-label {
    display: flex;
    justify-content: space-between;
    color: var(--muted-2);
    font-size: .43rem;
    margin-bottom: 5px
}

.pipeline-label b {
    color: var(--success);
    font-size: .45rem
}

.pipeline-track {
    height: 3px;
    border-radius: 999px;
    background: #232930;
    overflow: hidden
}

.pipeline-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg,var(--gold-3),var(--gold-2));
}

.flight-result-list {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.flight-result {
    min-height: 62px;
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    grid-template-columns: 1fr 1fr .75fr;
    align-items: center;
    padding: 7px 9px;
    background: #11161b
}

.flight-result.featured-result {
    border-color: rgba(214,173,82,.28);
    background: rgba(214,173,82,.035)
}

.airline-identity {
    display: flex;
    align-items: center;
    gap: 7px
}

.airline-identity>span {
    width: 29px;
    height: 29px;
    border-radius: 8px;
    background: var(--gold-soft);
    color: var(--gold);
    display: grid;
    place-items: center;
    font-size: .55rem;
    font-weight: 900
}

.airline-identity b,.airline-identity small {
    display: block
}

.airline-identity b {
    font-size: .48rem
}

.airline-identity small {
    font-size: .39rem;
    color: var(--muted-2)
}

.flight-time {
    display: flex;
    align-items: center;
    gap: 6px;
    direction: ltr
}

.flight-time b {
    font-size: .49rem
}

.flight-time span {
    width: 34px;
    height: 1px;
    background: #4a5159;
    position: relative
}

.flight-time span::before,.flight-time span::after {
    content: "";
    position: absolute;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--gold);
    top: -1px
}

.flight-time span::before {
    left: 0
}

.flight-time span::after {
    right: 0
}

.flight-price {
    text-align: end
}

.flight-price small,.flight-price b {
    display: block
}

.flight-price small {
    font-size: .39rem;
    color: var(--success)
}

.flight-price b {
    font-size: .5rem;
    color: var(--gold-2);
    direction: ltr
}

.visual-note {
    position: absolute;
    z-index: 3;
    border: 1px solid var(--line);
    background: rgba(16,20,25,.92);
    backdrop-filter: blur(12px);
    border-radius: 12px;
    padding: 9px 11px;
    box-shadow: 0 18px 40px rgba(0,0,0,.3);
    display: flex;
    align-items: center;
    gap: 7px
}

.visual-note b {
    color: var(--gold-2);
    font-size: .8rem
}

.visual-note span {
    font-size: .51rem;
    color: #b7bbc0
}

.visual-note svg {
    width: 18px;
    color: var(--success)
}

.note-one {
    top: 18px;
    inset-inline-end: 20px
}

.note-two {
    bottom: 18px;
    inset-inline-start: 18px
}

.solution-grid {
    margin-top: 0;
}

.solution-card {
    height: 100%;
    min-height: 350px;
    border: 1px solid var(--line);
    border-radius: 21px;
    background: linear-gradient(145deg,rgba(255,255,255,.022),transparent),#101419;
    padding: 23px;
    display: flex;
    flex-direction: column;
    transition: .25s ease;
    overflow: hidden;
    position: relative
}

.solution-card::before {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    top: -85px;
    inset-inline-end: -85px;
    background: radial-gradient(circle,rgba(214,173,82,.09),transparent 70%);
    opacity: 0;
    transition: .25s
}

.solution-card:hover {
    transform: translateY(-6px);
    border-color: var(--line-gold);
    background-color: #12171d
}

.solution-card:hover::before {
    opacity: 1
}

.solution-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.solution-icon {
    width: 42px;
    height: 42px;
    border: 1px solid var(--line-gold);
    border-radius: 12px;
    color: var(--gold);
    background: var(--gold-soft);
    display: grid;
    place-items: center
}

.solution-icon svg {
    width: 19px;
    height: 19px
}

.solution-card-head>span {
    color: #535a63;
    font-size: .56rem;
    letter-spacing: .14em
}

.solution-card h3 {
    font-size: 1.08rem;
    margin: 20px 0 7px;
    font-weight: 800
}

.solution-card>p {
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.9;
    margin: 0
}

.mini-visual {
    min-height: 86px;
    margin: 21px 0 18px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #0d1115;
    position: relative;
    overflow: hidden
}

.card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: auto
}

.card-tags span {
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted-2);
    font-size: .48rem;
    padding: 3px 8px
}

.hotel-visual {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px
}

.hotel-calendar {
    width: 46px;
    height: 55px;
    border: 1px solid var(--line-gold);
    border-radius: 9px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--gold-soft)
}

.hotel-calendar b {
    color: var(--gold-2);
    font-size: .9rem;
    line-height: 1
}

.hotel-calendar span {
    font-size: .4rem;
    color: var(--muted-2)
}

.hotel-bars {
    flex: 1;
    display: flex;
    align-items: end;
    gap: 5px;
    height: 45px
}

.hotel-bars i {
    width: 28%;
    border-radius: 4px 4px 0 0;
    background: #293039
}

.hotel-bars i:nth-child(1) {
    height: 45%
}

.hotel-bars i:nth-child(2) {
    height: 78%;
    background: var(--gold)
}

.hotel-bars i:nth-child(3) {
    height: 62%
}

.hotel-visual small {
    position: absolute;
    bottom: 5px;
    inset-inline-end: 10px;
    color: var(--muted-2);
    font-size: .38rem
}

.route-visual {
    display: flex;
    align-items: center;
    padding: 0 20px
}

.route-visual>i {
    flex: 1;
    height: 1px;
    background: repeating-linear-gradient(90deg,var(--gold) 0 5px,transparent 5px 9px)
}

.route-point {
    width: 11px;
    height: 11px;
    border: 2px solid var(--gold);
    border-radius: 50%;
    box-shadow: 0 0 0 5px var(--gold-soft)
}

.route-point.end {
    background: var(--gold)
}

.truck-dot {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: #1b2229;
    border: 1px solid var(--line);
    display: grid;
    place-items: center;
    color: var(--gold)
}

.truck-dot svg {
    width: 17px
}

.workflow-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px
}

.workflow-step {
    width: 27px;
    height: 27px;
    border: 1px solid var(--line);
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #626a74;
    font-size: .48rem
}

.workflow-step.active {
    border-color: var(--gold);
    color: var(--gold);
    box-shadow: 0 0 0 5px var(--gold-soft)
}

.workflow-step.done {
    border-color: rgba(100,197,139,.4);
    background: rgba(100,197,139,.08);
    color: var(--success)
}

.workflow-step svg {
    width: 13px
}

.workflow-visual>i {
    width: 28px;
    height: 1px;
    background: #30363d
}

.shop-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px
}

.shop-product {
    width: 41px;
    height: 49px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(145deg,#242b33,#151a20);
    position: relative
}

.shop-product::before {
    content: "";
    position: absolute;
    inset: 7px 7px 19px;
    border-radius: 5px;
    background: var(--gold-soft)
}

.shop-product::after {
    content: "";
    position: absolute;
    bottom: 8px;
    left: 7px;
    right: 7px;
    height: 3px;
    border-radius: 3px;
    background: #343b43
}

.shop-visual>span {
    color: var(--gold-2);
    font-size: .55rem
}

.schedule-visual {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding: 11px 17px
}

.schedule-visual>div {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 8px;
    align-items: center
}

.schedule-visual span {
    font-size: .45rem;
    color: #7c838b;
    direction: ltr
}

.schedule-visual i {
    height: 5px;
    border-radius: 999px;
    background: #282f37;
    position: relative
}

.schedule-visual i.active::after {
    content: "";
    position: absolute;
    inset: 0 35% 0 0;
    border-radius: inherit;
    background: var(--gold)
}

.train-visual {
    display: flex;
    align-items: center;
    padding: 0 17px
}

.rail {
    position: absolute;
    inset-inline: 17px;
    height: 2px;
    background: #3b424a
}

.rail::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -5px;
    height: 12px;
    background: repeating-linear-gradient(90deg,transparent 0 8px,#363d45 8px 10px)
}

.mini-train {
    position: absolute;
    inset-inline-start: 37%;
    width: 35px;
    height: 35px;
    border-radius: 9px;
    background: #1e252c;
    border: 1px solid var(--line-gold);
    color: var(--gold);
    display: grid;
    place-items: center;
    z-index: 2
}

.mini-train svg {
    width: 18px
}

.station {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid var(--gold);
    background: #0d1115;
    z-index: 2
}

.station.one {
    inset-inline-start: 18px
}

.station.two {
    inset-inline-end: 18px;
    background: var(--gold)
}

/* ---------- White label ---------- */
.white-label-section {
    background: #0c0f13;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    overflow: hidden;
}

.white-label-copy {
    max-width: 520px;
}

.white-label-copy .section-description {
    margin-top: 18px
}

.white-label-points {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-top: 27px
}

.white-label-points>div {
    border: 1px solid var(--line);
    border-radius: 13px;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 11px;
    background: rgba(255,255,255,.014)
}

.white-label-points>div>span {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: var(--gold-soft);
    color: var(--gold);
    display: grid;
    place-items: center;
    font-size: .55rem;
    font-weight: 800
}

.white-label-points b,.white-label-points small {
    display: block
}

.white-label-points b {
    font-size: .92rem;
}

.white-label-points small {
    color: var(--muted-2);
    font-size: .82rem;
    margin-top: 2px
}

.dark-product-preview {
    position: relative;
    padding: 34px 0 34px 28px
}

.product-window {
    border: 1px solid rgba(214,173,82,.2);
    border-radius: 23px;
    background: #0f1317;
    overflow: hidden;
    box-shadow: 0 38px 90px rgba(0,0,0,.42);
    transform: perspective(1200px) rotateY(-3deg);
    transition: .35s
}

.dark-product-preview:hover .product-window {
    transform: none
}

[dir="rtl"] .product-window {
    transform: perspective(1200px) rotateY(3deg)
}

.product-window-top {
    height: 43px;
    border-bottom: 1px solid var(--line);
    background: #181d23;
    display: grid;
    grid-template-columns: 90px 1fr 90px;
    align-items: center;
    padding: 0 13px;
    direction: ltr
}

.product-window-top>div {
    display: flex;
    gap: 5px
}

.product-window-top>div span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #535b64
}

.product-window-top b {
    justify-self: center;
    color: #707780;
    font-size: .45rem;
    font-weight: 500
}

.product-window-top small {
    justify-self: end;
    color: var(--success);
    font-size: .4rem
}

.product-window-top small i {
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--success);
    margin-right: 3px
}

.product-window-body {
    min-height: 470px;
    display: grid;
    grid-template-columns: 155px 1fr
}

.product-nav {
    border-inline-end:1px solid var(--line);background: #0c1014;
    padding: 16px 10px;
    display: flex;
    flex-direction: column
}

.custom-logo {
    width: 39px;
    height: 39px;
    border-radius: 11px;
    background: var(--gold);
    color: #111;
    display: grid;
    place-items: center;
    font-weight: 900;
    font-size: .85rem;
    margin-bottom: 20px
}

.product-nav nav {
    display: flex;
    flex-direction: column;
    gap: 6px
}

.product-nav nav button {
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #626a73;
    min-height: 36px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 9px;
    font-size: .5rem;
    text-align: start
}

.product-nav nav button.active {
    color: var(--gold-2);
    background: var(--gold-soft)
}

.product-nav nav svg {
    width: 14px;
    height: 14px
}

.nav-user {
    margin-top: auto;
    border-top: 1px solid var(--line);
    padding-top: 12px;
    display: flex;
    align-items: center;
    gap: 7px
}

.nav-user>span {
    width: 29px;
    height: 29px;
    border-radius: 8px;
    background: #20262d;
    display: grid;
    place-items: center;
    font-size: .45rem
}

.nav-user b,.nav-user small {
    display: block
}

.nav-user b {
    font-size: .47rem
}

.nav-user small {
    font-size: .37rem;
    color: var(--muted-2)
}

.product-content {
    padding: 19px;
    min-width: 0
}

.product-content-head {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.product-content-head small,.product-content-head b {
    display: block
}

.product-content-head small {
    color: var(--muted-2);
    font-size: .43rem
}

.product-content-head b {
    font-size: .68rem;
    margin-top: 2px
}

.product-content-head>button {
    border: 0;
    border-radius: 8px;
    background: var(--gold);
    color: #111;
    min-height: 31px;
    padding: 0 9px;
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: .44rem;
    font-weight: 800
}

.product-content-head>button svg {
    width: 11px
}

.product-kpis {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 7px;
    margin-top: 14px
}

.product-kpis>div {
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #13181e;
    padding: 10px
}

.product-kpis span,.product-kpis b,.product-kpis small {
    display: block
}

.product-kpis span {
    font-size: .41rem;
    color: var(--muted-2)
}

.product-kpis b {
    font-size: .78rem;
    margin: 5px 0 1px
}

.product-kpis small {
    font-size: .38rem;
    color: var(--success)
}

.product-lower-grid {
    display: grid;
    grid-template-columns: 1.5fr .8fr;
    gap: 8px;
    margin-top: 8px
}

.dark-chart,.dark-activity {
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #11161b;
    padding: 11px;
    min-width: 0
}

.dark-chart>div {
    display: flex;
    justify-content: space-between;
    font-size: .43rem
}

.dark-chart>div small {
    color: var(--muted-2)
}

.dark-chart svg {
    width: 100%;
    height: 150px;
    margin-top: 5px
}

.dark-chart-area {
    fill: url(#darkFill);
    stroke: none
}

.dark-chart-line {
    fill: none;
    stroke: var(--gold);
    stroke-width: 2;
    vector-effect: non-scaling-stroke
}

.dark-activity>span {
    display: block;
    font-size: .45rem;
    margin-bottom: 12px
}

.dark-activity>div {
    display: flex;
    gap: 7px;
    align-items: flex-start;
    margin-bottom: 13px
}

.dark-activity i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gold);
    margin-top: 4px;
    box-shadow: 0 0 0 4px var(--gold-soft)
}

.dark-activity p {
    margin: 0
}

.dark-activity b,.dark-activity small {
    display: block
}

.dark-activity b {
    font-size: .42rem;
    white-space: nowrap
}

.dark-activity small {
    font-size: .34rem;
    color: var(--muted-2)
}

.brand-config-card {
    position: absolute;
    bottom: 0;
    inset-inline-start: -5px;
    z-index: 3;
    min-width: 180px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(18,22,27,.94);
    backdrop-filter: blur(12px);
    padding: 12px;
    box-shadow: 0 20px 50px rgba(0,0,0,.35)
}

.brand-config-card small,.brand-config-card strong {
    display: block
}

.brand-config-card small {
    color: var(--muted-2);
    font-size: .45rem
}

.brand-config-card strong {
    font-size: .58rem;
    margin-top: 6px
}

.color-swatches {
    display: flex;
    gap: 5px;
    margin-top: 8px
}

.color-swatches i {
    width: 17px;
    height: 17px;
    border-radius: 5px;
    background: var(--gold)
}

.color-swatches i:nth-child(2) {
    background: #202832
}

.color-swatches i:nth-child(3) {
    background: #5576a9
}

.color-swatches i:nth-child(4) {
    background: #eee9dd
}

/* ---------- Advantages ---------- */
.advantages-section {
    background: var(--bg);
}

.comparison-panel {
    display: grid;
    grid-template-columns: 1fr 72px 1fr;
    border: 1px solid var(--line);
    border-radius: 27px;
    background: #101419;
    overflow: hidden
}

.comparison-side {
    padding: 30px
}

.traditional-side {
    background: linear-gradient(145deg,rgba(223,116,111,.025),transparent)
}

.karaneh-side {
    background: linear-gradient(145deg,rgba(214,173,82,.06),transparent)
}

.comparison-head span,.comparison-head strong {
    display: block
}

.comparison-head span {
    color: var(--muted-2);
    font-size: .86rem;
    text-transform: uppercase;
    letter-spacing: .12em
}

.comparison-head strong {
    font-size: 1.15rem;
    margin-top: 5px
}

.traditional-stack {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 24px 0
}

.traditional-stack>div {
    min-height: 80px;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 11px;
    background: rgba(255,255,255,.014);
    display: grid;
    grid-template-columns: 27px 1fr;
    column-gap: 7px;
    align-items: center
}

.traditional-stack svg {
    grid-row: 1/3;
    width: 25px;
    height: 25px;
    padding: 5px;
    border-radius: 7px;
    background: rgba(223,116,111,.07);
    color: var(--danger)
}

.traditional-stack span {
    font-size: .78rem;
}

.traditional-stack b {
    font-size: .75rem;
    color: #8a8f96;
    font-weight: 500
}

.comparison-result {
    border-radius: 13px;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 9px
}

.comparison-result svg {
    width: 28px;
    height: 28px;
    padding: 6px;
    border-radius: 9px
}

.comparison-result b,.comparison-result small {
    display: block
}

.comparison-result b {
    font-size: .88rem;
}

.comparison-result small {
    font-size: .79rem;
    margin-top: 1px
}

.comparison-result.negative {
    border: 1px solid rgba(223,116,111,.16);
    background: rgba(223,116,111,.04)
}

.comparison-result.negative svg {
    color: var(--danger);
    background: rgba(223,116,111,.08)
}

.comparison-result.negative small {
    color: #a57b78
}

.comparison-result.positive {
    border: 1px solid rgba(100,197,139,.16);
    background: rgba(100,197,139,.035)
}

.comparison-result.positive svg {
    color: var(--success);
    background: rgba(100,197,139,.08)
}

.comparison-result.positive small {
    color: #79a78b
}

.comparison-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.comparison-divider::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--line)
}

.comparison-divider span {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #171c22;
    border: 1px solid var(--line-gold);
    display: grid;
    place-items: center;
    color: var(--gold);
    font-size: .75rem;
    font-weight: 900;
    position: relative;
    z-index: 2
}

.karaneh-value {
    min-height: 185px;
    margin: 24px 0;
    border: 1px solid var(--line-gold);
    border-radius: 16px;
    background: rgba(214,173,82,.025);
    display: grid;
    grid-template-columns: 125px 1fr;
    align-items: center;
    gap: 16px;
    padding: 18px
}

.value-core {
    width: 105px;
    height: 105px;
    border-radius: 50%;
    border: 1px solid var(--line-gold);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    background: linear-gradient(145deg,#292116,#101318)
}

.value-core .brand-symbol {
    width: 33px;
    height: 33px;
    border-radius: 10px
}

.value-core b {
    color: var(--gold-2);
    font-size: .58rem;
    letter-spacing: .17em
}

.value-lines {
    display: flex;
    flex-direction: column;
    gap: 7px
}

.value-lines span {
    border: 1px solid var(--line);
    border-radius: 9px;
    min-height: 31px;
    padding: 0 9px;
    display: flex;
    align-items: center;
    color: #b9bdc1;
    font-size: .82rem;
}

.value-lines span::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
    margin-inline-end:7px}

.advantage-grid {
    margin-top: 16px
}

.advantage-card {
    height: 100%;
    min-height: 240px;
    border: 1px solid var(--line);
    border-radius: 19px;
    background: #101419;
    padding: 21px;
    position: relative;
    transition: .25s
}

.advantage-card:hover {
    transform: translateY(-5px);
    border-color: var(--line-gold)
}

.advantage-card>span {
    position: absolute;
    top: 18px;
    inset-inline-end: 18px;
    color: #4e555e;
    font-size: .82rem;
    letter-spacing: .14em
}

.advantage-card>svg {
    width: 38px;
    height: 38px;
    padding: 9px;
    border-radius: 11px;
    background: var(--gold-soft);
    color: var(--gold)
}

.advantage-card h3 {
    font-size: 1rem;
    line-height: 1.65;
    margin: 43px 0 7px
}

.advantage-card p {
    color: var(--muted-2);
    font-size: 0.85rem;
    line-height: 1.9;
    margin: 0
}

/* ---------- Locations ---------- */
.locations-section {
    background: #0c0f13;
    border-top: 1px solid var(--line)
}

.operations-map {
    display: grid;
    grid-template-columns: 1fr 120px 1fr;
    align-items: center
}

.office-card {
    border: 1px solid var(--line);
    border-radius: 24px;
    overflow: hidden;
    background: #101419;
}

.office-map-art {
    height: 230px;
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 50% 50%,rgba(214,173,82,.12),transparent 30%),#151a20;
    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: 25px 25px
}

.map-coordinate {
    position: absolute;
    top: 18px;
    inset-inline-start: 18px;
    color: #5c636c;
    font-size: .48rem;
    line-height: 1.6;
    direction: ltr
}

.office-pin {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    border-radius: 50% 50% 50% 0;
    background: var(--gold);
    transform: translate(-50%,-50%) rotate(-45deg);
    box-shadow: 0 0 0 11px rgba(214,173,82,.08),0 0 30px rgba(214,173,82,.35);
    z-index: 2
}

.office-pin i {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #111;
    top: 6px;
    left: 6px
}

.map-rings {
    position: absolute;
    width: 170px;
    height: 170px;
    border: 1px solid rgba(214,173,82,.12);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%)
}

.map-rings::before,.map-rings::after {
    content: "";
    position: absolute;
    inset: 25px;
    border: inherit;
    border-radius: inherit
}

.map-rings::after {
    inset: 55px
}

.island-outline {
    position: absolute;
    width: 190px;
    height: 95px;
    border: 1px solid rgba(214,173,82,.3);
    border-radius: 56% 44% 62% 38% / 47% 41% 59% 53%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) rotate(-7deg);
    background: repeating-linear-gradient(25deg,rgba(214,173,82,.055) 0 1px,transparent 1px 9px)
}

.office-info {
    padding: 25px
}

.office-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--gold);
    font-size: .58rem;
    font-weight: 700
}

.office-badge svg {
    width: 15px
}

.office-info h3 {
    font-size: 1.65rem;
    margin: 7px 0 6px
}

.office-info p {
    color: var(--muted);
    font-size: .7rem;
    line-height: 1.9;
    margin: 0
}

.office-services {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 15px
}

.office-services span {
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted-2);
    font-size: .46rem;
    padding: 3px 8px
}

.operation-connection {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative
}

.connection-line {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,var(--gold),rgba(214,173,82,.2),var(--gold));
    opacity: .7
}

.connection-center {
    width: 100px;
    min-height: 117px;
    border: 1px solid var(--line-gold);
    border-radius: 16px;
    background: #11151a;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    z-index: 2;
    padding: 10px;
    box-shadow: 0 15px 35px rgba(0,0,0,.25)
}

.connection-center .brand-symbol {
    width: 31px;
    height: 31px;
    border-radius: 9px;
    margin-bottom: 9px
}

.connection-center b {
    font-size: .85rem;
}

.connection-center small {
    color: var(--muted-2);
    font-size: .7rem;
    line-height: 1.5;
    margin-top: 2px
}

/* ---------- CTA ---------- */
.enterprise-cta-section {
    padding: 80px 0 105px;
    background: #0c0f13
}

.enterprise-cta {
    min-height: 435px;
    border-radius: 29px;
    background: linear-gradient(120deg,var(--gold-3),var(--gold-2) 52%,var(--gold));
    color: #111;
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 55px;
    align-items: center;
    padding: 60px;
    position: relative;
    overflow: hidden
}

.cta-grid {
    position: absolute;
    inset: 0;
    opacity: .13;
    background-image: linear-gradient(rgba(17,17,17,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,17,.45) 1px,transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(90deg,#000,transparent)
}

.enterprise-cta::before {
    content: "";
    position: absolute;
    width: 450px;
    height: 450px;
    border: 1px solid rgba(17,17,17,.13);
    border-radius: 50%;
    inset-inline-start: -170px;
    top: -170px;
    box-shadow: 0 0 0 55px rgba(17,17,17,.04),0 0 0 110px rgba(17,17,17,.025)
}

.cta-content,.cta-action-panel {
    position: relative;
    z-index: 2
}

.dark-label {
    color: #51401f
}

.dark-label::before {
    background: #51401f
}

.cta-content h2 {
    font-size: clamp(2.15rem,3.8vw,3.7rem);
    line-height: 1.34;
    letter-spacing: -.045em;
    margin: 8px 0 12px;
    font-weight: 900
}

.cta-content h2 em {
    font-style: normal;
    color: #34290f
}

.cta-content>p {
    max-width: 650px;
    color: rgba(17,17,17,.68);
    font-size: .82rem;
    line-height: 2;
    margin: 0
}

.cta-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: 25px
}

.cta-options>div {
    border: 1px solid rgba(17,17,17,.13);
    border-radius: 13px;
    background: rgba(255,255,255,.16);
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 9px
}

.cta-options svg {
    width: 32px;
    height: 32px;
    padding: 6px;
    border-radius: 8px;
    background: rgba(17,17,17,.08)
}

.cta-options b,.cta-options small {
    display: block
}

.cta-options b {
    font-size: .86rem;
}

.cta-options small {
    font-size: .78rem;
    color: rgba(17,17,17,.58);
    margin-top: 1px
}

.cta-action-panel {
    border: 1px solid rgba(17,17,17,.14);
    border-radius: 20px;
    background: rgba(255,255,255,.25);
    backdrop-filter: blur(8px);
    padding: 23px
}

.cta-contact-label {
    font-size: .75rem;
    color: rgba(17,17,17,.55);
    margin-bottom: 0px;
}

.cta-action-panel>strong {
    display: block;
    font-size: 1.03rem;
    line-height: 1.65
}

.cta-action-panel>p {
    font-size: .8rem;
    color: rgba(17,17,17,.6);
    margin: 7px 0 18px
}

.btn-dark-enterprise {
    min-height: 49px;
    border: 1px solid #111;
    background: #111;
    color: #fff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: .7rem;
    font-weight: 800
}

.btn-dark-enterprise:hover {
    background: #24272d;
    color: #fff;
    transform: translateY(-2px)
}

.cta-phone {
    margin-top: 10px;
    border-top: 1px solid rgba(17,17,17,.1);
    padding-top: 12px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #111
}

.cta-phone>svg {
    width: 30px;
    height: 30px;
    padding: 7px;
    border-radius: 9px;
    background: rgba(17,17,17,.08)
}

.cta-phone small,.cta-phone b {
    display: block
}

.cta-phone small {
    font-size: .87rem;
    color: rgba(17,17,17,.55)
}

.cta-phone b {
    font-size: .8rem;
    margin-top: 1px
}

/* ---------- Footer ---------- */
.site-footer {
    background: #080a0d;
    border-top: 1px solid var(--line);
    padding: 67px 0 22px
}

.footer-primary {
    display: grid;
    grid-template-columns: 1.5fr .65fr .65fr 1fr;
    gap: 55px;
    padding-bottom: 45px
}

.footer-brand-column>p {
    max-width: 420px;
    color: var(--muted-2);
    font-size: .89rem;
    line-height: 2;
    margin: 20px 0
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.footer-contact a {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #a8acb1;
    font-size: .88rem;
}

.footer-contact svg {
    width: 15px;
    color: var(--gold)
}

.footer-links-column h3,.footer-offices-column h3 {
    font-size: 1rem;
    margin: 0 0 17px
}

.footer-links-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px
}

.footer-links-column a {
    color: #747a82;
    font-size: .87rem;
    transition: .2s
}

.footer-links-column a:hover {
    color: var(--gold-2);
    transform: translateX(3px)
}

[dir="rtl"] .footer-links-column a:hover {
    transform: translateX(-3px)
}

.footer-offices-column>div {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-bottom: 13px
}

.footer-offices-column>div svg {
    width: 17px;
    color: var(--gold);
    margin-top: 2px
}

.footer-offices-column b,.footer-offices-column small {
    display: block
}

.footer-offices-column b {
    font-size: .87rem;
}

.footer-offices-column small {
    color: var(--muted-2);
    font-size: .85rem;
    margin-top: 2px
}

.footer-offices-column>button {
    border: 0;
    background: none;
    color: var(--gold-2);
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 0;
    font-size: .88rem;
    font-weight: 700
}

.footer-offices-column>button svg {
    width: 13px
}

.footer-bottom {
    min-height: 58px;
    border-top: 1px solid var(--line);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    color: #4f555d;
    font-size: .48rem;
    padding-top: 20px
}

.footer-bottom>div {
    display: flex;
    align-items: center;
    gap: 9px
}

.footer-bottom i {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--gold)
}

/* ---------- Modal ---------- */
.cooperation-modal .modal-dialog {
    max-width: 1060px
}

.cooperation-modal .modal-content {
    border: 1px solid var(--line-strong);
    border-radius: 25px;
    background: #101419;
    overflow: hidden;
    box-shadow: 0 40px 120px rgba(0,0,0,.6)
}

.modal-backdrop.show {
    opacity: .78
}

.modal-close {
    position: absolute;
    top: 14px;
    inset-inline-end: 14px;
    z-index: 5;
    width: 36px;
    height: 36px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: rgba(15,18,22,.7);
    color: #abb0b6;
    display: grid;
    place-items: center
}

.modal-close:hover {
    color: #fff;
    border-color: var(--line-gold)
}

.modal-close svg {
    width: 16px
}

.modal-intro-panel {
    height: 100%;
    min-height: 710px;
    padding: 35px 30px;
    background: radial-gradient(circle at 20% 10%,rgba(214,173,82,.14),transparent 27%),linear-gradient(145deg,#18150f,#0d1115 55%);
    border-inline-end:1px solid var(--line);display: flex;
    flex-direction: column
}

.modal-brand {
    display: flex;
    align-items: center;
    gap: 12px
}

.modal-step-label {
    color: var(--gold-2);
    font-size: .55rem;
    font-weight: 700;
    margin-top: 55px
}

.modal-intro-panel h2 {
    font-size: 1.75rem;
    line-height: 1.5;
    margin: 7px 0 10px
}

.modal-intro-panel>p {
    color: var(--muted);
    font-size: .67rem;
    line-height: 2
}

.modal-process {
    display: flex;
    flex-direction: column;
    gap: 17px;
    margin-top: 35px;
    position: relative
}

.modal-process::before {
    content: "";
    position: absolute;
    top: 21px;
    bottom: 21px;
    inset-inline-start: 15px;
    width: 1px;
    background: var(--line)
}

.modal-process>div {
    display: flex;
    align-items: center;
    gap: 11px;
    position: relative;
    z-index: 1
}

.modal-process>div>span {
    width: 31px;
    height: 31px;
    border-radius: 50%;
    border: 1px solid var(--line);
    background: #12161b;
    display: grid;
    place-items: center;
    color: #6d737b;
    font-size: .5rem
}

.modal-process>div.active>span {
    border-color: var(--gold);
    background: var(--gold);
    color: #111;
    font-weight: 900
}

.modal-process b,.modal-process small {
    display: block
}

.modal-process b {
    font-size: .61rem
}

.modal-process small {
    font-size: .45rem;
    color: var(--muted-2);
    margin-top: 1px
}

.modal-security {
    margin-top: auto;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 11px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--muted-2);
    font-size: .48rem;
    line-height: 1.8
}

.modal-security svg {
    width: 18px;
    flex: 0 0 auto;
    color: var(--gold)
}

.modal-form-panel {
    padding: 33px 35px;
    min-height: 710px
}

.form-section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px
}

.form-section-heading>span {
    width: 31px;
    height: 31px;
    border-radius: 9px;
    background: var(--gold-soft);
    color: var(--gold);
    display: grid;
    place-items: center;
    font-size: .5rem;
    font-weight: 800
}

.form-section-heading h3,.form-section-heading p {
    margin: 0
}

.form-section-heading h3 {
    font-size: .85rem
}

.form-section-heading p {
    font-size: .48rem;
    color: var(--muted-2);
    margin-top: 1px
}

.form-label {
    font-size: .56rem;
    color: #b8bbc0;
    margin-bottom: 6px
}

.form-control,.form-select {
    min-height: 45px;
    background: #0c1014;
    border: 1px solid var(--line);
    border-radius: 11px;
    color: #fff;
    font-size: .65rem;
    padding: 0 12px
}

.form-control:focus,.form-select:focus {
    background: #0d1115;
    color: #fff;
    border-color: rgba(214,173,82,.45);
    box-shadow: 0 0 0 .18rem rgba(214,173,82,.08)
}

.form-control::placeholder {
    color: #515861
}

.form-select {
    background-position: left .75rem center
}

.direction-ltr {
    direction: ltr;
    text-align: left
}

.input-shell {
    position: relative
}

.input-shell>svg {
    position: absolute;
    top: 14px;
    inset-inline-start: 12px;
    color: #69717a;
    width: 15px;
    z-index: 2
}

.input-shell .form-control {
    padding-inline-start:37px}

.invalid-feedback {
    font-size: .48rem
}

.form-divider {
    height: 1px;
    background: var(--line);
    margin: 24px 0
}

.need-label {
    margin-top: 17px
}

.need-options {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 7px
}

.need-options label {
    cursor: pointer
}

.need-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.need-options label>span {
    min-height: 66px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #0d1115;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #7d848d;
    transition: .2s
}

.need-options label>span svg {
    width: 18px;
    height: 18px
}

.need-options label>span b {
    font-size: .5rem;
    font-weight: 600
}

.need-options input:checked+span {
    border-color: var(--gold);
    color: var(--gold-2);
    background: var(--gold-soft);
    box-shadow: 0 0 0 2px rgba(214,173,82,.05)
}

.project-textarea {
    min-height: 95px;
    padding: 11px 12px;
    resize: vertical
}

.textarea-counter {
    text-align: end;
    color: #515861;
    font-size: .45rem;
    margin-top: 3px
}

.consent-check {
    margin-top: 17px
}

.consent-check .form-check-input {
    background-color: #0c1014;
    border-color: var(--line-strong)
}

.consent-check .form-check-input:checked {
    background-color: var(--gold);
    border-color: var(--gold)
}

.consent-check .form-check-label {
    color: #8d9298;
    font-size: .52rem
}

.form-actions {
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 14px
}

.submit-cooperation {
    min-height: 47px;
    padding: 0 18px;
    min-width: 190px;
    font-size: .65rem
}

.submit-default,.submit-loading {
    align-items: center;
    justify-content: center;
    gap: 8px
}

.submit-default {
    display: flex
}

.submit-loading {
    display: none
}

.submit-cooperation.loading .submit-default {
    display: none
}

.submit-cooperation.loading .submit-loading {
    display: flex
}

.form-actions>p {
    color: var(--muted-2);
    font-size: .47rem;
    margin: 0
}

.success-state {
    min-height: 640px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    max-width: 480px;
    margin: auto
}

.success-state[hidden] {
    display: none
}

.success-icon {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    border: 1px solid rgba(100,197,139,.25);
    background: rgba(100,197,139,.07);
    display: grid;
    place-items: center;
    color: var(--success);
    box-shadow: 0 0 0 13px rgba(100,197,139,.025)
}

.success-icon svg {
    width: 35px
}

.success-state>span {
    color: var(--success);
    font-size: .58rem;
    font-weight: 700;
    margin-top: 25px
}

.success-state h3 {
    font-size: 1.5rem;
    margin: 7px 0 8px
}

.success-state>p {
    color: var(--muted);
    font-size: .66rem;
    line-height: 2;
    max-width: 400px
}

.tracking-code {
    min-width: 220px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #0c1014;
    padding: 11px;
    margin: 17px 0
}

.tracking-code small,.tracking-code strong {
    display: block
}

.tracking-code small {
    color: var(--muted-2);
    font-size: .46rem
}

.tracking-code strong {
    color: var(--gold-2);
    font-size: .85rem;
    letter-spacing: .12em;
    margin-top: 3px;
    direction: ltr
}

/* ---------- Reveal and animations ---------- */
.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .7s ease,transform .7s ease;
}

.reveal-delay {
    transition-delay: .14s
}

.reveal.visible {
    opacity: 1;
    transform: none
}

@keyframes float {
    0%,100% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(-8px)
    }
}

@keyframes flowDot {
    0% {
        inset-inline-start: 0;
        opacity: 0
    }

    15% {
        opacity: 1
    }

    85% {
        opacity: 1
    }

    100% {
        inset-inline-start: 100%;
        opacity: 0
    }
}

/* ---------- Direction helpers ---------- */
[dir="ltr"] .form-select {
    background-position: right .75rem center;
}

[dir="ltr"] .flight-browser,[dir="ltr"] .console-shell,[dir="ltr"] .product-window {
    direction: ltr
}

[dir="rtl"] .flight-browser,[dir="rtl"] .console-shell,[dir="rtl"] .product-window {
    direction: rtl
}

html[lang="en"] body {
    letter-spacing: -.005em;
}

html[lang="en"] .hero-content h1,html[lang="en"] .section-title,html[lang="en"] .cta-content h2 {
    letter-spacing: -.035em;
}

/* ---------- Responsive ---------- */
@media (max-width: 1199.98px) {
    .container {
        max-width:1040px
    }

    .section-padding {
        padding: 95px 0
    }

    .hero-content h1 {
        font-size: 4.2rem
    }

    .console-layout {
        min-height: 440px
    }

    .aggregation-board {
        grid-template-columns: 1fr 42px 1fr 42px 1fr
    }

    .aggregation-stage {
        padding: 16px;
        min-height: 445px
    }

    .supplier-cloud {
        gap: 6px
    }

    .unified-search {
        grid-template-columns: 1fr 18px 1fr 45px
    }

    .unified-search button span {
        display: none
    }

    .product-window-body {
        grid-template-columns: 125px 1fr
    }

    .product-lower-grid {
        grid-template-columns: 1fr
    }

    .dark-activity {
        display: none
    }

    .footer-primary {
        grid-template-columns: 1.3fr .6fr .6fr 1fr;
        gap: 35px
    }
}

@media (max-width: 991.98px) {
    :root {
        --header-height:72px
    }

    .section-padding {
        padding: 82px 0
    }

    .custom-toggler {
        display: flex
    }

    .navbar-collapse {
        position: absolute;
        top: 72px;
        left: 12px;
        right: 12px;
        background: rgba(14,17,21,.97);
        border: 1px solid var(--line);
        border-radius: 18px;
        padding: 15px;
        box-shadow: var(--shadow-lg);
        backdrop-filter: blur(18px)
    }

    .navbar-nav {
        gap: 0
    }

    .navbar .nav-link {
        padding: 10px 7px!important;
        border-bottom: 1px solid var(--line)
    }

    .navbar .nav-link::after {
        display: none
    }

    .header-actions {
        padding-top: 13px
    }

    .header-cta {
        flex: 1;
        justify-content: center
    }

    .hero-row {
        padding-top: 115px;
        padding-bottom: 80px;
        min-height: auto!important
    }

    .hero-content {
        max-width: 750px
    }

    .hero-content h1 {
        font-size: 4.4rem
    }

    .hero-console {
        max-width: 760px;
        margin: auto
    }

    .trusted-items {
        justify-content: flex-start;
        flex-wrap: wrap
    }

    .aggregation-board {
        grid-template-columns: 1fr;
        gap: 14px
    }

    .aggregation-flow {
        height: 42px;
        transform: rotate(90deg)
    }

    [dir="rtl"] .aggregation-flow {
        transform: rotate(90deg) scaleX(-1)
    }

    .aggregation-stage {
        min-height: auto
    }

    .supplier-cloud {
        min-height: 255px
    }

    .core-processor {
        padding: 35px 0
    }

    .unified-ui {
        min-height: 330px
    }

    .featured-content {
        padding: 36px
    }

    .flight-product-visual {
        min-height: 510px
    }

    .dark-product-preview {
        padding: 20px 0
    }

    .product-window {
        transform: none!important
    }

    .comparison-panel {
        grid-template-columns: 1fr
    }

    .comparison-divider {
        height: 70px
    }

    .comparison-divider::before {
        left: 0;
        right: 0;
        top: 50%;
        height: 1px;
        width: auto
    }

    .operations-map {
        grid-template-columns: 1fr
    }

    .operation-connection {
        height: 115px
    }

    .connection-line {
        top: 0;
        bottom: 0;
        left: 50%;
        width: 1px;
        height: auto
    }

    .enterprise-cta {
        grid-template-columns: 1fr;
        padding: 48px
    }

    .cta-action-panel {
        max-width: 470px
    }

    .footer-primary {
        grid-template-columns: 1.4fr 1fr 1fr
    }

    .footer-offices-column {
        grid-column: 1/-1
    }

    .modal-intro-panel {
        min-height: auto;
        padding: 25px
    }

    .modal-step-label {
        margin-top: 30px
    }

    .modal-process {
        display: grid;
        grid-template-columns: repeat(3,1fr);
        gap: 8px;
        margin-top: 25px
    }

    .modal-process::before {
        top: 15px;
        left: 15%;
        right: 15%;
        width: auto;
        height: 1px
    }

    .modal-process>div {
        flex-direction: column;
        text-align: center
    }

    .modal-security {
        margin-top: 25px
    }

    .modal-form-panel {
        min-height: auto;
        padding: 28px
    }
}

@media (max-width: 767.98px) {
    body {
        font-size:14px
    }

    .hero-orbit-visual{
        display:none
    }

    .section-padding {
        padding: 72px 0
    }

    .section-title {
        font-size: 2.45rem
    }

    .section-intro-row {
        margin-bottom: 35px
    }

    .hero-row {
        padding-top: 105px
    }

    .hero-content h1 {
        font-size: 3.55rem
    }

    .hero-lead {
        font-size: .9rem
    }

    .hero-proof {
        margin-top: 30px
    }

    .hero-console {
        padding: 20px 0 35px
    }

    .console-shell {
        transform: none!important
    }

    .floating-one {
        inset-inline-end: -3px
    }

    .floating-two {
        inset-inline-start: -3px
    }

    .trusted-strip {
        padding: 16px 0
    }

    .trusted-strip .container {
        align-items: flex-start!important
    }

    .trusted-items {
        gap: 12px
    }

    .aggregation-summary .summary-card {
        min-height: 75px
    }

    .featured-content {
        padding: 30px
    }

    .flight-product-visual {
        padding: 30px 18px;
        min-height: 480px
    }

    .visual-note {
        display: none
    }

    .flight-search-bar {
        grid-template-columns: 1fr 22px 1fr 35px
    }

    .flight-search-bar>div:nth-of-type(3) {
        display: none
    }

    .flight-result {
        grid-template-columns: 1fr .8fr
    }

    .flight-time {
        display: none
    }

    .solution-card {
        min-height: 320px
    }

    .white-label-copy {
        max-width: none
    }

    .product-window-body {
        grid-template-columns: 55px 1fr
    }

    .product-nav {
        padding: 12px 6px
    }

    .product-nav nav button span,.nav-user div {
        display: none
    }

    .product-nav nav button {
        justify-content: center;
        padding: 0
    }

    .custom-logo {
        width: 34px;
        height: 34px
    }

    .product-content {
        padding: 13px
    }

    .product-kpis {
        gap: 5px
    }

    .product-lower-grid {
        grid-template-columns: 1fr
    }

    .dark-chart svg {
        height: 120px
    }

    .brand-config-card {
        display: none
    }

    .comparison-side {
        padding: 22px
    }

    .traditional-stack {
        grid-template-columns: 1fr
    }

    .karaneh-value {
        grid-template-columns: 95px 1fr;
        padding: 13px
    }

    .value-core {
        width: 82px;
        height: 82px
    }

    .enterprise-cta {
        padding: 38px 27px
    }

    .cta-options {
        grid-template-columns: 1fr
    }

    .footer-primary {
        grid-template-columns: 1fr 1fr
    }

    .footer-brand-column,.footer-offices-column {
        grid-column: 1/-1
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px
    }

    .need-options {
        grid-template-columns: 1fr 1fr
    }

    .form-actions {
        align-items: stretch;
        flex-direction: column
    }

    .submit-cooperation {
        width: 100%
    }

    .form-actions>p {
        text-align: center
    }

    .success-state {
        min-height: 500px
    }
}

@media screen and (max-width: 575.98px) {
    .container {
        padding-left:16px;
        padding-right: 16px
    }

    .hero-marquee:hover .marquee-track {
        animation-play-state: unset
    }

    .header-cta {
        display: none
    }

    .language-button {
        min-width: 105px;
        justify-content: center
    }

    .hero-content h1 {
        font-size: 2.85rem
    }

    .hero-actions {
        flex-direction: column
    }

    .hero-actions .btn {
        width: 100%;
        justify-content: center
    }

    .proof-item {
        padding-inline-start:9px}

    .proof-item strong {
        font-size: 1rem
    }

    .proof-item span {
        font-size: .65rem;
    }

    .console-main {
        padding: 12px
    }

    .metric-grid {
        grid-template-columns: 1fr 1fr
    }

    .metric-card:nth-child(3) {
        display: none
    }

    .service-health>div:nth-child(3) {
        display: none
    }

    .service-health {
        grid-template-columns: 1fr 1fr
    }

    .hero-floating-card {
        display: none
    }

    .aggregation-stage {
        border-radius: 19px
    }

    .supplier-cloud {
        grid-template-columns: repeat(4,1fr)
    }

    .supplier-node:nth-child(n+13) {
        display: none
    }

    .supplier-more {
        display: grid!important
    }

    .unified-search {
        grid-template-columns: 1fr 18px 1fr
    }

    .unified-search button {
        grid-column: 1/-1;
        height: 34px
    }

    .featured-content h3 {
        font-size: 1.65rem
    }

    .flight-product-visual {
        padding: 23px 10px
    }

    .flight-browser-bar>b {
        padding-inline-end:0}

    .flight-app {
        grid-template-columns: 38px 1fr
    }

    .flight-app-main {
        padding: 10px
    }

    .flight-search-bar {
        grid-template-columns: 1fr 20px 1fr 32px
    }

    .flight-result {
        padding: 6px
    }

    .airline-identity>span {
        display: none
    }

    .provider-status {
        display: none
    }

    .product-window-top {
        grid-template-columns: 60px 1fr 60px
    }

    .product-kpis {
        grid-template-columns: 1fr 1fr
    }

    .product-kpis>div:nth-child(3) {
        display: none
    }

    .product-window-body {
        min-height: 400px
    }

    .comparison-head strong {
        font-size: 1rem
    }

    .karaneh-value {
        grid-template-columns: 1fr
    }

    .value-core {
        margin: auto
    }

    .office-map-art {
        height: 190px
    }

    .enterprise-cta {
        border-radius: 22px
    }

    .cta-content h2 {
        font-size: 2.25rem
    }

    .cta-action-panel {
        padding: 18px
    }

    .footer-primary {
        grid-template-columns: 1fr
    }

    .footer-links-column {
        grid-column: auto
    }

    .modal-dialog {
        margin: 8px
    }

    .cooperation-modal .modal-content {
        border-radius: 18px
    }

    .modal-intro-panel {
        padding: 22px
    }

    .modal-intro-panel h2 {
        font-size: 1.35rem
    }

    .modal-process {
        grid-template-columns: 1fr;
        gap: 12px
    }

    .modal-process::before {
        left: auto;
        right: auto;
        top: 15px;
        bottom: 15px;
        inset-inline-start: 15px;
        width: 1px;
        height: auto
    }

    .modal-process>div {
        flex-direction: row;
        text-align: start
    }

    .modal-security {
        display: none
    }

    .modal-form-panel {
        padding: 23px 18px
    }

    .need-options {
        gap: 6px
    }
}

@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after {
        animation-duration: .01ms!important;
        animation-iteration-count: 1!important;
        scroll-behavior: auto!important
    }

    .reveal {
        opacity: 1;
        transform: none
    }
}

/* API documentation link integrated into the enterprise theme */
.core-swagger-link { white-space: nowrap; border-radius: 12px; }
@media (max-width: 1199px) { .header-actions .core-swagger-link { font-size: .85rem; } }

.cooperation-demo-note { margin-block: 12px 0; padding: 10px 12px; border: 1px solid rgba(223,181,92,.45); border-radius: 10px; color: #efd39a; background: rgba(223,181,92,.09); font-size: .86rem; }
