@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Space+Grotesk:wght@600;700&display=swap");

:root {
    --tl-navy: #081A32;
    --tl-navy-light: #102A4C;
    --tl-primary: #2563EB;
    --tl-primary-hover: #1D4ED8;
    --tl-bright-blue: #008BFF;
    --tl-cyan: #00B8D9;
    --tl-cyan-soft: #DFF7FB;
    --tl-light-blue: #E6F1FF;
    --tl-background: #F5F7FA;
    --tl-surface: #FFFFFF;
    --tl-text: #132238;
    --tl-text-secondary: #68778C;
    --tl-border: #DDE5EE;
    --tl-success: #168A68;
    --tl-warning: #C98022;
    --tl-error: #C94545;

    --shadow-sm: 0 8px 24px rgba(8, 26, 50, .06);
    --shadow-md: 0 20px 60px rgba(8, 26, 50, .10);
    --shadow-lg: 0 34px 90px rgba(4, 16, 33, .24);
    --container: 1200px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    background: var(--tl-background);
}

body {
    margin: 0;
    color: var(--tl-text);
    background: var(--tl-background);
    font-family: "Manrope", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 400;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
    font-family: "Manrope", Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.brand {
    font-family: "Space Grotesk", "Manrope", Arial, sans-serif;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

a {
    color: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

img,
svg {
    display: block;
    max-width: 100%;
}

::selection {
    color: #FFFFFF;
    background: var(--tl-primary);
}

.container {
    width: min(var(--container), calc(100% - 48px));
    margin: 0 auto;
}

.section {
    padding: 108px 0;
}

.eyebrow {
    margin-bottom: 16px;
    color: var(--tl-primary);
    font-size: 13px;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr);
    gap: 72px;
    align-items: end;
    margin-bottom: 52px;
}

.section-heading h2,
.audience-copy h2,
.partnership-contact-heading h2 {
    margin-bottom: 0;
    font-size: clamp(38px, 4vw, 44px);
    line-height: 1.15;
    letter-spacing: -.04em;
    font-weight: 700;
}

.section-heading p,
.audience-copy p,
.partnership-contact-heading p {
    margin-bottom: 0;
    color: var(--tl-text-secondary);
    font-size: 16px;
    line-height: 1.7;
}

.button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 15px;
    line-height: 1;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition:
        transform .18s ease,
        background .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.button:hover {
    transform: translateY(-1px);
}

.button-accent {
    color: #FFFFFF;
    background: var(--tl-primary);
    box-shadow: 0 12px 30px rgba(37, 99, 235, .24);
}

.button-accent:hover {
    background: var(--tl-primary-hover);
    box-shadow: 0 16px 34px rgba(37, 99, 235, .30);
}

.button-ghost {
    color: #FFFFFF;
    border-color: rgba(255, 255, 255, .25);
    background: rgba(255, 255, 255, .04);
}

.button-ghost:hover {
    border-color: rgba(0, 184, 217, .55);
    background: rgba(0, 184, 217, .08);
}

.button-dark {
    color: #FFFFFF;
    background: var(--tl-navy);
}

.button-dark:hover {
    background: var(--tl-navy-light);
}

/* Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    color: #FFFFFF;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
    background: rgba(8, 26, 50, .94);
    backdrop-filter: blur(18px);
}

.header-inner {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: inherit;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -.03em;
    text-decoration: none;
}

.brand-logo {
    width: 46px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.brand-logo img {
    width: 44px;
    height: auto;
    display: block;
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 28px;
}

.main-nav a {
    color: rgba(255, 255, 255, .72);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color .18s ease;
}

.main-nav a:hover {
    color: #FFFFFF;
}

.portal-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 18px;
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 12px;
    color: #FFFFFF;
    background: rgba(255, 255, 255, .04);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition:
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.portal-link:hover {
    border-color: rgba(0, 184, 217, .55);
    background: rgba(0, 184, 217, .08);
    transform: translateY(-1px);
}

/* Hero */
.tech-hero {
    min-height: calc(100vh - 76px);
    position: relative;
    overflow: hidden;
    color: #FFFFFF;
    background:
        radial-gradient(circle at 12% 16%, rgba(0, 184, 217, .16), transparent 30%),
        radial-gradient(circle at 88% 20%, rgba(37, 99, 235, .24), transparent 34%),
        linear-gradient(145deg, #081A32 0%, #0A203D 58%, #102A4C 100%);
}

.hero-grid-bg {
    position: absolute;
    inset: 0;
    opacity: .10;
    background-image:
        linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), transparent 84%);
}

.hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
}

.hero-glow-one {
    width: 280px;
    height: 280px;
    left: -120px;
    top: 24%;
    background: rgba(0, 184, 217, .16);
}

.hero-glow-two {
    width: 360px;
    height: 360px;
    right: -140px;
    bottom: 4%;
    background: rgba(37, 99, 235, .18);
}

.tech-hero-grid {
    min-height: calc(100vh - 76px);
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(470px, 1.05fr);
    gap: 64px;
    align-items: center;
    position: relative;
    z-index: 2;
    padding-top: 72px;
    padding-bottom: 82px;
}

.hero-kicker {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 999px;
    color: rgba(255, 255, 255, .78);
    background: rgba(255, 255, 255, .04);
    font-size: 13px;
    font-weight: 500;
}

.kicker-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--tl-cyan);
    box-shadow: 0 0 0 5px rgba(0, 184, 217, .13);
}

.tech-hero h1 {
    max-width: 720px;
    margin: 28px 0 0;
    font-size: clamp(54px, 5.1vw, 64px);
    line-height: 1.07;
    letter-spacing: -.052em;
    font-weight: 700;
}

.tech-hero-copy > p {
    max-width: 650px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 18px;
    line-height: 1.68;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.hero-trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 52px;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.hero-trust div {
    display: grid;
    gap: 6px;
}

.hero-trust span {
    color: var(--tl-cyan);
    font-size: 13px;
    font-weight: 700;
}

.hero-trust strong {
    color: rgba(255, 255, 255, .78);
    font-size: 14px;
    line-height: 1.45;
    font-weight: 600;
}

.platform-visual {
    min-height: 540px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 28px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02)),
        rgba(16, 42, 76, .92);
    box-shadow: var(--shadow-lg);
}

.visual-topbar {
    min-height: 60px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 0 22px;
    border-bottom: 1px solid rgba(255, 255, 255, .09);
    color: rgba(255, 255, 255, .60);
    font-size: 13px;
    font-weight: 600;
}

.window-dots {
    display: flex;
    gap: 6px;
}

.window-dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .22);
}

.visual-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, .72);
}

.visual-status i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--tl-success);
    box-shadow: 0 0 12px rgba(22, 138, 104, .7);
}

.hero-flow {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 44px 1.12fr 44px 1fr;
    gap: 10px;
    align-items: stretch;
    padding: 34px 24px 24px;
}

.hero-flow-stage {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 28px;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 20px;
    background: rgba(255, 255, 255, .035);
}

.hero-flow-core {
    border-color: rgba(0, 184, 217, .32);
    background:
        radial-gradient(circle at 50% 20%, rgba(0, 184, 217, .16), transparent 42%),
        rgba(0, 184, 217, .06);
}

.hero-flow-number {
    color: var(--tl-cyan);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
}

.hero-flow-stage strong {
    display: block;
    color: #FFFFFF;
    font-family: "Space Grotesk", "Manrope", Arial, sans-serif;
    font-size: 22px;
    line-height: 1.25;
}

