@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter-400.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter-500.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter-600.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../fonts/Inter-700.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("../fonts/JetBrainsMono-400.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("../fonts/JetBrainsMono-500.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("../fonts/JetBrainsMono-600.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "JetBrains Mono";
    src: url("../fonts/JetBrainsMono-700.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

html {
    font-size: 0.0520833333333333vw;
    scroll-padding-top: max(88px, calc(var(--header-height) + 24rem));
}

@media (min-width: 1921px) {
    html {
        font-size: 1px;
    }
}

@media (max-width: 1500px) {
    html {
        font-size: 0.0666666666666667vw;
    }
}

@media (max-width: 1024px) {
    html {
        font-size: 0.09765625vw;
    }
}

@media (max-width: 600px) {
    html {
        font-size: 0.1666666667vw;
    }
}

@media (max-width: 460px) {
    html {
        font-size: 0.2173913043478261vw;
    }
}

:root {
    --font-sans: "Inter", Arial, sans-serif;
    --font-mono: "JetBrains Mono", Consolas, monospace;
    --font-min: 12px;
    --font-h1: 40rem;
    --font-h2: 32rem;
    --font-h3: 20rem;
    --font-rich-h2: 24rem;
    --font-rich-h3: 20rem;
    --color-bg: #f8f9ff;
    --color-surface: #ffffff;
    --color-text: #121c2a;
    --color-muted: #424753;
    --color-soft: #e6eeff;
    --color-border: #e5e7eb;
    --color-accent: #003f8d;
    --color-accent-strong: #0055bb;
    --color-cyan: #087f95;
    --color-green: #2d7d5f;
    --color-warm: #c27a16;
    --color-danger: #b42318;
    --hero-tech-bg: #07090c;
    --hero-tech-bg-deep: #020306;
    --hero-tech-text: #f5f9ff;
    --hero-tech-muted: #c8d5e5;
    --hero-tech-glow: rgba(30, 183, 255, 0.72);
    --hero-tech-panel: rgba(9, 18, 32, 0.74);
    --honeycomb-background: #07090c;
    --honeycomb-outline: #17618a;
    --honeycomb-neon: #00baff;
    --honeycomb-spark: #d5faff;
    --honeycomb-surface-edge: #050709;
    --honeycomb-edge-shadow: rgba(0, 0, 0, 0.52);
    --honeycomb-raised-glow: rgba(0, 186, 255, 0.38);
    --honeycomb-outline-opacity: 0.24;
    --section-surface: rgba(248, 249, 255, 0.94);
    --section-soft-surface: rgba(230, 238, 255, 0.93);
    --section-dark-surface: rgba(18, 28, 42, 0.95);
    --direction-card-basis: calc((100% - 24rem) / 2);
    --container: 1152rem;
    --gutter: 64rem;
    --section: 96rem;
    --header-height: 64rem;
    --radius: 2rem;
    --shadow: 0 16rem 48rem rgba(18, 28, 42, 0.08);
    --scene-panel: rgba(6, 15, 27, 0.88);
    --scene-panel-strong: rgba(8, 20, 35, 0.96);
    --scene-border: rgba(78, 190, 247, 0.17);
    --scene-muted: #c8d5e5;
    --scene-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --scene-duration: 420ms;
    --scene-exit-fade: 1;
    --scene-slide-duration: 1200ms;
    --scene-slide-duration-reduced: 900ms;
    --product-slide-duration: 1200ms;
    --product-slide-duration-reduced: 900ms;
    --product-story-ink: #f3f8ff;
    --product-story-muted: #c8d5e5;
    --product-story-accent: #62dcf5;
    --product-story-shade: rgba(4, 10, 17, 0.78);
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--honeycomb-background);
    color: var(--color-text);
    font-family: var(--font-sans);
    font-size: max(16px, 16rem);
    line-height: 1.55;
    letter-spacing: 0;
    overflow-x: hidden;
}

body.is-locked {
    overflow: hidden;
}

body.has-cookie-banner {
    padding-bottom: 118rem;
}

[id] {
    scroll-margin-top: max(88px, calc(var(--header-height) + 24rem));
}

a {
    color: inherit;
    text-decoration-thickness: 1rem;
    text-underline-offset: 4rem;
}

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

h1,
h2,
h3,
p,
a,
button,
label,
summary,
li,
strong {
    overflow-wrap: anywhere;
}

button,
input,
textarea {
    font: inherit;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
.rich-editor__area:focus-visible {
    outline: max(2px, 2rem) solid var(--color-accent-strong);
    outline-offset: max(3px, 3rem);
}

.container {
    width: min(var(--container), calc(100% - (var(--gutter) * 2)));
    margin-inline: auto;
}

main,
.site-footer {
    position: relative;
    z-index: 1;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    height: var(--header-height);
    background: rgba(248, 249, 255, 0.95);
    border-bottom: 1rem solid var(--color-border);
    backdrop-filter: blur(6rem);
}

.site-header__inner {
    width: min(100%, 1280rem);
    height: 100%;
    margin-inline: auto;
    padding-inline: var(--gutter);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16rem;
}

.brand {
    display: flex;
    align-items: center;
    gap: 0;
    color: var(--color-accent);
    font-size: max(var(--font-min), 24rem);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.brand__logo {
    width: 96rem;
    height: 43rem;
    flex: 0 0 auto;
}

.brand__text {
    display: block;
}

.main-nav,
.header-actions {
    display: flex;
    align-items: center;
    gap: 14rem;
}

.main-nav a {
    display: flex;
    align-items: center;
    height: var(--header-height);
    color: var(--color-muted);
    font-size: max(14px, 15rem);
    white-space: nowrap;
    text-decoration: none;
    border-bottom: 2rem solid transparent;
}

.main-nav a.is-active,
.main-nav a:hover {
    color: var(--color-accent);
    border-bottom-color: var(--color-accent);
}

.header-actions__invest {
    color: var(--color-muted);
    text-decoration: none;
    white-space: nowrap;
}

.header-actions .button {
    white-space: nowrap;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: max(44px, 46rem);
    padding: max(12px, 12rem) max(20px, 24rem);
    border: 1rem solid var(--color-accent);
    border-radius: var(--radius);
    background: transparent;
    color: var(--color-accent);
    font-family: var(--font-mono);
    font-size: max(14px, 14rem);
    font-weight: 500;
    line-height: 1.2;
    overflow-wrap: normal;
    text-align: center;
    text-decoration: none;
    word-break: normal;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.button:hover {
    background: var(--color-accent);
    color: #ffffff;
}

.button--primary {
    background: var(--color-accent);
    color: #ffffff;
}

.button--primary:hover {
    background: var(--color-accent-strong);
    border-color: var(--color-accent-strong);
}

.button--ghost {
    border-color: #737784;
    color: var(--color-text);
}

.button--small {
    min-height: max(44px, 36rem);
    padding: max(8px, 8rem) max(16px, 16rem);
    font-size: max(13px, 13rem);
}

.nav-toggle {
    display: none;
    width: max(44px, 42rem);
    height: max(44px, 42rem);
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
    border-radius: var(--radius);
}

.nav-toggle span {
    display: block;
    width: 18rem;
    height: 2rem;
    margin: 4rem auto;
    background: var(--color-text);
}

.flash {
    position: fixed;
    right: 24rem;
    top: calc(var(--header-height) + 16rem);
    z-index: 80;
    max-width: 420rem;
    padding: 16rem 18rem;
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
    box-shadow: var(--shadow);
}

.flash--success {
    border-left: 4rem solid var(--color-green);
}

.flash--error {
    border-left: 4rem solid var(--color-danger);
}

.hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--color-surface);
    border-bottom: 1rem solid var(--color-border);
    padding: 128rem 0;
}

.hero--tech {
    background: transparent;
    border-bottom-color: rgba(35, 168, 255, 0.2);
    color: var(--hero-tech-text);
}


.neon-honeycomb {
    --background: var(--honeycomb-background);
    --outline: var(--honeycomb-outline);
    --neon: var(--honeycomb-neon);
    --spark: var(--honeycomb-spark);
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    isolation: isolate;
    background: var(--background);
}

.neon-honeycomb svg {
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.neon-honeycomb::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(ellipse at center, transparent 24%, var(--honeycomb-edge-shadow) 100%),
        linear-gradient(90deg, rgba(7, 9, 12, 0.58), transparent 18%, transparent 72%, rgba(7, 9, 12, 0.72));
}

.neon-honeycomb .hex-tile {
    fill: url(#site-hex-surface);
    stroke: var(--honeycomb-surface-edge);
    stroke-width: 2;
    stroke-linejoin: round;
    opacity: var(--hex-opacity, 0.2);
    transform-box: fill-box;
    transform-origin: center;
    transition: opacity 680ms ease, filter 680ms ease, transform 680ms ease;
}

.neon-honeycomb .hex-tile.is-raised {
    opacity: 0.52;
    filter: drop-shadow(0 0 14rem var(--honeycomb-raised-glow));
    transform: translateY(-2rem) scale(1.035);
}

.neon-honeycomb .hex-outline {
    fill: none;
    stroke: var(--outline);
    stroke-width: 1.5;
    stroke-linejoin: round;
    opacity: var(--honeycomb-outline-opacity);
}

.neon-honeycomb .hex-pulse {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 12 88;
    opacity: 0;
}

.neon-honeycomb .hex-pulse--glow {
    stroke: var(--neon);
    stroke-width: 6;
    filter: url(#site-hex-glow);
}

.neon-honeycomb .hex-pulse--core {
    stroke: var(--spark);
    stroke-width: 2;
}

.hero--tech .hero__inner {
    position: relative;
    z-index: 1;
}

.hero--tech .hero__inner > * {
    position: relative;
    z-index: 1;
}

.hero--tech .eyebrow {
    border-color: rgba(95, 180, 255, 0.34);
    background: rgba(8, 17, 31, 0.68);
    color: #d9ebff;
}

.hero--tech .eyebrow span {
    background: var(--hero-tech-glow);
    box-shadow: 0 0 18rem var(--hero-tech-glow);
}

.hero--tech h1 {
    color: var(--hero-tech-text);
    text-shadow: 0 12rem 32rem rgba(0, 0, 0, 0.35);
}

.hero--tech h1 strong {
    color: #66d9ff;
}

.hero--tech p,
.hero--tech .rich-text {
    color: var(--hero-tech-muted);
}

.hero--tech .button--primary {
    border-color: #2da9f4;
    background: #0867b9;
    box-shadow: 0 14rem 38rem rgba(0, 92, 178, 0.36);
}

.hero--tech .button--primary:hover {
    border-color: #5ccaff;
    background: #0a7edc;
}

.hero--tech .button--ghost {
    border-color: rgba(206, 235, 255, 0.56);
    background: rgba(255, 255, 255, 0.04);
    color: #eef7ff;
}

.hero--tech .button--ghost:hover {
    border-color: #66d9ff;
    background: rgba(102, 217, 255, 0.12);
    color: #ffffff;
}

.hero__inner,
.split,
.preview-columns,
.service-detail__top,
.service-inputs {
    display: flex;
    align-items: flex-start;
    gap: 24rem;
}

.hero__inner > *,
.split > *,
.preview-columns > *,
.service-detail__top > *,
.service-inputs > *,
.direction-card,
.trust-item,
.case-card,
.article-card,
.component-list article,
.mcod-page__content,
.mcod-page__aside,
.mcod-action,
.mcod-hero__content,
.mcod-hero__media,
.mcod-card,
.mcod-feature,
.mcod-section__intro,
.stage,
.form,
.forms-stack,
.site-footer__nav,
.site-footer__brand {
    min-width: 0;
}

.hero__content {
    flex: 1 1 58%;
    padding-top: 26rem;
}

.hero__media {
    position: relative;
    flex: 1 1 42%;
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
    overflow: hidden;
    min-height: 403rem;
}

.hero--tech .hero__media {
    border-color: rgba(93, 179, 255, 0.26);
    background: var(--hero-tech-panel);
    box-shadow: 0 28rem 80rem rgba(0, 0, 0, 0.34), inset 0 0 0 1rem rgba(255, 255, 255, 0.04);
}

.hero--tech .hero__media::before,
.hero--tech .hero__media::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}

.hero--tech .hero__media::before {
    background:
        linear-gradient(90deg, rgba(3, 8, 15, 0.56), rgba(3, 8, 15, 0.08) 48%, rgba(3, 8, 15, 0.38)),
        radial-gradient(circle at 78% 15%, rgba(84, 207, 255, 0.2), transparent 30%);
}

.hero--tech .hero__media::after {
    border: 1rem solid rgba(102, 217, 255, 0.26);
    box-shadow: inset 0 0 45rem rgba(15, 175, 255, 0.18);
}

.hero__media > img {
    width: 100%;
    height: 403rem;
    object-fit: cover;
}

.hero--tech .hero__media > img {
    filter: saturate(0.94) contrast(1.08) brightness(0.82);
    transform: scale(1.02);
}

.eyebrow,
.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8rem;
    min-height: max(26px, 26rem);
    padding: max(5px, 5rem) max(13px, 13rem);
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-muted);
    font-family: var(--font-mono);
    font-size: max(12px, 12rem);
    font-weight: 500;
    text-transform: uppercase;
}

.eyebrow span {
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background: var(--color-accent);
}

.eyebrow--blue {
    border-color: rgba(0, 63, 141, 0.2);
    background: rgba(0, 63, 141, 0.1);
    color: var(--color-accent);
}

.hero h1,
.page-hero h1 {
    max-width: 780rem;
    margin: 24rem 0;
    font-size: max(var(--font-min), var(--font-h1));
    line-height: 1.08;
    letter-spacing: 0;
}

.hero h1 strong,
.page-hero h1 strong {
    display: block;
    color: var(--color-accent);
    font-weight: 700;
}

.hero p,
.hero .rich-text,
.page-hero p,
.page-hero .rich-text,
.section__head p,
.section__head .rich-text {
    max-width: 760rem;
    margin: 0;
    color: var(--color-muted);
    font-size: max(var(--font-min), 18rem);
    line-height: 1.55;
}

.hero.hero--tech h1 strong {
    color: #66d9ff;
}

.hero.hero--tech p,
.hero.hero--tech .rich-text,
.hero.hero--tech .rich-text p {
    color: var(--hero-tech-muted);
}

.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16rem;
    margin-top: 32rem;
}

.tech-badge {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 8rem;
    padding: 9rem 13rem;
    border: 1rem solid var(--color-border);
    background: rgba(248, 249, 255, 0.92);
    color: var(--color-text);
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 14rem);
    white-space: nowrap;
    backdrop-filter: blur(6rem);
}