.hero-flow-stage p {
    margin: 10px 0 0;
    color: rgba(255, 255, 255, .58);
    font-size: 14px;
    line-height: 1.6;
}

.hero-flow-arrow {
    position: relative;
}

.hero-flow-arrow::before {
    content: "";
    position: absolute;
    left: 4px;
    right: 4px;
    top: 50%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 184, 217, .66), transparent);
}

.hero-flow-arrow span {
    width: 9px;
    height: 9px;
    position: absolute;
    top: calc(50% - 4px);
    left: 0;
    border-radius: 50%;
    background: var(--tl-cyan);
    box-shadow: 0 0 15px rgba(0, 184, 217, .82);
    animation: hero-signal 2.4s ease-in-out infinite;
}

.hero-flow-arrow:nth-of-type(4) span {
    animation-delay: 1.1s;
}

.hero-flow-services {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 24px 28px;
}

.hero-flow-services span {
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 999px;
    color: rgba(255, 255, 255, .68);
    background: rgba(255, 255, 255, .035);
    font-size: 13px;
    font-weight: 500;
}

.visual-footer {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255, 255, 255, .09);
}

.visual-footer span {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .48);
    font-size: 12px;
    font-weight: 600;
}

.visual-footer span + span {
    border-left: 1px solid rgba(255, 255, 255, .08);
}

@keyframes hero-signal {
    0% {
        left: 0;
        opacity: 0;
    }
    18% {
        opacity: 1;
    }
    82% {
        opacity: 1;
    }
    100% {
        left: calc(100% - 9px);
        opacity: 0;
    }
}

/* Model */
.model-section {
    background: var(--tl-surface);
}

.model-board {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.model-card {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    padding: 30px;
    border: 1px solid var(--tl-border);
    border-radius: 24px;
    background: var(--tl-surface);
    box-shadow: var(--shadow-sm);
}

.model-card-top {
    display: flex;
    align-items: center;
    gap: 16px;
}

.board-number {
    color: var(--tl-primary);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
}

.model-card-line {
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, rgba(37, 99, 235, .42), transparent);
}

.model-card h3 {
    margin: auto 0 14px;
    font-size: 26px;
    line-height: 1.25;
    letter-spacing: -.035em;
    font-weight: 600;
}

.model-card p {
    margin-bottom: 22px;
    color: var(--tl-text-secondary);
    font-size: 16px;
    line-height: 1.65;
}

.model-card-note {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--tl-primary);
    font-size: 14px;
    line-height: 1.5;
    font-weight: 600;
}

.model-card-note::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--tl-cyan);
}

/* Capabilities */
.platform-section {
    background: var(--tl-background);
}

.capabilities-layout {
    display: grid;
    gap: 20px;
}

.product-panel {
    border: 1px solid var(--tl-border);
    border-radius: 26px;
    background: var(--tl-surface);
    box-shadow: var(--shadow-sm);
}

.journey-product-panel {
    padding: 32px;
}

.product-panel-head {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: flex-start;
}

.product-panel-head > div {
    display: grid;
    gap: 6px;
}

.product-number {
    color: var(--tl-primary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
}

.product-label {
    color: var(--tl-text);
    font-family: "Space Grotesk", "Manrope", Arial, sans-serif;
    font-size: 25px;
    line-height: 1.25;
    font-weight: 600;
}

.product-panel-head p {
    max-width: 390px;
    margin: 0;
    color: var(--tl-text-secondary);
    font-size: 15px;
    line-height: 1.65;
}

.journey-workspace {
    margin-top: 28px;
    overflow: hidden;
    border: 1px solid var(--tl-border);
    border-radius: 20px;
    background: var(--tl-background);
}

.journey-toolbar {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 0 24px;
    border-bottom: 1px solid var(--tl-border);
    background: #FFFFFF;
}

.journey-toolbar > div {
    display: grid;
    gap: 3px;
}

.journey-caption {
    color: var(--tl-text-secondary);
    font-size: 13px;
}

.journey-toolbar strong {
    font-size: 17px;
}

.journey-state {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    color: var(--tl-warning);
    background: rgba(201, 128, 34, .10);
    font-size: 13px;
    font-weight: 600;
}

.journey-state i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--tl-warning);
}

.journey-route {
    display: grid;
    grid-template-columns: 1fr 1fr 1.1fr 1fr 1fr;
    gap: 18px;
    align-items: center;
    padding: 30px 24px;
}

.journey-route-stop {
    display: grid;
    gap: 4px;
}

.journey-route-stop strong {
    color: var(--tl-navy);
    font-family: "Space Grotesk", "Manrope", Arial, sans-serif;
    font-size: 28px;
    line-height: 1;
}

.journey-route-stop span {
    font-size: 15px;
    font-weight: 600;
}

.journey-route-stop small {
    color: var(--tl-text-secondary);
    font-size: 13px;
}

.journey-route-stop-active strong {
    color: var(--tl-primary);
}

.journey-route-line {
    position: relative;
    height: 1px;
    background: var(--tl-border);
}

.journey-route-line::before,
.journey-route-line::after {
    content: "";
    width: 7px;
    height: 7px;
    position: absolute;
    top: -3px;
    border-radius: 50%;
    background: var(--tl-cyan);
}

.journey-route-line::before {
    left: 0;
}

.journey-route-line::after {
    right: 0;
}

.journey-route-line i {
    width: 30%;
    height: 1px;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--tl-primary);
    animation: route-progress 2.5s ease-in-out infinite;
}

@keyframes route-progress {
    from {
        left: 0;
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    to {
        left: 70%;
        opacity: 0;
    }
}

.journey-summary {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 16px;
    padding: 0 24px 24px;
}

.journey-summary-block {
    padding: 22px;
    border: 1px solid var(--tl-border);
    border-radius: 16px;
    background: #FFFFFF;
}

.journey-summary-block > span {
    display: block;
    margin-bottom: 14px;
    color: var(--tl-text-secondary);
    font-size: 13px;
    font-weight: 600;
}

.journey-service-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.journey-service-list strong {
    padding: 10px 12px;
    border-radius: 10px;
    color: var(--tl-text);
    background: var(--tl-light-blue);
    font-size: 14px;
    font-weight: 600;
}

.document-progress-head {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
    font-size: 14px;
}

.document-progress-head span {
    color: var(--tl-primary);
    font-weight: 700;
}

.document-progress-bar {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--tl-border);
}

.document-progress-bar span {
    width: 80%;
    height: 100%;
    display: block;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--tl-primary), var(--tl-bright-blue));
}

.journey-summary-block small {
    display: block;
    margin-top: 12px;
    color: var(--tl-text-secondary);
    font-size: 13px;
}

.capability-pair {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.technology-panel,
.operations-panel {
    min-height: 470px;
    padding: 30px;
}

.technology-panel h3,
.operations-panel h3,
.brand-mode-copy h3,
.connection-card h3,
.compact-core h3 {
    margin: 28px 0 12px;
    font-size: 26px;
    line-height: 1.25;
    letter-spacing: -.035em;
    font-weight: 600;
}

.product-panel-text {
    margin-bottom: 0;
    color: var(--tl-text-secondary);
    font-size: 16px;
    line-height: 1.65;
}

.technology-map {
    display: grid;
    grid-template-columns: 1fr 44px 1fr 44px 1fr;
    gap: 8px;
    align-items: center;
    margin-top: 34px;
}

.technology-node {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
    border: 1px solid var(--tl-border);
    border-radius: 14px;
    color: var(--tl-text);
    background: var(--tl-background);
    font-size: 14px;
    font-weight: 600;
    text-align: center;
}

.technology-node-core {
    color: #FFFFFF;
    border-color: var(--tl-primary);
    background: var(--tl-primary);
}

.technology-path {
    height: 1px;
    position: relative;
    background: var(--tl-border);
}

.technology-path i {
    width: 8px;
    height: 8px;
    position: absolute;
    left: 0;
    top: -3px;
    border-radius: 50%;
    background: var(--tl-cyan);
    animation: technology-signal 2.2s ease-in-out infinite;
}

.technology-path:nth-of-type(4) i {
    animation-delay: 1s;
}

@keyframes technology-signal {
    from {
        left: 0;
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    to {
        left: calc(100% - 8px);
        opacity: 0;
    }
}

.technology-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.technology-tags span {
    padding: 8px 11px;
    border: 1px solid var(--tl-border);
    border-radius: 999px;
    color: var(--tl-text-secondary);
    background: #FFFFFF;
    font-size: 13px;
    font-weight: 600;
}

.operations-panel {
    color: #FFFFFF;
    border-color: transparent;
    background:
        radial-gradient(circle at 86% 10%, rgba(0, 184, 217, .15), transparent 30%),
        var(--tl-navy);
    box-shadow: var(--shadow-md);
}

.operations-panel .product-number {
    color: var(--tl-cyan);
}

.operations-panel .product-label,
.operations-panel h3 {
    color: #FFFFFF;
}

.operations-panel .product-panel-text {
    color: rgba(255, 255, 255, .66);
}

.operations-console {
    display: grid;
    gap: 10px;
    margin-top: 28px;
}

.operation-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 14px;
    background: rgba(255, 255, 255, .045);
}

.operation-index {
    color: var(--tl-cyan);
    font-size: 13px;
    font-weight: 700;
}

.operation-row div {
    display: grid;
    gap: 3px;
}

.operation-row strong {
    color: #FFFFFF;
    font-size: 15px;
}

.operation-row small {
    color: rgba(255, 255, 255, .52);
    font-size: 13px;
}

.operation-status {
    padding: 7px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.operation-status.accepted {
    color: #BDEBDD;
    background: rgba(22, 138, 104, .15);
}

.operation-status.working {
    color: #CFE2FF;
    background: rgba(37, 99, 235, .18);
}

.operation-status.calculating {
    color: #F4D7B4;
    background: rgba(201, 128, 34, .16);
}

.brand-mode-strip {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 26px;
    align-items: center;
    padding: 26px 28px;
    border: 1px solid var(--tl-border);
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: var(--shadow-sm);
}

.brand-mode-icon {
    display: flex;
    align-items: center;
    gap: 10px;
}

.brand-mode-icon span,
.brand-mode-icon strong {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
}

.brand-mode-icon span {
    color: #FFFFFF;
    background: var(--tl-primary);
}

.brand-mode-icon strong {
    color: var(--tl-navy);
    background: var(--tl-light-blue);
}

.brand-mode-icon i {
    width: 28px;
    height: 1px;
    background: var(--tl-cyan);
}

.brand-mode-copy > span {
    color: var(--tl-primary);
    font-size: 13px;
    font-weight: 700;
}

.brand-mode-copy h3 {
    margin: 5px 0 5px;
    font-size: 23px;
}

.brand-mode-copy p {
    margin: 0;
    color: var(--tl-text-secondary);
    font-size: 15px;
}

.brand-mode-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border-radius: 999px;
    color: var(--tl-success);
    background: rgba(22, 138, 104, .08);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}

.brand-mode-status i,
.connection-state i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--tl-success);
}

/* Audience */
.audience-section {
    background: var(--tl-surface);
}

.audience-panel {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 76px;
    align-items: center;
}

.audience-copy p {
    margin-top: 24px;
}

.partner-profile-card {
    overflow: hidden;
    border: 1px solid var(--tl-border);
    border-radius: 26px;
    background: #FFFFFF;
    box-shadow: var(--shadow-md);
}

.partner-profile-head {
    min-height: 94px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    padding: 0 26px;
    color: #FFFFFF;
    background:
        radial-gradient(circle at 85% 20%, rgba(0, 184, 217, .14), transparent 34%),
        var(--tl-navy);
}

.partner-profile-head > div {
    display: grid;
    gap: 3px;
}

.partner-profile-head span {
    color: rgba(255, 255, 255, .55);
    font-size: 13px;
}

.partner-profile-head strong {
    color: #FFFFFF;
    font-size: 19px;
}

.connection-state {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px;
    border-radius: 999px;
    color: #C8F0E4 !important;
    background: rgba(22, 138, 104, .15);
    font-size: 12px !important;
    font-weight: 600;
    white-space: nowrap;
}

.partner-profile-body {
    padding: 10px 26px 18px;
}

.profile-row {
    min-height: 68px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: center;
    border-bottom: 1px solid var(--tl-border);
}

.profile-row:last-child {
    border-bottom: 0;
}

.profile-row span {
    color: var(--tl-text-secondary);
    font-size: 14px;
}

.profile-row strong {
    font-size: 15px;
    text-align: right;
}

.profile-row-highlight strong {
    color: var(--tl-primary);
}

/* Connection */
.connection-section {
    background: var(--tl-background);
}

.connection-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.connection-card {
    min-height: 430px;
    display: flex;
    flex-direction: column;
    padding: 30px;
    border: 1px solid var(--tl-border);
    border-radius: 24px;
    background: #FFFFFF;
    box-shadow: var(--shadow-sm);
}

.connection-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.connection-number {
    color: var(--tl-primary);
    font-size: 14px;
    font-weight: 700;
}

.connection-tag {
    padding: 7px 10px;
    border-radius: 999px;
    color: var(--tl-primary);
    background: var(--tl-light-blue);
    font-size: 12px;
    font-weight: 600;
}

.connection-card h3 {
    margin: 48px 0 14px;
}

.connection-card > p {
    margin-bottom: 26px;
    color: var(--tl-text-secondary);
    font-size: 16px;
    line-height: 1.65;
}

.connection-feature-list {
    display: grid;
    gap: 12px;
    margin: auto 0 0;
    padding: 22px 0 0;
    border-top: 1px solid var(--tl-border);
    list-style: none;
}

.connection-feature-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--tl-text);
    font-size: 14px;
    font-weight: 600;
}

.connection-feature-list li::before {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--tl-cyan);
}

.commercial-terms {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 20px;
    align-items: center;
    margin-top: 20px;
    padding: 24px 28px;
    border: 1px solid rgba(37, 99, 235, .14);
    border-radius: 20px;
    background: var(--tl-light-blue);
}

.commercial-terms-icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    color: #FFFFFF;
    background: var(--tl-primary);
    font-size: 13px;
    font-weight: 700;
}

.commercial-terms-copy {
    display: grid;
    gap: 4px;
}

.commercial-terms-copy > span {
    color: var(--tl-primary);
    font-size: 13px;
    font-weight: 700;
}

.commercial-terms-copy strong {
    font-size: 17px;
}

.commercial-terms-copy p {
    margin: 0;
    color: var(--tl-text-secondary);
    font-size: 14px;
}

/* Architecture */
.compact-architecture-section {
    background: var(--tl-surface);
}