.tech-badge img {
    width: 20rem;
    height: 20rem;
}

.tech-badge--top {
    left: 16rem;
    top: 16rem;
}

.tech-badge--bottom {
    right: 16rem;
    bottom: 16rem;
}

.hero--tech .tech-badge {
    z-index: 2;
    border-color: rgba(102, 217, 255, 0.34);
    background: rgba(6, 14, 26, 0.76);
    color: #eef7ff;
    box-shadow: 0 12rem 30rem rgba(0, 0, 0, 0.24);
}

.section {
    padding: var(--section) 0;
    background: var(--section-surface);
}

.section--soft {
    background: var(--section-soft-surface);
    border-block: 1rem solid var(--color-border);
}

.section--dark {
    background: var(--section-dark-surface);
    color: #ffffff;
}

.section--dark p,
.section--dark .section-kicker {
    color: rgba(255, 255, 255, 0.74);
}

.request-section {
    background: transparent;
    color: #ffffff;
}

.request-section__layout {
    display: flex;
    align-items: center;
    gap: 48rem;
}

.request-section__image {
    position: relative;
    flex: 1 1 48%;
    min-height: 468rem;
    margin: 0;
    overflow: hidden;
    border: 1rem solid rgba(93, 179, 255, 0.32);
    background: transparent;
    box-shadow: 0 24rem 70rem rgba(0, 0, 0, 0.24);
}

.request-section__image--borderless {
    border: 0;
}

.request-section__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(3, 10, 18, 0.12), rgba(0, 186, 255, 0.18));
    pointer-events: none;
}

.request-section__image img {
    width: 100%;
    height: 100%;
    min-height: 468rem;
    object-fit: cover;
}

.request-section__form {
    flex: 1 1 52%;
    min-width: 0;
}

.request-section__form h2 {
    margin: 14rem 0 24rem;
    max-width: 620rem;
    color: #ffffff;
    font-size: max(var(--font-min), 32rem);
    line-height: 1.16;
}

.request-section .section-kicker {
    border-color: rgba(102, 217, 255, 0.34);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.72);
}

.request-section .form {
    padding: 0;
    border: 0;
    background: transparent;
    color: #ffffff;
}

.request-section .form label {
    color: rgba(238, 247, 255, 0.82);
}

.request-section .form input,
.request-section .form textarea {
    border-color: rgba(102, 217, 255, 0.3);
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
}

.request-section .form input:focus,
.request-section .form textarea:focus {
    border-color: #66d9ff;
    background: rgba(255, 255, 255, 0.1);
}

.request-section .form textarea::placeholder {
    color: rgba(238, 247, 255, 0.48);
}

.section__head {
    margin-bottom: 36rem;
}

.section__head h2,
.service-detail h2 {
    max-width: 780rem;
    margin: 16rem 0 12rem;
    font-size: max(var(--font-min), var(--font-h2));
    line-height: 1.15;
}

.section__head--compact {
    flex: 1 1 38%;
    margin-bottom: 0;
}

.section__head--row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24rem;
}

.direction-list,
.stage-list,
.component-list,
.trust-list,
.case-list,
.article-list,
.document-list {
    display: flex;
    flex-wrap: wrap;
    gap: 24rem;
}

.direction-card,
.trust-item,
.case-card,
.article-card,
.document-list article,
.component-list article,
.stage,
.audience-card,
.contacts-card,
.form,
.next-step {
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
    border-radius: var(--radius);
}

.direction-card {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: var(--direction-card-basis);
    min-height: 390rem;
    padding: 25rem;
    display: flex;
    flex-direction: column;
}

.direction-card__icon {
    width: 48rem;
    height: 48rem;
    margin-bottom: 18rem;
}

.direction-card span,
.case-card span,
.article-card span,
.audience-card span,
.contacts-card span,
.site-footer__nav span {
    color: var(--color-muted);
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 12rem);
    text-transform: uppercase;
}

.direction-card h3,
.trust-item h3,
.case-card h3,
.article-card h2,
.article-card h3,
.document-list h3,
.component-list h3,
.stage h3 {
    margin: 12rem 0;
    font-size: max(var(--font-min), var(--font-h3));
    line-height: 1.22;
}

.direction-card p,
.direction-card .rich-text,
.trust-item p,
.trust-item .rich-text,
.case-card p,
.case-card .rich-text,
.article-card p,
.article-card .rich-text,
.document-list p,
.document-list .rich-text,
.component-list p,
.component-list .rich-text,
.stage p,
.stage .rich-text {
    color: var(--color-muted);
    margin: 0;
}

.rich-text {
    color: var(--color-muted);
}

.rich-text > *:first-child {
    margin-top: 0;
}

.rich-text > *:last-child {
    margin-bottom: 0;
}

.rich-text p {
    margin: 0 0 12rem;
    color: inherit;
}

.rich-text h2,
.rich-text h3 {
    margin: 18rem 0 10rem;
    color: var(--color-text);
    line-height: 1.18;
}

.rich-text h2 {
    font-size: max(var(--font-min), var(--font-rich-h2));
}

.rich-text h3 {
    font-size: max(var(--font-min), var(--font-rich-h3));
}

.rich-text ul,
.rich-text ol {
    margin: 12rem 0 16rem;
    padding-left: 22rem;
}

.rich-text li {
    margin-bottom: 6rem;
}

.rich-text a {
    color: var(--color-accent);
    font-weight: 600;
}

.rich-text strong {
    color: var(--color-text);
}

.direction-card ul,
.audience-card ul,
.plain-list {
    margin: 18rem 0 24rem;
    padding: 0;
    list-style: none;
}