.compact-architecture {
    display: grid;
    grid-template-columns: 1fr 58px 1.08fr 58px 1fr;
    gap: 16px;
    align-items: stretch;
    padding: 22px;
    border: 1px solid var(--tl-border);
    border-radius: 28px;
    background:
        linear-gradient(rgba(8, 26, 50, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(8, 26, 50, .025) 1px, transparent 1px),
        var(--tl-background);
    background-size: 28px 28px;
    box-shadow: var(--shadow-md);
}

.compact-side,
.compact-core {
    min-height: 370px;
    padding: 28px;
    border-radius: 22px;
}

.compact-side {
    border: 1px solid var(--tl-border);
    background: #FFFFFF;
}

.compact-side-title {
    display: flex;
    align-items: center;
    gap: 13px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--tl-border);
}

.compact-side-title > span {
    color: var(--tl-primary);
    font-size: 13px;
    font-weight: 700;
}

.compact-side-title div {
    display: grid;
    gap: 2px;
}

.compact-side-title strong {
    font-family: "Space Grotesk", "Manrope", Arial, sans-serif;
    font-size: 22px;
    font-weight: 600;
}

.compact-side-title small {
    color: var(--tl-text-secondary);
    font-size: 13px;
}

.compact-item-list {
    display: grid;
    gap: 22px;
    margin-top: 26px;
}

.compact-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 13px;
    align-items: start;
}

.compact-item > i {
    width: 9px;
    height: 9px;
    margin-top: 7px;
    border-radius: 50%;
    background: var(--tl-cyan);
    box-shadow: 0 0 0 5px rgba(0, 184, 217, .09);
}

.compact-item div {
    display: grid;
    gap: 4px;
}

.compact-item strong {
    font-size: 15px;
}

.compact-item small {
    color: var(--tl-text-secondary);
    font-size: 14px;
    line-height: 1.5;
}

.compact-core {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
    color: #FFFFFF;
    background:
        radial-gradient(circle at 50% 15%, rgba(0, 184, 217, .17), transparent 35%),
        radial-gradient(circle at 90% 85%, rgba(37, 99, 235, .20), transparent 32%),
        var(--tl-navy);
    box-shadow: 0 22px 60px rgba(8, 26, 50, .22);
}

.compact-core::before,
.compact-core::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(0, 184, 217, .14);
    border-radius: 50%;
}

.compact-core::before {
    width: 240px;
    height: 240px;
    right: -120px;
    top: -100px;
}

.compact-core::after {
    width: 190px;
    height: 190px;
    left: -100px;
    bottom: -110px;
}

.compact-core > * {
    position: relative;
    z-index: 2;
}

.compact-core-kicker {
    color: var(--tl-cyan);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.compact-core h3 {
    margin: 18px 0 14px;
    color: #FFFFFF;
    font-size: 38px;
}

.compact-core p {
    margin: 0;
    color: rgba(255, 255, 255, .66);
    font-size: 15px;
    line-height: 1.65;
}

.compact-core-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 28px;
}

.compact-core-tags span {
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: rgba(255, 255, 255, .72);
    background: rgba(255, 255, 255, .04);
    font-size: 12px;
    font-weight: 600;
}

.compact-flow {
    min-height: 220px;
    position: relative;
    align-self: center;
    overflow: hidden;
}

.compact-flow::before {
    content: "";
    position: absolute;
    left: 2px;
    right: 2px;
    top: 50%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(0, 184, 217, .70), transparent);
}

.compact-flow > i {
    width: 7px;
    height: 7px;
    position: absolute;
    top: calc(50% - 3px);
    border-radius: 50%;
    background: var(--tl-cyan);
    box-shadow: 0 0 14px rgba(0, 184, 217, .72);
}

.compact-flow > i:nth-child(1) {
    left: 8px;
}

.compact-flow > i:nth-child(2) {
    left: calc(50% - 3px);
}

.compact-flow > i:nth-child(3) {
    right: 8px;
}

.compact-flow::after {
    content: "";
    width: 12px;
    height: 12px;
    position: absolute;
    left: 0;
    top: calc(50% - 6px);
    z-index: 3;
    border-radius: 50%;
    opacity: 0;
    background: var(--tl-cyan);
    box-shadow:
        0 0 0 5px rgba(0, 184, 217, .10),
        0 0 22px rgba(0, 184, 217, .84);
}

.compact-architecture.is-active .compact-flow-left::after {
    animation: architecture-signal 1.05s .5s ease-in-out both;
}

.compact-architecture.is-active .compact-flow-right::after {
    animation: architecture-signal 1.05s 1.65s ease-in-out both;
}

.compact-architecture.is-active .compact-core {
    animation: architecture-core-signal .9s 1.05s ease both;
}

@keyframes architecture-signal {
    0% {
        left: 0;
        opacity: 0;
        transform: translateX(-16px) scale(.6);
    }
    14% {
        opacity: 1;
    }
    82% {
        opacity: 1;
    }
    100% {
        left: 100%;
        opacity: 0;
        transform: translateX(4px) scale(1);
    }
}

@keyframes architecture-core-signal {
    0%,
    100% {
        box-shadow: 0 22px 60px rgba(8, 26, 50, .22);
    }
    45% {
        box-shadow:
            0 24px 70px rgba(8, 26, 50, .28),
            0 0 0 1px rgba(0, 184, 217, .28),
            0 0 46px rgba(0, 184, 217, .13);
    }
}

.compact-architecture-note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 18px;
    align-items: center;
    margin-top: 16px;
    padding: 18px 20px;
    border: 1px solid rgba(37, 99, 235, .14);
    border-radius: 18px;
    background: var(--tl-light-blue);
}

.compact-architecture-note > span {
    padding: 8px 11px;
    border-radius: 999px;
    color: var(--tl-primary);
    background: #FFFFFF;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.compact-architecture-note p {
    margin: 0;
    color: var(--tl-text-secondary);
    font-size: 14px;
}

/* Contact */
.partnership-contact-section {
    color: var(--tl-text);
    background:
        radial-gradient(circle at 12% 14%, rgba(0, 184, 217, .09), transparent 28%),
        radial-gradient(circle at 88% 80%, rgba(37, 99, 235, .10), transparent 31%),
        var(--tl-light-blue);
}

.partnership-contact-heading {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 76px;
    align-items: end;
    margin-bottom: 46px;
}

.partnership-contact-heading a {
    display: inline-block;
    margin-top: 18px;
    color: var(--tl-primary);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.partnership-contact-heading a:hover {
    color: var(--tl-primary-hover);
}

.partnership-form {
    position: relative;
    overflow: hidden;
    padding: 34px;
    border: 1px solid var(--tl-border);
    border-radius: 26px;
    background: #FFFFFF;
    box-shadow: var(--shadow-md);
}

.partnership-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px 30px;
}

.partnership-form-column {
    display: grid;
    gap: 19px;
}

.partnership-field label,
.partnership-services-label {
    display: block;
    margin-bottom: 8px;
    color: var(--tl-text-secondary);
    font-size: 13px;
    font-weight: 600;
}

.partnership-field label span {
    color: var(--tl-error);
}

.partnership-field input,
.partnership-field select,
.partnership-field textarea {
    width: 100%;
    border: 1px solid var(--tl-border);
    border-radius: 12px;
    outline: none;
    color: var(--tl-text);
    background: #FFFFFF;
    font-size: 15px;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.partnership-field input,
.partnership-field select {
    min-height: 52px;
    padding: 0 14px;
}

.partnership-field textarea {
    min-height: 138px;
    padding: 14px;
    resize: vertical;
}

.partnership-field input::placeholder,
.partnership-field textarea::placeholder {
    color: #94A2B5;
}

.partnership-field input:focus,
.partnership-field select:focus,
.partnership-field textarea:focus {
    border-color: var(--tl-primary);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .09);
}

.partnership-services {
    margin-top: 30px;
    padding-top: 28px;
    border-top: 1px solid var(--tl-border);
}

.partnership-services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.partnership-service-option {
    min-height: 50px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid var(--tl-border);
    border-radius: 12px;
    color: var(--tl-text-secondary);
    background: var(--tl-background);
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition:
        border-color .18s ease,
        color .18s ease,
        background .18s ease;
}

.partnership-service-option:hover {
    border-color: rgba(37, 99, 235, .35);
    color: var(--tl-text);
    background: var(--tl-light-blue);
}

.partnership-service-option input {
    width: 16px;
    height: 16px;
    accent-color: var(--tl-primary);
}

.partnership-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--tl-border);
}

.partnership-form-footer p {
    max-width: 660px;
    margin: 0;
    color: var(--tl-text-secondary);
    font-size: 12px;
    line-height: 1.55;
}

.partnership-submit {
    min-width: 178px;
    flex: 0 0 auto;
}

.partnership-success {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    padding: 16px 18px;
    border: 1px solid rgba(22, 138, 104, .22);
    border-radius: 14px;
    color: var(--tl-success);
    background: rgba(22, 138, 104, .07);
}

.partnership-success span {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 50%;
    color: #FFFFFF;
    background: var(--tl-success);
    font-weight: 700;
}

.partnership-success p {
    margin: 0;
    font-size: 13px;
}

.partnership-form [data-form-content] {
    transition:
        opacity .24s ease,
        transform .24s ease;
}

.partnership-form.is-submitting [data-form-content] {
    opacity: .48;
    transform: scale(.994);
    pointer-events: none;
    user-select: none;
}

.partnership-form.is-sent [data-form-content] {
    display: none;
}

.partnership-form-feedback[hidden] {
    display: none;
}

.partnership-form-feedback {
    margin-bottom: 26px;
    overflow: hidden;
    border: 1px solid var(--tl-border);
    border-radius: 16px;
    background: var(--tl-background);
}

.partnership-form-feedback.is-success {
    margin-bottom: 0;
    border-color: rgba(22, 138, 104, .24);
    background: rgba(22, 138, 104, .07);
}

.partnership-form-feedback.is-error {
    border-color: rgba(201, 69, 69, .24);
    background: rgba(201, 69, 69, .07);
}

.partnership-form-progress {
    height: 3px;
    position: relative;
    overflow: hidden;
    background: var(--tl-border);
}

.partnership-form-progress span {
    width: 42%;
    height: 100%;
    position: absolute;
    left: -46%;
    top: 0;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        transparent,
        var(--tl-primary),
        var(--tl-bright-blue),
        transparent
    );
}

.partnership-form-feedback.is-loading .partnership-form-progress span {
    animation: partnership-progress 1.05s ease-in-out infinite;
}

.partnership-form-feedback.is-success .partnership-form-progress span {
    width: 100%;
    left: 0;
    background: var(--tl-success);
}

.partnership-form-feedback.is-error .partnership-form-progress span {
    width: 100%;
    left: 0;
    background: var(--tl-error);
}

.partnership-form-feedback-row {
    min-height: 96px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
}

.partnership-feedback-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 13px;
    color: #FFFFFF;
    background: var(--tl-primary);
    font-size: 16px;
    font-weight: 700;
}

.is-loading .partnership-feedback-icon {
    animation: partnership-icon-pulse 1.05s ease-in-out infinite;
}

.is-success .partnership-feedback-icon {
    background: var(--tl-success);
}

.is-error .partnership-feedback-icon {
    background: var(--tl-error);
}

.partnership-feedback-copy {
    flex: 1 1 auto;
}

.partnership-feedback-copy strong {
    display: block;
    color: var(--tl-text);
    font-size: 15px;
}

.partnership-feedback-copy p {
    margin: 5px 0 0;
    color: var(--tl-text-secondary);
    font-size: 13px;
}

.partnership-reset-button {
    flex: 0 0 auto;
    padding: 10px 13px;
    border: 1px solid var(--tl-border);
    border-radius: 999px;
    color: var(--tl-primary);
    background: #FFFFFF;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
}

.partnership-submit-loader {
    display: none;
    align-items: center;
    gap: 4px;
    margin-left: 9px;
}

.is-submitting .partnership-submit-loader {
    display: inline-flex;
}

.partnership-submit-loader i {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: currentColor;
    animation: partnership-loader-dot .82s ease-in-out infinite;
}

.partnership-submit-loader i:nth-child(2) {
    animation-delay: .13s;
}

.partnership-submit-loader i:nth-child(3) {
    animation-delay: .26s;
}

.partnership-form .errorlist {
    margin: 7px 0 0;
    padding: 0;
    color: var(--tl-error);
    list-style: none;
    font-size: 12px;
}

.partnership-form-errors {
    margin-bottom: 20px;
    padding: 14px;
    border: 1px solid rgba(201, 69, 69, .24);
    border-radius: 12px;
    color: var(--tl-error);
    background: rgba(201, 69, 69, .07);
    font-size: 13px;
}

.partnership-field.has-ajax-error input,
.partnership-field.has-ajax-error select,
.partnership-field.has-ajax-error textarea {
    border-color: var(--tl-error);
    box-shadow: 0 0 0 4px rgba(201, 69, 69, .08);
}

@keyframes partnership-progress {
    from {
        left: -46%;
    }
    to {
        left: 104%;
    }
}

@keyframes partnership-icon-pulse {
    0%,
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(37, 99, 235, .13);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 0 0 9px rgba(37, 99, 235, 0);
    }
}

@keyframes partnership-loader-dot {
    0%,
    100% {
        opacity: .35;
        transform: translateY(0);
    }
    50% {
        opacity: 1;
        transform: translateY(-3px);
    }
}

/* Footer */
.site-footer {
    color: rgba(255, 255, 255, .62);
    background: var(--tl-navy);
}

.footer-inner {
    min-height: 124px;
    display: flex;
    justify-content: space-between;
    gap: 32px;
    align-items: center;
}

.footer-inner > div {
    display: grid;
    gap: 5px;
}

.footer-inner > div:last-child {
    text-align: right;
}

.footer-inner strong {
    color: #FFFFFF;
    font-family: "Space Grotesk", "Manrope", Arial, sans-serif;
    font-size: 20px;
}

.footer-inner span,
.footer-inner a {
    font-size: 14px;
}

.footer-inner a {
    color: rgba(255, 255, 255, .82);
    text-decoration: none;
}

.footer-inner a:hover {
    color: var(--tl-cyan);
}

/* Reveal */
.js .reveal-item {
    opacity: 0;
    transform: translateY(22px);
    transition:
        opacity .7s ease var(--reveal-delay, 0ms),
        transform .7s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

.js .reveal-item.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Portal and login */
.auth-page,
.dashboard-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 20% 16%, rgba(0, 184, 217, .09), transparent 27%),
        radial-gradient(circle at 86% 12%, rgba(37, 99, 235, .10), transparent 26%),
        var(--tl-background);
}

.auth-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    gap: 24px;
    padding: 42px 24px;
}

.auth-brand {
    color: var(--tl-navy);
}

.auth-card {
    width: min(480px, 100%);
    padding: 38px;
    border: 1px solid var(--tl-border);
    border-radius: 26px;
    background: rgba(255, 255, 255, .97);
    box-shadow: var(--shadow-md);
}

.auth-card h1 {
    margin-bottom: 12px;
    font-size: 42px;
    line-height: 1.12;
    letter-spacing: -.04em;
}