.direction-card li,
.plain-list li {
    position: relative;
    padding-left: 18rem;
    color: var(--color-muted);
    margin-bottom: 8rem;
}

.direction-card li::before,
.plain-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11rem;
    width: 6rem;
    height: 6rem;
    background: var(--color-cyan);
}

.direction-card > a,
.text-link {
    margin-top: auto;
    color: var(--color-accent);
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 14rem);
    font-weight: 500;
}

.trust-list {
    flex: 1 1 58%;
}

.trust-item {
    flex: 1 1 260rem;
    padding: 25rem;
}

.investor-teaser__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32rem;
    padding: 48rem;
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
}

.investor-teaser {
    background: transparent;
}

.scroll-scene {
    --scene-progress: 0;
    --scene-exit: 0;
    --scene-frame-opacity: 1;
    --scene-content-shift: 0rem;
    --scene-media-scale: 1;
    position: relative;
    isolation: isolate;
    border: 0;
    background: transparent;
    color: #eef7ff;
}

.scroll-scene.section--soft {
    border: 0;
    background: transparent;
}

.scroll-scene__frame {
    position: relative;
    z-index: 1;
    width: 100%;
}

.scroll-scene.is-scene-enhanced {
    min-height: var(--scene-height, 100svh);
    padding: 0;
}

.scroll-scene--hero.is-scene-enhanced {
    overflow: visible;
}

.scroll-scene.is-scene-enhanced > .scroll-scene__frame {
    position: sticky;
    top: var(--header-height);
    display: flex;
    align-items: center;
    height: calc(100svh - var(--header-height));
    min-height: 0;
    padding-block: 28rem;
    overflow: clip;
    opacity: var(--scene-frame-opacity);
    transform: translate3d(0, var(--scene-content-shift), 0);
    will-change: opacity, transform;
}

.scroll-scene__body {
    position: relative;
    z-index: 1;
    min-width: 0;
}

[data-scene="directions"] .scroll-scene__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.scroll-scene__head {
    margin-bottom: 28rem;
}

.scroll-scene__head h2,
.scroll-scene .investor-teaser__inner h2 {
    color: #f3f8ff;
}

.scroll-scene__head p,
.scroll-scene__head .rich-text,
.scroll-scene .investor-teaser__inner p,
.scroll-scene .investor-teaser__inner .rich-text {
    color: var(--scene-muted);
}

.scroll-scene .section-kicker {
    border-color: rgba(91, 201, 255, 0.38);
    background: rgba(5, 16, 28, 0.78);
    color: #a9ddf7;
}

.scroll-scene__content {
    flex: 1 1 58%;
    min-width: 0;
}

.scroll-scene.is-scene-enhanced .scroll-scene__items {
    flex-wrap: nowrap;
    align-items: stretch;
}

.scroll-scene.is-scene-enhanced [data-paged-scene-item] {
    display: none;
}

.scroll-scene.is-scene-enhanced [data-paged-scene-item].is-scene-visible {
    display: flex;
    animation: scene-card-in var(--scene-duration) var(--scene-ease) both;
}

.scroll-scene.is-scene-enhanced .trust-item.is-scene-visible {
    flex-direction: column;
}

.scroll-scene .direction-card,
.scroll-scene .trust-item {
    border-color: var(--scene-border);
    background: var(--scene-panel);
    box-shadow: 0 24rem 64rem rgba(0, 0, 0, 0.26), inset 0 0 0 1rem rgba(255, 255, 255, 0.025);
}

.scroll-scene.is-scene-enhanced .direction-card,
.scroll-scene.is-scene-enhanced .trust-item {
    flex: 1 1 calc((100% - 24rem) / 2);
    min-height: 286rem;
}

.scroll-scene .direction-card span {
    color: #91a6bb;
}

.scroll-scene .direction-card h3,
.scroll-scene .trust-item h3,
.scroll-scene .direction-card .rich-text strong,
.scroll-scene .trust-item .rich-text strong {
    color: #f3f8ff;
}

.scroll-scene .direction-card p,
.scroll-scene .direction-card .rich-text,
.scroll-scene .trust-item p,
.scroll-scene .trust-item .rich-text {
    color: var(--scene-muted);
}

.scroll-scene .direction-card > a {
    color: #66d9ff;
}

.scroll-scene__nav {
    display: none;
    align-items: center;
    gap: 8rem;
    min-height: max(44px, 44rem);
    margin-top: 22rem;
}

.scroll-scene.is-scene-enhanced .scroll-scene__nav {
    display: flex;
}

.scroll-scene__nav:focus {
    outline: none;
}

.scroll-scene__nav:focus button.is-active {
    outline: max(2px, 2rem) solid #43c7ff;
    outline-offset: max(2px, 2rem);
}

.scroll-scene__nav button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max(44px, 44rem);
    height: max(44px, 44rem);
    padding: 0;
    border: 1rem solid rgba(145, 166, 187, 0.25);
    border-radius: var(--radius);
    background: rgba(5, 16, 28, 0.72);
    color: #afc0d2;
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 12rem);
    cursor: pointer;
    transition: border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.scroll-scene__nav button:hover,
.scroll-scene__nav button:focus-visible,
.scroll-scene__nav button.is-active {
    border-color: #43c7ff;
    background: rgba(0, 112, 181, 0.3);
    color: #ffffff;
    box-shadow: 0 0 22rem rgba(0, 186, 255, 0.22);
}

.scroll-scene__nav button[hidden] {
    display: none;
}

[data-scene="hero"].is-scene-enhanced .hero__inner {
    width: min(var(--container), calc(100% - (var(--gutter) * 2)));
    padding-block: 0;
}

[data-scene="hero"] .hero__content {
    transform: translate3d(0, var(--scene-content-shift), 0);
    will-change: opacity, transform;
}

[data-scene="hero"] .hero__media {
    transform: scale(var(--scene-media-scale));
    transform-origin: center;
    will-change: transform;
}

.scroll-scene--investor .investor-teaser__inner {
    border-color: var(--scene-border);
    background: var(--scene-panel-strong);
    box-shadow: 0 30rem 90rem rgba(0, 0, 0, 0.34);
}

.scroll-scene--investor.is-scene-enhanced .investor-teaser__inner {
    transform: translate3d(0, var(--scene-content-shift), 0);
    will-change: opacity, transform;
}

.scroll-scene--investor.is-scene-enhanced .investor-teaser__inner .rich-text {
    opacity: var(--scene-intro-opacity, 0.58);
}

.scroll-scene--investor.is-scene-enhanced .investor-teaser__inner > .button {
    opacity: var(--scene-cta-opacity, 0.64);
    transform: translate3d(0, var(--scene-cta-shift, 12rem), 0);
}

@keyframes scene-card-in {
    from {
        opacity: 0;
        transform: translateY(24rem) scale(0.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.product-catalog,
.product-detail,
.product-detail__description,
.product-catalog__request {
    background: transparent;
    border: 0;
    color: #f3f8ff;
}

.product-catalog__inner {
    width: min(var(--container), calc(100% - (var(--gutter) * 2)));
}

.product-catalog__intro {
    margin-bottom: 20rem;
}

.product-catalog__intro h1,
.product-detail h1 {
    margin: 16rem 0 10rem;
    font-size: max(var(--font-min), var(--font-h1));
    line-height: 1.12;
}

.product-catalog__intro .rich-text,
.product-detail__copy .rich-text,
.product-catalog__request .rich-text {
    max-width: 720rem;
    color: var(--scene-muted);
    font-size: max(14px, 16rem);
    line-height: 1.55;
}

.product-catalog .breadcrumbs,
.product-detail .breadcrumbs,
.product-catalog .breadcrumbs a,
.product-detail .breadcrumbs a {
    color: var(--scene-muted);
}

.product-catalog .breadcrumbs,
.product-detail .breadcrumbs {
    margin-bottom: 18rem;
}

.product-catalog__slides {
    display: flex;
    flex-direction: column;
    gap: 16rem;
}

.product-slide {
    display: flex;
    align-items: center;
    gap: 34rem;
    width: 100%;
    min-height: 384rem;
    padding: 24rem 32rem;
    border: 1rem solid rgba(86, 175, 229, 0.14);
    background: rgba(5, 14, 26, 0.56);
}

.product-slide__copy {
    flex: 1 1 48%;
    min-width: 0;
}

.product-slide__number {
    color: #82d9ff;
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 12rem);
}

.product-slide h2 {
    margin: 14rem 0;
    color: #fff;
    font-size: max(22px, 32rem);
}

.product-slide .rich-text {
    color: var(--scene-muted);
    font-size: max(14px, 16rem);
    line-height: 1.55;
}

.product-slide__visual {
    display: flex;
    flex: 1 1 52%;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 340rem;
    overflow: visible;
}

.product-slide__visual img,
.product-detail__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 18rem 30rem rgba(0, 0, 0, 0.42));
    transform: scale(var(--product-panel-image-scale, 1));
}

.product-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 12rem 24rem;
    margin: 22rem 0;
}

.product-specs div {
    min-width: 100rem;
}

.product-specs dt {
    color: #9eb4c8;
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 12rem);
}

.product-specs dd {
    margin: 5rem 0 0;
    color: #fff;
    font-size: max(14px, 18rem);
    font-weight: 600;
}

.product-detail__inner {
    display: flex;
    align-items: center;
    gap: 36rem;
    min-height: 520rem;
}

.product-detail__copy,
.product-detail__image {
    flex: 1 1 50%;
    min-width: 0;
}

.product-detail__image {
    height: 440rem;
}

.product-detail__description {
    padding-block: 48rem;
}

.product-detail__description .rich-text {
    max-width: 760rem;
    color: var(--scene-muted);
    font-size: max(14px, 18rem);
}

.product-detail__description h2,
.product-catalog__request h2 {
    color: #fff;
}

.product-catalog__request .split > * {
    flex: 1 1 50%;
}

@media (max-width: 800px) {
    .product-detail__inner,
    .product-catalog__request .split {
        flex-direction: column;
    }

    .product-detail__image {
        width: 100%;
        max-height: 330rem;
    }
}