.auth-description {
    color: var(--tl-text-secondary);
}

.auth-form {
    display: grid;
    gap: 12px;
    margin-top: 28px;
}

.auth-form label {
    margin-top: 8px;
    font-size: 14px;
    font-weight: 600;
}

.auth-form input {
    min-height: 50px;
    width: 100%;
    padding: 0 14px;
    border: 1px solid var(--tl-border);
    border-radius: 12px;
    outline: none;
    font-size: 15px;
}

.auth-form input:focus {
    border-color: var(--tl-primary);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .09);
}

.auth-submit {
    width: 100%;
    margin-top: 10px;
}

.form-error {
    margin-top: 18px;
    padding: 12px 14px;
    border-radius: 11px;
    color: var(--tl-error);
    background: rgba(201, 69, 69, .08);
    font-size: 13px;
}

.back-link {
    display: inline-block;
    margin-top: 22px;
    color: var(--tl-text-secondary);
    font-size: 14px;
    text-decoration: none;
}

.dashboard-header {
    min-height: 76px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    padding: 0 max(24px, calc((100vw - var(--container)) / 2));
    color: #FFFFFF;
    background: var(--tl-navy);
}

.logout-button,
.back-to-portal {
    padding: 10px 14px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    color: #FFFFFF;
    background: rgba(255, 255, 255, .04);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.dashboard-main {
    width: min(var(--container), calc(100% - 48px));
    margin: 0 auto;
    padding: 68px 0 100px;
}

.dashboard-welcome h1,
.trip-detail-hero h1 {
    margin: 8px 0 12px;
    font-size: clamp(38px, 5vw, 54px);
    line-height: 1.08;
    letter-spacing: -.045em;
}

.dashboard-welcome p {
    color: var(--tl-text-secondary);
    font-size: 17px;
}

.portal-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 36px;
}

.portal-summary article {
    padding: 24px;
    border: 1px solid var(--tl-border);
    border-radius: 18px;
    background: #FFFFFF;
    box-shadow: var(--shadow-sm);
}

.portal-summary span {
    display: block;
    color: var(--tl-text-secondary);
    font-size: 14px;
}

.portal-summary strong {
    display: block;
    margin-top: 8px;
    color: var(--tl-navy);
    font-family: "Space Grotesk", "Manrope", Arial, sans-serif;
    font-size: 34px;
}

.trips-section {
    margin-top: 64px;
}

.portal-section-heading h2 {
    margin-bottom: 0;
    font-size: 34px;
}

.trip-list {
    display: grid;
    gap: 12px;
    margin-top: 24px;
}

.trip-row {
    display: grid;
    grid-template-columns: 84px 1fr auto;
    gap: 22px;
    align-items: center;
    padding: 20px;
    border: 1px solid var(--tl-border);
    border-radius: 18px;
    color: inherit;
    background: #FFFFFF;
    box-shadow: var(--shadow-sm);
    text-decoration: none;
    transition:
        border-color .18s ease,
        transform .18s ease,
        box-shadow .18s ease;
}

.trip-row:hover {
    border-color: rgba(37, 99, 235, .28);
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.trip-date {
    min-height: 70px;
    display: grid;
    place-items: center;
    align-content: center;
    border-radius: 14px;
    background: var(--tl-light-blue);
}

.trip-date strong {
    color: var(--tl-primary);
    font-size: 25px;
}

.trip-date span {
    color: var(--tl-text-secondary);
    font-size: 12px;
}

.trip-main h3 {
    margin: 8px 0 4px;
    font-size: 21px;
}

.trip-main p {
    margin: 0;
    color: var(--tl-text-secondary);
    font-size: 14px;
}

.trip-open {
    color: var(--tl-primary);
    font-size: 13px;
    font-weight: 600;
}

.trip-status {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    border-radius: 999px;
    color: var(--tl-primary);
    background: var(--tl-light-blue);
    font-size: 12px;
    font-weight: 700;
}

.trip-status-confirmed,
.trip-status-completed {
    color: var(--tl-success);
    background: rgba(22, 138, 104, .10);
}

.trip-status-cancelled {
    color: var(--tl-error);
    background: rgba(201, 69, 69, .10);
}

.empty-state {
    margin-top: 24px;
    padding: 44px;
    border: 1px dashed var(--tl-border);
    border-radius: 20px;
    text-align: center;
    background: rgba(255, 255, 255, .65);
}

.empty-state > span {
    color: var(--tl-primary);
    font-size: 13px;
    font-weight: 700;
}

.empty-state h3 {
    margin: 10px 0 8px;
    font-size: 24px;
}

.empty-state p {
    margin: 0;
    color: var(--tl-text-secondary);
}

.trip-detail-hero {
    padding: 34px;
    border: 1px solid var(--tl-border);
    border-radius: 24px;
    background: #FFFFFF;
    box-shadow: var(--shadow-sm);
}

.trip-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--tl-border);
}

.trip-detail-meta div {
    display: grid;
    gap: 4px;
}

.trip-detail-meta span,
.trip-service-meta span {
    color: var(--tl-text-secondary);
    font-size: 13px;
}

.trip-detail-meta strong,
.trip-service-meta strong {
    font-size: 15px;
}

.trip-services {
    display: grid;
    gap: 48px;
    margin-top: 54px;
}

.trip-service-group-heading {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.trip-service-group-heading > span {
    color: var(--tl-primary);
    font-size: 13px;
    font-weight: 700;
}

.trip-service-group-heading h2 {
    margin: 0;
    font-size: 28px;
}

.trip-service-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.trip-service-card {
    padding: 24px;
    border: 1px solid var(--tl-border);
    border-radius: 20px;
    background: #FFFFFF;
    box-shadow: var(--shadow-sm);
}

.trip-service-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.trip-service-top time {
    color: var(--tl-text-secondary);
    font-size: 13px;
}

.trip-service-card h3 {
    margin: 22px 0 6px;
    font-size: 22px;
}

.trip-service-subtitle {
    color: var(--tl-text-secondary);
}

.trip-service-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 26px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--tl-border);
}

.trip-service-meta div {
    display: grid;
    gap: 3px;
}

.trip-service-note {
    margin: 18px 0 0;
    color: var(--tl-text-secondary);
    font-size: 14px;
}