@media (max-width: 600px) {
    .product-catalog__intro {
        margin-bottom: 12rem;
    }

    .product-catalog__intro h1 {
        font-size: max(24px, 28rem);
    }

    .product-slide {
        flex-direction: column;
        gap: 8rem;
        min-height: 0;
        padding: 14rem;
    }

    .product-slide__visual {
        order: -1;
        flex: none;
        width: 100%;
        height: 152rem;
    }

    .product-slide__copy {
        flex: none;
        width: 100%;
    }

    .product-slide h2 {
        margin: 6rem 0;
        font-size: max(20px, 23rem);
    }

    .product-slide .rich-text {
        font-size: max(12px, 13rem);
        line-height: 1.35;
    }

    .product-slide .rich-text p {
        margin-block: 6rem;
    }

    .product-specs {
        gap: 8rem 18rem;
        margin: 10rem 0;
    }

    .product-specs dd {
        font-size: max(12px, 14rem);
    }

    .product-slide .button {
        min-height: 42px;
    }
}

@media (max-width: 600px) and (max-height: 740px) {
    .product-catalog.is-scene-enhanced .product-catalog__intro .breadcrumbs,
    .product-catalog.is-scene-enhanced .product-catalog__intro .rich-text {
        display: none;
    }
}

.product-story {
    position: relative;
    z-index: 1;
    color: var(--product-story-ink);
}

.product-story__viewport {
    position: relative;
    overflow: visible;
}

.product-story__track {
    display: block;
}

.product-story__panel {
    position: relative;
    display: flex;
    align-items: center;
    min-height: calc(100svh - var(--header-height));
    padding: 54rem 0 94rem;
    overflow: hidden;
    isolation: isolate;
    background: transparent;
    scroll-margin-top: var(--header-height);
}

.product-story__panel::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    content: '';
    pointer-events: none;
}

.product-story__panel--hero {
    background: #050709;
}

.product-story__hero-art {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 65% center;
    transform: scaleX(-1) scale(var(--product-panel-image-scale, 1));
}

.product-story__panel--hero::after {
    background: linear-gradient(90deg, rgba(2, 5, 8, 0.97) 0%, rgba(2, 5, 8, 0.91) 29%, rgba(2, 5, 8, 0.1) 76%);
}

.product-story__hero-content,
.product-story__analytics-content,
.product-story__metrics-content,
.product-story__lineup-content {
    position: relative;
    z-index: 1;
}

.product-story .section-kicker {
    border-color: rgba(98, 220, 245, 0.3);
    background: var(--product-story-shade);
    color: var(--product-story-accent);
}

.product-story .breadcrumbs,
.product-story .breadcrumbs a {
    color: var(--product-story-muted);
}

.product-story__hero-content h1 {
    max-width: 580rem;
    margin: 24rem 0 18rem;
    color: #fff;
    font-size: max(var(--font-min), var(--font-h1));
    line-height: 1.12;
}

.product-story__hero-content .rich-text {
    max-width: 520rem;
    margin-bottom: 28rem;
    color: #e1edf7;
    font-size: max(14px, 18rem);
    line-height: 1.55;
}

.product-story__panel h2 {
    margin: 18rem 0 20rem;
    color: #fff;
    font-size: max(var(--font-min), var(--font-h2));
    line-height: 1.16;
}

.product-story__panel--analytics::after {
    background: linear-gradient(90deg, rgba(5, 10, 16, 0.96) 0%, rgba(5, 10, 16, 0.87) 52%, rgba(5, 10, 16, 0.08) 85%);
}

.product-story__analytics-photo {
    position: absolute;
    inset: 0 0 0 auto;
    width: 46%;
    height: 100%;
    object-fit: cover;
    object-position: 45% center;
    clip-path: polygon(17% 0, 100% 0, 100% 100%, 0 100%);
    transform: scale(var(--product-panel-image-scale, 1));
    transform-origin: right center;
}

.product-story__analytics-content > .rich-text {
    max-width: 600rem;
    color: var(--product-story-muted);
    font-size: max(14px, 18rem);
    line-height: 1.55;
}

.product-story__analytics-values {
    display: flex;
    align-items: flex-end;
    gap: 32rem;
    max-width: 620rem;
    margin-top: 42rem;
}

.product-story__analytics-values > div {
    display: flex;
    flex: 1 1 50%;
    flex-direction: column;
    gap: 10rem;
}

.product-story__analytics-values strong {
    color: #fff;
    font-size: max(48px, 100rem);
    font-weight: 500;
    line-height: 0.95;
}

.product-story__analytics-values > div + div strong {
    color: var(--product-story-accent);
    font-size: max(40px, 76rem);
}

.product-story__analytics-values span {
    max-width: 200rem;
    color: var(--product-story-muted);
    font-size: max(14px, 17rem);
    line-height: 1.35;
}

.product-story__source {
    margin-top: 30rem;
    color: #9eafbd;
    font-size: max(var(--font-min), 12rem);
}

.product-story__metrics-photo {
    position: absolute;
    inset: 0 0 auto;
    width: 100%;
    height: 46%;
    object-fit: cover;
    object-position: center;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 55%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 55%, transparent 100%);
    transform: scale(var(--product-panel-image-scale, 1));
    transform-origin: center top;
}

.product-story__panel--metrics::after {
    background: linear-gradient(180deg, rgba(5, 10, 16, 0.28) 0%, rgba(5, 10, 16, 0.87) 35%, rgba(5, 10, 16, 0.94) 100%);
}

.product-story__metrics-content {
    width: min(var(--container), calc(100% - (var(--gutter) * 2)));
    margin-top: 72rem;
}

.product-story__metrics-list {
    display: flex;
    gap: 32rem;
    margin-top: 46rem;
}

.product-story__metrics-list article {
    flex: 1 1 0;
    min-width: 0;
}

.product-story__metric-index {
    color: #9cb2c5;
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 12rem);
}

.product-story__metric-value {
    display: flex;
    align-items: flex-start;
    gap: 8rem;
    margin: 8rem 0 14rem;
    color: var(--product-story-accent);
}