.document-link {
    display: inline-flex;
    margin-top: 20px;
    color: var(--tl-primary);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.trip-note {
    margin-top: 36px;
    padding: 24px;
    border-left: 4px solid var(--tl-cyan);
    border-radius: 0 16px 16px 0;
    background: var(--tl-cyan-soft);
}

.trip-note > span {
    color: #006B7E;
    font-size: 13px;
    font-weight: 700;
}

.trip-note p {
    margin: 8px 0 0;
    color: var(--tl-text-secondary);
}

/* Responsive */
@media (max-width: 1080px) {
    .main-nav {
        display: none;
    }

    .tech-hero-grid {
        grid-template-columns: 1fr;
        min-height: auto;
        padding-top: 84px;
    }

    .platform-visual {
        min-height: 500px;
    }

    .section-heading,
    .audience-panel,
    .partnership-contact-heading {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .capability-pair,
    .connection-grid {
        grid-template-columns: 1fr;
    }

    .connection-card {
        min-height: auto;
    }

    .compact-architecture {
        grid-template-columns: 1fr;
    }

    .compact-flow {
        min-height: 48px;
    }

    .compact-flow::before {
        left: 50%;
        right: auto;
        top: 2px;
        bottom: 2px;
        width: 1px;
        height: auto;
        background: linear-gradient(180deg, transparent, rgba(0, 184, 217, .70), transparent);
    }

    .compact-flow > i {
        left: calc(50% - 3px) !important;
        top: auto;
    }

    .compact-flow > i:nth-child(1) {
        top: 5px;
    }

    .compact-flow > i:nth-child(2) {
        top: calc(50% - 3px);
    }

    .compact-flow > i:nth-child(3) {
        bottom: 5px;
    }

    .compact-flow::after {
        left: calc(50% - 6px);
        top: 0;
    }

    .compact-architecture.is-active .compact-flow-left::after,
    .compact-architecture.is-active .compact-flow-right::after {
        animation-name: architecture-signal-vertical;
    }

    @keyframes architecture-signal-vertical {
        0% {
            top: 0;
            opacity: 0;
            transform: translateY(-14px) scale(.6);
        }
        14% {
            opacity: 1;
        }
        82% {
            opacity: 1;
        }
        100% {
            top: 100%;
            opacity: 0;
            transform: translateY(4px) scale(1);
        }
    }
}

@media (max-width: 780px) {
    .container,
    .dashboard-main {
        width: min(100% - 32px, var(--container));
    }

    .section {
        padding: 78px 0;
    }

    .header-inner {
        min-height: 68px;
    }

    .portal-link {
        padding: 0 13px;
    }

    .portal-link span {
        display: none;
    }

    .tech-hero {
        min-height: auto;
    }

    .tech-hero-grid {
        padding-top: 66px;
        padding-bottom: 72px;
    }

    .tech-hero h1 {
        font-size: clamp(38px, 10.8vw, 46px);
        line-height: 1.10;
    }

    .tech-hero-copy > p {
        font-size: 16px;
    }

    .hero-trust,
    .model-board,
    .partnership-form-grid,
    .partnership-services-grid,
    .trip-service-list {
        grid-template-columns: 1fr;
    }

    .hero-flow {
        grid-template-columns: 1fr;
    }

    .hero-flow-arrow {
        min-height: 34px;
    }

    .hero-flow-arrow::before {
        left: 50%;
        right: auto;
        top: 2px;
        bottom: 2px;
        width: 1px;
        height: auto;
        background: linear-gradient(180deg, transparent, rgba(0, 184, 217, .66), transparent);
    }

    .hero-flow-arrow span {
        left: calc(50% - 4px);
        top: 0;
        animation: hero-signal-vertical 2.2s ease-in-out infinite;
    }

    @keyframes hero-signal-vertical {
        0% {
            top: 0;
            opacity: 0;
        }
        18% {
            opacity: 1;
        }
        82% {
            opacity: 1;
        }
        100% {
            top: calc(100% - 9px);
            opacity: 0;
        }
    }

    .visual-footer {
        grid-template-columns: repeat(2, 1fr);
    }

    .visual-footer span:nth-child(3) {
        border-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .08);
    }

    .visual-footer span:nth-child(4) {
        border-top: 1px solid rgba(255, 255, 255, .08);
    }

    .journey-route {
        grid-template-columns: 1fr;
    }

    .journey-route-line {
        width: 1px;
        height: 30px;
        margin-left: 14px;
    }

    .journey-route-line::before,
    .journey-route-line::after {
        left: -3px;
        right: auto;
    }

    .journey-route-line::before {
        top: 0;
    }

    .journey-route-line::after {
        top: auto;
        bottom: 0;
    }

    .journey-route-line i {
        width: 1px;
        height: 30%;
        top: 0;
        left: 0;
        animation: route-progress-vertical 2.5s ease-in-out infinite;
    }

    @keyframes route-progress-vertical {
        from {
            top: 0;
            opacity: 0;
        }
        20% {
            opacity: 1;
        }
        to {
            top: 70%;
            opacity: 0;
        }
    }

    .journey-summary {
        grid-template-columns: 1fr;
    }

    .technology-map {
        grid-template-columns: 1fr;
    }

    .technology-path {
        width: 1px;
        height: 36px;
        margin: 0 auto;
    }

    .technology-path i {
        left: -3px;
        top: 0;
        animation: technology-signal-vertical 2.2s ease-in-out infinite;
    }

    @keyframes technology-signal-vertical {
        from {
            top: 0;
            opacity: 0;
        }
        20% {
            opacity: 1;
        }
        to {
            top: calc(100% - 8px);
            opacity: 0;
        }
    }

    .brand-mode-strip {
        grid-template-columns: 1fr;
    }

    .brand-mode-status {
        width: fit-content;
    }

    .commercial-terms {
        align-items: flex-start;
    }

    .partnership-form {
        padding: 24px 18px;
    }

    .partnership-form-footer,
    .partnership-form-feedback-row,
    .footer-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    .partnership-submit,
    .button {
        width: 100%;
    }

    .partnership-reset-button {
        width: 100%;
    }

    .footer-inner {
        min-height: auto;
        padding: 34px 0;
    }

    .footer-inner > div:last-child {
        text-align: left;
    }

    .portal-summary {
        grid-template-columns: 1fr;
    }

    .trip-row {
        grid-template-columns: 68px 1fr;
    }

    .trip-open {
        grid-column: 2;
    }
}

@media (max-width: 520px) {
    .brand > span:last-child {
        display: none;
    }

    .portal-link {
        min-height: 40px;
        font-size: 12px;
    }

    .section-heading h2,
    .audience-copy h2,
    .partnership-contact-heading h2 {
        font-size: 30px;
    }

    .product-panel-head,
    .journey-toolbar,
    .partner-profile-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .journey-product-panel,
    .technology-panel,
    .operations-panel,
    .connection-card,
    .compact-side,
    .compact-core {
        padding: 22px;
    }

    .journey-service-list {
        grid-template-columns: 1fr;
    }

    .operation-row {
        grid-template-columns: auto 1fr;
    }

    .operation-status {
        grid-column: 2;
        width: fit-content;
    }

    .profile-row {
        grid-template-columns: 1fr;
        gap: 3px;
        padding: 14px 0;
    }

    .profile-row strong {
        text-align: left;
    }

    .commercial-terms {
        grid-template-columns: 1fr;
    }

    .compact-architecture-note {
        grid-template-columns: 1fr;
        align-items: flex-start;
    }

    .compact-architecture-note > span {
        width: fit-content;
    }

    .auth-card {
        padding: 28px 22px;
    }

    .dashboard-main {
        padding-top: 42px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

    .js .reveal-item,
    .js .reveal-item.is-visible {
        opacity: 1;
        transform: none;
    }
}

/* Выбранный корпоративный логотип */
.auth-logo {
    width: 220px;
    display: block;
    color: inherit;
    text-decoration: none;
}

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

.footer-brand {
    display: flex !important;
    grid-template-columns: none;
    align-items: center;
    gap: 14px;
}

.footer-brand > div {
    display: grid;
    gap: 5px;
}

.footer-logo {
    width: 48px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.footer-logo img {
    width: 46px;
    height: auto;
    display: block;
}

@media (max-width: 520px) {
    .brand-logo {
        width: 42px;
        height: 38px;
    }

    .brand-logo img {
        width: 40px;
    }

    .auth-logo {
        width: 190px;
    }
}

/* Уточнённый финальный блок */
.partnership-contact-section {
    padding-top: 92px;
    padding-bottom: 92px;
}

.partnership-contact-heading {
    margin-bottom: 32px;
}

.partnership-contact-copy {
    display: grid;
    gap: 20px;
}

.partnership-direct-contact {
    display: grid;
    gap: 3px;
    width: fit-content;
    padding-left: 16px;
    border-left: 3px solid var(--tl-cyan);
}

.partnership-direct-contact > span {
    color: var(--tl-text-secondary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.partnership-direct-contact a {
    margin-top: 0;
    color: var(--tl-primary);
    font-size: 17px;
    line-height: 1.45;
    font-weight: 700;
}

.partnership-direct-contact small {
    max-width: 390px;
    margin-top: 3px;
    color: var(--tl-text-secondary);
    font-size: 13px;
    line-height: 1.5;
}

.partnership-form {
    padding: 30px;
}

.partnership-form-column {
    gap: 16px;
}

.partnership-form-grid {
    gap: 18px 28px;
}

.partnership-field input,
.partnership-field select {
    min-height: 50px;
}

.partnership-field textarea {
    min-height: 122px;
}

.partnership-services {
    margin-top: 24px;
    padding-top: 22px;
}

.partnership-services-grid {
    gap: 8px;
}

.partnership-service-option {
    min-height: 46px;
}

.partnership-form-footer {
    margin-top: 22px;
    padding-top: 20px;
}

.partnership-form.is-sent {
    min-height: 190px;
    display: flex;
    align-items: center;
}

.partnership-form.is-sent .partnership-form-feedback {
    width: 100%;
}

.partnership-form-feedback.is-success .partnership-form-feedback-row {
    min-height: 132px;
}

.partnership-form-feedback.is-success .partnership-feedback-icon {
    width: 48px;
    height: 48px;
    border-radius: 15px;
    font-size: 19px;
}

.partnership-form-feedback.is-success .partnership-feedback-copy strong {
    font-family: "Space Grotesk", "Manrope", Arial, sans-serif;
    font-size: 21px;
    line-height: 1.25;
}

.partnership-form-feedback.is-success .partnership-feedback-copy p {
    max-width: 570px;
    margin-top: 7px;
    font-size: 14px;
    line-height: 1.6;
}

@media (max-width: 780px) {
    .partnership-contact-section {
        padding-top: 74px;
        padding-bottom: 74px;
    }

    .partnership-contact-heading {
        margin-bottom: 26px;
    }

    .partnership-form {
        padding: 24px 18px;
    }
}

/* Согласие на обработку данных */
.partnership-consent {
    margin-top: 22px;
    padding: 17px 18px;
    border: 1px solid var(--tl-border);
    border-radius: 14px;
    background: var(--tl-background);
}

.partnership-consent-label {
    display: grid !important;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    margin: 0 !important;
    color: var(--tl-text-secondary) !important;
    cursor: pointer;
    font-size: 13px !important;
    line-height: 1.58;
}

.partnership-consent-label input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--tl-primary);
    cursor: pointer;
}

.partnership-consent-label a {
    color: var(--tl-primary);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(37, 99, 235, .28);
    text-underline-offset: 3px;
}

.partnership-consent-label a:hover {
    color: var(--tl-primary-hover);
}

.partnership-consent.has-ajax-error {
    border-color: var(--tl-error);
    background: rgba(201, 69, 69, .05);
    box-shadow: 0 0 0 4px rgba(201, 69, 69, .06);
}

/* Footer links */
.footer-links {
    display: grid !important;
    gap: 4px;
}

.footer-links a {
    width: fit-content;
    margin-left: auto;
}

/* Privacy page */
.privacy-page {
    background: var(--tl-background);
}

.privacy-hero {
    color: #FFFFFF;
    background:
        radial-gradient(
            circle at 14% 18%,
            rgba(0, 184, 217, .15),
            transparent 32%
        ),
        radial-gradient(
            circle at 88% 22%,
            rgba(37, 99, 235, .22),
            transparent 34%
        ),
        linear-gradient(145deg, #081A32, #102A4C);
}

.privacy-hero-inner {
    min-height: 410px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 72px;
    align-items: center;
    padding-top: 72px;
    padding-bottom: 72px;
}

.privacy-hero .eyebrow {
    color: var(--tl-cyan);
}

.privacy-hero h1 {
    max-width: 780px;
    margin: 0;
    font-size: clamp(48px, 6vw, 70px);
    line-height: 1.06;
    letter-spacing: -.05em;
}

.privacy-hero p {
    max-width: 720px;
    margin: 24px 0 0;
    color: rgba(255, 255, 255, .70);
    font-size: 17px;
    line-height: 1.7;
}

.privacy-version {
    min-width: 220px;
    display: grid;
    gap: 5px;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 18px;
    background: rgba(255, 255, 255, .045);
}

.privacy-version span,
.privacy-version small {
    color: rgba(255, 255, 255, .54);
    font-size: 12px;
}

.privacy-version strong {
    color: #FFFFFF;
    font-size: 19px;
}

.privacy-content-section {
    padding: 86px 0 110px;
}

.privacy-layout {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 54px;
    align-items: start;
}

.privacy-sidebar {
    position: sticky;
    top: 104px;
    display: grid;
    gap: 7px;
    padding: 24px;
    border: 1px solid var(--tl-border);
    border-radius: 20px;
    background: #FFFFFF;
    box-shadow: var(--shadow-sm);
}

.privacy-sidebar > span {
    color: var(--tl-text-secondary);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.privacy-sidebar strong {
    margin-top: 5px;
    font-size: 18px;
}

.privacy-sidebar a {
    color: var(--tl-primary);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.privacy-sidebar p {
    margin: 13px 0 0;
    padding-top: 16px;
    border-top: 1px solid var(--tl-border);
    color: var(--tl-text-secondary);
    font-size: 13px;
    line-height: 1.6;
}

.privacy-document {
    padding: 44px 50px;
    border: 1px solid var(--tl-border);
    border-radius: 24px;
    background: #FFFFFF;
    box-shadow: var(--shadow-sm);
}

.privacy-document section + section {
    margin-top: 42px;
    padding-top: 38px;
    border-top: 1px solid var(--tl-border);
}

.privacy-document h2 {
    margin: 0 0 16px;
    color: var(--tl-navy);
    font-size: 25px;
    line-height: 1.3;
    letter-spacing: -.025em;
}

.privacy-document p,
.privacy-document li {
    color: var(--tl-text-secondary);
    font-size: 15px;
    line-height: 1.75;
}

.privacy-document p {
    margin-bottom: 14px;
}

.privacy-document p:last-child {
    margin-bottom: 0;
}

.privacy-document ul {
    display: grid;
    gap: 9px;
    margin: 16px 0;
    padding-left: 22px;
}

.privacy-document a {
    color: var(--tl-primary);
    font-weight: 700;
}

@media (max-width: 920px) {
    .privacy-hero-inner,
    .privacy-layout {
        grid-template-columns: 1fr;
    }

    .privacy-version {
        min-width: 0;
        width: fit-content;
    }

    .privacy-sidebar {
        position: static;
    }
}

@media (max-width: 780px) {
    .footer-links a {
        margin-left: 0;
    }

    .privacy-hero-inner {
        min-height: auto;
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .privacy-hero h1 {
        font-size: 40px;
    }

    .privacy-content-section {
        padding: 64px 0 78px;
    }

    .privacy-document {
        padding: 28px 22px;
    }

    .privacy-document h2 {
        font-size: 22px;
    }
}

.privacy-legal-detail {
    display: block;
    color: var(--tl-text-secondary);
    font-size: 13px;
    line-height: 1.55;
}

.privacy-sidebar .privacy-legal-detail + .privacy-legal-detail {
    margin-top: 3px;
}