.product-story__metric-value strong {
    font-size: max(42px, 76rem);
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

.product-story__metric-value span {
    padding-top: 10rem;
    color: var(--product-story-ink);
    font-size: max(14px, 17rem);
}

.product-story__metrics-list h3 {
    margin: 0 0 10rem;
    color: #fff;
    font-size: max(15px, 20rem);
}

.product-story__metrics-list .rich-text {
    color: var(--product-story-muted);
    font-size: max(13px, 15rem);
    line-height: 1.45;
}

.product-story__lineup-content {
    width: min(var(--container), calc(100% - (var(--gutter) * 2)));
}

.product-story__lineup-content > .rich-text {
    max-width: 800rem;
    color: var(--product-story-muted);
    font-size: max(14px, 17rem);
}

.product-story__overview {
    display: flex;
    gap: 12rem;
    margin-top: 34rem;
}

.product-story__overview a {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    min-width: 0;
    min-height: 260rem;
    padding: 14rem;
    background: rgba(7, 18, 29, 0.69);
    color: var(--product-story-ink);
    text-decoration: none;
    transition: background 180ms ease, transform 180ms ease;
}

.product-story__overview a:hover,
.product-story__overview a:focus-visible {
    background: rgba(12, 41, 60, 0.84);
    transform: translateY(-4rem);
}

.product-story__overview img {
    display: block;
    width: 100%;
    height: 140rem;
    object-fit: contain;
}

.product-story__overview-copy {
    display: flex;
    flex-direction: column;
    gap: 8rem;
    margin-top: auto;
}

.product-story__overview-copy strong {
    color: var(--product-story-accent);
    font-size: max(14px, 17rem);
}

.product-story__overview-copy > span {
    color: var(--product-story-muted);
    font-size: max(var(--font-min), 13rem);
}

.product-story__panel--model .product-slide {
    width: min(var(--container), calc(100% - (var(--gutter) * 2)));
    min-height: 0;
    margin-inline: auto;
    padding: 0;
    border: 0;
    background: transparent;
}

.product-story__panel--model .product-slide__visual {
    height: min(58vh, 570rem);
}

.product-story__controls {
    display: none;
}

@media (min-width: 1025px) and (min-height: 600px) {
    .product-story.is-product-enhanced .product-story__viewport {
        height: calc(100svh - var(--header-height));
        overflow: hidden;
    }

    .product-story.is-product-enhanced .product-story__track {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        will-change: transform;
    }

    .product-story.is-product-enhanced .product-story__panel {
        flex: 0 0 100%;
        width: 100%;
        height: 100%;
        min-height: 0;
    }

    .product-story.is-product-enhanced .product-story__controls {
        position: absolute;
        z-index: 8;
        right: max(var(--gutter), calc((100vw - var(--container)) / 2));
        bottom: 20rem;
        display: flex;
        align-items: center;
        gap: 12rem;
        min-height: 44px;
        padding: 4rem;
        background: rgba(5, 14, 24, 0.8);
        color: #eaf7ff;
        font-family: var(--font-mono);
        font-size: max(var(--font-min), 13rem);
    }

    .product-story__controls button {
        width: 44px;
        height: 44px;
        padding: 0;
        border: 1px solid rgba(98, 220, 245, 0.3);
        border-radius: var(--radius);
        background: rgba(3, 20, 35, 0.7);
        color: #fff;
        font-size: 22px;
        cursor: pointer;
    }

    .product-story__controls button:hover,
    .product-story__controls button:focus-visible {
        border-color: var(--product-story-accent);
        color: var(--product-story-accent);
    }

    .product-story__controls button:disabled {
        opacity: 0.4;
        cursor: default;
    }

    .product-story__current-title {
        max-width: 210rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

@media (max-width: 1024px), (max-height: 599px) {
    .product-story__panel {
        min-height: calc(100svh - var(--header-height));
        padding-block: 44rem;
    }

    .product-story__panel--analytics .product-story__analytics-photo {
        opacity: 0.4;
    }

    .product-story__overview {
        flex-wrap: wrap;
    }

    .product-story__overview a {
        flex-basis: calc((100% - 24rem) / 3);
    }
}

@media (max-width: 600px) {
    .product-story__panel {
        min-height: calc(100svh - var(--header-height));
        padding-block: 32rem;
    }

    .product-story__panel--hero {
        align-items: flex-start;
    }

    .product-story__hero-art {
        height: 50%;
        object-fit: contain;
        object-position: center top;
    }

    .product-story__hero-content {
        margin-top: min(18svh, 230px);
    }

    .product-story__panel--hero::after {
        background: linear-gradient(180deg, rgba(2, 5, 8, 0.1), rgba(2, 5, 8, 0.72) 30%, rgba(2, 5, 8, 0.96) 66%);
    }

    .product-story__hero-content h1 {
        margin: 12rem 0 10rem;
        font-size: max(28px, var(--font-h1));
    }

    .product-story__hero-content .rich-text {
        margin-bottom: 16rem;
        font-size: max(14px, 16rem);
    }

    .product-story__analytics-photo {
        inset: 0 0 auto;
        width: 100%;
        height: 38%;
        clip-path: none;
    }

    .product-story__panel--analytics::after {
        background: linear-gradient(180deg, rgba(5, 10, 16, 0.12), rgba(5, 10, 16, 0.85) 32%, rgba(5, 10, 16, 0.94) 65%);
    }

    .product-story__analytics-content {
        margin-top: 80rem;
    }

    .product-story__analytics-values {
        gap: 12rem;
        margin-top: 24rem;
    }

    .product-story__analytics-values strong {
        font-size: 58px;
    }

    .product-story__analytics-values > div + div strong {
        font-size: 44px;
    }

    .product-story__analytics-values span {
        font-size: max(12px, 14rem);
    }

    .product-story__metrics-photo {
        height: 32%;
    }

    .product-story__metrics-content {
        margin-top: 54rem;
    }

    .product-story__metrics-list {
        flex-direction: column;
        gap: 16rem;
        margin-top: 22rem;
    }

    .product-story__metrics-list article {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 0 12rem;
    }

    .product-story__metric-index {
        flex: 0 0 30rem;
    }

    .product-story__metric-value {
        flex: 0 0 148rem;
        margin: 0;
    }

    .product-story__metric-value strong {
        font-size: 42px;
    }

    .product-story__metrics-list h3 {
        flex: 1 1 130rem;
        font-size: max(14px, 17rem);
    }

    .product-story__metrics-list .rich-text {
        flex: 1 1 100%;
        padding-left: 42rem;
    }

    .product-story__source {
        margin-top: 14rem;
    }

    .product-story__overview {
        flex-direction: column;
        gap: 6rem;
        margin-top: 20rem;
    }

    .product-story__overview a {
        flex: none;
        flex-direction: row;
        align-items: center;
        gap: 12rem;
        min-height: 76rem;
        padding: 6rem 12rem;
    }

    .product-story__overview img {
        flex: 0 0 90rem;
        width: 90rem;
        height: 62rem;
    }

    .product-story__overview-copy {
        flex: 1 1 auto;
        margin: 0;
    }

    .product-story__panel--model .product-slide {
        flex-direction: column;
        width: min(var(--container), calc(100% - (var(--gutter) * 2)));
    }

    .product-story__panel--model .product-slide__visual {
        order: -1;
        width: 100%;
        height: 230rem;
    }

    .product-story__panel--model .product-slide__copy {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .product-story__overview a {
        transition: none;
        transform: none;
    }
}

.stage {
    flex: 1 1 190rem;
    padding: 25rem;
}

.stage span {
    color: var(--color-accent);
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 14rem);
}

.stage-timeline {
    min-height: 0;
    background: transparent;
}

.stage-timeline__inner {
    position: relative;
    top: auto;
    display: flex;
    flex-direction: column;
    gap: 24rem;
    min-width: 0;
}

.stage-timeline__head {
    margin-bottom: 0;
}

.stage-timeline__head .section-kicker {
    border: 1rem solid rgba(91, 201, 255, 0.38);
    background: rgba(5, 16, 28, 0.78);
    color: #a9ddf7;
}

.stage-timeline__head h2 {
    color: #eef7ff;
}

.stage-timeline__timeline {
    position: relative;
    min-width: 0;
}

.stage-timeline__track {
    position: absolute;
    top: 42rem;
    right: var(--stage-track-inset, 10%);
    left: var(--stage-track-inset, 10%);
    z-index: 0;
    height: 2rem;
    overflow: hidden;
    background: rgba(23, 97, 138, 0.32);
}

.stage-timeline__progress {
    display: block;
    width: var(--stage-progress, 0%);
    height: 100%;
    background: var(--honeycomb-neon);
    box-shadow: 0 0 12rem rgba(0, 186, 255, 0.42);
    transition: width 0.32s ease;
}

.stage-timeline__rail {
    position: relative;
    z-index: 1;
    display: flex;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0 0 18rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    list-style: none;
}

.stage-timeline__rail::-webkit-scrollbar {
    display: none;
}

.stage-timeline__item {
    flex: 1 1 0;
    min-width: 0;
    scroll-snap-align: center;
}

.stage-timeline__button {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-height: max(118px, 118rem);
    padding: 0 12rem;
    border: 0;
    background: transparent;
    color: #afc0d2;
    text-align: center;
    cursor: pointer;
}

.stage-timeline__button span {
    min-height: 22rem;
    color: #91a6bb;
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 13rem);
    font-weight: 600;
}

.stage-timeline__button::before {
    content: "";
    flex: 0 0 auto;
    width: 18rem;
    height: 18rem;
    margin: 10rem 0 13rem;
    border: 4rem solid rgba(248, 249, 255, 0.92);
    border-radius: 50%;
    background: #92a4b5;
    box-shadow: 0 0 0 2rem rgba(23, 97, 138, 0.36);
    transition: background 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
}

.stage-timeline__button strong {
    max-width: 200rem;
    color: inherit;
    font-size: max(var(--font-min), 16rem);
    line-height: 1.25;
    transition: color 0.22s ease, transform 0.22s ease;
}

.stage-timeline__button:hover,
.stage-timeline__button:focus-visible,
.stage-timeline__button.is-active {
    color: #43c7ff;
}

.stage-timeline__button:hover span,
.stage-timeline__button:focus-visible span,
.stage-timeline__button.is-active span {
    color: #43c7ff;
}

.stage-timeline__button:focus-visible {
    border-radius: var(--radius);
    outline: 2rem solid var(--honeycomb-neon);
    outline-offset: 4rem;
}

.stage-timeline__button:hover::before,
.stage-timeline__button:focus-visible::before,
.stage-timeline__button.is-active::before {
    background: var(--honeycomb-neon);
    box-shadow: 0 0 0 8rem rgba(0, 186, 255, 0.18), 0 0 22rem rgba(0, 186, 255, 0.5);
    transform: scale(1.08);
}

.stage-timeline__button.is-active strong {
    transform: translateY(-2rem);
}

.stage-timeline__panels {
    min-height: 156rem;
    padding-top: 24rem;
    border-top: 1rem solid rgba(23, 97, 138, 0.16);
}

.stage-timeline__panel {
    display: flex;
    align-items: flex-start;
    gap: 28rem;
    min-width: 0;
    padding: 0;
}

.stage-timeline__panel + .stage-timeline__panel {
    margin-top: 32rem;
}

.stage-timeline.is-enhanced .stage-timeline__panel + .stage-timeline__panel {
    margin-top: 0;
}

.stage-timeline__panel[hidden] {
    display: none;
}

.stage-timeline__panel.is-entering {
    animation: stage-panel-in 0.24s ease both;
}

.stage-timeline__panel-number {
    flex: 0 0 74rem;
    color: var(--honeycomb-neon);
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 42rem);
    font-weight: 700;
    line-height: 1;
    text-shadow: 0 0 20rem rgba(0, 186, 255, 0.28);
}

.stage-timeline__panel-content {
    min-width: 0;
    max-width: 790rem;
}

.stage-timeline__panel h3 {
    margin: 0 0 12rem;
    color: #eef7ff;
    font-size: max(var(--font-min), var(--font-h3));
    line-height: 1.22;
}

.stage-timeline__panel .rich-text {
    color: #c8d5e5;
    font-size: max(var(--font-min), 18rem);
    line-height: 1.6;
}

.stage-timeline__panel .rich-text h2,
.stage-timeline__panel .rich-text h3,
.stage-timeline__panel .rich-text strong {
    color: #eef7ff;
}

@keyframes stage-panel-in {
    from {
        opacity: 0;
        transform: translateY(8rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 860px) {
    .stage-timeline {
        min-height: 0;
    }

    .stage-timeline__inner {
        top: auto;
        gap: 18rem;
    }

    .stage-timeline__track {
        right: 28rem;
        left: 28rem;
    }

    .stage-timeline__rail {
        --stage-mobile-item: min(76vw, 360rem);
        padding-inline: max(0rem, calc((100% - var(--stage-mobile-item)) / 2));
        scroll-padding-inline: max(0rem, calc((100% - var(--stage-mobile-item)) / 2));
    }

    .stage-timeline__item {
        flex: 0 0 var(--stage-mobile-item);
    }

    .stage-timeline__button strong {
        max-width: 260rem;
    }

    .stage-timeline__panels {
        min-height: 184rem;
    }
}

@media (max-width: 600px) {
    .scroll-scene.is-scene-enhanced > .scroll-scene__frame {
        padding-block: 20rem;
    }

    .scroll-scene--hero.is-scene-enhanced .hero__inner {
        position: relative;
        align-items: center;
        width: 100%;
        min-height: 100%;
        padding-inline: var(--gutter);
    }

    .scroll-scene--hero.is-scene-enhanced .hero__content {
        position: relative;
        z-index: 2;
        padding-top: 0;
    }

    .scroll-scene--hero.is-scene-enhanced .hero__media {
        position: absolute;
        inset: -20rem 0;
        z-index: 0;
        display: block;
        width: auto;
        min-height: 0;
        padding: 0;
        border: 0;
        pointer-events: none;
    }

    .scroll-scene--hero.is-scene-enhanced .hero__media > img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: saturate(0.85) brightness(0.3);
        transform: none;
    }

    .scroll-scene--hero.is-scene-enhanced .tech-badge {
        display: none;
    }

    .scroll-scene__head {
        margin-bottom: 20rem;
    }

    .scroll-scene.is-scene-enhanced .direction-card,
    .scroll-scene.is-scene-enhanced .trust-item {
        flex-basis: 100%;
        min-height: 0;
    }

    .scroll-scene__nav {
        margin-top: 14rem;
    }

    .stage-timeline__panel {
        flex-direction: column;
        gap: 12rem;
    }

    .stage-timeline__panel-number {
        flex-basis: auto;
        font-size: max(var(--font-min), 32rem);
    }

    .stage-timeline__panel .rich-text {
        font-size: max(var(--font-min), 16rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .scroll-scene,
    .scroll-scene__frame,
    .scroll-scene [data-scene-animate],
    .scroll-scene [data-paged-scene-item] {
        animation: none;
        transition: none;
        transform: none;
    }

    .stage-timeline__progress,
    .stage-timeline__button::before,
    .stage-timeline__button strong {
        transition: none;
    }

    .stage-timeline__panel.is-entering {
        animation: none;
    }
}

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 12rem;
}

.faq-list details {
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
    padding: 20rem 24rem;
}

.faq-list summary {
    cursor: pointer;
    font-weight: 600;
    font-size: max(var(--font-min), 18rem);
}

.faq-list p,
.faq-list .rich-text {
    color: var(--color-muted);
    margin: 12rem 0 0;
}

.preview-columns > * {
    flex: 1 1 50%;
}

.case-card,
.article-card,
.document-list article {
    flex: 1 1 300rem;
    padding: 25rem;
}

.article-card {
    --article-card-padding: 25rem;
    overflow: hidden;
}

.home-articles {
    min-width: 0;
}

.article-list.home-articles__track {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 18rem;
    overflow-x: auto;
    padding-bottom: 10rem;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
}

.home-articles__track::-webkit-scrollbar {
    display: none;
}

.home-article-card {
    flex: 0 0 calc((100% - 36rem) / 3);
    min-width: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.article-card__image {
    display: block;
    height: 178rem;
    margin: calc(var(--article-card-padding) * -1) calc(var(--article-card-padding) * -1) 18rem;
    overflow: hidden;
    border-bottom: 1rem solid var(--color-border);
    background: var(--color-soft);
}

.article-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.article-card:hover .article-card__image img {
    transform: scale(1.035);
}

.article-card h2 a {
    text-decoration: none;
}

.home-articles__controls {
    display: flex;
    justify-content: flex-end;
    gap: 8rem;
    margin-top: 12rem;
}

.home-articles__controls[hidden] {
    display: none;
}

.home-articles__controls button {
    width: max(40px, 40rem);
    height: max(40px, 40rem);
    border: 1rem solid var(--color-border);
    border-radius: var(--radius);
    background: var(--color-surface);
    color: var(--color-accent);
    font-family: var(--font-mono);
    font-weight: 700;
    cursor: pointer;
}

.home-articles__controls button:hover,
.home-articles__controls button:focus-visible {
    border-color: var(--color-accent);
    background: var(--color-soft);
}

.home-articles__controls button:disabled {
    opacity: 0.4;
    cursor: default;
}

.home-articles__controls button:disabled:hover {
    border-color: var(--color-border);
    background: var(--color-surface);
}

.section--dark .rich-text {
    color: rgba(255, 255, 255, 0.74);
}

.section--dark .rich-text h2,
.section--dark .rich-text h3,
.section--dark .rich-text strong {
    color: #ffffff;
}

.article-list {
    flex-direction: column;
}

.article-list--compact {
    flex-wrap: nowrap;
}

.article-page__image {
    margin: 0 0 32rem;
    overflow: hidden;
    border: 1rem solid var(--color-border);
    background: var(--color-soft);
}

.article-page__image img {
    width: 100%;
    height: 420rem;
    object-fit: cover;
}

.page-hero {
    padding: 64rem 0;
    background: var(--section-surface);
    border-bottom: 1rem solid var(--color-border);
}

.service-page-hero__layout {
    display: flex;
    align-items: center;
    gap: 48rem;
}

.service-page-hero__layout > div {
    flex: 1 1 58%;
    min-width: 0;
}

.service-page-hero__layout > img {
    flex: 1 1 42%;
    width: 42%;
    min-height: 360rem;
    max-height: 460rem;
    object-fit: cover;
    border: 1rem solid var(--color-border);
}

.service-catalog__card {
    min-height: 360rem;
    overflow: hidden;
}

.service-catalog__image {
    display: block;
    height: 210rem;
    margin: -25rem -25rem 22rem;
    overflow: hidden;
    border-bottom: 1rem solid var(--color-border);
}

.service-catalog__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.service-catalog__image:hover img,
.service-catalog__image:focus-visible img {
    transform: scale(1.03);
}

.services-cta {
    background: transparent;
    color: #ffffff;
}

.services-cta h2 {
    margin: 0 0 12rem;
    color: #ffffff;
    font-size: max(var(--font-min), var(--font-h2));
    line-height: 1.15;
}

.services-cta .rich-text,
.services-cta .rich-text p {
    color: rgba(238, 247, 255, 0.8);
}

.service-detail__content {
    min-width: 0;
}

.service-detail__content .rich-text > :first-child {
    margin-top: 0;
}

.service-request {
    background: var(--section-soft-surface);
    border-top: 1rem solid var(--color-border);
}

.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8rem;
    margin-bottom: 18rem;
    color: var(--color-muted);
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 13rem);
    text-transform: uppercase;
}

.breadcrumbs strong {
    color: var(--color-accent);
}

.service-tabs {
    position: sticky;
    top: var(--header-height);
    z-index: 30;
    overflow: hidden;
    background: rgba(248, 249, 255, 0.95);
    border-bottom: 1rem solid var(--color-border);
    backdrop-filter: blur(6rem);
}

.service-tabs::before,
.service-tabs::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: max(72rem, var(--gutter));
    pointer-events: none;
}

.service-tabs::before {
    left: 0;
    background: linear-gradient(90deg, rgba(248, 249, 255, 0.96), rgba(248, 249, 255, 0));
}

.service-tabs::after {
    right: 0;
    background: linear-gradient(270deg, rgba(248, 249, 255, 0.96), rgba(248, 249, 255, 0));
}

.service-tabs__scroller {
    position: relative;
    z-index: 1;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.service-tabs__scroller::-webkit-scrollbar {
    display: none;
}

.service-tabs__inner {
    display: flex;
    align-items: center;
    gap: 28rem;
    width: max-content;
    min-width: 100%;
    padding-left: max(var(--gutter), calc((100vw - var(--container)) / 2));
    padding-right: max(var(--gutter), 50vw);
}

.service-tabs a {
    flex: 0 0 auto;
    padding: 18rem 0;
    border-bottom: 2rem solid transparent;
    color: var(--color-muted);
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 14rem);
    text-decoration: none;
    white-space: nowrap;
}

.service-tabs a.is-active,
.service-tabs a:hover {
    color: var(--color-accent);
    border-bottom-color: var(--color-accent);
}

.service-detail__top > div {
    flex: 1 1 66%;
}

.audience-card {
    flex: 1 1 34%;
    padding: 25rem;
}

.audience-card li {
    display: flex;
    align-items: flex-start;
    gap: 8rem;
    margin-bottom: 12rem;
}

.audience-card img {
    width: 13rem;
    height: 10rem;
    margin-top: 6rem;
}

.component-list {
    margin-top: 48rem;
}

.component-list article {
    flex: 1 1 310rem;
    padding: 25rem;
}

.component-list__icon {
    width: 48rem;
    height: 48rem;
    margin-bottom: 14rem;
}

.service-inputs {
    margin-top: 24rem;
    padding: 9rem;
    background: var(--color-surface);
    border: 1rem solid var(--color-border);
}

.service-inputs > div {
    flex: 1 1 50%;
    padding: 32rem;
    background: var(--color-soft);
}

.service-inputs > img {
    flex: 1 1 50%;
    width: 50%;
    min-height: 292rem;
    object-fit: cover;
}

.investor-facts,
.investor-page__note {
    flex: 1 1 360rem;
    padding: 32rem;
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
}

.investor-facts > span,
.investor-page__note h3 {
    display: block;
    margin-top: 0;
    color: var(--color-accent);
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 13rem);
    text-transform: uppercase;
}

.investor-page__note img {
    width: 64rem;
    height: 64rem;
    margin-bottom: 20rem;
}

.service-inputs--investor {
    align-items: stretch;
}

.mcod-hero__layout,
.mcod-section__split {
    display: flex;
    align-items: flex-start;
    gap: 48rem;
}

.mcod-hero__layout {
    align-items: center;
}

.mcod-hero__content {
    flex: 1 1 58%;
    min-width: 0;
}

.mcod-hero__media {
    flex: 1 1 360rem;
    min-width: 0;
    margin: 0;
    border: 1rem solid var(--color-border);
    background: var(--color-bg);
    overflow: hidden;
}

.mcod-hero__media img {
    width: 100%;
    height: 360rem;
    object-fit: cover;
}

.mcod-hero__text,
.mcod-readable,
.mcod-note,
.mcod-card__text,
.mcod-table-text {
    max-width: 72ch;
    font-size: max(16px, 18rem);
    line-height: 1.6;
}

.mcod-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 10rem;
    margin: 28rem 0 0;
    padding: 0;
    list-style: none;
}

.mcod-benefits li {
    position: relative;
    flex: 1 1 210rem;
    padding: 14rem 16rem 14rem 34rem;
    border: 1rem solid var(--color-border);
    background: var(--color-bg);
    color: var(--color-text);
    font-size: max(15px, 15rem);
    line-height: 1.45;
}

.mcod-benefits li::before,
.mcod-checklist li::before {
    content: "";
    position: absolute;
    left: 16rem;
    top: 22rem;
    width: 7rem;
    height: 7rem;
    background: var(--color-accent);
}

.mcod-section__head {
    max-width: 820rem;
}

.mcod-card-list,
.mcod-feature-list,
.mcod-checklist {
    display: flex;
    flex-wrap: wrap;
    gap: 24rem;
}

.mcod-card,
.mcod-feature {
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
    border-radius: var(--radius);
}

.mcod-card {
    flex: 1 1 250rem;
    min-height: 190rem;
    padding: 28rem;
}

.mcod-card h3,
.mcod-feature h3 {
    margin: 0 0 12rem;
    font-size: max(var(--font-min), var(--font-h3));
    line-height: 1.22;
}

.mcod-feature-list {
    flex: 1 1 auto;
    min-width: 0;
}

.mcod-feature {
    flex: 1 1 300rem;
    padding: 24rem;
}

.mcod-feature span {
    display: block;
    margin-bottom: 14rem;
    color: var(--color-accent);
    font-family: var(--font-mono);
    font-size: max(13px, 13rem);
}

.mcod-section__intro {
    flex: 0 0 360rem;
    min-width: 0;
}

.mcod-section__split--balanced .mcod-section__intro {
    flex-basis: 420rem;
}

.mcod-note {
    margin-top: 16rem;
    padding: 18rem 20rem;
    border-left: 3rem solid var(--color-accent);
    background: rgba(255, 255, 255, 0.72);
}

.mcod-comparison-wrap {
    max-width: 100%;
    overflow-x: auto;
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
}

.mcod-comparison {
    width: 100%;
    min-width: 880rem;
    border-collapse: collapse;
}

.mcod-comparison th,
.mcod-comparison td {
    padding: 18rem;
    border-bottom: 1rem solid var(--color-border);
    text-align: left;
    vertical-align: top;
}

.mcod-comparison thead th {
    color: var(--color-muted);
    font-family: var(--font-mono);
    font-size: max(12px, 12rem);
    line-height: 1.35;
    text-transform: uppercase;
}

.mcod-comparison tbody th {
    width: 20%;
    color: var(--color-text);
    font-size: max(15px, 16rem);
    line-height: 1.45;
}

.mcod-table-text {
    font-size: max(15px, 16rem);
    line-height: 1.55;
}

.mcod-checklist {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.mcod-checklist li {
    position: relative;
    flex: 1 1 260rem;
    min-width: 0;
    padding: 18rem 20rem 18rem 44rem;
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-text);
    font-size: max(16px, 16rem);
    line-height: 1.5;
}

.mcod-checklist--columns li {
    flex-basis: 300rem;
}

.mcod-request__layout > .form {
    flex: 1 1 560rem;
    min-width: 0;
}

.page-hero .mcod-hero__text,
.section__head .mcod-readable,
.mcod-table-text {
    font-size: max(16px, 18rem);
    line-height: 1.6;
}

.admin-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10rem;
}

.admin-tabs a {
    padding: 8rem 12rem;
    border: 1rem solid var(--color-border);
    text-decoration: none;
}

.admin-tabs a.is-active,
.admin-tabs a:hover {
    color: #ffffff;
    background: var(--color-accent);
    border-color: var(--color-accent);
}

.input-list {
    display: flex;
    flex-wrap: wrap;
    gap: 18rem 0;
    margin-top: 24rem;
}

.input-list div {
    flex: 1 1 50%;
    min-width: 210rem;
    padding-left: 18rem;
    border-left: 2rem solid var(--color-accent);
}

.input-list span {
    display: block;
    color: var(--color-muted);
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 12rem);
}

.input-list strong {
    display: block;
    margin-top: 4rem;
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 14rem);
    font-weight: 500;
}

.article-page .page-hero {
    padding-bottom: 80rem;
}

.article-body {
    max-width: 820rem;
    padding: 72rem 0;
    font-size: max(var(--font-min), 19rem);
}

.article-body p {
    color: var(--color-muted);
}

.next-step {
    margin-top: 48rem;
    padding: 32rem;
}

.contacts-card {
    flex: 0 0 360rem;
    padding: 25rem;
    font-size: max(16px, 16rem);
    line-height: 1.6;
}

.contacts-card a,
.contacts-card p,
.contacts-card strong {
    display: block;
    margin-top: 14rem;
}

.contacts-card a {
    color: var(--color-accent);
}

.contacts-section--forms-only .split {
    justify-content: center;
}

.contacts-section--forms-only .forms-stack {
    max-width: 820rem;
}

.socials {
    display: flex;
    flex-wrap: wrap;
    gap: 10rem;
    margin-top: 16rem;
}

.forms-stack {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 24rem;
}

.forms-stack > div {
    padding: 0;
}

.request-panel__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18rem;
    margin-bottom: 20rem;
}

.request-panel__head h2 {
    margin: 0;
    font-size: max(var(--font-min), 30rem);
    line-height: 1.18;
}

.contacts-topic-link {
    flex: 0 0 auto;
    min-height: max(44px, 36rem);
    display: inline-flex;
    align-items: center;
}

.form {
    width: 100%;
    padding: 24rem;
    font-size: max(16px, 16rem);
    line-height: 1.6;
}

.section--dark .form {
    background: #ffffff;
    color: var(--color-text);
}

.form__row {
    display: flex;
    gap: 16rem;
}

.form label {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    gap: 8rem;
    margin-bottom: 16rem;
    color: var(--color-muted);
    font-family: var(--font-mono);
    font-size: max(13px, 13rem);
}

.form input,
.form textarea {
    width: 100%;
    min-height: max(44px, 46rem);
    border: 1rem solid var(--color-border);
    border-radius: var(--radius);
    background: var(--color-bg);
    color: var(--color-text);
    padding: max(12px, 12rem) max(14px, 14rem);
    font-size: max(16px, 16rem);
    line-height: 1.45;
    outline: none;
}

.form input:focus,
.form textarea:focus {
    border-color: var(--color-accent);
    background: #ffffff;
}

.form .is-invalid input,
.form .is-invalid textarea {
    border-color: var(--color-danger);
}

.form__error {
    display: block;
    color: var(--color-danger);
    font-family: var(--font-sans);
    font-size: max(13px, 13rem);
    line-height: 1.35;
}

.form .check {
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
    column-gap: 10rem;
    row-gap: 4rem;
    font-family: var(--font-sans);
}

.form .check input {
    width: max(18px, 18rem);
    height: max(18px, 18rem);
    min-height: max(18px, 18rem);
    flex: 0 0 max(18px, 18rem);
    margin-top: 0;
    padding: 0;
}

.form .check span {
    flex: 1 1 220rem;
    min-width: 0;
    line-height: 1.45;
}

.form .check .form__error {
    flex: 0 0 100%;
    margin-left: calc(max(18px, 18rem) + 10rem);
}

.hp {
    position: fixed;
    left: 0;
    top: -120rem;
    width: 1rem;
    height: 1rem;
    opacity: 0;
    pointer-events: none;
}

@supports (overflow: clip) {
    body {
        overflow-x: clip;
    }
}

.map-embed {
    margin-top: 40rem;
    border: 1rem solid var(--color-border);
    overflow: hidden;
}

.map-embed iframe {
    width: 100%;
    min-height: 360rem;
    border: 0;
}

.site-footer {
    background: var(--section-soft-surface);
    border-top: 1rem solid var(--color-border);
    padding: 64rem 0 36rem;
}

.site-footer__inner {
    display: flex;
    gap: 48rem;
}

.site-footer__brand {
    flex: 0 0 270rem;
}

.site-footer__brand strong {
    display: block;
    font-size: max(var(--font-min), 24rem);
}

.site-footer__brand p,
.site-footer__bottom {
    color: var(--color-muted);
}

.site-footer__nav {
    flex: 1 1 auto;
    display: flex;
    justify-content: space-between;
    gap: 24rem;
}

.site-footer__nav div {
    display: flex;
    flex-direction: column;
    gap: 10rem;
}

.site-footer__nav a {
    color: var(--color-muted);
}

.site-footer__bottom {
    display: flex;
    justify-content: space-between;
    gap: 24rem;
    margin-top: 40rem;
    padding-top: 18rem;
    border-top: 1rem solid var(--color-border);
}

.cookie {
    position: fixed;
    left: 24rem;
    right: 24rem;
    bottom: 24rem;
    z-index: 90;
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 18rem;
    max-width: 760rem;
    padding: 16rem;
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
    box-shadow: var(--shadow);
}

.cookie.is-visible {
    display: flex;
}

.cookie p {
    margin: 0;
    color: var(--color-muted);
}

.cookie .button {
    flex: 0 0 auto;
    min-width: 96rem;
}

.admin-shell {
    min-height: 100vh;
    background: var(--color-bg);
}

.admin-layout {
    display: flex;
    align-items: flex-start;
}

.admin-sidebar {
    position: sticky;
    top: 0;
    width: 260rem;
    min-height: 100vh;
    padding: 24rem;
    background: var(--color-text);
    color: #ffffff;
}

.admin-sidebar a {
    display: block;
    padding: 10rem 0;
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
}

.admin-sidebar a.is-active,
.admin-sidebar a:hover {
    color: #ffffff;
}

.admin-main {
    flex: 1 1 auto;
    padding: 32rem;
}

.admin-card {
    margin-bottom: 24rem;
    padding: 24rem;
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
}

.admin-card h1,
.admin-card h2,
.admin-card h3 {
    margin-top: 0;
}

.admin-repeat {
    display: flex;
    flex-direction: column;
    gap: 12rem;
    padding: 16rem 0;
    border-top: 1rem solid var(--color-border);
}

.admin-repeat:first-of-type {
    padding-top: 0;
    border-top: 0;
}

.admin-inline-section {
    display: flex;
    flex-direction: column;
    gap: 14rem;
    margin-top: 24rem;
    padding-top: 24rem;
    border-top: 1rem solid var(--color-border);
}

.admin-inline-section h2,
.admin-inline-section h3 {
    margin: 0;
}

.admin-form {
    display: flex;
    flex-direction: column;
    gap: 14rem;
}

.admin-form__row {
    display: flex;
    gap: 14rem;
}

.admin-form__row > * {
    flex: 1 1 0;
}

.admin-form label {
    display: flex;
    flex-direction: column;
    gap: 6rem;
    color: var(--color-muted);
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 13rem);
}

.admin-form input,
.admin-form textarea,
.admin-form select {
    width: 100%;
    padding: 11rem 12rem;
    border: 1rem solid var(--color-border);
    background: var(--color-bg);
    color: var(--color-text);
}

.admin-form input[type="file"] {
    padding: 10rem;
    background: #ffffff;
}

.admin-form input[readonly] {
    background: #eef4fb;
    color: var(--color-muted);
    cursor: default;
}

.admin-check {
    flex-direction: row !important;
    align-items: flex-start;
    gap: 10rem !important;
    font-family: var(--font-sans) !important;
    font-size: max(var(--font-min), 14rem) !important;
}

.admin-check input {
    width: auto;
    min-width: 18rem;
    margin-top: 3rem;
}

.admin-check:has(input:disabled) {
    opacity: 0.58;
}

.admin-media-field {
    max-width: 760rem;
}

.admin-image-preview {
    margin: 0;
    overflow: hidden;
    border: 1rem solid var(--color-border);
    background: var(--color-bg);
}

.admin-image-preview img {
    display: block;
    width: 100%;
    height: 260rem;
    object-fit: cover;
}

.admin-image-preview figcaption,
.admin-help {
    margin: 0;
    color: var(--color-muted);
    font-size: max(var(--font-min), 13rem);
}

.admin-image-preview figcaption {
    padding: 10rem 12rem;
    border-top: 1rem solid var(--color-border);
    font-family: var(--font-mono);
}

.rich-field > span {
    display: block;
}

.rich-editor {
    border: 1rem solid var(--color-border);
    background: var(--color-surface);
}

.admin-form textarea.rich-editor__source {
    position: absolute;
    width: 1rem;
    max-width: 1rem;
    height: 1rem;
    min-height: 0;
    padding: 0;
    border: 0;
    opacity: 0;
    pointer-events: none;
}

.rich-editor__toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 6rem;
    padding: 8rem;
    border-bottom: 1rem solid var(--color-border);
    background: #f1f5fb;
}

.rich-editor__toolbar button {
    min-width: 34rem;
    min-height: 32rem;
    padding: 5rem 8rem;
    border: 1rem solid var(--color-border);
    border-radius: var(--radius);
    background: var(--color-surface);
    color: var(--color-text);
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 12rem);
    cursor: pointer;
}

.rich-editor__toolbar button:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
}

.rich-editor__area {
    min-height: 132rem;
    padding: 14rem;
    background: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-sans);
    font-size: max(var(--font-min), 16rem);
    line-height: 1.55;
    outline: none;
}

.rich-editor__area:focus {
    background: #ffffff;
    box-shadow: inset 0 0 0 1rem var(--color-accent);
}

.rich-editor__area p,
.rich-editor__area h2,
.rich-editor__area h3,
.rich-editor__area ul,
.rich-editor__area ol {
    margin-top: 0;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-table th,
.admin-table td {
    padding: 12rem;
    border-bottom: 1rem solid var(--color-border);
    text-align: left;
    vertical-align: top;
}

.admin-table th {
    color: var(--color-muted);
    font-family: var(--font-mono);
    font-size: max(var(--font-min), 12rem);
    text-transform: uppercase;
}

@media (max-width: 1180px) {
    :root {
        --gutter: 32rem;
        --section: 72rem;
    }

    .header-actions {
        display: none;
    }

    .hero h1,
    .page-hero h1 {
        font-size: max(var(--font-min), var(--font-h1));
    }

    .home-article-card {
        flex-basis: calc((100% - 18rem) / 2);
    }
}

@media (max-width: 860px) {
    :root {
        --gutter: 22rem;
        --direction-card-basis: 100%;
    }

    .site-header__inner {
        gap: 16rem;
    }

    .nav-toggle {
        display: block;
        margin-left: auto;
    }

    .main-nav {
        position: fixed;
        inset: var(--header-height) 0 auto 0;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 20rem var(--gutter);
        border-bottom: 1rem solid var(--color-border);
        background: var(--color-surface);
    }

    .main-nav.is-open {
        display: flex;
    }

    .main-nav a {
        height: auto;
        padding: 14rem 0;
    }

    .hero__inner,
    .split,
    .preview-columns,
    .service-page-hero__layout,
    .service-detail__top,
    .service-inputs,
    .mcod-page__layout,
    .mcod-actions,
    .mcod-hero__layout,
    .mcod-section__split,
    .site-footer__inner,
    .site-footer__bottom,
    .investor-teaser__inner,
    .request-section__layout,
    .form__row,
    .admin-form__row,
    .admin-layout {
        flex-direction: column;
    }

    .hero {
        padding: 72rem 0;
    }

    .hero__content,
    .hero__media,
    .service-page-hero__layout > div,
    .service-page-hero__layout > img,
    .service-detail__top > div,
    .audience-card,
    .mcod-page__content,
    .mcod-page__aside,
    .mcod-hero__content,
    .mcod-hero__media,
    .mcod-section__intro,
    .mcod-request__layout > .form,
    .request-section__image,
    .request-section__form,
    .contacts-card,
    .preview-columns > *,
    .service-inputs > div,
    .service-inputs > img {
        width: 100%;
        flex-basis: auto;
    }

    .service-page-hero__layout > img {
        min-height: 280rem;
        max-height: 360rem;
    }

    .request-section__layout {
        gap: 28rem;
    }

    .request-section__image,
    .request-section__image img {
        min-height: 280rem;
        height: 280rem;
    }

    .hero__media,
    .hero__media > img {
        min-height: 320rem;
        height: 320rem;
    }

    .site-footer__nav {
        flex-wrap: wrap;
    }

    .admin-sidebar {
        position: static;
        width: 100%;
        min-height: 0;
    }

    .mcod-page__aside {
        position: static;
        flex-basis: auto;
    }

    .mcod-section__intro {
        flex-basis: auto;
    }

    .request-panel__head {
        flex-direction: column;
    }
}

@media (max-width: 600px) {
    body {
        font-size: max(15px, 15rem);
    }

    .container {
        width: calc(100vw - (var(--gutter) * 2));
    }

    .home-articles__head {
        flex-direction: column;
        align-items: flex-start;
        gap: 16rem;
    }

    .brand {
        font-size: max(18px, 19rem);
        gap: 0;
    }

    .brand__logo {
        width: 76rem;
        height: 34rem;
    }

    .hero h1,
    .page-hero h1 {
        font-size: max(var(--font-min), var(--font-h1));
        line-height: 1.12;
    }

    .section__head h2,
    .service-detail h2,
    .request-section__form h2 {
        font-size: max(var(--font-min), 30rem);
        line-height: 1.18;
    }

    .hero p,
    .page-hero p,
    .section__head p {
        font-size: max(16px, 16rem);
    }

    .main-nav a {
        min-height: max(44px, 44rem);
        font-size: max(16px, 16rem);
    }

    .hero__actions,
    .service-tabs__inner {
        gap: 10rem;
    }

    .service-tabs::before,
    .service-tabs::after {
        width: 38rem;
    }

    .button {
        width: 100%;
    }

    .tech-badge {
        position: static;
        max-width: none;
        margin: 10rem;
        font-size: max(var(--font-min), 12rem);
        white-space: normal;
    }

    .hero--tech .hero__media {
        display: flex;
        flex-wrap: wrap;
        gap: 10rem;
        padding: 10rem;
    }

    .hero--tech .tech-badge {
        flex: 1 1 136rem;
        justify-content: center;
        min-height: max(44px, 44rem);
        margin: 0;
    }

    .hero__media,
    .hero__media > img {
        min-height: 0;
        height: auto;
    }

    .hero__media > img {
        flex: 1 1 100%;
        height: 240rem;
    }

    .tech-badge--bottom {
        margin-left: auto;
    }

    .hero--tech .tech-badge--bottom {
        margin-left: 0;
    }

    .direction-card,
    .trust-item,
    .case-card,
    .article-card,
    .document-list article,
    .component-list article,
    .mcod-page__content,
    .mcod-page__aside-body,
    .mcod-action,
    .mcod-card,
    .mcod-feature,
    .mcod-checklist li,
    .stage,
    .audience-card,
    .contacts-card,
    .form,
    .admin-card {
        --article-card-padding: 20rem;
        padding: 20rem;
    }

    .home-articles__track {
        gap: 14rem;
    }

    .home-article-card {
        flex-basis: 100%;
    }

    .article-card__image {
        height: 168rem;
    }

    .article-page__image img {
        height: 240rem;
    }

    .cookie {
        align-items: center;
        max-width: none;
        padding: 12rem;
    }

    .cookie p {
        font-size: max(13px, 13rem);
        line-height: 1.35;
    }

    .cookie .button {
        width: auto;
        min-width: max(92px, 92rem);
    }

    body.has-cookie-banner {
        padding-bottom: max(112px, 112rem);
    }

    .mcod-content {
        font-size: max(var(--font-min), 16rem);
    }

    .mcod-content h2 {
        font-size: max(var(--font-min), 25rem);
    }

    .mcod-hero__media img {
        height: max(220px, 240rem);
    }

    .mcod-benefits,
    .mcod-card-list,
    .mcod-feature-list,
    .mcod-checklist {
        gap: 12rem;
    }

    .mcod-benefits li,
    .mcod-card,
    .mcod-feature,
    .mcod-checklist li {
        flex-basis: 100%;
    }

    .mcod-comparison-wrap {
        overflow: visible;
        border: 0;
        background: transparent;
    }

    .mcod-comparison,
    .mcod-comparison thead,
    .mcod-comparison tbody,
    .mcod-comparison tr,
    .mcod-comparison th,
    .mcod-comparison td {
        display: block;
    }

    .mcod-comparison {
        min-width: 0;
    }

    .mcod-comparison thead {
        position: absolute;
        width: 1rem;
        height: 1rem;
        overflow: hidden;
        clip: rect(0 0 0 0);
    }

    .mcod-comparison tr {
        margin-bottom: 12rem;
        border: 1rem solid var(--color-border);
        background: var(--color-surface);
    }

    .mcod-comparison tbody th,
    .mcod-comparison td {
        width: 100%;
        padding: 16rem 18rem;
        border-bottom: 1rem solid var(--color-border);
    }

    .mcod-comparison td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 8rem;
        color: var(--color-accent);
        font-family: var(--font-mono);
        font-size: max(12px, 12rem);
        line-height: 1.35;
        text-transform: uppercase;
    }

    .mcod-comparison tr > :last-child {
        border-bottom: 0;
    }
}
