*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: clamp(12px, 0.833333vw, 16px);
    overflow-x: hidden;
}

body {
    background-color: #f2f3f6;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.is-overlay-locked {
    overflow: hidden;
}

html.has-site-preloader,
html.has-site-preloader body {
    overflow: hidden;
}

.lenis,
.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: clip;
}

img {
    display: block;
}

button {
    cursor: pointer;
    border: none;
    background: none;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: inherit;
    touch-action: manipulation;
}

ul {
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
}

html,
body {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%231a56db' stroke='%23fff' stroke-width='1.4' stroke-linejoin='round' d='M4 3l14 13-6.8 .7 2.9 5.8-2.8 1.4-2.9-5.8-4.8 4.8z'/%3E%3C/svg%3E") 4 3, auto;
}

.site-preloader {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: grid;
    place-items: center;
    min-height: 100svh;
    padding: clamp(1.5rem, 5vw, 4rem);
    --preloader-progress: 0%;
    --preloader-ratio: 0;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(227, 234, 252, 0.94) 48%, rgba(242, 243, 246, 0.98) 100%),
        #f2f3f6;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.45s ease, visibility 0s linear 0.45s;
}

.has-site-preloader .site-preloader {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.site-preloader--hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.site-preloader__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(1.25rem, 4vw, 2rem);
    width: min(72rem, 86vw);
    padding-block: clamp(1rem, 5vw, 3rem);
    overflow: visible;
    text-align: center;
}

.site-preloader__inner::before,
.site-preloader__inner::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 0.0625rem;
    background: linear-gradient(90deg, rgba(26, 86, 219, 0), rgba(26, 86, 219, 0.32), rgba(255, 255, 255, 0.86), rgba(26, 86, 219, 0));
    transform: scaleX(var(--preloader-ratio, 0));
    transform-origin: left center;
    transition: transform 0.28s ease, opacity 0.2s ease;
}

.site-preloader__inner::before {
    top: 0;
}

.site-preloader__inner::after {
    bottom: 0;
}

.site-preloader__mark {
    position: relative;
    width: 100%;
    height: clamp(2.875rem, 6.8vw, 5.25rem);
}

.site-preloader__screenl {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.site-preloader__screenl-layer {
    position: absolute;
    inset: 0;
}

.site-preloader__screenl-layer svg {
    display: block;
    width: 100%;
    height: 100%;
}

.site-preloader__screenl-layer--base {
    color: rgba(26, 86, 219, 0.18);
    opacity: 0.78;
    filter: grayscale(1);
}

.site-preloader__screenl-layer--base svg {
    opacity: 0.42;
}

.site-preloader__screenl-glow-holder {
    position: absolute;
    left: 0;
    top: 0;
    width: var(--preloader-progress, 0%);
    height: 100%;
    overflow: hidden;
}

.site-preloader__screenl-layer--glow {
    position: absolute;
    left: 0;
    top: 0;
    width: var(--site-preloader-screenl-width, 100%);
    height: 100%;
    color: #1a56db;
}

.site-preloader__screenl-layer--glow svg {
    opacity: 0.98;
}

.site-preloader__screenl-layer--base svg path,
.site-preloader__screenl-layer--glow svg path {
    fill: currentColor;
}

.site-preloader__screenl-layer svg defs {
    display: none;
}

.site-preloader__progress {
    display: block;
    width: min(21rem, 58vw);
    height: 0.1875rem;
    margin-top: 0;
    margin-inline: auto;
    border-radius: 999rem;
    background: rgba(26, 86, 219, 0.16);
    overflow: hidden;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.site-preloader__progress span {
    display: block;
    width: var(--preloader-progress, 0%);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, rgba(26, 86, 219, 0.1), #1a56db, rgba(255, 255, 255, 0.96));
    box-shadow: 0 0 1rem rgba(26, 86, 219, 0.58);
    transition: width 0.28s ease;
}

@media (max-width: 767px) {
    .site-preloader__inner {
        width: min(31rem, 88vw);
    }

    .site-preloader__mark {
        height: clamp(1.875rem, 10vw, 3.125rem);
    }

    .site-preloader--complete .site-preloader__progress {
        opacity: 0;
        transform: translateY(0.35rem) scaleX(0.7);
    }

    .site-preloader--complete .site-preloader__inner::before,
    .site-preloader--complete .site-preloader__inner::after {
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {

    .site-preloader,
    .site-preloader__screenl-layer--glow,
    .site-preloader__progress span {
        animation: none;
        transition-duration: 0.01ms;
    }

    .site-preloader__progress span {
        width: var(--preloader-progress, 100%);
    }
}

/* Explicit font-weight for Benzin to prevent Windows faux-bold synthesis */
.hero__menu-text,
.hero__title,
.hero__btn,
.benefits__title,
.benefits__badge,
.benefits__cta,
.scenarios__label,
.scenarios__card-title,
.scenarios__card-cta,
.configs__title,
.configs__cta,
.configs__card-badge,
.content__badge,
.content__title,
.content__interactive-title,
.faq__title,
.faq__cta,
.trust__title,
.contacts__headline,
.contacts__form-title,
.contacts__submit,
.menu__link,
.menu__form-title,
.menu__success-title,
.modal__success-title,
.modal__title,
.modal__submit {
    font-weight: 700;
}

/* ========================= PAGE ========================= */

.page {
    width: 100%;
    overflow-x: hidden;
    background-color: #f2f3f6;
}

.page__canvas {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 120rem;
    max-width: none;
    margin-inline: auto;
    overflow: hidden;
    background-color: #f2f3f6;
}

.page__canvas>section[id] {
    scroll-margin-top: 6.5rem;
}

/* ========================= LEGAL PAGES ========================= */

.screenl-legal-page {
    overflow-x: hidden;
    background-color: #f2f3f6;
}

.legal-page {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    background-color: #f2f3f6;
    color: #060b20;
}

.legal-page__bg {
    position: absolute;
    inset: 0;
    height: 62.5rem;
    overflow: hidden;
    pointer-events: none;
}

.legal-page__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(242, 243, 246, 0) 70%, #f2f3f6 100%);
}

.legal-page__bg-img {
    position: absolute;
    top: -12%;
    left: -8%;
    width: 116%;
    height: 125%;
    max-width: none;
    object-fit: cover;
}

.legal-page__canvas {
    position: relative;
    z-index: 1;
    width: min(100% - 5rem, 115rem);
    margin-inline: auto;
    padding: 2.125rem 0 8rem;
}

.legal-page__aside-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6.25rem;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.legal-page__aside-link:hover {
    transform: translateY(-0.125rem);
}

.legal-page__hero {
    width: min(100%, 77rem);
    padding-top: 14.0625rem;
    color: white;
}

.legal-page__eyebrow {
    margin-bottom: 1.5rem;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.72);
}

.legal-page__title {
    font-family: "Benzin", sans-serif;
    font-size: 5.5rem;
    line-height: 1.05;
    text-transform: uppercase;
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
}

.legal-page__lead {
    width: min(100%, 48rem);
    margin-top: 2rem;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.82);
}

.legal-page__layout {
    display: grid;
    grid-template-columns: 22rem minmax(0, 1fr);
    gap: 2.5rem;
    margin-top: 7.5rem;
    align-items: start;
}

.legal-page__aside,
.legal-page__content {
    background: rgba(255, 255, 255, 0.64);
    border: 0.0625rem solid rgba(255, 255, 255, 0.78);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.85), 0 0.25rem 2rem rgba(0, 0, 0, 0.06);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
}

.legal-page__aside {
    position: sticky;
    top: 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.75rem;
    border-radius: 1.5rem;
}

.legal-page__aside-label {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    font-size: 0.9375rem;
    color: #6c6c7c;
}

.legal-page__aside-value {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 1.35;
    color: #060b20;
}

.legal-page__aside-link {
    margin-top: 1rem;
    min-height: 2.8125rem;
    padding: 0.75rem 1.125rem;
    background: #1a56db;
    color: white;
    font-size: 1rem;
}

.legal-page__content {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 3rem;
    border-radius: 2.5rem;
}

.legal-page__section {
    padding: 2rem 0;
    border-bottom: 0.0625rem solid rgba(6, 11, 32, 0.1);
}

.legal-page__section:first-child {
    padding-top: 0;
}

.legal-page__section:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.legal-page__section h2 {
    margin-bottom: 1rem;
    font-family: "Benzin", sans-serif;
    font-size: 1.5rem;
    line-height: 1.25;
    color: #060b20;
    text-transform: uppercase;
}

.legal-page__section p,
.legal-page__section li {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.55;
    color: #555565;
}

.legal-page__section p+p,
.legal-page__section p+ul {
    margin-top: 0.875rem;
}

.legal-page__section ul {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    margin-top: 0.875rem;
    padding-left: 1.25rem;
    list-style: disc;
}

.legal-page__table {
    width: 100%;
    margin-top: 0.875rem;
    border-collapse: collapse;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.5;
    color: #555565;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 1rem;
    overflow: hidden;
}

.legal-page__table th,
.legal-page__table td {
    padding: 1rem 1.25rem;
    text-align: left;
    vertical-align: top;
    border: 0.0625rem solid rgba(6, 11, 32, 0.1);
}

.legal-page__table td:first-child {
    width: 30%;
    font-family: "Benzin", sans-serif;
    font-size: 0.875rem;
    text-transform: uppercase;
    color: #060b20;
    background: rgba(6, 11, 32, 0.04);
}

.legal-page__table td ul {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-left: 1.25rem;
    list-style: disc;
}

.legal-page__table td p {
    margin: 0;
}

/* ========================= HERO BG ========================= */

.hero__bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    width: 100%;
    height: 67.5rem;
    pointer-events: none;
}

.hero__bg-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.hero__bg-img {
    position: absolute;
    height: 142.57%;
    left: -8.49%;
    top: -12.11%;
    width: 108.49%;
    max-width: none;
}

.hero__bg-fade {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(242, 243, 246, 0) 90.278%, #f2f3f6 100%);
}

/* ========================= HERO ========================= */

.hero {
    position: relative;
    z-index: 99;
    width: 100%;
    height: 67.5rem;
}

.hero__header {
    position: fixed;
    left: 50%;
    top: 2.125rem;
    z-index: 99;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(calc(100vw - 5rem), 115rem);
    color: white;
    transform: translateX(-50%);
    transition: transform 0.24s ease, opacity 0.24s ease, color 0.24s ease;
}

.hero__header--hidden {
    transform: translateX(-50%) translateY(calc(-100% - 3rem));
    opacity: 0;
    pointer-events: none;
}

.hero__header--scrolled {
    color: #1a56db;
}

.hero__socials {
    display: flex;
    gap: 1.25rem;
    align-items: center;
}

.hero__social-icon {
    display: block;
    position: relative;
    flex-shrink: 0;
    width: 1.875rem;
    height: 1.875rem;
}

.hero__social-icon-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero__social-icon-svg path,
.hero__menu-chevron-svg path {
    fill: currentColor;
    transition: fill 0.24s ease;
}

.hero__menu {
    display: flex;
    gap: 0.625rem;
    align-items: center;
}

.hero__menu-chevron {
    position: relative;
    flex-shrink: 0;
    width: 1.134313rem;
    height: 2.5rem;
}

.hero__menu-chevron-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero__menu-text {
    font-family: "Benzin", sans-serif;
    font-size: 1.25rem;
    color: currentColor;
    text-transform: uppercase;
    white-space: nowrap;
}

.hero__product {
    position: absolute;
    left: 16.4375rem;
    top: 11.0625rem;
    width: 86.769188rem;
    height: 48.20525rem;
    z-index: 2;
    pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {

    .hero:not(.hero--intro-done) .hero__product>.hero__title-block,
    .hero:not(.hero--intro-done) .hero__product>.hero__cta-row,
    .hero:not(.hero--intro-done) .hero__product>.hero__screenl,
    .hero:not(.hero--intro-done) .hero__product>.hero__features {
        opacity: 0;
        visibility: hidden;
    }
}

/* Two synced layers share the same unit box so the hero text can sit between
   them: panels paint below the text (z-index 1), chrome (bezels + shadow)
   above it (z-index 3). */
.hero__screen-anim,
.hero__screen-chrome {
    position: absolute;
    pointer-events: none;
}

.hero__screen-anim {
    inset: 0;
    z-index: 1;
    overflow: visible;
}

.hero__screen-chrome {
    z-index: 3;
    overflow: visible;
}

/* --- shared screen component (used by anim, chrome and reflection) --- */
.hero .screen-group {
    position: absolute;
    transform: translateZ(0);
}

.hero .panels {
    position: absolute;
    overflow: visible;
    border-radius: 0.125rem;
    box-sizing: border-box;
}

.hero .panel-mask {
    position: absolute;
    top: 0;
    height: 100%;
    overflow: visible;
    border: 0.125rem solid #29292b;
    border-radius: 0.125rem;
    box-sizing: border-box;
    pointer-events: none;
}

.hero .panel-mask__clip {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.hero .panel-mask__img {
    position: absolute;
    top: 0;
    max-width: none;
    pointer-events: none;
}


.hero__bezel-defs {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.hero .bezels {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.hero .bezel {
    position: absolute;
    top: 0;
    height: 100%;
}

/* Main bezels rely on translateX during the intro; avoid a permanent GPU layer
   on Safari by keeping will-change off by default. */
.hero__screen-chrome .bezel {
    will-change: auto;
}

.hero .bezel[data-role="side-right"] .bezel__clip {
    transform: scaleY(-1) rotate(180deg);
}

/* SVG shadow underneath; PNG texture clipped on top. */
.hero .bezel__svg {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
}

.hero .bezel__clip {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    border-radius: 0 0 0.1875rem 0.1875rem;
}

.hero .bezel__img {
    position: absolute;
    max-width: none;
    pointer-events: none;
}

.hero .shadows {
    position: absolute;
    left: 0.25rem;
    z-index: 0;
    pointer-events: none;
    overflow: visible;
}

.hero .shadow-group {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    overflow-x: hidden;
    overflow-y: visible;
    /* Avoid a permanent GPU layer on Safari; the blur is only animated during
       the hero intro. */
    will-change: auto;
}

.hero .shadow-group__svg {
    position: absolute;
    top: 0;
    max-width: none;
    height: 100%;
    object-fit: none;
    filter: blur(12.5rem);
    -webkit-mask-image:
        linear-gradient(to right, transparent 0%, #000 14%, #000 86%, transparent 100%),
        linear-gradient(to bottom, #000 0%, #000 50%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
        linear-gradient(to right, transparent 0%, #000 14%, #000 86%, transparent 100%),
        linear-gradient(to bottom, #000 0%, #000 50%, transparent 100%);
    mask-composite: intersect;
    pointer-events: none;
}

/* --- mirrored reflection below the unit --- */
.hero__screen-reflection {
    position: absolute;
    overflow: hidden;
    pointer-events: none;
}

.hero__screen-reflection .screen-group {
    position: absolute;
    left: 0;
    bottom: 0;
    top: auto;
    transform: scaleY(-1);
    transform-origin: center bottom;
    opacity: 0.05;
}


.hero .shadow-group[data-shadow="5"] .shadow-group__svg {
    transform: scaleX(-1);
}

.hero__screen-reflection .bezel[data-role="side-right"] .bezel__clip {
    transform: none;
}

.hero__screen-reflection .bezel__clip {
    border-radius: 0.1875rem 0.1875rem 0 0;
}

.hero__title-block {
    position: absolute;
    left: 3.125rem;
    top: 1.125rem;
    width: 42.1875rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.hero__title {
    font-family: "Benzin", sans-serif;
    font-size: 4rem;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.12rem;
    /* line-height: 88.545%; */
}

.hero__title-line {
    display: block;
}

.hero__subtitle {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 2rem;
    width: 32.3125rem;
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 517 80' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><rect x='0' y='0' height='100%' width='100%' fill='url(%23grad)' opacity='1'/><defs><radialGradient id='grad' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(221.8 -29.25 -41.93 375.96 -373 129.5)'><stop stop-color='rgba(255,255,255,1)' offset='0'/><stop stop-color='rgba(197,210,246,0.75)' offset='0.25'/><stop stop-color='rgba(140,166,237,0.5)' offset='0.5'/><stop stop-color='rgba(82,121,228,0.25)' offset='0.75'/><stop stop-color='rgba(24,76,219,0)' offset='1'/></radialGradient></defs></svg>");
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.hero__cta-row {
    position: absolute;
    left: calc(60% + 1.50125rem);
    top: 1.125rem;
    display: flex;
    gap: 1.25rem;
    align-items: center;
}

.hero__btn {
    background-color: #0f48c5;
    padding: 1.875rem 2.1875rem;
    border-radius: 6.25rem;
    font-family: "Benzin", sans-serif;
    font-size: 1.125rem;
    color: white;
    white-space: nowrap;
    flex-shrink: 0;
    pointer-events: auto;
}

.hero__response-note {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.125rem;
    color: #d9d9d9;
    width: 10.9375rem;
}

.hero__screenl {
    position: absolute;
    top: 74.67%;
    right: 3.62%;
    bottom: 15.31%;
    left: 3.6%;
}

.hero__screenl-svg {
    display: block;
    width: 100%;
    height: 100%;
}

.hero__features {
    position: absolute;
    left: 3.125rem;
    top: calc(80% + 4.873125rem);
    width: 80.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hero__feature {
    display: flex;
    gap: 0.3125rem;
    align-items: center;
    justify-content: center;
}

.hero__feature-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 0.99825rem;
    height: 1.485rem;
    flex-shrink: 0;
}

.hero__feature-arrow {
    transform: rotate(-60deg) skewX(-1.94deg);
    flex: none;
}

.hero__feature-arrow-svg {
    display: block;
    width: 1.556312rem;
    height: 0.259375rem;
}

.hero__feature-text {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    color: rgba(255, 255, 255, 0.6);
    white-space: nowrap;
}

/* ========================= BENEFITS ========================= */

.benefits {
    position: relative;
    isolation: isolate;
    margin-top: 12.5rem;
    width: 100%;
    min-height: 50.25rem;
    padding-left: clamp(1.5rem, 10.26%, 12.3125rem);
}

.benefits__bg {
    position: absolute;
    left: -30.4315rem;
    top: -14.6585rem;
    width: 100.240313rem;
    height: 73.222688rem;
    transform: rotate(-18.19deg);
    transform-origin: center;
    filter: blur(3.803125rem);
    mix-blend-mode: darken;
    pointer-events: none;
}

.benefits__bg-img {
    position: absolute;
    inset: 0;
    max-width: none;
    object-fit: fill;
    object-position: bottom;
    width: 100%;
    height: 100%;
    background-position: bottom;
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.benefits__bg-img--primary,
.benefits__bg-img--secondary {
    pointer-events: none;
}

.benefits__content {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    align-items: flex-start;
    width: 38.125rem;
}

.benefits__title {
    font-family: "Benzin", sans-serif;
    font-size: 2.875rem;
    color: white;
    text-transform: uppercase;
    line-height: normal;
    width: min-content;
}

.benefits__list {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    align-items: flex-start;
    width: 38.125rem;
    height: 32.5rem;
    flex-shrink: 0;
}

.benefits__row {
    display: flex;
    align-items: flex-start;
    width: 100%;
}

.benefits__row--split {
    gap: 1.25rem;
}

.benefits__row--tight {
    margin-top: -0.625rem;
}

.benefits__item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem 1.5625rem;
    border-radius: 6.25rem;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.25);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.15), 0 0.25rem 2rem 0 rgba(0, 0, 0, 0.1);
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    color: white;
    white-space: nowrap;
    line-height: normal;
}

.benefits__item-text {
    display: block;
}

.benefits__badge {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.3125rem 1.25rem;
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(0.625rem);
    -webkit-backdrop-filter: blur(0.625rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.55);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.6), 0 0.125rem 0.5rem rgba(0, 0, 0, 0.05);
    font-family: "Benzin", sans-serif;
    font-size: 0.875rem;
    color: #1a56db;
    white-space: nowrap;
    line-height: normal;
}

.benefits__item--reels .benefits__badge {
    top: -1.0625rem;
    left: 2.8125rem;
}

.benefits__item--hd .benefits__badge {
    top: -0.9375rem;
    left: 3.3125rem;
}

.benefits__cta {
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.875rem 2.5rem;
    border-radius: 6.25rem;
    filter: drop-shadow(0 0.3125rem 0.34375rem rgba(0, 12, 71, 0.1)) drop-shadow(0 1.1875rem 0.59375rem rgba(0, 12, 71, 0.09)) drop-shadow(0 2.75rem 0.8125rem rgba(0, 12, 71, 0.05)) drop-shadow(0 4.8125rem 0.96875rem rgba(0, 12, 71, 0.01)) drop-shadow(0 7.5625rem 1.0625rem rgba(0, 12, 71, 0));
    font-family: "Benzin", sans-serif;
    font-size: 1.25rem;
    color: #1a56db;
    white-space: nowrap;
    flex-shrink: 0;
}

.benefits__visual {
    position: absolute;
    left: 58.3125rem;
    top: -2.875rem;
    width: 51.75rem;
    height: 55.8125rem;
    pointer-events: none;
}

.benefits__product {
    position: absolute;
    top: -0.02%;
    left: -0.44%;
    width: 100.67%;
    height: 100.05%;
    max-width: none;
}

.benefits__reflection {
    position: absolute;
    left: 0;
    top: 59.25rem;
    width: 51.75rem;
    height: 11.125rem;
    overflow: hidden;
    border-radius: 0 0 3.125rem 3.125rem;
    filter: blur(1.153125rem);
}

.benefits__reflection::after {
    position: absolute;
    inset: 0;
    content: "";
    background-image: linear-gradient(184.145deg, #f2f3f6 29.387%, rgba(242, 243, 246, 0) 58.531%);
}

.benefits__reflection-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 51.75rem;
    height: 55.8125rem;
    max-width: none;
    transform: scaleY(-1);
    transform-origin: top;
    opacity: 0.05;
}

/* ========================= SCENARIOS ========================= */

.scenarios {
    position: relative;
    z-index: 9;
    margin-top: 12.5rem;
    width: 100%;
    max-width: 115rem;
}

.scenarios--pinning+.configs {
    z-index: 1;
}

.scenarios--pinning+.configs .configs__bg {
    opacity: 0;
    mix-blend-mode: normal;
}

.scenarios__pin {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    width: 100%;
    background-color: #f2f3f6;
    backface-visibility: hidden;
}

.scenarios__pin--pinning {
    z-index: 20;
    isolation: isolate;
}

.scenarios__pin--pinning .scenarios__card {
    will-change: transform;
}

.scenarios__stack {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    width: 100%;
}

.scenarios--ready .scenarios__stack,
.scenarios__pin--stacking .scenarios__stack {
    overflow: visible;
    height: 51.875rem;
}

.scenarios__label-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    height: 7.8125rem;
    padding-top: 1.9375rem;
    overflow: hidden;
    border-radius: 6.25rem;
    width: 100%;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(0.875rem);
    -webkit-backdrop-filter: blur(0.875rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.75);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.85), 0 0.25rem 2rem rgba(0, 0, 0, 0.06);
}

.scenarios__label {
    font-family: "Benzin", sans-serif;
    font-size: 2.875rem;
    line-height: 1.2;
    color: #060b20;
    text-transform: uppercase;
    white-space: nowrap;
}

.scenarios__card {
    position: relative;
    z-index: 1;
    height: 51.875rem;
    overflow: hidden;
    border-radius: 3.75rem;
    flex-shrink: 0;
    width: 100%;
    backface-visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
    .scenarios__card {
        will-change: auto;
    }
}

.scenarios__card--blue {
    background-color: #0058e3;
}

.scenarios__card--dark {
    background-color: #060b20;
}

.scenarios__card--white {
    background-color: white;
}

.scenarios__card--gray {
    background-color: #38404c;
}

.scenarios__card--photo {
    background-color: #0058e3;
    background-image:
        linear-gradient(to right, rgba(0, 88, 227, 0.86), rgba(0, 88, 227, 0)),
        url("assets/scenarios/card-bg-secondary.png"),
        url("assets/scenarios/card-bg-primary.png");
    background-image:
        linear-gradient(to right, rgba(0, 88, 227, 0.86), rgba(0, 88, 227, 0)),
        image-set(url("assets/scenarios/card-bg-secondary.webp") type("image/webp"), url("assets/scenarios/card-bg-secondary.png") type("image/png")),
        image-set(url("assets/scenarios/card-bg-primary.webp") type("image/webp"), url("assets/scenarios/card-bg-primary.png") type("image/png"));
    background-position: center;
    background-size: cover;
}

.scenarios__card-layout {
    height: 100%;
    padding: 6.25rem;
}

.scenarios__card-copy {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    height: 100%;
    width: fit-content;
}

.scenarios__card-heading {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    align-items: flex-start;
}

.scenarios__card-title {
    font-family: "Benzin", sans-serif;
    font-size: 2.875rem;
    line-height: 1.18;
    color: white;
    text-transform: uppercase;
    white-space: nowrap;
}

.scenarios__card-title--blue {
    color: #1a56db;
    white-space: normal;
    width: 34.125rem;
}

.scenarios__card-title--wide {
    white-space: normal;
    width: 57.3125rem;
}

.scenarios__card-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.875rem 2.5rem;
    border-radius: 6.25rem;
    background-color: white;
    filter: drop-shadow(0 0.3125rem 0.34375rem rgba(0, 12, 71, 0.1)) drop-shadow(0 1.1875rem 0.59375rem rgba(0, 12, 71, 0.09)) drop-shadow(0 2.75rem 0.8125rem rgba(0, 12, 71, 0.05));
    font-family: "Benzin", sans-serif;
    font-size: 1.25rem;
    line-height: 1;
    color: #1a56db;
    white-space: nowrap;
    flex-shrink: 0;
}

.scenarios__card-cta--blue {
    background-color: #1a56db;
    color: white;
}

.scenarios__card-cta--gray {
    color: #38404c;
}

.scenarios__card-pills {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: flex-start;
    width: 39.6875rem;
}

.scenarios__card-pill {
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.2);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.12), 0 0.25rem 2rem 0 rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem 1.5625rem;
    border-radius: 6.25rem;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.2;
    color: white;
    white-space: nowrap;
}

.scenarios__card-pill--gray {
    background:
        radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.22) 0%, transparent 45%),
        rgba(56, 64, 76, 0.9);
    backdrop-filter: blur(0.75rem) saturate(160%);
    -webkit-backdrop-filter: blur(0.75rem) saturate(160%);
    border: 0.0625rem solid rgba(255, 255, 255, 0.22);
    box-shadow:
        0 0.25rem 1rem rgba(0, 0, 0, 0.18),
        inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
    color: white;
}

.scenarios__media {
    position: absolute;
    z-index: 0;
    pointer-events: none;
}

.scenarios__media--marquee,
.scenarios__media--photo-marquee {
    top: -21.5625rem;
    left: calc(50% + 14.625rem);
    width: 36.6875rem;
    height: 92.3125rem;
}

.scenarios__gallery {
    position: relative;
    width: 100%;
    height: 100%;
}

.scenarios__gallery-col {
    position: absolute;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: flex-start;
    width: 17.6875rem;
}

.scenarios__gallery-col--left {
    left: 0;
    top: 13.3125rem;
}

.scenarios__gallery-col--right {
    left: 19rem;
    top: 0;
}

.scenarios__gallery-col--photo-left {
    left: 0;
    top: 0.4375rem;
}

.scenarios__gallery-col--photo-right {
    left: 19rem;
    top: 11.4375rem;
}

/* Vertical marquee: the left column runs upward, the right column downward.
   The track holds two identical copies of the items (the clone is injected by
   scenarios-gallery-marquee.js), so translating by exactly one copy loops
   seamlessly. translateY(-50%) lands half a gap short of one copy, so the
   keyframe nudges it by half the 1.25rem column gap (0.625rem). */
.scenarios__gallery-marquee {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    will-change: transform;
}

.scenarios__gallery-col--left .scenarios__gallery-marquee {
    animation: scenarios-marquee-up 32s linear infinite;
}

.scenarios__gallery-col--right .scenarios__gallery-marquee {
    animation: scenarios-marquee-down 32s linear infinite;
}

.scenarios__gallery-col--photo-left .scenarios__gallery-marquee {
    animation: scenarios-marquee-up 34s linear infinite;
}

.scenarios__gallery-col--photo-right .scenarios__gallery-marquee {
    animation: scenarios-marquee-down 34s linear infinite;
}

@keyframes scenarios-marquee-up {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform: translate3d(0, calc(-50% - 0.625rem), 0);
    }
}

@keyframes scenarios-marquee-down {
    from {
        transform: translate3d(0, calc(-50% - 0.625rem), 0);
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {

    .scenarios__gallery-marquee,
    .scenarios__brand-bg,
    .scenarios__brand-circle,
    .scenarios__brand-mask,
    .scenarios__sport-clip,
    .scenarios__shot-img {
        animation: none;
    }
}

.scenarios__gallery-item {
    position: relative;
    height: 25.5rem;
    border: 0.0625rem solid rgba(255, 255, 255, 0.1);
    border-radius: 2.5rem;
    box-shadow: 0 0.25rem 2rem rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
    width: 100%;
    overflow: hidden;
}

.scenarios__gallery-img {
    position: absolute;
    max-width: none;
    object-fit: cover;
    border-radius: 2.5rem;
    width: 100%;
    height: 100%;
}

.scenarios__video-preview {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: inherit;
    color: white;
    pointer-events: auto;
}

.scenarios__media--photo-marquee {
    pointer-events: auto;
}

.scenarios__video-thumb {
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #060b20;
    object-fit: cover;
    pointer-events: none;
}

.scenarios__video-play {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
    border: 0.0625rem solid rgba(255, 255, 255, 0.72);
    border-radius: 50%;
    background: rgba(26, 86, 219, 0.82);
    box-shadow: 0 1rem 2.5rem rgba(0, 12, 71, 0.28), inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.38);
    transform: translate(-50%, -50%);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.scenarios__video-preview:hover .scenarios__video-play {
    background: #1a56db;
    transform: translate(-50%, -50%) scale(1.06);
}

.scenarios__video-play-svg {
    width: 2rem;
    height: 2rem;
    transform: translateX(0.125rem);
}

.scenarios__gallery-clip {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: 2.5rem;
}

.scenarios__gallery-clip-img {
    position: absolute;
    max-width: none;
}

.scenarios__gallery-clip-img--a {
    height: 120.73%;
    left: -21.2%;
    top: -9.53%;
    width: 130.41%;
}

.scenarios__gallery-clip-img--b {
    height: 140.06%;
    left: -12.18%;
    top: -20.69%;
    width: 151.4%;
}

.scenarios__gallery-clip-img--c {
    height: 127.99%;
    left: -15.76%;
    top: -22.44%;
    width: 121.39%;
}

.scenarios__gallery-clip-img--d {
    height: 123.89%;
    left: -18.94%;
    top: -11.91%;
    width: 133.01%;
}

.scenarios__media--brand {
    top: 0;
    right: 0;
    width: 41.8125rem;
    height: 51.875rem;
}

.scenarios__brand-bg-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.scenarios__brand-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    animation: scenarios-brand-bg 18s ease-in-out infinite alternate;
    animation-delay: 0s;
    will-change: transform;
}

.scenarios__brand-circle-wrap,
.scenarios__brand-mask {
    position: absolute;
    top: 6.4375rem;
    width: 19.53125rem;
    height: 39.0625rem;
    max-width: none;
}

.scenarios__brand-circle-wrap {
    left: -19.625rem;
    overflow: hidden;
}

.scenarios__brand-circle {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    animation: scenarios-brand-photo 12s ease-in-out infinite alternate;
    animation-delay: -6s;
    will-change: transform;
}

.scenarios__brand-mask {
    left: -0.09375rem;
    transform: rotate(180deg) scaleY(-1);
    animation: none;
    will-change: auto;
}

@keyframes scenarios-brand-bg {
    0% {
        transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
    }

    50% {
        transform: scale3d(1.07, 1.07, 1) translate3d(-1%, 1%, 0);
    }

    100% {
        transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
    }
}

@keyframes scenarios-brand-photo {
    0% {
        transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
    }

    50% {
        transform: scale3d(1.18, 1.18, 1) translate3d(-2%, -1%, 0);
    }

    100% {
        transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
    }
}

.scenarios__media--sport {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    overflow: hidden;
}

.scenarios__sport-clips {
    position: absolute;
    inset: 0;
}

.scenarios__sport-clip {
    position: absolute;
    overflow: hidden;
    border-radius: 50%;
    aspect-ratio: 1;
    box-shadow: 0 1.5rem 4rem rgba(0, 12, 71, 0.18);
    animation: scenarios-sport-clip 10s ease-in-out infinite alternate;
    will-change: transform;
}

.scenarios__sport-clip:nth-child(1) {
    right: 2%;
    top: 1%;
    width: clamp(20rem, 24vw, 30rem);
    height: auto;
    z-index: 2;
    animation-delay: 0s;
}

.scenarios__sport-clip:nth-child(2) {
    right: 46%;
    top: 20%;
    width: clamp(16rem, 20vw, 25rem);
    height: auto;
    z-index: 3;
    animation-delay: -3.33s;
}

.scenarios__sport-clip:nth-child(3) {
    right: 3%;
    top: 46%;
    width: clamp(14rem, 17vw, 22rem);
    height: auto;
    z-index: 1;
    animation-delay: -6.66s;
}

.scenarios__sport-clip:nth-child(4) {
    right: 48%;
    top: 74%;
    width: clamp(11rem, 14vw, 18rem);
    height: auto;
    z-index: 4;
    animation-delay: -10s;
}

.scenarios__sport-clip-img,
.scenarios__sport-clip-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
}

@keyframes scenarios-sport-clip {
    from {
        transform: scale3d(1, 1, 1);
    }

    to {
        transform: scale3d(1.05, 1.05, 1);
    }
}

.scenarios__media--shots {
    top: 6.25rem;
    left: calc(50% + 0.625rem);
    display: flex;
    gap: 1.25rem;
    align-items: center;
    width: 50.75rem;
    height: 39.375rem;
}

.scenarios__shot {
    position: relative;
    height: 39.375rem;
    border: 0.0625rem solid rgba(255, 255, 255, 0.1);
    border-radius: 2.5rem;
    box-shadow: 0 0.25rem 2rem rgba(0, 0, 0, 0.1);
    flex: 1 0 0;
    min-width: 0.0625rem;
    overflow: hidden;
}

.scenarios__shot-img {
    position: absolute;
    max-width: none;
}

.scenarios__shot-img--one {
    object-fit: unset;
    top: -2.93%;
    left: -7.59%;
    width: 195.08%;
    height: 106.47%;
    animation: scenarios-shot-one 13s ease-in-out infinite alternate;
    will-change: transform;
}

.scenarios__shot-img--two {
    object-fit: unset;
    top: -4.63%;
    left: -50.41%;
    width: 201.95%;
    height: 109.8%;
    animation: scenarios-shot-two 14s ease-in-out infinite alternate;
    will-change: transform;
}

.scenarios__shot-img--three {
    object-fit: unset;
    top: -17.02%;
    left: -78.55%;
    width: 241.56%;
    height: 132.23%;
    animation: scenarios-shot-three 12s ease-in-out infinite alternate;
    will-change: transform;
}

@keyframes scenarios-shot-one {
    from {
        transform: translate3d(-1.25rem, 0, 0) scale3d(1, 1, 1);
    }

    to {
        transform: translate3d(1.25rem, -0.75rem, 0) scale3d(1.025, 1.025, 1);
    }
}

@keyframes scenarios-shot-two {
    from {
        transform: translate3d(1rem, -0.5rem, 0) scale3d(1.02, 1.02, 1);
    }

    to {
        transform: translate3d(-1rem, 0.75rem, 0) scale3d(1, 1, 1);
    }
}

@keyframes scenarios-shot-three {
    from {
        transform: translate3d(-0.75rem, 0.75rem, 0) scale3d(1, 1, 1);
    }

    to {
        transform: translate3d(1.25rem, -0.5rem, 0) scale3d(1.02, 1.02, 1);
    }
}

@media (prefers-reduced-motion: reduce) {

    .scenarios .scenarios__gallery-marquee,
    .scenarios .scenarios__brand-bg,
    .scenarios .scenarios__brand-circle,
    .scenarios .scenarios__brand-mask,
    .scenarios .scenarios__sport-clip,
    .scenarios .scenarios__shot-img {
        animation: none;
    }
}

/* ========================= CONFIGS ========================= */

.configs {
    position: relative;
    z-index: 6;
    isolation: isolate;
    margin-top: 18.875rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding-inline: clamp(1.5rem, 10.26%, 12.3125rem);
}

.configs__bg {
    position: absolute;
    left: -57.484938rem;
    top: -8.078062rem;
    width: 208.353375rem;
    height: 81.401313rem;
    transform: rotate(-3.11deg);
    filter: blur(5.26875rem);
    mix-blend-mode: darken;
    pointer-events: none;
    transition: opacity 0.15s ease;
}

.configs__bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-position: bottom;
}

.configs__header {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 7.5rem;
}

.configs__title-block {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    align-items: flex-start;
}

.configs__title {
    font-family: "Benzin", sans-serif;
    font-size: 2.875rem;
    color: white;
    text-transform: uppercase;
    width: max-content;
}

.configs__subtitle-gradient {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.875rem;
    white-space: nowrap;
    -webkit-background-clip: text;
    color: white;
}

.configs__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.875rem 2.5rem;
    border-radius: 6.25rem;
    background-color: #1a56db;
    filter: drop-shadow(0 0.3125rem 0.34375rem rgba(0, 12, 71, 0.1)) drop-shadow(0 1.1875rem 0.59375rem rgba(0, 12, 71, 0.09)) drop-shadow(0 2.75rem 0.8125rem rgba(0, 12, 71, 0.05));
    font-family: "Benzin", sans-serif;
    font-size: 1.25rem;
    color: white;
    white-space: nowrap;
}

.configs__slider {
    position: relative;
    width: 100%;
    min-height: 49.125rem;
}

.configs__viewport {
    width: 100%;
    height: 49.125rem;
    overflow: visible;
}

.configs__stage {
    position: relative;
    width: 100%;
    height: 100%;
}

.configs__card {
    position: absolute;
    left: 50%;
    top: 3.59375rem;
    width: 33.6875rem;
    height: 41.9375rem;
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%);
    transition:
        left 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        top 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        width 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        height 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.45s ease;
}

.configs__card.is-prev,
.configs__card.is-next,
.configs__card.is-current {
    pointer-events: auto;
}

.configs__card.is-prev {
    left: calc(50% - 30.78125rem);
    opacity: 0.5;
}

.configs__card.is-next {
    left: calc(50% + 30.78125rem);
    opacity: 0.5;
}

.configs__card.is-current {
    top: 0;
    z-index: 1;
    width: 42rem;
    height: 49.125rem;
    opacity: 1;
}

.configs__card:not(.is-current):hover {
    opacity: 0.72;
}

.configs__card-button {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 2.5rem 0;
    overflow: visible;
    border: 0.125rem solid rgba(255, 255, 255, 0.35);
    border-radius: 2.5rem;
    background: rgba(242, 243, 246, 0.3);
    backdrop-filter: blur(0.75rem);
    -webkit-backdrop-filter: blur(0.75rem);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.2), 0 0.25rem 2rem rgba(0, 0, 0, 0.05);
    cursor: pointer;
    text-align: inherit;
    transition:
        gap 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        padding 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        border-color 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        background-color 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.configs__card-button:focus-visible {
    outline: 0.125rem solid rgba(255, 255, 255, 0.9);
    outline-offset: 0.375rem;
}

.configs__card.is-current .configs__card-button {
    gap: 1.75rem;
    padding: 3.75rem 0;
    border-color: rgba(255, 255, 255, 0.2);
    background-image: linear-gradient(rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.75)),
        url("./assets/configs/card-active-texture.png");
    background-image: linear-gradient(rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.75)),
        image-set(url("./assets/configs/card-active-texture.webp") type("image/webp"), url("./assets/configs/card-active-texture.png") type("image/png"));
    background-size: cover;
    background-position: center;
    box-shadow: 0 0.25rem 2rem 0 rgba(0, 0, 0, 0.1);
    cursor: default;
}

.configs__card-header {
    position: relative;
    width: 15.875rem;
    height: 4.0625rem;
    flex-shrink: 0;
}

.configs__card-size {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem 1.5625rem;
    border: 0.0625rem solid rgba(255, 255, 255, 0.75);
    border-radius: 6.25rem;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(0.75rem);
    -webkit-backdrop-filter: blur(0.75rem);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.85), 0 0.25rem 1rem rgba(0, 0, 0, 0.06);
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    color: #6c6c7c;
    white-space: nowrap;
}

.configs__card-badge {
    position: absolute;
    top: -1.25rem;
    left: 3.78125rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.625rem 1.25rem;
    background-color: #1a56db;
    font-family: "Benzin", sans-serif;
    font-size: 0.875rem;
    color: white;
    white-space: nowrap;
}

.configs__card-badge--reels {
    left: 52%;
    transform: translateX(-50%);
}

.configs__card-media {
    position: relative;
    width: 26.5625rem;
    height: 30rem;
    margin-bottom: -1.125rem;
    flex-shrink: 0;
    overflow: visible;
    transition:
        width 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        margin-bottom 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.configs__card.is-current .configs__card-media {
    width: 100%;
    height: 33rem;
    margin-bottom: 0;
}

.configs__card-photo {
    --configs-photo-x: 0%;
    --configs-photo-y: 0%;
    position: absolute;
    left: var(--configs-photo-x);
    top: var(--configs-photo-y);
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    object-position: center center;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    image-rendering: auto;
    transform: none;
    transition: opacity 0.55s ease, filter 0.55s ease;
    will-change: opacity;
}

.configs__card[data-slide="2"] .configs__card-photo--inactive,
.configs__card[data-slide="3"] .configs__card-photo--inactive {
    --configs-photo-x: 0rem;
}

.configs__card[data-slide="4"] .configs__card-photo--inactive {
    --configs-photo-x: 0rem;
}

.configs__card[data-slide="5"] .configs__card-photo--inactive {
    width: 100%;
    --configs-photo-x: 0rem;
}

.configs__card-photo--active {
    opacity: 0;
    filter: contrast(1.055) saturate(1.035);
    image-rendering: -webkit-optimize-contrast;
}

.configs__card-photo--inactive {
    opacity: 1;
}

.configs__card.is-current .configs__card-photo--active {
    opacity: 1;
}

.configs__card[data-slide="0"] .configs__card-photo--active {
    --configs-photo-x: 0.16%;
    --configs-photo-y: -1.46%;
}

.configs__card[data-slide="1"] .configs__card-photo--active {
    --configs-photo-x: 0.47%;
    --configs-photo-y: -0.99%;
}

.configs__card[data-slide="2"] .configs__card-photo--active {
    --configs-photo-x: -7.5%;
    --configs-photo-y: -1.25%;
}

.configs__card[data-slide="3"] .configs__card-photo--active {
    --configs-photo-x: -4.45%;
    --configs-photo-y: -2.81%;
}

.configs__card[data-slide="4"] .configs__card-photo--active {
    --configs-photo-x: -4.83%;
    --configs-photo-y: -1.03%;
}

.configs__card[data-slide="5"] .configs__card-photo--active {
    --configs-photo-x: -4.47%;
    --configs-photo-y: -0.23%;
}

.configs__card.is-current .configs__card-photo--inactive {
    opacity: 0;
}

.configs__card-desc {
    display: block;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    color: white;
    text-align: center;
    width: 28.625rem;
}

.configs__card.is-current .configs__card-desc {
    color: #6c6c7c;
}

.configs__card-desc-accent {
    color: inherit;
}

.configs__card.is-current .configs__card-desc-accent {
    color: #1a56db;
}

.configs__arrows {
    position: absolute;
    left: 50%;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 46.375rem;
    z-index: 2;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.configs__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.125rem;
    height: 3.125rem;
    padding: 0;
    border: 0.0625rem solid rgba(255, 255, 255, 0.55);
    border-radius: 6.25rem;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(0.625rem);
    -webkit-backdrop-filter: blur(0.625rem);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.65), 0 0.125rem 0.75rem rgba(0, 0, 0, 0.06);
    cursor: pointer;
    pointer-events: auto;
    transition: opacity 0.2s ease;
}

.configs__arrow:hover {
    opacity: 0.85;
}

.configs__arrow:active {
    opacity: 0.65;
}

.configs__arrow-svg {
    width: 1.5rem;
    height: 1.5rem;
    fill: none;
    stroke: white;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (prefers-reduced-motion: reduce) {

    .configs__card,
    .configs__card-media,
    .configs__card-photo,
    .configs__card-button,
    .configs__arrow {
        transition: none;
    }
}

/* ========================= CONTENT ========================= */

.content {

    position: relative;
    z-index: 5;
    margin-top: 12.5rem;
    width: 100%;
    min-height: 59.0625rem;
    display: flex;
    justify-content: flex-end;
    padding: 2.125rem clamp(1.5rem, 10.26%, 12.3125rem) 0;
}

.content__bg {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    left: 12.8125rem;
    top: -29.379375rem;
    width: 135.525438rem;
    height: 117.66225rem;
    pointer-events: none;
}

.content__bg-blur {
    transform: rotate(-18.46deg);
    flex: none;
    position: relative;
    width: 114.193375rem;
    height: 85.923375rem;
    filter: blur(4.4rem);
}

.content__bg-img {
    position: absolute;
    inset: 0;
    max-width: none;
    object-position: bottom;
    width: 100%;
    height: 100%;
}

.content__badge {
    position: absolute;
    left: 81rem;
    top: 0.0rem;
    margin: 0;
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(0.625rem);
    -webkit-backdrop-filter: blur(0.625rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.55);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.6), 0 0 0.7375rem rgba(9, 0, 137, 0.25);
    padding: 0.325rem 1.25rem;
    font-family: "Benzin", sans-serif;
    font-size: 1rem;
    color: #1a56db;
    white-space: nowrap;
    line-height: 23px;
}

.content__visual {
    position: absolute;
    left: 0;
    top: 0;
    width: 47.5rem;
    height: 59.0625rem;
    z-index: 2;
    pointer-events: auto;
    touch-action: pan-y;
}

.content__screen-area {
    position: absolute;
    left: 12.625rem;
    top: 0.6875rem;
    width: 34.3125rem;
    height: 54.75rem;
    pointer-events: none;
}

.content__screen-panel {
    display: block;
    width: 49.625rem;
    height: auto;
    max-width: none;
    position: relative;
    left: -12.875rem;
    top: -5.8125rem;
}

.content__cubes {
    position: absolute;
    left: 0;
    top: 0;
    width: 47.5rem;
    height: 59.0625rem;
    pointer-events: auto;
    z-index: 2;
    touch-action: pan-y;
}

.content__cube {
    position: absolute;
}

.content__cube-img {
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.content__text {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    width: 52.4375rem;
}

.content__title {
    margin: 0;
    font-family: "Benzin", sans-serif;
    font-size: 2.875rem;
    color: white;
    text-transform: uppercase;
    white-space: nowrap;
}

.content__lead {
    margin: 0;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    color: white;
    width: 48.9375rem;
}

.content__pills {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: flex-start;
    margin: 0;
    padding: 0;
    list-style: none;
}

.content__pill {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.25);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.15), 0 0.25rem 2rem 0 rgba(0, 0, 0, 0.1);
    padding: 1.25rem 1.5625rem;
    border-radius: 6.25rem;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    color: white;
    white-space: nowrap;
}

.content__interactive {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
}

.content__interactive-title,
.content__interactive-sub {
    margin: 0;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

.content__interactive-title {
    font-family: "Benzin", sans-serif;
    font-size: 1.875rem;
    text-transform: uppercase;
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 839 82' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><rect x='0' y='0' height='100%' width='100%' fill='url(%23grad)' opacity='1'/><defs><radialGradient id='grad' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(318.68 -16.109 -266.85 304.82 -246.91 126.57)'><stop stop-color='rgba(255,255,255,1)' offset='0'/><stop stop-color='rgba(197,210,246,0.75)' offset='0.25'/><stop stop-color='rgba(140,166,237,0.5)' offset='0.5'/><stop stop-color='rgba(82,121,228,0.25)' offset='0.75'/><stop stop-color='rgba(24,76,219,0)' offset='1'/></radialGradient></defs></svg>"), linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);
}

.content__interactive-sub {
    color: white;
}

.content__ai-note {
    display: flex;
    gap: 1.25rem;
    align-items: center;
    padding: 1.25rem;
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.2);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.12), 0 0.25rem 2rem 0 rgba(0, 0, 0, 0.1);
}

.content__ai-icon {
    position: relative;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    overflow: hidden;
}

.content__ai-icon-svg {
    position: absolute;
    top: 8.33%;
    left: 8.73%;
    width: 1.86625rem;
    height: 2.045044rem;
}

.content__ai-text {
    margin: 0;
    flex: 1 1 auto;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    color: white;
}

/* ========================= FAQ ========================= */

.faq {
    z-index: 7;
    margin-top: 13.3125rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.75rem;
    padding-inline: clamp(1.5rem, 10.42%, 12.5rem);
}

.faq__header {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2.5rem;
    width: 100%;
}

.faq__intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    max-width: 64.6875rem;
}

.faq__title {
    font-family: "Benzin", sans-serif;
    font-size: 2.875rem;
    color: black;
    text-transform: uppercase;
}

.faq__subtitle {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    color: #6c6c7c;
}

.faq__cta {
    background-color: #1a56db;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.875rem 2.5rem;
    border-radius: 6.25rem;
    filter: drop-shadow(0 0.3125rem 0.34375rem rgba(0, 12, 71, 0.1)) drop-shadow(0 1.1875rem 0.59375rem rgba(0, 12, 71, 0.09)) drop-shadow(0 2.75rem 0.8125rem rgba(0, 12, 71, 0.05));
    font-family: "Benzin", sans-serif;
    font-size: 1.25rem;
    color: white;
    white-space: nowrap;
    flex-shrink: 0;
    margin-left: auto;
}

.faq__body {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 5rem;
    width: 100%;
}

.faq__column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    flex: 0 0 auto;
}

.faq__item {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(0.75rem);
    -webkit-backdrop-filter: blur(0.75rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.75);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.85), 0 0.125rem 0.75rem rgba(0, 0, 0, 0.04);
    width: fit-content;
    max-width: 100%;
    padding: 1.25rem 1.5625rem;
    border-radius: 6.25rem;
    transition: border-radius 0.25s ease;
}

.faq__item--open {
    border-radius: 2.5rem;
}

.faq__question {
    font: inherit;
    width: fit-content;
    max-width: 100%;
}

.faq__trigger {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 3.75rem;
    width: auto;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
    white-space: normal;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    line-height: 1.3;
    color: #6c6c7c;
    cursor: pointer;
    transition: color 0.2s ease;
}

.faq__item--open .faq__trigger {
    color: #060b20;
}

.faq__icon {
    position: relative;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 6.25rem;
    background-color: #060b20;
    transition: background-color 0.3s ease,
        transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.faq__item--open .faq__icon {
    background-color: #1a56db;
    transform: rotate(180deg);
}

.faq__icon::before,
.faq__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.875rem;
    height: 0.125rem;
    border-radius: 0.0625rem;
    background-color: white;
    transform: translate(-50%, -50%);
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.faq__icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.faq__item--open .faq__icon::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}

.faq__panel {
    display: grid;
    grid-template-rows: 0fr;
    width: 0;
    min-width: 100%;
    transition: grid-template-rows 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        margin-top 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.faq__panel[hidden] {
    display: none;
}

.faq__item--open .faq__panel:not([hidden]) {
    grid-template-rows: 1fr;
    margin-top: 2.5rem;
}

.faq__panel-inner {
    overflow: hidden;
    opacity: 0;
    transform: translateY(0.625rem);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.faq__item--open .faq__panel:not([hidden]) .faq__panel-inner {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.4s ease 0.1s, transform 0.4s ease 0.1s;
}

.faq__answer {
    font-family: "NeueHaasRoman", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    line-height: 1.4;
    color: #6c6c7c;
    width: 84%;
}

.faq__answer-accent {
    color: #1a56db;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
}

@media (prefers-reduced-motion: reduce) {

    .faq__item,
    .faq__trigger,
    .faq__icon,
    .faq__icon::before,
    .faq__icon::after,
    .faq__panel,
    .faq__panel-inner {
        transition: none;
    }
}

/* ========================= TRUST ========================= */

.trust {
    position: relative;
    z-index: 8;
    margin-top: 6rem;
    width: 100%;
    padding-left: clamp(1.5rem, 3.4375%, 4.125rem);
    overflow: visible;
}

.trust__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-left: max(0, calc(8.33% + 2.5rem - clamp(1.5rem, 3.4375%, 4.125rem)));
    margin-bottom: 3.75rem;
    padding-right: clamp(1.5rem, 10.42%, 12.5rem);
}

.trust__title {
    font-family: "Benzin", sans-serif;
    font-size: 2.875rem;
    line-height: normal;
    color: #060b20;
    text-transform: uppercase;
    white-space: nowrap;
}

.trust__controls {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.trust__control {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    padding: 0;
    border-radius: 50%;
    color: #1a56db;
    background: rgba(255, 255, 255, 0.5);
    border: 0.0625rem solid rgba(255, 255, 255, 0.6);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.7), 0 0.25rem 1.25rem rgba(13, 18, 38, 0.14);
    backdrop-filter: blur(0.625rem);
    -webkit-backdrop-filter: blur(0.625rem);
    cursor: pointer;
    transition: transform 0.18s ease, background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.trust__control:hover {
    transform: translateY(-0.125rem);
    background: #1a56db;
    border-color: rgba(26, 86, 219, 0.9);
    color: white;
}

.trust__control:focus-visible {
    outline: 0.125rem solid #1a56db;
    outline-offset: 0.1875rem;
}

.trust__control:active {
    transform: translateY(0);
}

.trust__control-icon {
    width: 1.5rem;
    height: 1.5rem;
}

.trust__marquee {
    padding-block: 2rem;
    margin-block: -2rem;
    width: 100%;
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
}

.trust__marquee.is-dragging {
    cursor: grabbing;
}

.trust__track {
    display: flex;
    width: max-content;
    will-change: transform;
}

.trust__logos {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 1.5rem;
    padding-right: 1.5rem;
}

@media (prefers-reduced-motion: reduce) {
    .trust__track {
        transform: translate3d(0, 0, 0);
    }
}

.trust__logo {
    position: relative;
    flex-shrink: 0;
    width: 9.5rem;
    height: 9.5rem;
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(0.625rem);
    -webkit-backdrop-filter: blur(0.625rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.55);
    border-radius: 1.75rem;
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.55), 0 0.25rem 2rem rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.trust__logo-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    transition: opacity 0.3s ease;
}

/* Two stacked versions per logo: base shows by default, hover crossfades in */
.trust__logo-img--hover {
    opacity: 0;
}

.trust__logo--has-hover.is-hover-ready:hover .trust__logo-img--base {
    opacity: 0;
}

.trust__logo--has-hover.is-hover-ready:hover .trust__logo-img--hover {
    opacity: 1;
}

/* All logos use object-fit: contain (base rule) so wide wordmark logos show fully without cropping or distortion. */

/* ========================= CONTACTS ========================= */

.contacts {
    position: relative;
    z-index: 2;
    margin-top: 2rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4.75rem clamp(1.5rem, 10.31%, 12.375rem) 0;
}

.contacts__bg {
    position: absolute;
    top: -14.8125rem;
    left: 0;
    width: 100%;
    height: 63.25rem;
    background: linear-gradient(to top, rgba(242, 243, 246, 0) 60.34%, #f2f3f6 100%);
}

.contacts__bg-blur {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    left: -48.1875rem;
    top: -4.375rem;
    width: 185.152125rem;
    height: 101.1125rem;
    mix-blend-mode: darken;
}

.contacts__bg-blurred {
    transform: rotate(-9.37deg);
    flex: none;
    position: relative;
    width: 175.524937rem;
    height: 73.516625rem;
    filter: blur(5.26875rem);
}

.contacts__bg-img {
    position: absolute;
    inset: 0;
    max-width: none;
    object-position: bottom;
    width: 100%;
    height: 100%;
}

.contacts__headline {
    position: absolute;
    /* left: 2.625rem; */
    top: -8rem;
    font-family: "Benzin", sans-serif;
    font-size: 10.5rem;
    color: white;
    text-transform: uppercase;
    white-space: nowrap;
}

.contacts__panel {
    position: relative;
    z-index: 1;
    width: 100%;
    background-color: #f2f3f6;
    border-radius: 2.5rem 2.5rem 0 0;
    padding: 2.25rem 2.625rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.contacts__head {
    display: flex;
    align-items: flex-start;
    gap: 3.6875rem;
}

.contacts__body {
    display: flex;
    justify-content: space-between;
    gap: 3.125rem;
}

.contacts__form-area {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start;
    width: 46.4375rem;
    flex: 0 0 auto;
}

.contacts__form-title {
    font-family: "Benzin", sans-serif;
    font-size: 2.5rem;
    color: #060b20;
    text-transform: uppercase;
    width: 46.4375rem;
}

.contacts__form-sub {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.125rem;
    color: #6c6c7c;
    width: 34.5625rem;
    white-space: pre-wrap;
}

.contacts__fields {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    width: 100%;
}

.contacts__field {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(0.75rem);
    -webkit-backdrop-filter: blur(0.75rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.75);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.85), 0 0.125rem 0.75rem rgba(0, 0, 0, 0.04);
    flex: 1 0 0;
    height: 3.75rem;
    border-radius: 1.25rem;
    display: flex;
    align-items: center;
    padding: 1.25rem 1.875rem;
    min-width: 0.0625rem;
}

.contacts__messengers {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    width: 36.6875rem;
}

.contacts__messenger-label {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.125rem;
    color: #060b20;
}

.contacts__messenger-options {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
}

.contacts__messenger-option {
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(0.625rem);
    -webkit-backdrop-filter: blur(0.625rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.65);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.75), 0 0.25rem 2rem 0 rgba(0, 0, 0, 0.06);
    display: flex;
    gap: 0.625rem;
    align-items: center;
    padding: 0.625rem 1.25rem 0.625rem 0.9375rem;
    border-radius: 6.25rem;
    flex-shrink: 0;
    cursor: pointer;
}

.contacts__messenger-option-text {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    color: #6c6c7c;
    white-space: nowrap;
}

.contacts__submit {
    background-color: #1a56db;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.875rem 2.1875rem;
    border-radius: 6.25rem;
    filter: drop-shadow(0 0.25rem 1rem rgba(0, 0, 0, 0.1));
    font-family: "Benzin", sans-serif;
    font-size: 1.125rem;
    color: white;
    white-space: nowrap;
}

.contacts__info {
    width: 39.1875rem;
    flex: 0 0 auto;
}

.contacts__contact-details {
    display: flex;
    gap: 5rem;
    align-items: center;
    height: 3.5rem;
    margin-bottom: 3rem;
}

.contacts__phone,
.contacts__email {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.contacts__contact-label {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 0.9375rem;
    color: #6c6c7c;
    line-height: 1.3125rem;
}

.contacts__contact-value {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    color: #060b20;
}

.contacts__nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}

.contacts__nav-col {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.contacts__nav-link {
    display: block;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    color: #060b20;
    white-space: nowrap;
}

.contacts__nav-link--disabled {
    cursor: default;
}

.contacts__socials-block {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.contacts__socials-label {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 0.9375rem;
    color: #6c6c7c;
    line-height: 1.3125rem;
}

.contacts__socials {
    display: flex;
    gap: 1.25rem;
    align-items: center;
}

.contacts__social-icon {
    display: block;
    position: relative;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
}

.contacts__social-icon-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* ========================= BURGER MENU ========================= */

.hero__menu {
    cursor: pointer;
    user-select: none;
}

.menu {
    position: fixed;
    inset: 0;
    z-index: 100;
    overflow: hidden;
    background: rgba(6, 11, 32, 0.92);
    backdrop-filter: blur(1.5rem);
    -webkit-backdrop-filter: blur(1.5rem);
}

.menu--closed {
    display: none;
}

.menu__backdrop,
.menu__header,
.menu__content {
    width: 100%;
    max-width: 120rem;
    margin-inline: auto;
}

.menu__backdrop {
    position: absolute;
    inset: 0;
    cursor: pointer;
}

.menu__backdrop-img {
    position: absolute;
    height: 100%;
    left: -8.49%;
    width: 108.49%;
    max-width: none;
    opacity: 0.5;
    pointer-events: none;
}

.menu__backdrop-glow {
    position: absolute;
    inset: 0;
    opacity: 0.86;
    background: linear-gradient(90deg, rgba(41, 73, 200, 1) 0%, rgba(0, 88, 227, 0) 100%);
    pointer-events: none;
}

.menu__header {
    position: absolute;
    left: 0;
    right: 0;
    top: 2.125rem;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-inline: 2.5rem;
}

.menu__logo {
    display: block;
    width: 18.75rem;
    height: 1.125rem;
    flex-shrink: 0;
}

.menu__logo-svg {
    display: block;
    width: 100%;
    height: 100%;
}

.menu__close {
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 6.25rem;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.2);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.menu__close:hover {
    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.3);
}

.menu__close-svg {
    width: 0.625rem;
    height: 0.625rem;
}

.menu__content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 3.75rem;
    padding: 18.375rem clamp(1.5rem, 10.26%, 12.3125rem) 0;
}

.menu__nav {
    display: flex;
    flex-direction: column;
    width: 31.0625rem;
    flex: 0 0 auto;
}

.menu__links {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.menu__link {
    font-family: "Benzin", sans-serif;
    font-size: 2rem;
    line-height: 2.75rem;
    color: white;
    width: max-content;
    transition: opacity 0.2s ease;
}

.menu__link:hover {
    opacity: 0.7;
}

.menu__contacts {
    display: flex;
    gap: 5rem;
    margin-top: 4rem;
}

.menu__contact {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.menu__contact-label {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 0.9375rem;
    line-height: 1.3125rem;
    color: rgba(255, 255, 255, 0.6);
}

.menu__contact-value {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    line-height: 1.5625rem;
    color: white;
}

.menu__socials-block {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    margin-top: 1.875rem;
}

.menu__socials-label {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 0.9375rem;
    line-height: 1.3125rem;
    color: rgba(255, 255, 255, 0.6);
}

.menu__socials {
    display: flex;
    gap: 1.25rem;
    align-items: center;
}

.menu__social-icon {
    display: block;
    position: relative;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    transition: opacity 0.2s ease;
}

.menu__social-icon:hover {
    opacity: 0.7;
}

.menu__social-icon-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.menu__form {
    display: flex;
    flex-direction: column;
    gap: 2.1875rem;
    align-items: flex-start;
    width: 46.4375rem;
    flex: 0 0 auto;
}

.menu__form-head {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.menu__form-title {
    font-family: "Benzin", sans-serif;
    font-size: 2.5rem;
    line-height: 1.1;
    color: white;
    text-transform: uppercase;
}

.menu__form-sub {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.125rem;
    line-height: 1.4375rem;
    color: white;
}

.menu__fields {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    width: 100%;
}

.menu__field {
    flex: 1 0 0;
    min-width: 0.0625rem;
    height: 4.0625rem;
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.2);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    padding: 1.25rem 1.875rem;
}

.menu__messengers {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    width: 100%;
}

.menu__messenger-label {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.125rem;
    line-height: 1.4375rem;
    color: white;
}

.menu__messenger-options {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
}

.menu__chip {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    height: 2.8125rem;
    padding: 0 1.5625rem;
    border-radius: 6.25rem;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(1rem);
    -webkit-backdrop-filter: blur(1rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.2);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.12);
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.menu__chip:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.3);
}

.menu__chip-radio {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
}

.menu__chip-text {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.25rem;
    line-height: 1.5625rem;
    color: white;
}

.menu__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.875rem 2.1875rem;
    border-radius: 6.25rem;
    background-color: white;
    font-family: "Benzin", sans-serif;
    font-size: 1.125rem;
    color: #1a56db;
    white-space: nowrap;
    transition: transform 0.2s ease;
}

.menu__submit:hover {
    transform: translateY(-0.125rem);
}

.lead-consent {
    width: 100%;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 0.875rem;
    line-height: 1.35;
}

.lead-consent--contacts,
.lead-consent--modal {
    color: #6c6c7c;
}

.lead-consent--contacts,
.lead-consent--modal {
    color: #6c6c7c;
    padding-bottom: 15px;
}

.lead-consent--menu {
    color: rgba(255, 255, 255, 0.66);
}

.lead-consent a {
    color: #1a56db;
    text-decoration: underline;
    text-decoration-thickness: 0.0625rem;
    text-underline-offset: 0.1875rem;
}

.lead-consent--menu a {
    color: white;
}

/* ========================= FORMS (inputs / radios / states) ========================= */

/* Real text inputs — reset to inherit the look of the old placeholder text. */
.contacts__input,
.menu__input,
.modal__input {
    width: 100%;
    border: none;
    background: transparent;
    outline: none;
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.0625rem;
}

@media (max-width: 768px) {
    .contacts__input,
    .menu__input,
    .modal__input {
        font-size: 16px;
    }
}

.contacts__input,
.modal__input {
    color: #060b20;
}

.contacts__input::placeholder,
.modal__input::placeholder {
    color: #6c6c7c;
    opacity: 1;
}

.menu__input {
    color: white;
}

.menu__input::placeholder {
    color: rgba(255, 255, 255, 0.7);
    opacity: 1;
}

/* Hide the real radio, keep it accessible / focusable. */
.contacts__messenger-input,
.menu__chip-input,
.modal__messenger-input {
    position: absolute;
    width: 0.0625rem;
    height: 0.0625rem;
    opacity: 0;
    pointer-events: none;
    margin: 0;
}

/* Radio circle drawn in CSS (replaces the old SVG). */
.contacts__messenger-radio,
.menu__chip-radio,
.modal__messenger-radio {
    position: relative;
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    box-sizing: border-box;
}

.contacts__messenger-radio,
.modal__messenger-radio {
    border: 0.125rem solid #b6b8c4;
}

.menu__chip-radio {
    border: 0.125rem solid rgba(255, 255, 255, 0.6);
}

/* Inner dot — appears when the option is selected. */
.contacts__messenger-radio::after,
.menu__chip-radio::after,
.modal__messenger-radio::after {
    content: "";
    position: absolute;
    inset: 0.1875rem;
    border-radius: 50%;
    transform: scale(0);
    transition: transform 0.15s ease;
}

.contacts__messenger-radio::after,
.modal__messenger-radio::after {
    background-color: #1a56db;
}

.menu__chip-radio::after {
    background-color: white;
}

/* Checked state — JS toggles .is-checked on the label (no :has() dependency). */
.contacts__messenger-option.is-checked .contacts__messenger-radio,
.modal__messenger-option.is-checked .modal__messenger-radio {
    border-color: #1a56db;
}

.menu__chip.is-checked .menu__chip-radio {
    border-color: white;
}

.contacts__messenger-option.is-checked .contacts__messenger-radio::after,
.menu__chip.is-checked .menu__chip-radio::after,
.modal__messenger-option.is-checked .modal__messenger-radio::after {
    transform: scale(1);
}

.contacts__messenger-option.is-checked .contacts__messenger-option-text,
.modal__messenger-option.is-checked .modal__messenger-option-text {
    color: #060b20;
}

.menu__chip.is-checked {
    background: rgba(255, 255, 255, 0.24);
    border-color: rgba(255, 255, 255, 0.35);
}

/* Keyboard focus ring on the visual radio. */
.contacts__messenger-input:focus-visible+.contacts__messenger-radio,
.menu__chip-input:focus-visible+.menu__chip-radio,
.modal__messenger-input:focus-visible+.modal__messenger-radio {
    outline: 0.125rem solid #1a56db;
    outline-offset: 0.125rem;
}

/* Error state — red ring on the field + message text. */
.contacts__field.is-error,
.menu__field.is-error,
.modal__field.is-error {
    box-shadow: inset 0 0 0 0.125rem #e02424;
}

.contacts__error,
.menu__error,
.modal__error {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1rem;
    color: #e02424;
    margin: -0.625rem 0 0;
}

.menu__error {
    color: #ffb4b4;
}

/* Sent state — hide the form body, reveal the success message. */
.js-lead-form.is-sent>*:not(.js-form-success) {
    display: none;
}

.contacts__success,
.menu__success,
.modal__success {
    flex-direction: column;
    gap: 0.625rem;
}

/* Success block stays hidden (via [hidden]) until the form is marked sent. */
.js-lead-form.is-sent .js-form-success {
    display: flex;
}

.contacts__success-title,
.menu__success-title,
.modal__success-title {
    font-family: "Benzin", sans-serif;
    font-size: 1.5rem;
    text-transform: uppercase;
}

.contacts__success-title,
.modal__success-title {
    color: #060b20;
}

.menu__success-title {
    color: white;
}

.contacts__success-text,
.menu__success-text,
.modal__success-text {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.125rem;
}

.contacts__success-text,
.modal__success-text {
    color: #6c6c7c;
}

.menu__success-text {
    color: rgba(255, 255, 255, 0.8);
}

/* ========================= VIDEO MODAL ========================= */

.video-modal {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 3vw, 2.5rem);
    background: rgba(6, 11, 32, 0.78);
    backdrop-filter: blur(1.25rem);
    -webkit-backdrop-filter: blur(1.25rem);
}

.video-modal--closed {
    display: none;
}

.video-modal__backdrop {
    position: fixed;
    inset: 0;
    cursor: pointer;
}

.video-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 78rem);
    max-height: calc(100svh - clamp(2rem, 6vw, 5rem));
    aspect-ratio: var(--video-ratio, 16 / 9);
}

.video-modal__player {
    display: block;
    width: 100%;
    height: 100%;
    max-height: inherit;
    border-radius: clamp(1rem, 2.6vw, 2rem);
    background: #060b20;
    box-shadow: 0 1.75rem 5rem rgba(0, 0, 0, 0.38);
    object-fit: contain;
}

.video-modal__close {
    position: absolute;
    right: 0;
    bottom: calc(100% + 0.875rem);
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: #060b20;
    box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.18);
}

.video-modal__close-svg {
    width: 0.875rem;
    height: 0.875rem;
}

/* ========================= LEAD MODAL (popup) ========================= */

.modal {
    position: fixed;
    inset: 0;
    z-index: 110;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem 1.25rem;
    background: rgba(6, 11, 32, 0.6);
    backdrop-filter: blur(1.25rem);
    -webkit-backdrop-filter: blur(1.25rem);
    overflow-y: auto;
}

.modal--closed {
    display: none;
}

.modal__backdrop {
    position: fixed;
    inset: 0;
    cursor: pointer;
}

.modal__dialog {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 51.25rem;
    max-height: 90vh;
    overflow-y: auto;
    background-color: #f2f3f6;
    border-radius: 2.5rem;
    padding: 3.75rem;
    display: flex;
    flex-direction: column;
    gap: 2.1875rem;
}

.modal__close {
    position: absolute;
    top: 1.875rem;
    right: 1.875rem;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 6.25rem;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(0.625rem);
    -webkit-backdrop-filter: blur(0.625rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.65);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.75);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.modal__close:hover {
    background: rgba(255, 255, 255, 0.65);
    border-color: rgba(255, 255, 255, 0.8);
}

.modal__close-svg {
    width: 0.875rem;
    height: 0.875rem;
}

.modal__head {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-right: 3.125rem;
}

.modal__title {
    font-family: "Benzin", sans-serif;
    font-size: 2.25rem;
    color: #060b20;
    text-transform: uppercase;
}

.modal__sub {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.125rem;
    color: #6c6c7c;
}

.modal__form {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    align-items: stretch;
}

.modal__fields {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
    width: 100%;
}

.modal__field {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(0.75rem);
    -webkit-backdrop-filter: blur(0.75rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.75);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.85), 0 0.125rem 0.75rem rgba(0, 0, 0, 0.04);
    flex: 1 0 0;
    min-width: 0.0625rem;
    height: 4.0625rem;
    border-radius: 1.25rem;
    display: flex;
    align-items: center;
    padding: 1.25rem 1.875rem;
}

.modal__messengers {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.modal__messenger-label {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.125rem;
    color: #060b20;
}

.modal__messenger-options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9375rem;
}

.modal__messenger-option {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(0.625rem);
    -webkit-backdrop-filter: blur(0.625rem);
    border: 0.0625rem solid rgba(255, 255, 255, 0.65);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.75), 0 0.25rem 2rem 0 rgba(0, 0, 0, 0.06);
    display: flex;
    gap: 0.625rem;
    align-items: center;
    padding: 0.625rem 1.25rem 0.625rem 0.9375rem;
    border-radius: 6.25rem;
    cursor: pointer;
}

.modal__messenger-option-text {
    font-family: "NeueHaasMedium", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    font-size: 1.125rem;
    color: #6c6c7c;
    white-space: nowrap;
}

.modal__submit {
    align-self: flex-start;
    background-color: #1a56db;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.625rem 2.1875rem;
    border-radius: 6.25rem;
    filter: drop-shadow(0 0.25rem 1rem rgba(0, 0, 0, 0.1));
    font-family: "Benzin", sans-serif;
    font-size: 1.125rem;
    color: white;
    white-space: nowrap;
    transition: transform 0.2s ease;
}

.modal__submit:hover {
    transform: translateY(-0.125rem);
}

/* ========================= RESPONSIVE 320-1439 ========================= */

.hero__header {
    z-index: 108;
}

.menu {
    z-index: 120;
}

.modal {
    z-index: 130;
}

@media (max-width: 1439px) {

    body,
    .page,
    .screenl-legal-page {
        min-width: 0;
        overflow-x: hidden;
    }

    .page__canvas {
        width: 100%;
        max-width: none;
        overflow: hidden;
    }

    .page__canvas>section[id] {
        scroll-margin-top: clamp(5.75rem, 7vw, 7.5rem);
    }

    .hero__header {
        top: clamp(1.375rem, 2.4vw, 2.125rem);
        width: min(calc(100% - clamp(3rem, 7vw, 8.5rem)), 115rem);
    }

    .hero__socials {
        gap: clamp(0.875rem, 1.4vw, 1.25rem);
    }

    .hero__social-icon {
        width: clamp(1.75rem, 2.4vw, 1.875rem);
        height: clamp(1.75rem, 2.4vw, 1.875rem);
    }

    .hero__menu {
        min-height: 2.75rem;
        align-items: center;
    }

    .hero__menu-text {
        font-size: clamp(1rem, 1.45vw, 1.25rem);
    }

    .hero,
    .hero__bg {
        width: 100%;
        height: clamp(56.25vw, calc(43.3125vw + 15.515rem), 67.5vw);
        overflow: hidden;
    }

    .hero {
        width: clamp(100vw, calc(77vw + 27.58rem), 120vw);
        max-width: none;
        flex-shrink: 0;
    }

    .hero__bg-img,
    .legal-page__bg-img {
        left: 50%;
        top: -14%;
        width: 124%;
        height: 146%;
        max-width: none;
        object-fit: cover;
        object-position: 50% 0%;
        transform: translateX(-50%);
    }

    .hero__product {
        left: 50%;
        top: 14.166667%;
        width: 72.65625%;
        height: auto;
        aspect-ratio: 1395 / 811;
        transform: translateX(-50%);
    }

    .hero__title-block {
        left: clamp(1.75rem, 3.25vw, 3.125rem);
        top: clamp(2rem, 3.25vw, 3.125rem);
        width: min(42.1875rem, 49%);
    }

    .hero__title {
        font-size: clamp(3.15rem, 4.65vw, 4rem);
        line-height: 0.9;
        letter-spacing: clamp(0.02rem, 0.12vw, 0.12rem);
    }

    .hero__subtitle {
        width: min(32.3125rem, 40vw);
        font-size: clamp(1.55rem, 2.35vw, 2rem);
        line-height: 1.12;
    }

    .hero__cta-row {
        left: min(calc(57% + 0.75rem), calc(100% - 23.5rem));
        top: clamp(2.5rem, 4vw, 3.6875rem);
        gap: clamp(0.875rem, 1.4vw, 1.25rem);
    }

    .hero__btn,
    .benefits__cta,
    .scenarios__card-cta,
    .configs__cta,
    .faq__cta,
    .contacts__submit,
    .menu__submit,
    .modal__submit {
        min-height: 4rem;
        padding: clamp(1.35rem, 1.9vw, 1.875rem) clamp(1.75rem, 2.6vw, 2.5rem);
        font-size: clamp(0.95rem, 1.2vw, 1.25rem);
    }

    .hero__response-note {
        width: min(11rem, 14vw);
        font-size: clamp(0.95rem, 1.22vw, 1.125rem);
        line-height: 1.25;
    }

    .hero__features {
        left: clamp(2rem, 3.8vw, 3.125rem);
        top: 87.6%;
        width: calc(100% - clamp(4rem, 7.6vw, 6.25rem));
    }

    .hero__feature-text {
        font-size: clamp(1rem, 1.35vw, 1.25rem);
        white-space: nowrap;
    }

    .benefits,
    .configs,
    .content,
    .faq,
    .trust,
    .contacts {
        padding-inline: clamp(2rem, 4.8vw, 5.5rem);
    }

    .benefits {
        display: grid;
        grid-template-columns: minmax(30rem, 0.9fr) minmax(26rem, 1fr);
        align-items: center;
        gap: clamp(2.5rem, 5vw, 5.25rem);
        min-height: auto;
        margin-top: clamp(8rem, 10vw, 12.5rem);
    }

    .benefits__bg,
    .configs__bg,
    .content__bg,
    .contacts__bg-blur {
        opacity: 0.95;
    }

    .configs__bg-img,
    .content__bg-img,
    .contacts__bg-img {
        object-fit: cover;
        object-position: center bottom;
    }

    .benefits__bg-img {
        object-fit: fill;
    }

    .benefits__content {
        width: 100%;
        gap: clamp(2rem, 3vw, 2.5rem);
    }

    .benefits__title,
    .configs__title,
    .content__title,
    .faq__title,
    .trust__title {
        font-size: clamp(2.35rem, 3.45vw, 2.875rem);
        line-height: 1.08;
        letter-spacing: 0;
        white-space: normal;
    }

    .benefits__title {
        width: min(100%, 40rem);
    }

    .benefits__list {
        width: 100%;
        height: auto;
        gap: clamp(1rem, 1.7vw, 1.875rem);
    }

    .benefits__row,
    .benefits__row--split {
        flex-wrap: wrap;
        gap: clamp(0.875rem, 1.35vw, 1.25rem);
    }

    .benefits__row--tight {
        margin-top: 0;
    }

    .benefits__item,
    .scenarios__card-pill,
    .content__pill {
        min-height: 3.875rem;
        justify-content: flex-start;
        padding: clamp(1rem, 1.4vw, 1.25rem) clamp(1.25rem, 1.8vw, 1.5625rem);
        font-size: clamp(1rem, 1.35vw, 1.25rem);
        line-height: 1.22;
        white-space: normal;
    }

    .benefits__badge {
        font-size: clamp(0.75rem, 0.9vw, 0.875rem);
    }

    .benefits__visual {
        position: relative;
        left: auto;
        top: auto;
        justify-self: end;
        width: min(43rem, 40vw);
        height: auto;
        aspect-ratio: 51.75 / 55.8125;
    }

    .benefits__product {
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .benefits__reflection {
        display: none;
    }

    .scenarios {
        width: min(calc(100% - clamp(4rem, 9.6vw, 11rem)), 115rem);
        margin-top: clamp(8rem, 10vw, 12.5rem);
    }

    .scenarios__pin,
    .scenarios__stack {
        gap: clamp(1.25rem, 2vw, 1.875rem);
    }

    .scenarios__label-wrap {
        height: clamp(6rem, 8.2vw, 7.8125rem);
        padding-top: clamp(1.45rem, 2.1vw, 1.9375rem);
    }

    .scenarios__label {
        font-size: clamp(2.25rem, 3.35vw, 2.875rem);
        line-height: 1.12;
    }

    .scenarios--ready .scenarios__stack,
    .scenarios__pin--stacking .scenarios__stack,
    .scenarios__card {
        height: clamp(44rem, 58vw, 51.875rem);
    }

    .scenarios__card-layout {
        padding: clamp(3.75rem, 5.6vw, 6.25rem);
    }

    .scenarios__card-title,
    .scenarios__card-title--wide {
        width: min(100%, 57.3125rem);
        font-size: clamp(2.2rem, 3.25vw, 2.875rem);
        line-height: 1.14;
        white-space: normal;
    }

    .scenarios__card-title--blue {
        width: min(100%, 34.125rem);
    }

    .scenarios__card-pills {
        width: min(39.6875rem, 45vw);
        gap: clamp(0.875rem, 1.35vw, 1.25rem);
    }

    .scenarios__media--marquee,
    .scenarios__media--photo-marquee {
        left: calc(50% + clamp(10rem, 12vw, 14.625rem));
        width: clamp(30rem, 35vw, 36.6875rem);
        height: clamp(78rem, 86vw, 92.3125rem);
    }

    .scenarios__gallery-item {
        height: clamp(21rem, 24vw, 25.5rem);
    }

    .scenarios__media--brand {
        width: min(41.8125rem, 42vw);
    }

    .scenarios__media--shots {
        left: calc(50% + 0.25rem);
        width: min(47rem, 47vw);
        height: clamp(34rem, 42vw, 39.375rem);
    }

    .scenarios__shot {
        height: 100%;
    }

    .configs {
        margin-top: clamp(12rem, 13vw, 18.875rem);
    }

    .configs__header {
        gap: clamp(2rem, 4vw, 4rem);
        margin-bottom: clamp(5rem, 7vw, 7.5rem);
    }

    .configs__subtitle-gradient {
        font-size: clamp(1.45rem, 2.15vw, 1.875rem);
        white-space: normal;
    }

    .configs__slider {
        min-height: clamp(45rem, 56vw, 49.125rem);
    }

    .configs__viewport {
        height: clamp(45rem, 56vw, 49.125rem);
        overflow: hidden;
    }

    .configs__card,
    .configs__card.is-prev,
    .configs__card.is-next {
        width: clamp(29rem, 34vw, 33.6875rem);
        height: clamp(38rem, 47vw, 41.9375rem);
    }

    .configs__card.is-current {
        width: clamp(37rem, 43vw, 42rem);
        height: clamp(45rem, 56vw, 49.125rem);
    }

    .configs__card.is-prev {
        left: calc(50% - clamp(25rem, 32vw, 30.78125rem));
    }

    .configs__card.is-next {
        left: calc(50% + clamp(25rem, 32vw, 30.78125rem));
    }

    .configs__card-button {
        overflow: hidden;
    }

    .configs__card-media,
    .configs__card.is-current .configs__card-media {
        width: min(100%, 34rem);
        height: clamp(27rem, 35vw, 33rem);
    }

    .content {
        display: grid;
        grid-template-columns: minmax(26rem, 0.8fr) minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-items: center;
        gap: clamp(1.5rem, 4vw, 4rem) clamp(3rem, 5vw, 6rem);
        min-height: auto;
        margin-top: clamp(8rem, 10vw, 12.5rem);
        padding-top: clamp(2rem, 3vw, 3rem);
    }

    .content__bg {
        left: 0;
        top: -28rem;
        width: 120%;
        height: 105rem;
    }

    .content__badge {
        position: relative;
        left: auto;
        top: auto;
        grid-column: 2;
        grid-row: 1;
        justify-self: start;
        width: fit-content;
        max-width: 100%;
        white-space: normal;
    }

    .content__visual {
        position: relative;
        left: auto;
        top: auto;
        grid-column: 1;
        grid-row: 1 / span 2;
        width: min(47.5rem, 47vw);
        height: auto;
        aspect-ratio: 47.5 / 59.0625;
        justify-self: center;
    }

    .content__screen-area {
        left: 26.578947%;
        top: 1.164021%;
        width: 72.236842%;
        height: auto;
        aspect-ratio: 34.3125 / 54.75;
    }

    .content__screen-panel {
        position: absolute;
        left: -34%;
        top: -11%;
        width: 144%;
        height: auto;
    }

    .content__cubes {
        display: block;
        width: 100%;
        height: 100%;
    }

    .content__text {
        grid-column: 2;
        grid-row: 2;
        width: 100%;
        gap: clamp(1.75rem, 3vw, 2.5rem);
    }

    .content__lead {
        width: min(100%, 52rem);
        font-size: clamp(1rem, 1.35vw, 1.25rem);
        line-height: 1.35;
    }

    .content__pills,
    .scenarios__card-pills {
        gap: clamp(0.875rem, 1.35vw, 1.25rem);
    }

    .content__interactive {
        gap: clamp(1.25rem, 2vw, 1.875rem);
    }

    .content__interactive-title {
        font-size: clamp(1.45rem, 2.15vw, 1.875rem);
        line-height: 1.12;
    }

    .content__interactive-sub,
    .content__ai-text {
        font-size: clamp(1rem, 1.35vw, 1.25rem);
        line-height: 1.35;
    }

    .faq {
        margin-top: clamp(8rem, 10vw, 13.3125rem);
        gap: clamp(2.5rem, 5vw, 3.75rem);
    }

    .faq__header {
        gap: clamp(1.5rem, 3vw, 2.5rem);
    }

    .faq__intro {
        max-width: min(64.6875rem, 68vw);
    }

    .faq__subtitle,
    .faq__trigger,
    .faq__answer {
        font-size: clamp(1rem, 1.35vw, 1.25rem);
        line-height: 1.35;
    }

    .faq__body {
        gap: clamp(1.5rem, 4vw, 5rem);
    }

    .faq__column {
        flex: 1 1 0;
        min-width: 0;
    }

    .faq__item,
    .faq__question,
    .faq__trigger {
        width: 100%;
    }

    .faq__trigger {
        justify-content: space-between;
        gap: clamp(1rem, 2vw, 3.75rem);
    }

    .trust {
        margin-top: clamp(5rem, 7vw, 6rem);
        padding-left: clamp(2rem, 4.8vw, 5.5rem);
    }

    .trust__header {
        margin-left: 0;
        padding-right: clamp(2rem, 4.8vw, 5.5rem);
    }

    .trust__logo {
        width: clamp(8rem, 10.8vw, 9.5rem);
        height: clamp(8rem, 10.8vw, 9.5rem);
        border-radius: clamp(1.25rem, 1.8vw, 1.75rem);
    }

    .contacts {
        margin-top: clamp(3rem, 6vw, 5rem);
        padding-top: clamp(4rem, 6vw, 4.75rem);
    }

    .contacts__headline {
        left: clamp(2rem, 4.8vw, 5.5rem);
        top: clamp(-3rem, -2.4vw, -2rem);
        font-size: clamp(7.5rem, 10.2vw, 10.5rem);
        letter-spacing: 0;
    }

    .contacts__panel {
        padding: clamp(2rem, 3vw, 2.625rem);
        border-radius: clamp(2rem, 3vw, 2.5rem) clamp(2rem, 3vw, 2.5rem) 0 0;
    }

    .contacts__head,
    .contacts__body {
        gap: clamp(2rem, 4vw, 3.6875rem);
    }

    .contacts__form-area,
    .contacts__info {
        width: auto;
        min-width: 0;
        flex: 1 1 0;
    }

    .contacts__form-title {
        width: auto;
        font-size: clamp(2rem, 3vw, 2.5rem);
        line-height: 1.08;
        letter-spacing: 0;
    }

    .contacts__form-sub {
        width: auto;
        font-size: clamp(1rem, 1.25vw, 1.125rem);
        line-height: 1.35;
    }

    .contacts__fields,
    .modal__fields,
    .menu__fields {
        gap: clamp(0.875rem, 1.35vw, 1.25rem);
    }

    .contacts__field,
    .menu__field,
    .modal__field {
        min-height: 4rem;
        height: auto;
    }

    .contacts__messengers {
        width: 100%;
    }

    .contacts__messenger-options {
        flex-wrap: wrap;
    }

    .contacts__contact-details {
        gap: clamp(2rem, 4vw, 5rem);
        height: auto;
    }

    .contacts__nav {
        gap: clamp(1.5rem, 3vw, 3rem);
    }

    .contacts__nav-link,
    .contacts__contact-value,
    .contacts__messenger-option-text,
    .menu__chip-text {
        font-size: clamp(1rem, 1.35vw, 1.25rem);
        line-height: 1.35;
        white-space: normal;
    }

    .menu {
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .menu__backdrop {
        position: fixed;
        /* inset: 0; */
        width: 100%;
        min-height: 165svh;
        height: 100svh;
    }

    .menu__backdrop,
    .menu__header,
    .menu__content {
        max-width: none;
    }

    .menu__header {
        padding-inline: clamp(2rem, 4.8vw, 5.5rem);
    }

    .menu__content {
        height: auto;
        min-height: 100%;
        gap: clamp(3rem, 5vw, 5rem);
        padding: clamp(14rem, 18vw, 18.375rem) clamp(2rem, 4.8vw, 5.5rem) clamp(3rem, 5vw, 5rem);
    }

    .menu__nav {
        width: min(31.0625rem, 40vw);
    }

    .menu__link {
        font-size: clamp(1.65rem, 2.45vw, 2rem);
        line-height: 1.22;
        white-space: normal;
    }

    .menu__form {
        width: min(46.4375rem, 52vw);
    }

    .menu__form-title,
    .modal__title {
        font-size: clamp(2rem, 3vw, 2.5rem);
        line-height: 1.08;
        letter-spacing: 0;
    }

    .modal__dialog {
        max-width: min(51.25rem, calc(100vw - 2.5rem));
        padding: clamp(3rem, 5vw, 3.75rem);
    }

    .legal-page__canvas {
        width: min(calc(100% - clamp(4rem, 9.6vw, 11rem)), 115rem);
        padding-bottom: clamp(5rem, 7vw, 8rem);
    }

    .legal-page__hero {
        width: min(100%, 70rem);
        padding-top: clamp(11rem, 15vw, 14.0625rem);
    }

    .legal-page__title {
        font-size: clamp(3.8rem, 6vw, 5.5rem);
        line-height: 1.04;
        letter-spacing: 0;
    }

    .legal-page__lead {
        font-size: clamp(1.15rem, 1.7vw, 1.5rem);
    }

    .legal-page__layout {
        grid-template-columns: minmax(18rem, 22rem) minmax(0, 1fr);
    }
}

@media (max-width: 1366px) {
    .hero__title {
        font-size: clamp(3rem, 4.35vw, 3.75rem);
    }

    .hero__subtitle {
        font-size: clamp(1.45rem, 2.15vw, 1.875rem);
    }

    .benefits {
        grid-template-columns: minmax(29rem, 0.95fr) minmax(25rem, 0.95fr);
    }

    .benefits__visual {
        width: min(40rem, 38vw);
    }

    .scenarios__media--marquee,
    .scenarios__media--photo-marquee {
        left: calc(50% + clamp(8rem, 11vw, 12rem));
        width: clamp(28rem, 34vw, 34rem);
    }

    .scenarios__media--brand {
        width: min(39rem, 40vw);
    }

    .configs__header {
        margin-bottom: clamp(4.5rem, 6vw, 6.25rem);
    }

    .contacts__headline {
        font-size: clamp(7rem, 9.8vw, 9.5rem);
    }
}

@media (max-width: 1280px) {

    .hero,
    .hero__bg {
        height: clamp(56.25vw, calc(43.3125vw + 15.515rem), 67.5vw);
    }

    .hero__cta-row {
        left: min(calc(56% + 0.5rem), calc(100% - 22rem));
    }

    .benefits,
    .configs,
    .content,
    .faq,
    .contacts {
        padding-inline: clamp(2rem, 4vw, 4.5rem);
    }

    .benefits {
        gap: clamp(2rem, 4vw, 4rem);
    }

    .benefits__visual {
        width: min(37rem, 36vw);
    }

    .scenarios {
        width: min(calc(100% - clamp(4rem, 8vw, 9rem)), 115rem);
    }

    .scenarios--ready .scenarios__stack,
    .scenarios__pin--stacking .scenarios__stack,
    .scenarios__card {
        height: clamp(42rem, 57vw, 48rem);
    }

    .scenarios__card-layout {
        padding: clamp(3.25rem, 5vw, 5rem);
    }

    .scenarios__card-pills {
        width: min(36rem, 43vw);
    }

    .scenarios__media--marquee,
    .scenarios__media--photo-marquee {
        top: -17rem;
        height: clamp(68rem, 80vw, 82rem);
    }

    .scenarios__gallery-item {
        height: clamp(18rem, 22vw, 22rem);
    }

    .scenarios__media--shots {
        top: 5rem;
        width: min(43rem, 44vw);
        height: clamp(30rem, 39vw, 35rem);
    }

    .configs__card.is-prev,
    .configs__card.is-next {
        opacity: 0.38;
    }

    .content {
        grid-template-columns: minmax(24rem, 0.72fr) minmax(0, 1fr);
        gap: clamp(1.5rem, 3vw, 3rem) clamp(2.5rem, 4vw, 4.5rem);
    }

    .content__visual {
        width: min(43rem, 44vw);
    }

    .contacts__body {
        flex-wrap: wrap;
    }

    .contacts__form-area {
        flex-basis: min(100%, 46rem);
    }

    .contacts__info {
        flex-basis: min(100%, 38rem);
    }
}

@media (max-width: 1200px) {
    .hero__header {
        width: min(calc(100% - clamp(2.5rem, 6vw, 7rem)), 115rem);
    }

    .hero__features {
        gap: 1rem;
    }

    .hero__feature-text {
        white-space: nowrap;
    }

    .benefits {
        grid-template-columns: minmax(27rem, 1fr) minmax(23rem, 0.85fr);
    }

    .benefits__visual {
        width: min(34rem, 34vw);
    }

    .scenarios__card-layout {
        padding: clamp(3rem, 4.6vw, 4.25rem);
    }

    .scenarios__card-pills {
        width: min(34rem, 41vw);
    }

    .configs__cta,
    .faq__cta {
        flex-shrink: 0;
    }

    .content__visual {
        width: min(40rem, 43vw);
    }

    .contacts__headline {
        top: -2.25rem;
    }

    .menu__contacts {
        flex-wrap: wrap;
        gap: 2rem;
    }
}

@media (max-width: 1024px) {
    .page__canvas>section[id] {
        scroll-margin-top: 5.75rem;
    }

    .hero__header {
        top: clamp(1rem, 2.6vw, 1.5rem);
        width: min(calc(100% - clamp(1.5rem, 5vw, 3rem)), 70rem);
        color: white;
    }

    .hero__socials {
        gap: 0.75rem;
    }

    .hero__social-icon {
        width: 2.25rem;
        height: 2.25rem;
    }

    .hero__menu {
        min-height: 2.75rem;
        padding: 0.1875rem 0 0.1875rem 0.625rem;
        gap: 0.5rem;
        flex-direction: row;
    }

    .hero__menu-chevron {
        height: 2rem;
    }

    .hero {
        width: clamp(100vw, calc(77vw + 27.58rem), 120vw);
        height: clamp(56.25vw, calc(43.3125vw + 15.515rem), 67.5vw);
        min-height: 0;
        overflow: hidden;
    }

    .hero__bg {
        width: 100%;
        min-height: 0;
        height: clamp(56.25vw, calc(43.3125vw + 15.515rem), 67.5vw);
        overflow: hidden;
    }

    .hero__bg {
        position: absolute;
    }

    .hero__bg-img {
        top: -8%;
        width: 150%;
        height: 126%;
        object-position: 48% 0%;
    }

    .hero__bg-fade {
        background:
            linear-gradient(180deg, rgba(4, 9, 28, 0.12) 0%, rgba(4, 9, 28, 0.5) 54%, #f2f3f6 100%),
            linear-gradient(90deg, rgba(12, 38, 116, 0.55) 0%, rgba(12, 38, 116, 0) 72%);
    }

    .hero__product {
        position: absolute;
        left: 50%;
        top: 14.166667%;
        z-index: 2;
        display: block;
        width: 72.65625%;
        min-height: 0;
        height: auto;
        margin: 0;
        padding: 0;
        aspect-ratio: 1395 / 811;
        pointer-events: auto;
        transform: translateX(-50%);
    }

    .hero__product::before {
        content: none;
    }

    .hero__title-block {
        position: absolute;
        left: 3.6%;
        top: 6.45%;
        z-index: 2;
        width: 48.5%;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: none;
    }

    .hero__title {
        font-size: clamp(2.1rem, 4.65vw, 4rem);
        line-height: 0.885;
        letter-spacing: clamp(0.01rem, 0.09vw, 0.12rem);
        text-shadow: 0 0.3rem 1.5rem rgba(0, 0, 0, 0.36);
    }

    .hero__subtitle {
        width: min(100%, 32.3125rem);
        margin-top: clamp(0.5rem, 1.4vw, 0.875rem);
        font-size: clamp(0.98rem, 2.08vw, 1.65rem);
        line-height: 1.12;
        text-shadow: 0 0.25rem 1.2rem rgba(0, 0, 0, 0.28);
    }

    .hero__cta-row {
        position: absolute;
        left: 58.5%;
        top: 7.65%;
        bottom: auto;
        z-index: 4;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: auto;
        gap: clamp(0.625rem, 1.4vw, 1.25rem);
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: none;
    }

    .hero__btn {
        width: auto;
        min-width: 0;
        min-height: clamp(3.25rem, 5.25vw, 4rem);
        padding: clamp(0.95rem, 1.85vw, 1.875rem) clamp(1rem, 2.25vw, 2rem);
        font-size: clamp(0.72rem, 1.28vw, 1rem);
    }

    .hero__response-note {
        width: min(9.5rem, 14vw);
        min-width: 0;
        color: rgba(255, 255, 255, 0.78);
        font-size: clamp(0.68rem, 1.18vw, 0.95rem);
        line-height: 1.18;
        text-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.28);
    }

    .hero__screenl {
        position: absolute;
        left: 3.6%;
        right: 3.62%;
        top: 74.67%;
        bottom: 15.31%;
        z-index: 1;
        width: auto;
        height: auto;
        aspect-ratio: 1288 / 77.2676;
        margin: 0;
        opacity: 0.42;
        overflow: hidden;
    }

    .hero__features {
        position: absolute;
        left: 3.6%;
        top: 87.6%;
        bottom: auto;
        z-index: 4;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: clamp(0.28rem, 0.95vw, 0.75rem);
        width: 92.8%;
        margin: 0;
        transform: none;
    }

    .hero__feature {
        flex: 0 1 auto;
        justify-content: flex-start;
        gap: clamp(0.16rem, 0.42vw, 0.3125rem);
        min-height: 0;
        min-width: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: none;
    }

    .hero__feature-text {
        color: rgba(214, 226, 255, 0.9);
        font-size: clamp(0.72rem, 1.16vw, 0.92rem);
        line-height: 1.04;
        white-space: nowrap;
        text-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.28);
    }

    .hero__feature-icon {
        width: clamp(0.72rem, 1.05vw, 0.95rem);
        height: clamp(1.05rem, 1.45vw, 1.32rem);
    }

    .hero__feature-arrow-svg {
        width: clamp(1.08rem, 1.62vw, 1.42rem);
        height: clamp(0.18rem, 0.28vw, 0.24rem);
    }

    .benefits,
    .configs,
    .content,
    .faq,
    .contacts {
        padding-inline: clamp(1.25rem, 4vw, 2.5rem);
    }

    .benefits {
        grid-template-columns: 1fr;
        width: min(100%, 70rem);
        margin-top: clamp(3.25rem, 6vw, 5rem);
        padding-inline: clamp(1.25rem, 4vw, 2.5rem);
    }

    .benefits__content {
        align-items: flex-start;
    }

    .benefits__title,
    .configs__title,
    .content__title,
    .faq__title,
    .trust__title {
        font-size: clamp(2.25rem, 6vw, 3.5rem);
    }

    .benefits__list {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: flex-start;
        width: min(100%, 54rem);
        gap: clamp(0.875rem, 2vw, 1.25rem);
    }

    .benefits__row,
    .benefits__row--split {
        display: contents;
    }

    .benefits__item {
        width: auto;
        max-width: 100%;
        flex: 0 1 auto;
        min-height: 4.25rem;
        border-radius: 1.75rem;
        background: rgba(255, 255, 255, 0.16);
        backdrop-filter: blur(1.125rem);
        -webkit-backdrop-filter: blur(1.125rem);
    }

    .benefits__badge {
        top: auto;
        left: clamp(1rem, 2vw, 1.25rem);
        bottom: calc(100% - 0.8125rem);
    }

    .benefits__item--reels .benefits__badge,
    .benefits__item--hd .benefits__badge {
        left: clamp(1rem, 2vw, 1.25rem);
    }

    .benefits__cta {
        align-self: flex-start;
    }

    .benefits__visual {
        justify-self: center;
        width: min(52vw, 28rem);
        margin-top: clamp(0.5rem, 2vw, 1rem);
    }

    .scenarios {
        width: min(calc(100% - clamp(2.5rem, 8vw, 5rem)), 70rem);
        margin-top: clamp(5.5rem, 9vw, 7.5rem);
    }

    .scenarios,
    .scenarios--pinning,
    .scenarios--pinning+.configs {
        z-index: 4;
    }

    .scenarios__pin {
        background: transparent;
        will-change: auto;
    }

    .scenarios__pin,
    .scenarios__stack,
    .scenarios--ready .scenarios__stack,
    .scenarios__pin--stacking .scenarios__stack {
        height: auto;
        overflow: visible;
    }

    .scenarios__label-wrap {
        height: auto;
        min-height: clamp(5rem, 8vw, 6rem);
        padding: clamp(1.25rem, 2.8vw, 1.75rem) clamp(1.5rem, 3.5vw, 2.25rem);
        border-radius: clamp(2rem, 4vw, 3rem);
    }

    .scenarios__label {
        font-size: clamp(2rem, 5.6vw, 3.25rem);
        line-height: 1.08;
        text-align: center;
        white-space: normal;
    }

    .scenarios__stack {
        gap: clamp(1rem, 2.4vw, 1.5rem);
    }

    .scenarios__card {
        height: auto;
        min-height: 0;
        border-radius: clamp(2rem, 4vw, 3rem);
        box-shadow: 0 1.5rem 4rem rgba(0, 12, 71, 0.12);
        will-change: auto;
    }

    .scenarios__card-layout {
        display: grid;
        grid-template-columns: minmax(0, 1.05fr) minmax(21rem, 0.95fr);
        gap: clamp(1.5rem, 3.5vw, 2.75rem);
        min-height: clamp(32rem, 56vw, 39rem);
        height: auto;
        padding: clamp(2rem, 4.5vw, 3rem);
    }

    .scenarios__card-copy {
        width: 100%;
        height: auto;
        gap: clamp(1.5rem, 3vw, 2.25rem);
    }

    .scenarios__card-heading {
        gap: clamp(1rem, 2.2vw, 1.5rem);
    }

    .scenarios__card-title,
    .scenarios__card-title--blue,
    .scenarios__card-title--wide {
        width: 100%;
        font-size: clamp(1.95rem, 4.5vw, 3rem);
        line-height: 1.08;
        white-space: normal;
    }

    .scenarios__card-pills {
        width: 100%;
        gap: 0.75rem;
    }

    .scenarios__card-pill {
        min-height: 3.5rem;
        border-radius: 2rem;
        background: rgba(255, 255, 255, 0.14);
        backdrop-filter: blur(1.125rem);
        -webkit-backdrop-filter: blur(1.125rem);
    }

    .scenarios__card-pill--gray {
        background:
            radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.2) 0%, transparent 45%),
            rgba(56, 64, 76, 0.9);
        color: white;
    }

    .scenarios__card-cta {
        width: fit-content;
        min-height: 4rem;
    }

    .scenarios__media,
    .scenarios__media--marquee,
    .scenarios__media--photo-marquee,
    .scenarios__media--brand,
    .scenarios__media--sport,
    .scenarios__media--shots {
        position: relative;
        inset: auto;
        width: 100%;
        height: clamp(19rem, 31vw, 25rem);
        overflow: hidden;
        border-radius: clamp(1.5rem, 3vw, 2.25rem);
        align-self: stretch;
    }

    .scenarios__gallery-col {
        width: calc((100% - 1rem) / 2);
        gap: 1rem;
    }

    .scenarios__gallery-col--left,
    .scenarios__gallery-col--photo-left {
        left: 0;
        top: -18%;
    }

    .scenarios__gallery-col--right,
    .scenarios__gallery-col--photo-right {
        left: calc(50% + 0.5rem);
        top: -4%;
    }

    .scenarios__gallery-marquee {
        gap: 1rem;
    }

    .scenarios__gallery-item {
        height: clamp(12rem, 20vw, 16rem);
        border-radius: clamp(1.25rem, 2.5vw, 1.75rem);
    }

    .scenarios__gallery-img,
    .scenarios__gallery-clip,
    .scenarios__gallery-clip-img {
        border-radius: inherit;
    }

    .scenarios__video-play {
        width: clamp(3.5rem, 8vw, 4.25rem);
        height: clamp(3.5rem, 8vw, 4.25rem);
    }

    .scenarios__video-play-svg {
        width: clamp(1.45rem, 3.5vw, 1.75rem);
        height: clamp(1.45rem, 3.5vw, 1.75rem);
    }

    .scenarios__brand-bg {
        object-fit: cover;
        object-position: 58% center;
    }

    .scenarios__brand-circle-wrap,
    .scenarios__brand-mask {
        top: 50%;
        width: 11rem;
        height: 22rem;
    }

    .scenarios__brand-circle-wrap {
        left: 8%;
        transform: translateY(-50%);
    }

    .scenarios__brand-circle {
        animation: none;
    }

    .scenarios__brand-mask {
        left: calc(8% + 10.9rem);
        transform: translateY(-50%) rotate(180deg) scaleY(-1);
    }

    .scenarios__card--dark .scenarios__brand-circle-wrap {
        left: auto;
        right: 0;
    }

    .scenarios__card--dark .scenarios__brand-mask {
        display: none;
    }

    .scenarios__media--sport {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1rem;
    }

    .scenarios__sport-clips {
        position: static;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
        align-content: center;
        justify-items: center;
        width: 100%;
        height: 100%;
    }

    .scenarios__sport-clip,
    .scenarios__sport-clip:nth-child(1),
    .scenarios__sport-clip:nth-child(2),
    .scenarios__sport-clip:nth-child(3),
    .scenarios__sport-clip:nth-child(4) {
        position: relative;
        right: auto;
        top: auto;
        width: min(10rem, 42vw);
        height: auto;
        aspect-ratio: 1;
        animation: none;
        box-shadow: 0 0.75rem 2rem rgba(0, 12, 71, 0.14);
    }

    .scenarios__media--shots {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.875rem;
        align-items: stretch;
    }

    .scenarios__shot {
        height: 100%;
        border-radius: clamp(1.25rem, 2.5vw, 1.75rem);
    }

    .scenarios__shot-img {
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        animation: none;
        transform: none;
    }

    .scenarios__card--photo {
        background-position: 45% center, center, center;
        background-size: cover;
    }

    .configs {
        width: min(100%, 70rem);
        margin-top: clamp(5.5rem, 9vw, 7.5rem);
    }

    .configs__header {
        align-items: flex-end;
        margin-bottom: clamp(2.5rem, 5vw, 4rem);
    }

    .configs__title-block {
        gap: 0.25rem;
    }

    .configs__slider {
        width: min(100%, 52rem);
        min-height: clamp(43rem, 72vw, 51rem);
        margin-inline: auto;
    }

    .configs__viewport,
    .configs__stage {
        height: clamp(43rem, 72vw, 51rem);
        overflow: hidden;
    }

    .configs__card,
    .configs__card.is-prev,
    .configs__card.is-next,
    .configs__card.is-hidden,
    .configs__card.is-current {
        left: 50%;
        top: 0;
        width: 100%;
        height: 100%;
        transform: translateX(-50%);
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0s linear 0.3s;
    }

    .configs__card.is-current {
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
        transition: opacity 0.3s ease, visibility 0s;
    }

    .configs__card-photo--inactive {
        opacity: 0;
        transition: opacity 0.05s linear;
    }

    .configs__card-photo--active {
        transition: opacity 0.3s ease;
    }

    .configs__card-button,
    .configs__card.is-current .configs__card-button {
        gap: clamp(1rem, 2.4vw, 1.5rem);
        padding: clamp(2rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2rem);
        border-radius: clamp(2rem, 4vw, 2.75rem);
    }

    .configs__card-header {
        width: min(100%, 21rem);
        height: auto;
        min-height: 4.25rem;
    }

    .configs__card-size {
        position: relative;
        min-height: 3.75rem;
        width: 100%;
        white-space: normal;
        text-align: center;
        line-height: 1.18;
    }

    .configs__card-badge {
        top: -0.875rem;
        left: 50%;
        transform: translateX(-50%);
    }

    .configs__card-media,
    .configs__card.is-current .configs__card-media {
        width: 100%;
        height: clamp(25rem, 45vw, 32rem);
        margin-bottom: 0;
        overflow: hidden;
    }

    .configs__card-button,
    .configs__card.is-current .configs__card-button {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .configs__card[data-slide="2"] .configs__card-photo--inactive,
    .configs__card[data-slide="3"] .configs__card-photo--inactive,
    .configs__card[data-slide="4"] .configs__card-photo--inactive,
    .configs__card[data-slide="5"] .configs__card-photo--inactive {
        --configs-photo-x: 0rem;
    }

    .configs__card-desc {
        width: min(100%, 31rem);
        font-size: clamp(1rem, 2vw, 1.25rem);
        line-height: 1.28;
    }

    .configs__arrows {
        top: auto;
        bottom: clamp(1rem, 2.4vw, 1.5rem);
        width: min(12rem, calc(100% - 2rem));
        transform: translateX(-50%);
    }

    .configs__arrow {
        width: 3.5rem;
        height: 3.5rem;
    }

    .configs__arrow-svg {
        stroke: #1a56db;
    }

    .content {
        display: grid;
        grid-template-columns: 1fr;
        width: min(100%, 70rem);
        gap: clamp(1.5rem, 4vw, 2.5rem);
        margin-top: clamp(5.5rem, 9vw, 7.5rem);
        padding-top: 0;
    }

    .content__bg {
        left: -54%;
        top: -29rem;
        width: 225%;
        height: 118rem;
    }

    .content__bg::after {
        content: "";
        position: absolute;
        left: 6%;
        right: 8%;
        bottom: 8%;
        height: 48%;
        background: linear-gradient(180deg, rgba(0, 88, 227, 0) 0%, rgba(0, 88, 227, 0.42) 52%, rgba(0, 56, 190, 0.58) 100%);
        filter: blur(3rem);
        pointer-events: none;
    }

    .content__bg-blur {
        width: 132rem;
        height: 99rem;
    }

    .content__badge {
        grid-column: 1;
        grid-row: 1;
    }

    .content__text {
        grid-column: 1;
        grid-row: 2;
        width: 100%;
        padding: clamp(1.5rem, 4vw, 2.25rem);
        border: 0.0625rem solid rgba(255, 255, 255, 0.22);
        border-radius: clamp(2rem, 4vw, 3rem);
        background: rgba(255, 255, 255, 0.12);
        backdrop-filter: blur(1.125rem);
        -webkit-backdrop-filter: blur(1.125rem);
        box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.16), 0 1.5rem 4rem rgba(0, 12, 71, 0.14);
    }

    .content__visual {
        grid-column: 1;
        grid-row: 3;
        width: min(78vw, 42rem);
        margin-top: clamp(3rem, 7vw, 5rem);
        margin-inline: auto;
        transform: translateX(-12.7%);
    }

    .content__screen-area {
        transform: scale(1.1);
        transform-origin: center center;
    }

    .content__cubes {
        transform: scale(1.1);
        transform-origin: 62.7% 47.5%;
    }

    .content__cubes {
        -webkit-clip-path: inset(1.164% 1.184% 6.138% 26.579%);
        clip-path: inset(1.164% 1.184% 6.138% 26.579%);
        contain: paint;
    }

    .content__screen-panel {
        left: -37.52%;
        top: -10.62%;
        width: 144.63%;
    }

    .content__pill {
        border-radius: 1.5rem;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        line-height: 1.16;
    }

    .content__ai-note {
        align-items: flex-start;
        border-radius: 1.5rem;
    }

    .faq {
        width: min(100%, 70rem);
    }

    .faq__header {
        flex-direction: column;
    }

    .faq__intro {
        max-width: 100%;
    }

    .faq__cta {
        margin-left: 0;
    }

    .faq__body {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .faq__column {
        gap: 1rem;
    }

    .faq__item {
        border-radius: 1.5rem;
    }

    .faq__item--open {
        border-radius: 2rem;
    }

    .faq__trigger {
        min-height: 2.75rem;
    }

    .faq__answer {
        width: 100%;
    }

    .trust {
        width: 100%;
        margin-top: clamp(4.5rem, 8vw, 6rem);
        padding-left: clamp(1.25rem, 4vw, 2.5rem);
    }

    .trust__header {
        padding-right: clamp(1.25rem, 4vw, 2.5rem);
    }

    .trust__title {
        white-space: normal;
    }

    .trust__control {
        width: 3.25rem;
        height: 3.25rem;
    }

    .trust__logo {
        width: clamp(7.75rem, 18vw, 9rem);
        height: clamp(7.75rem, 18vw, 9rem);
    }

    .contacts {
        width: min(100%, 70rem);
        margin-top: clamp(4.5rem, 8vw, 6rem);
        padding-top: clamp(5.5rem, 10vw, 7rem);
    }

    .contacts__bg {
        top: -12rem;
    }

    .contacts__headline {
        left: clamp(1.25rem, 4vw, 2.5rem);
        top: 0;
        font-size: clamp(4.75rem, 13vw, 8rem);
        line-height: 0.95;
    }

    .contacts__panel {
        border-radius: clamp(2rem, 4vw, 3rem) clamp(2rem, 4vw, 3rem) 0 0;
        background: rgba(242, 243, 246, 0.9);
        backdrop-filter: blur(1rem);
        -webkit-backdrop-filter: blur(1rem);
        border: 0.0625rem solid rgba(255, 255, 255, 0.78);
        box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.85), 0 1.5rem 4rem rgba(0, 12, 71, 0.08);
    }

    .contacts__head,
    .contacts__body,
    .contacts__fields,
    .contacts__contact-details,
    .contacts__nav {
        display: grid;
        grid-template-columns: 1fr;
        gap: clamp(1rem, 2.5vw, 1.5rem);
    }

    .contacts__messenger-options {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .menu__messenger-options,
    .modal__messenger-options {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .contacts__messenger-option {
        justify-content: flex-start;
        min-height: 3.5rem;
        padding-inline: 1rem;
    }

    .contacts__submit {
        align-self: flex-start;
    }

    .contacts__social-icon {
        width: 2.75rem;
        height: 2.75rem;
    }

    .menu__header {
        top: clamp(1.25rem, 3vw, 2rem);
        padding-inline: clamp(1.25rem, 4vw, 2.5rem);
    }

    .menu__logo {
        width: min(18.75rem, 50vw);
    }

    .menu__close {
        width: 3rem;
        height: 3rem;
    }

    .menu__content {
        display: grid;
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
        gap: clamp(2rem, 5vw, 4rem);
        padding: clamp(8rem, 14vw, 11rem) clamp(1.25rem, 4vw, 2.5rem) clamp(3rem, 6vw, 5rem);
    }

    .menu__nav,
    .menu__form {
        width: 100%;
    }

    .menu__links {
        gap: clamp(1.25rem, 3vw, 2rem);
    }

    .menu__contacts {
        display: grid;
        grid-template-columns: 1fr;
        margin-top: clamp(2rem, 5vw, 3rem);
    }

    .menu__form {
        padding: clamp(1.25rem, 3vw, 1.75rem);
        border: 0.0625rem solid rgba(255, 255, 255, 0.16);
        border-radius: clamp(2rem, 4vw, 2.5rem);
        background: rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(1.125rem);
        -webkit-backdrop-filter: blur(1.125rem);
    }

    .modal {
        align-items: flex-start;
        padding: clamp(1rem, 4vw, 2rem);
    }

    .modal__dialog {
        max-width: 45rem;
        max-height: none;
        padding: clamp(2rem, 5vw, 3rem);
    }

    .modal__fields {
        display: grid;
        grid-template-columns: 1fr;
    }

    .legal-page__bg {
        height: clamp(42rem, 66vw, 54rem);
    }

    .legal-page__bg-img {
        top: -8%;
        width: 150%;
        height: 128%;
        object-position: 50% 0%;
    }

    .legal-page__canvas {
        width: min(calc(100% - clamp(2.5rem, 8vw, 5rem)), 70rem);
        padding-top: clamp(1.5rem, 3vw, 2rem);
    }

    .legal-page__hero {
        padding-top: clamp(8rem, 14vw, 10rem);
    }

    .legal-page__title {
        font-size: clamp(3rem, 8vw, 5rem);
    }

    .legal-page__layout {
        grid-template-columns: 1fr;
        gap: clamp(1.5rem, 4vw, 2.5rem);
        margin-top: clamp(4rem, 8vw, 6rem);
    }

    .legal-page__aside {
        position: relative;
        top: auto;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.875rem;
        padding: clamp(1.25rem, 3vw, 1.75rem);
    }

    .legal-page__aside-link {
        grid-column: 1 / -1;
    }
}

@media (max-width: 992px) {
    .hero__title-block {
        width: 50%;
    }

    .hero__cta-row {
        left: 58.5%;
    }

    .scenarios__card-layout {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .scenarios__card-copy {
        order: 1;
    }

    .scenarios__media {
        order: 2;
    }

    .scenarios__card-heading {
        max-width: 48rem;
    }

    .content__visual {
        width: min(82vw, 40rem);
    }

    .contacts__messenger-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .menu__content {
        grid-template-columns: 1fr;
    }

    .menu__nav {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.75fr);
        gap: clamp(1.5rem, 4vw, 2.5rem);
        align-items: start;
    }

    .menu__contacts,
    .menu__socials-block {
        margin-top: 0;
    }
}

@media (max-width: 900px) {
    .hero__title {
        font-size: clamp(2.05rem, 5.15vw, 3.85rem);
    }

    .hero__subtitle {
        font-size: clamp(1rem, 2.35vw, 1.45rem);
    }

    .hero__features {
        max-width: none;
    }

    .benefits__title,
    .configs__title,
    .content__title,
    .faq__title,
    .trust__title,
    .contacts__form-title,
    .menu__form-title,
    .modal__title {
        font-size: clamp(2rem, 6.2vw, 3rem);
    }

    .scenarios__label {
        font-size: clamp(1.8rem, 5.8vw, 2.75rem);
    }

    .scenarios__card-title,
    .scenarios__card-title--blue,
    .scenarios__card-title--wide {
        font-size: clamp(1.75rem, 5.6vw, 2.75rem);
    }

    .configs__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .content__visual {
        width: min(84vw, 38rem);
    }

    .contacts__headline {
        font-size: clamp(4rem, 12vw, 6.75rem);
    }

    .legal-page__title {
        font-size: clamp(2.65rem, 8vw, 4.25rem);
    }

    .legal-page__lead {
        font-size: clamp(1.05rem, 2.5vw, 1.35rem);
    }

    .legal-page__content {
        padding: clamp(1.5rem, 4vw, 2.25rem);
    }
}

@media (max-width: 768px) {

    .hero {
        --hero-mobile-panel-gutter: clamp(1rem, 3.5vw, 1.5rem);
        --hero-mobile-panel-top: clamp(4.5rem, 12svh, 6.25rem);
        --hero-mobile-panel-height: min(clamp(36rem, 175vw, 54rem), calc(100svh - 6rem));
    }

    .hero__screen-anim,
    .hero__screen-chrome {
        display: block;
        transform: none;
    }

    .hero__screen-anim {
        z-index: 1;
    }

    .hero__screen-chrome {
        z-index: 3;
        left: var(--hero-mobile-panel-gutter) !important;
        top: var(--hero-mobile-panel-top) !important;
        width: calc(100% - var(--hero-mobile-panel-gutter) - var(--hero-mobile-panel-gutter)) !important;
        height: var(--hero-mobile-panel-height) !important;
    }

    .hero__screen-anim>.screen-group {
        left: calc(var(--hero-mobile-panel-gutter) + 3px) !important;
        top: var(--hero-mobile-panel-top) !important;
        width: calc(100% - var(--hero-mobile-panel-gutter) - var(--hero-mobile-panel-gutter) - 6px) !important;
        height: var(--hero-mobile-panel-height) !important;
        overflow: hidden;
        border: 0.125rem solid #29292b;
        border-radius: 0.125rem;
        background-color: #040917;
        background-image: url("assets/hero/screen-panel.png");
        background-image: image-set(url("assets/hero/screen-panel.webp") type("image/webp"), url("assets/hero/screen-panel.png") type("image/png"));
        background-position: 50% 50%;
        background-size: 100% 100%;
        background-repeat: no-repeat;
        box-shadow:
            -0.8125rem 0 1.75rem rgba(0, 18, 61, 0.14),
            -3.1875rem 0 3.1875rem rgba(0, 18, 61, 0.12),
            -7.125rem 0 4.3125rem rgba(0, 18, 61, 0.07),
            -12.6875rem 0 5.0625rem rgba(0, 18, 61, 0.02);
        box-sizing: border-box;
    }

    .hero .panel-mask:not([data-panel="1"]):not([data-panel="2"]),
    .hero .bezel:not([data-bezel="0"]):not([data-bezel="5"]),
    .hero .shadow-group:not([data-shadow="0"]):not([data-shadow="1"]) {
        display: none;
    }

    .hero .panels {
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        height: 100% !important;
        outline: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .hero .panel-mask[data-panel="1"],
    .hero .panel-mask[data-panel="2"] {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .hero .panel-mask[data-panel="1"] {
        left: 0 !important;
        width: calc(50% + 1px) !important;
    }

    .hero .panel-mask[data-panel="2"] {
        left: calc(50% - 1px) !important;
        width: calc(50% + 1px) !important;
    }

    .hero .panel-mask[data-panel="1"] .panel-mask__img,
    .hero .panel-mask[data-panel="2"] .panel-mask__img {
        display: none !important;
    }

    .hero .shadow-group[data-shadow="0"],
    .hero .shadow-group[data-shadow="1"] {
        width: 50% !important;
        transform: none !important;
    }

    .hero .bezel[data-bezel="0"] {
        left: 0 !important;
        width: calc(50% - 1px) !important;
        transform: none !important;
    }

    .hero .bezel[data-bezel="5"] {
        left: calc(50% + 1px) !important;
        width: calc(50% - 1px) !important;
        transform: none !important;
    }

    .hero .shadows {
        left: 0 !important;
        width: 100% !important;
    }

    .hero .shadow-group[data-shadow="0"] {
        left: 0 !important;
    }

    .hero .shadow-group[data-shadow="1"] {
        left: 50% !important;
    }

    .hero .shadow-group[data-shadow="0"] .shadow-group__svg,
    .hero .shadow-group[data-shadow="1"] .shadow-group__svg {
        width: 200% !important;
    }

    .hero .shadow-group[data-shadow="0"] .shadow-group__svg {
        left: 0 !important;
    }

    .hero .shadow-group[data-shadow="1"] .shadow-group__svg {
        left: -100% !important;
    }

    /* Use the actual side-right bezel on mobile so the stand corner is correct,
       and lighten the heavy drop shadows under the screen. */
    .hero .bezel__svg {
        filter: drop-shadow(0 0.375rem 0.625rem rgba(0, 0, 0, 0.3)) !important;
    }

    .hero .shadow-group[data-shadow="0"] .shadow-group__svg,
    .hero .shadow-group[data-shadow="1"] .shadow-group__svg {
        opacity: 0.55;
    }

    .hero__screen-anim>.screen-group {
        box-shadow:
            -0.5rem 0 1rem rgba(0, 18, 61, 0.12),
            -2rem 0 2rem rgba(0, 18, 61, 0.06);
    }

    .hero,
    .hero__bg {
        width: 100%;
        min-height: 100svh;
        height: 100svh;
        overflow: visible;
    }

    .hero {
        padding-top: clamp(4.5rem, 12svh, 6.25rem);
        padding-bottom: 0;
    }

    .hero__bg {
        height: 100svh;
    }

    .hero__features {
        display: none !important;
    }

    .hero__header {
        top: clamp(1rem, 3.2vw, 1.35rem);
        width: calc(100% - 1rem);
        padding: 0 0.25rem;
    }

    .hero__header .hero__social-icon,
    .hero__header .hero__menu {
        color: inherit;
    }

    .hero__header .hero__social-icon-svg path,
    .hero__header .hero__menu-chevron-svg path {
        fill: currentColor !important;
    }

    .hero__socials {
        gap: clamp(1rem, 4vw, 1.75rem);
    }

    .hero__social-icon {
        width: clamp(2.25rem, 6.8vw, 2.625rem);
        height: clamp(2.25rem, 6.8vw, 2.625rem);
    }

    .hero__menu {
        flex-direction: row;
        min-height: 2.75rem;
        gap: clamp(0.65rem, 2.4vw, 0.95rem);
        padding: 0;
    }

    .hero__menu-chevron {
        width: clamp(1.35rem, 4vw, 1.75rem);
        height: clamp(1.85rem, 6vw, 2.45rem);
    }

    .hero__menu-text {
        font-size: clamp(1.2rem, 4.3vw, 1.65rem);
        line-height: 1;
    }

    .hero__menu {
        position: relative;
    }

    .hero__header--scrolled {
        color: #fff;
    }

    .hero__social-icon::before,
    .hero__menu::before {
        content: '';
        position: absolute;
        z-index: -1;
        background:
            radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.3) 0%, transparent 45%),
            rgba(26, 86, 219, 0.55);
        backdrop-filter: blur(0.625rem) saturate(180%);
        -webkit-backdrop-filter: blur(0.625rem) saturate(180%);
        border: 1px solid rgba(255, 255, 255, 0.22);
        box-shadow:
            0 0.25rem 1rem rgba(26, 86, 219, 0.35),
            inset 0 0.0625rem 0 rgba(255, 255, 255, 0.2);
        pointer-events: none;
    }

    .hero__social-icon::before {
        inset: -0.25rem;
        border-radius: 50%;
    }

    .hero__menu::before {
        inset: -0.375rem -0.5rem;
        border-radius: 9999px;
    }

    .hero__bg-img {
        top: -6%;
        width: 188%;
        height: 112%;
        object-fit: cover;
        object-position: 52% 0%;
    }

    .hero__bg-fade {
        background:
            linear-gradient(180deg, rgba(20, 65, 176, 0.02) 0%, rgba(25, 84, 221, 0) 58%, rgba(242, 243, 246, 0.84) 88%, #f2f3f6 100%),
            radial-gradient(circle at 92% 47%, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.4) 18%, rgba(255, 255, 255, 0) 39%);
    }

    .hero__product {
        position: relative;
        left: auto;
        top: auto;
        display: block;
        width: calc(100% - clamp(2rem, 7vw, 3rem));
        height: var(--hero-mobile-panel-height);
        min-height: 0;
        margin: 0 auto;
        padding: 0;
        aspect-ratio: auto;
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        transform: none;
    }

    .hero__product::before {
        content: none;
    }

    .hero__product::after {
        content: none;
    }

    .hero__title-block {
        position: absolute;
        left: clamp(2rem, 6vw, 3.75rem);
        top: clamp(7.25rem, 18vw, 9.25rem);
        z-index: 2;
        width: min(90%, 41rem);
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: none;
    }

    .hero__title {
        font-size: clamp(2.45rem, 8.9vw, 4.25rem);
        line-height: 0.98;
        letter-spacing: 0.015em;
        text-shadow: 0 0.35rem 1.75rem rgba(0, 0, 0, 0.42);
    }

    .hero__subtitle {
        width: min(100%, 34rem);
        margin-top: clamp(1rem, 3.2vw, 1.45rem);
        background-image: none;
        color: rgba(216, 225, 255, 0.78);
        font-size: clamp(1.25rem, 4.65vw, 1.95rem);
        line-height: 1.24;
        text-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.28);
    }

    .hero__cta-row {
        position: absolute;
        left: clamp(2rem, 6vw, 3.75rem);
        right: clamp(2rem, 6vw, 3.75rem);
        top: auto;
        bottom: clamp(8rem, 14vw, 9rem);
        z-index: 4;
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(8.6rem, 0.9fr);
        align-items: center;
        justify-content: stretch;
        gap: clamp(0.65rem, 2.8vw, 1.25rem);
        width: auto;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: none;
    }

    .hero__btn,
    .benefits__cta,
    .scenarios__card-cta,
    .configs__cta,
    .faq__cta,
    .contacts__submit,
    .menu__submit,
    .modal__submit {
        width: 100%;
        min-height: 4.35rem;
        padding: 1.35rem 1.5rem;
        text-align: center;
        white-space: normal;
    }

    .hero__btn {
        width: 100%;
        min-width: 0;
        min-height: clamp(4.35rem, 10vw, 5.5rem);
        padding: clamp(0.95rem, 2.7vw, 1.25rem) clamp(0.95rem, 3.4vw, 1.5rem);
        border-radius: 999rem;
        background: rgba(255, 255, 255, 0.94);
        color: #184cdb;
        font-size: clamp(0.94rem, 3vw, 1.26rem);
        line-height: 1.1;
        box-shadow: 0 0.8rem 2.2rem rgba(0, 19, 74, 0.18), inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.8);
    }

    .hero__response-note {
        width: auto;
        min-width: min(10.5rem, 43vw);
        max-width: 13.5rem;
        color: rgba(255, 255, 255, 0.82);
        font-size: clamp(0.95rem, 3vw, 1.25rem);
        line-height: 1.22;
        text-align: left;
        text-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.28);
    }

    .hero__screenl {
        position: absolute;
        top: auto;
        left: clamp(1.25rem, 5vw, 2rem);
        right: clamp(1.25rem, 5vw, 2rem);
        bottom: clamp(4.5rem, 9vw, 5.5rem);
        z-index: 2;
        width: auto;
        height: auto;
        aspect-ratio: 1288 / 77.2676;
        margin: 0;
        opacity: 0.68;
        filter: drop-shadow(0 0 1.35rem rgba(26, 86, 219, 0.28));
    }

    .hero__screenl-svg {
        height: auto;
    }

    .benefits,
    .configs,
    .content,
    .faq,
    .contacts {
        padding-inline: 1rem;
    }

    .hero__features {
        position: absolute;
        left: 50%;
        top: calc(100% + 3.5rem);
        bottom: auto;
        z-index: 3;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        gap: clamp(0.5rem, 2vw, 0.875rem) clamp(1rem, 4vw, 2rem);
        width: min(calc(100vw - clamp(2rem, 7vw, 3rem)), 35rem);
        margin: 0;
        transform: translateX(-50%);
    }

    .hero__feature {
        justify-content: flex-start;
        align-self: stretch;
        min-height: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: none;
    }

    .hero__feature-icon {
        display: flex;
        width: 0.85rem;
        height: 1.25rem;
    }

    .hero__feature-arrow-svg {
        width: 1.25rem;
        height: 0.22rem;
    }

    .hero__feature-arrow-svg path {
        fill: #1a56db;
    }

    .hero__feature-text {
        color: #1a56db;
        font-size: clamp(1.05rem, 3.35vw, 1.32rem);
        line-height: 1.18;
        white-space: normal;
        text-shadow: none;
    }

    .benefits {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: clamp(1.55rem, 4.5vw, 2.2rem);
        width: 100%;
        min-height: clamp(44rem, 124vw, 62rem);
        margin-top: 0;
        padding: clamp(2.75rem, 8vw, 4rem) clamp(1.5rem, 5vw, 2rem) clamp(1.75rem, 5vw, 2.5rem);
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        box-shadow: none;
    }

    .benefits__bg {
        position: absolute;
        display: block;
        inset: 0;
        z-index: 0;
        width: auto;
        height: auto;
        background-color: #0058e3;
        mix-blend-mode: normal;
        opacity: 1;
        filter: none;
        transform: none;
        pointer-events: none;
    }

    .benefits__bg-img {
        position: absolute;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: center;
        opacity: 1;
    }

    .benefits__bg-img--primary {
        display: none;
    }

    .benefits__bg-img--secondary {
        display: block;
    }

    .benefits__bg::after {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 1;
        background: linear-gradient(to bottom,
            #f2f3f6 0%,
            rgba(242, 243, 246, 0) 15%,
            rgba(242, 243, 246, 0) 85%,
            #f2f3f6 100%);
        pointer-events: none;
    }

    .benefits__content {
        display: contents;
    }

    .benefits__title {
        position: relative;
        z-index: 2;
        order: 1;
        width: min(100%, 29rem);
        color: #ffffff;
        font-size: clamp(2.05rem, 8vw, 3rem);
        line-height: 1.08;
        letter-spacing: 0.005em;
        text-shadow: 0 0.45rem 1.5rem rgba(0, 20, 80, 0.28);
    }

    .benefits__list {
        position: relative;
        z-index: 2;
        order: 2;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        width: 100%;
        gap: clamp(0.75rem, 2.3vw, 1.05rem);
        height: auto;
        color: #ffffff;
    }

    .benefits__row,
    .benefits__row--tight,
    .benefits__row--split {
        display: contents;
        margin-top: 0;
    }

    .benefits__row--split>.benefits__item {
        grid-column: auto;
        min-width: 0;
        width: 100%;
        align-self: stretch;
    }

    .benefits__row:not(.benefits__row--split)>.benefits__item {
        grid-column: 1 / -1;
    }

    .benefits__row:nth-child(n+4) {
        display: contents;
    }

    /* Wider first pill for the "seamless join" row; both pills in the row keep
       the same height via the nested grid. */
    .benefits__row.benefits__row--wide-left {
        display: grid;
        grid-template-columns: 2fr 1fr;
        grid-column: 1 / -1;
        gap: clamp(0.75rem, 2.3vw, 1.05rem);
    }

    .benefits__row--wide-left>.benefits__item {
        grid-column: auto;
        width: 100%;
        align-self: stretch;
    }

    .benefits__item,
    .scenarios__card-pill,
    .content__pill {
        min-height: 3.75rem;
        border-radius: 1.75rem;
        font-size: clamp(0.95rem, 3.2vw, 1.125rem);
    }

    .benefits__item {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 100%;
        min-height: 3.85rem;
        padding: 0.95rem 1.25rem;
        border: 0.0625rem solid rgba(255, 255, 255, 0.34);
        border-radius: 6.25rem;
        background: rgba(255, 255, 255, 0.19);
        backdrop-filter: blur(1.15rem);
        -webkit-backdrop-filter: blur(1.15rem);
        box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.28), 0 0.65rem 1.7rem rgba(0, 12, 71, 0.18);
        color: #ffffff;
        font-size: clamp(1rem, 3.55vw, 1.22rem);
        line-height: 1.2;
        white-space: normal;
        text-align: center;
    }

    .benefits__badge,
    .benefits__item--reels .benefits__badge,
    .benefits__item--hd .benefits__badge {
        position: absolute;
        top: -0.8rem;
        left: 50%;
        transform: translateX(-50%);
        bottom: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0.25rem 0.9rem;
        border-radius: 6.25rem;
        background: rgba(255, 255, 255, 0.9);
        color: #1a56db;
        font-size: clamp(0.68rem, 2.4vw, 0.78rem);
        line-height: 1.15;
        box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.68), 0 0.35rem 1rem rgba(0, 12, 71, 0.12);
    }

    .benefits__item--reels,
    .benefits__item--hd {
        margin-top: 0.65rem;
    }

    .benefits__row--split>.benefits__item--reels,
    .benefits__row--split>.benefits__item--hd {
        margin-top: 0;
    }

    .benefits__item-text {
        display: block;
        width: 100%;
        text-align: center;
    }

    .benefits__visual {
        position: relative;
        z-index: 2;
        order: 3;
        justify-self: center;
        width: min(78vw, 31rem);
        height: auto;
        margin: clamp(0.5rem, 2vw, 1rem) auto clamp(0.2rem, 1vw, 0.5rem);
        aspect-ratio: 956 / 1024;
        grid-row: auto;
    }

    .benefits__product {
        position: relative;
        inset: auto;
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .benefits__cta,
    .configs__cta,
    .faq__cta,
    .contacts__submit {
        align-self: stretch;
    }

    .benefits__cta {
        position: relative;
        z-index: 2;
        order: 4;
        width: 100%;
        min-height: clamp(4.2rem, 12vw, 5rem);
        margin-top: 0;
        border-radius: 999rem;
        background: #ffffff;
        color: #184cdb;
        filter: none;
        box-shadow: 0 1rem 2.25rem rgba(0, 12, 71, 0.18), inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.82);
        font-size: clamp(0.92rem, 3.3vw, 1.1rem);
    }

    .scenarios {
        width: calc(100% - 2rem);
    }

    .scenarios__label-wrap,
    .scenarios__card {
        border-radius: 1.75rem;
    }

    .scenarios__card-layout {
        padding: 1.25rem;
    }

    .scenarios__media,
    .scenarios__media--marquee,
    .scenarios__media--photo-marquee,
    .scenarios__media--brand,
    .scenarios__media--sport,
    .scenarios__media--shots {
        height: clamp(17rem, 47vw, 22rem);
    }

    .scenarios__gallery-item {
        height: clamp(10.5rem, 30vw, 23rem);
    }

    .configs__slider {
        min-height: clamp(42rem, 91vw, 48rem);
    }

    .configs__viewport,
    .configs__stage {
        height: clamp(42rem, 91vw, 48rem);
    }

    .configs__card-button,
    .configs__card.is-current .configs__card-button {
        padding: 1.75rem 1rem;
    }

    .configs__card-media,
    .configs__card.is-current .configs__card-media {
        height: clamp(23rem, 55vw, 29rem);
    }

    .configs__card-desc {
        font-size: clamp(0.95rem, 3.1vw, 1.125rem);
    }

    .content__text {
        padding: 1.25rem;
        border-radius: 1.75rem;
    }

    .content__visual {
        width: min(92vw, 34rem);
    }

    .content__screen-area,
    .content__cubes {
        transform: scale(1.12);
    }

    .content__interactive-title {
        font-size: clamp(1.3rem, 4.5vw, 1.75rem);
    }

    .content__ai-note {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 1rem;
    }

    .faq__item {
        padding: 1rem;
    }

    .faq__trigger {
        gap: 1rem;
    }

    .faq__icon {
        width: 2.75rem;
        height: 2.75rem;
    }

    .trust__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .trust__controls {
        align-self: flex-end;
    }

    .contacts {
        padding-inline: 0.75rem;
    }

    .contacts__headline {
        left: 1rem;
    }

    .contacts__panel {
        padding: 1.25rem;
        border-radius: 1.75rem 1.75rem 0 0;
    }

    .contacts__messenger-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contacts__field,
    .contacts__messenger-option,
    .menu__field,
    .menu__chip,
    .modal__field,
    .modal__messenger-option {
        min-height: 3.75rem;
    }

    .menu__header {
        padding-inline: 1rem;
    }

    .menu__content {
        padding: 7rem 1rem 3rem;
    }

    .menu__nav {
        grid-template-columns: 1fr;
    }

    .menu__contacts {
        gap: 1.25rem;
    }

    .menu__fields {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .menu__messenger-options,
    .modal__messenger-options {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
    }

    .menu__chip,
    .modal__messenger-option {
        justify-content: flex-start;
    }

    .modal {
        padding: 0;
    }

    .video-modal {
        padding: 1rem;
    }

    .video-modal__dialog {
        width: 100%;
        max-height: calc(100svh - 5rem);
    }

    .video-modal__close {
        right: 0;
        bottom: calc(100% + 0.75rem);
        width: 2.75rem;
        height: 2.75rem;
    }

    .modal__dialog {
        min-height: 100svh;
        max-width: none;
        border-radius: 0;
        padding: 5.25rem 1rem 2rem;
    }

    .modal__close {
        top: 1rem;
        right: 1rem;
        width: 3rem;
        height: 3rem;
    }

    .modal__head {
        padding-right: 0;
    }

    .legal-page__canvas {
        width: calc(100% - 2rem);
    }

    .legal-page__hero {
        padding-top: 7.5rem;
    }

    .legal-page__aside {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 641px) and (max-width: 768px) {
    .hero__product::before {
        background:
            linear-gradient(90deg, rgba(2, 8, 26, 0.08) 0%, rgba(2, 8, 26, 0) 18%, rgba(2, 8, 26, 0) 82%, rgba(2, 8, 26, 0.08) 100%),
            linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 31, 111, 0) 38%, rgba(50, 130, 255, 0.26) 72%, rgba(96, 166, 255, 0.32) 100%),
            radial-gradient(circle at 52% 76%, rgba(64, 143, 255, 0.34) 0%, rgba(64, 143, 255, 0) 42%);
    }
}

@media (max-width: 640px) {
    .hero__cta-row {
        bottom: clamp(7.5rem, 13vw, 8.5rem);
    }

    .hero__screenl {
        bottom: clamp(4.25rem, 8.5vw, 5.25rem);
    }

    .hero__features {
        top: calc(100% + 3.5rem);
    }

    .hero__social-icon {
        width: clamp(2.35rem, 6.8vw, 3.3rem);
        height: clamp(2.35rem, 6.8vw, 3.3rem);
    }

    .hero__menu-chevron {
        width: clamp(1.35rem, 4vw, 1.9rem);
        height: clamp(1.9rem, 6vw, 2.7rem);
    }

    .hero__menu-text {
        font-size: clamp(1.2rem, 4.2vw, 2rem);
    }

    .hero__title {
        font-size: clamp(2.45rem, 11.5vw, 3.65rem);
    }

    .benefits__visual {
        width: min(82vw, 31rem);
    }

    .scenarios__card-heading {
        gap: 1rem;
    }

    .scenarios__media,
    .scenarios__media--marquee,
    .scenarios__media--photo-marquee,
    .scenarios__media--brand,
    .scenarios__media--sport,
    .scenarios__media--shots {
        height: clamp(15.5rem, 54vw, 19rem);
    }

    .configs__card-badge {
        font-size: 0.75rem;
    }

    .content__interactive,
    .content__ai-note {
        gap: 1rem;
    }

    .contacts__head {
        gap: 0.75rem;
    }

    .legal-page__section h2 {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 576px) {
    .hero {
        --hero-mobile-panel-gutter: clamp(1.25rem, 4vw, 1.875rem);
    }

    .hero__product {
        width: calc(100% - clamp(2.5rem, 8vw, 3.75rem));
        padding-bottom: 0;
    }

    .hero__btn,
    .benefits__cta,
    .scenarios__card-cta,
    .configs__cta,
    .faq__cta,
    .contacts__submit,
    .menu__submit,
    .modal__submit {
        min-height: 4.25rem;
        font-size: 0.9rem;
    }

    .hero__btn {
        min-height: clamp(4rem, 10.5vw, 4.75rem);
        font-size: clamp(0.9rem, 3.25vw, 1.12rem);
    }

    .hero__features {
        gap: 0.625rem clamp(0.9rem, 3.6vw, 1.5rem);
    }

    .configs,
    .content,
    .faq {
        padding-inline: 0.75rem;
    }

    .benefits {
        width: 100%;
        min-height: clamp(46rem, 132vw, 60rem);
        padding: clamp(2.5rem, 8vw, 3.4rem) clamp(1.5rem, 5vw, 1.75rem) clamp(1.75rem, 5vw, 2.25rem);
    }

    .benefits__title {
        font-size: clamp(2.05rem, 8.2vw, 2.5rem);
    }

    .benefits__visual {
        width: min(83vw, 30rem);
    }

    .benefits__cta {
        min-height: 5rem;
    }

    .benefits__item {
        font-size: clamp(1.05rem, 3.75vw, 1.22rem);
    }

    .benefits__cta {
        font-size: clamp(0.95rem, 3.35vw, 1.12rem);
    }

    .scenarios {
        width: calc(100% - 1.5rem);
    }

    .scenarios__label-wrap,
    .scenarios__card,
    .scenarios__media {
        border-radius: 1.5rem;
    }

    .scenarios__card-title,
    .scenarios__card-title--blue,
    .scenarios__card-title--wide {
        font-size: clamp(1.55rem, 6.3vw, 2.25rem);
    }

    .configs__slider {
        min-height: 45.5rem;
    }

    .configs__viewport,
    .configs__stage {
        height: 45.5rem;
    }

    .configs__card-media,
    .configs__card.is-current .configs__card-media {
        height: 26rem;
    }

    .content__visual {
        width: min(92vw, 32rem);
    }

    .content__screen-area,
    .content__cubes {
        transform: scale(1.12);
    }

    .contacts__headline {
        font-size: clamp(3.35rem, 12vw, 4.75rem);
        top: -1rem;
    }

    .legal-page__bg {
        height: 45rem;
    }
}

@media (max-width: 480px) {
    .hero__social-icon {
        width: 2.55rem;
        height: 2.55rem;
    }

    .hero__menu-text {
        font-size: 1.55rem;
    }

    .hero__title {
        font-size: clamp(2.1rem, 11.4vw, 3rem);
    }

    .hero__subtitle {
        font-size: clamp(1.05rem, 5vw, 1.45rem);
    }

    .hero__feature-text,
    .hero__response-note,
    .scenarios__card-pill,
    .content__pill,
    .content__lead,
    .content__ai-text,
    .faq__subtitle,
    .faq__trigger,
    .faq__answer,
    .contacts__form-sub {
        font-size: 0.95rem;
    }

    .benefits__item {
        font-size: clamp(0.98rem, 4vw, 1.08rem);
    }

    .benefits__badge,
    .configs__card-badge {
        font-size: 0.7rem;
    }

    .scenarios__card-layout {
        padding: 1rem;
    }

    .scenarios__media,
    .scenarios__media--marquee,
    .scenarios__media--photo-marquee,
    .scenarios__media--brand,
    .scenarios__media--sport,
    .scenarios__media--shots {
        height: 14.5rem;
    }

    .scenarios__sport-clip,
    .scenarios__sport-clip:nth-child(1),
    .scenarios__sport-clip:nth-child(2),
    .scenarios__sport-clip:nth-child(3),
    .scenarios__sport-clip:nth-child(4) {
        width: min(7.5rem, 40vw);
    }

    .configs__slider {
        min-height: 44rem;
    }

    .configs__viewport,
    .configs__stage {
        height: 44rem;
    }

    .configs__card-media,
    .configs__card.is-current .configs__card-media {
        height: 24.5rem;
    }

    .content__visual {
        width: min(92vw, 29rem);
    }

    .content__screen-area,
    .content__cubes {
        transform: scale(1.14);
    }

    .contacts__panel {
        padding: 1rem;
        margin-top: 1rem;
    }

    .modal__title,
    .contacts__form-title,
    .menu__form-title {
        font-size: clamp(1.65rem, 7vw, 2.25rem);
    }

    .legal-page__title {
        font-size: clamp(2.15rem, 9.5vw, 3.25rem);
        line-height: 1.02;
    }

    .legal-page__lead {
        font-size: 1rem;
    }
}

@media (max-width: 420px) {
    .hero__header {
        top: 0.875rem;
        width: calc(100% - 1rem);
    }

    .hero__title-block,
    .content__text,
    .menu__form {
        padding: 1rem;
    }

    .hero__title-block {
        padding: 0;
    }

    .hero__title {
        font-size: clamp(2.05rem, 12.2vw, 0.9rem);
    }

    .hero__screenl {
        bottom: clamp(4.5rem, 9vw, 5.5rem);
        margin-top: 0;
    }

    .hero__cta-row {
        bottom: clamp(7.5rem, 12vw, 8rem);
    }

    .hero__btn {
        width: 100%;
        min-height: clamp(3.85rem, 10vw, 4.45rem);
    }

    .hero__response-note {
        width: auto;
        min-width: min(10rem, 44vw);
    }

    .benefits {
        width: 100%;
        min-height: clamp(44rem, 140vw, 58rem);
        padding: 2.25rem 1.25rem 1.5rem;
    }

    .benefits__title {
        font-size: clamp(1.7rem, 7.5vw, 2rem);
        overflow-wrap: break-word;
    }

    .benefits__visual {
        width: min(86vw, 27rem);
    }

    .scenarios,
    .configs {
        margin-top: 4.75rem;
    }

    .scenarios__label {
        font-size: clamp(1.45rem, 6.8vw, 2rem);
    }

    .scenarios__card-layout {
        gap: 1rem;
    }

    .scenarios__card-pill,
    .content__pill {
        padding: 0.875rem 1rem;
    }

    .configs__card-button,
    .configs__card.is-current .configs__card-button {
        padding: 1.5rem 0.875rem;
    }

    .configs__card-size,
    .configs__card-desc {
        font-size: 0.9rem;
    }

    .menu__header,
    .menu__content,
    .modal__dialog {
        padding-inline: 0.875rem;
    }

    .modal__close {
        right: 0.875rem;
    }

    .legal-page__canvas {
        width: calc(100% - 1.25rem);
    }
}

@media (max-width: 360px) {
    .hero {
        --hero-mobile-panel-gutter: 0.625rem;
    }

    .hero__socials {
        gap: 0.55rem;
    }

    .hero__social-icon {
        width: 2rem;
        height: 2rem;
    }

    .hero__menu-chevron {
        width: 1.2rem;
        height: 1.7rem;
    }

    .hero__menu-text {
        font-size: 1.1rem;
    }

    .hero__title {
        font-size: clamp(1.9rem, 12.5vw, 1.55rem);
    }

    .hero__subtitle {
        font-size: 1rem;
    }

    .hero__product {
        width: calc(100% - 1.25rem);
    }

    .hero__features {
        width: calc(100vw - 1.25rem);
        column-gap: 0.65rem;
    }

    .hero__feature-text {
        font-size: 0.86rem;
    }

    .benefits {
        width: 100%;
    }

    .benefits__title,
    .configs__title,
    .content__title,
    .faq__title,
    .trust__title,
    .contacts__form-title,
    .menu__form-title,
    .modal__title {
        font-size: clamp(1.55rem, 8vw, 2rem);
    }

    .scenarios__card-title,
    .scenarios__card-title--blue,
    .scenarios__card-title--wide {
        font-size: clamp(1.35rem, 7.2vw, 1.85rem);
    }

    .scenarios__media,
    .scenarios__media--marquee,
    .scenarios__media--photo-marquee,
    .scenarios__media--brand,
    .scenarios__media--sport,
    .scenarios__media--shots {
        height: 13rem;
    }

    .configs__slider {
        min-height: 42.5rem;
    }

    .configs__viewport,
    .configs__stage {
        height: 42.5rem;
    }

    .configs__card-media,
    .configs__card.is-current .configs__card-media {
        height: 23rem;
    }

    .content__visual {
        width: min(92vw, 26rem);
    }

    .content__screen-area,
    .content__cubes {
        transform: scale(1.14);
    }

    .contacts__headline {
        font-size: 3rem;
    }
}

@media (max-width: 320px) {

    .scenarios,
    .legal-page__canvas {
        width: calc(100% - 0.75rem);
    }

    .hero__product {
        width: calc(100% - 1.25rem);
    }

    .hero__header {
        width: calc(100% - 1.25rem);
    }

    .hero__title {
        font-size: 1.78rem;
    }

    .hero__btn,
    .benefits__cta,
    .scenarios__card-cta,
    .configs__cta,
    .faq__cta,
    .contacts__submit,
    .menu__submit,
    .modal__submit {
        min-height: 4rem;
        padding-inline: 1rem;
    }

    .configs,
    .content,
    .faq,
    .contacts {
        padding-inline: 0.5rem;
    }

    .benefits {
        width: calc(100% - 0.75rem);
        min-height: clamp(42rem, 146vw, 54rem);
        padding: 2rem 1rem 1.35rem;
    }

    .scenarios__card-layout {
        padding: 0.875rem;
    }

    .configs__slider {
        min-height: 41.5rem;
    }

    .configs__viewport,
    .configs__stage {
        height: 41.5rem;
    }

    .configs__card-media,
    .configs__card.is-current .configs__card-media {
        height: 22rem;
    }

    .contacts__headline {
        font-size: 2.7rem;
    }

    .menu__header,
    .menu__content,
    .modal__dialog {
        padding-inline: 0.75rem;
    }

    .modal__close {
        right: 0.75rem;
    }

    .legal-page__content,
    .legal-page__aside {
        padding: 1rem;
    }
}

/* Unified lead CTA style. Kept last to override section-specific variants. */
.hero__btn,
.benefits__cta,
.scenarios__card-cta,
.scenarios__card-cta--blue,
.scenarios__card-cta--gray,
.configs__cta,
.faq__cta,
.contacts__submit,
.menu__submit,
.modal__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 4.0625rem;
    padding: 1.875rem 2.5rem;
    border-radius: 6.25rem;
    background: #1a56db;
    color: #ffffff;
    filter: drop-shadow(0 0.3125rem 0.34375rem rgba(0, 12, 71, 0.1)) drop-shadow(0 1.1875rem 0.59375rem rgba(0, 12, 71, 0.09)) drop-shadow(0 2.75rem 0.8125rem rgba(0, 12, 71, 0.05));
    box-shadow: none;
    font-family: "Benzin", sans-serif;
    font-size: 1.25rem;
    line-height: 1;
    white-space: nowrap;
    text-align: center;
    text-shadow: none;
    flex-shrink: 0;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.hero__btn:hover,
.benefits__cta:hover,
.scenarios__card-cta:hover,
.configs__cta:hover,
.faq__cta:hover,
.contacts__submit:hover,
.menu__submit:hover,
.modal__submit:hover {
    transform: translateY(-0.125rem);
}

.hero__btn:active,
.benefits__cta:active,
.scenarios__card-cta:active,
.configs__cta:active,
.faq__cta:active,
.contacts__submit:active,
.menu__submit:active,
.modal__submit:active {
    transform: translateY(0);
}

.contacts__submit,
.menu__submit,
.modal__submit {
    align-self: flex-start;
}

@media (max-width: 1439px) {

    .hero__btn,
    .benefits__cta,
    .scenarios__card-cta,
    .configs__cta,
    .faq__cta,
    .contacts__submit,
    .menu__submit,
    .modal__submit {
        min-height: 4rem;
        padding: clamp(1.35rem, 1.9vw, 1.875rem) clamp(1.75rem, 2.6vw, 2.5rem);
        font-size: clamp(0.95rem, 1.2vw, 1.25rem);
    }
}

@media (max-width: 767px) {

    .hero__btn,
    .benefits__cta,
    .scenarios__card-cta,
    .configs__cta,
    .faq__cta,
    .contacts__submit,
    .menu__submit,
    .modal__submit {
        width: 100%;
        min-height: 4.25rem;
        padding: 1.25rem 1.25rem;
        white-space: normal;
    }

    .contacts__submit,
    .menu__submit,
    .modal__submit {
        align-self: stretch;
    }
}

@media (max-width: 360px) {

    .hero__btn,
    .benefits__cta,
    .scenarios__card-cta,
    .configs__cta,
    .faq__cta,
    .contacts__submit,
    .menu__submit,
    .modal__submit {
        min-height: 4rem;
        padding-inline: 1rem;
        font-size: 0.9rem;
    }
}

/* Trust section spacing and mobile tap-to-flip cards. */
.trust {
    margin-top: clamp(8.5rem, 9vw, 11rem);
    padding-bottom: clamp(7.5rem, 8vw, 10rem);
}

.trust__marquee {
    padding-block: 2.75rem;
    margin-block: -2.75rem;
}

.trust__logo {
    transform-style: preserve-3d;
}

.trust__logo-img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

@media (hover: none),
(pointer: coarse) {
    .trust {
        margin-top: clamp(6.75rem, 18vw, 9.25rem);
        padding-bottom: clamp(6rem, 16vw, 8.5rem);
    }

    .trust__marquee {
        padding-block: 3rem;
        margin-block: -3rem;
    }

    .trust__logo {
        perspective: 60rem;
        transition: transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .trust__logo-img {
        transition: transform 0.48s cubic-bezier(0.22, 1, 0.36, 1), opacity 0s linear 0.24s;
    }

    .trust__logo-img--base {
        opacity: 1;
        transform: rotateY(0deg);
    }

    .trust__logo-img--hover {
        opacity: 0;
        transform: rotateY(180deg);
    }

    .trust__logo--has-hover.is-hover-ready:hover .trust__logo-img--base {
        opacity: 1;
    }

    .trust__logo--has-hover.is-hover-ready:hover .trust__logo-img--hover {
        opacity: 0;
    }

    .trust__logo--has-hover.is-hover-ready.is-flipped .trust__logo-img--base {
        opacity: 0;
        transform: rotateY(-180deg);
    }

    .trust__logo--has-hover.is-hover-ready.is-flipped .trust__logo-img--hover {
        opacity: 1;
        transform: rotateY(0deg);
    }

    .trust__logo--has-hover.is-hover-ready.is-flipped:hover .trust__logo-img--base {
        opacity: 0;
    }

    .trust__logo--has-hover.is-hover-ready.is-flipped:hover .trust__logo-img--hover {
        opacity: 1;
    }
}

@media (max-width: 767px) {
    .trust {
        margin-top: clamp(6.25rem, 17vw, 8.25rem);
        padding-bottom: clamp(1.5rem, 14vw, 7.5rem);
    }
}

/* Config card labels stay centered on every breakpoint. */
.configs__card-header {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    align-self: center;
    width: min(100%, 21rem);
    height: auto;
    min-height: 4.25rem;
    margin-inline: auto;
}

.configs__card-size {
    position: relative;
    inset: auto;
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
    line-height: 1.18;
}

.configs__card-badge,
.configs__card-badge--reels {
    left: 50%;
    transform: translateX(-50%);
}

/* Centered contacts headline. */
.contacts__headline {
    left: 50%;
    top: -5rem;
    transform: translateX(-50%);
    font-size: 15.375rem;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
}

@media (max-width: 1439px) {
    .contacts__headline {
        left: 50%;
        top: clamp(-3rem, -2.4vw, -2rem);
        transform: translateX(-50%);
        font-size: clamp(7.5rem, 10.2vw, 10.5rem);
    }
}

@media (max-width: 991px) {
    .contacts__headline {
        font-size: clamp(4rem, 12vw, 6.75rem);
    }
}

@media (max-width: 576px) {
    .contacts__headline {
        top: -1rem;
        font-size: clamp(3.35rem, 12vw, 4.75rem);
    }
}

@media (max-width: 360px) {
    .contacts__headline {
        font-size: 3rem;
    }
}

@media (max-width: 320px) {
    .contacts__headline {
        font-size: 2.7rem;
    }
}

.scenarios__card:first-child .scenarios__card-cta,
.scenarios__card:last-child .scenarios__card-cta {
    background: #ffffff;
    color: #1a56db;
}

@media (max-width: 1024px) {
    .configs__slider {
        display: flex;
        flex-direction: column;
        gap: clamp(1.25rem, 3vw, 1.75rem);
        min-height: 0;
    }

    .configs__viewport,
    .configs__stage {
        height: clamp(37rem, 66vw, 44rem);
        overflow: hidden;
    }

    .configs__card,
    .configs__card.is-prev,
    .configs__card.is-next,
    .configs__card.is-hidden,
    .configs__card.is-current {
        height: 100%;
    }

    .configs__card-button,
    .configs__card.is-current .configs__card-button {
        gap: clamp(0.875rem, 2vw, 1.25rem);
        padding-block: clamp(1.5rem, 3vw, 2.25rem);
    }

    .configs__card-media,
    .configs__card.is-current .configs__card-media {
        height: clamp(21rem, 41vw, 28rem);
    }

    .configs__arrows {
        position: static;
        width: min(12rem, 100%);
        margin-inline: auto;
        transform: none;
        pointer-events: auto;
    }

    .configs__arrow {
        color: #ffffff;
        background: rgba(26, 86, 219, 0.72);
        border-color: rgba(255, 255, 255, 0.68);
        box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.42), 0 0.45rem 1.35rem rgba(0, 12, 71, 0.18);
    }

    .configs__arrow-svg {
        stroke: #ffffff;
    }
}

@media (max-width: 767px) {

    .configs__viewport,
    .configs__stage {
        height: clamp(36rem, 84vw, 42.5rem);
    }

    .configs__card-media,
    .configs__card.is-current .configs__card-media {
        height: clamp(20rem, 51vw, 26rem);
    }
}

@media (max-width: 576px) {

    .configs__viewport,
    .configs__stage {
        height: 41rem;
    }

    .configs__card-media,
    .configs__card.is-current .configs__card-media {
        height: 24rem;
    }
}

@media (max-width: 360px) {

    .configs__viewport,
    .configs__stage {
        height: 39.5rem;
    }

    .configs__card-media,
    .configs__card.is-current .configs__card-media {
        height: 22.5rem;
    }
}

@media (max-width: 320px) {

    .configs__viewport,
    .configs__stage {
        height: 38.5rem;
    }

    .configs__card-media,
    .configs__card.is-current .configs__card-media {
        height: 21.5rem;
    }
}

/* Keep benefits pills visually glassy without live backdrop repaint flicker. */
.benefits__item,
.benefits__badge {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.benefits__item {
    isolation: isolate;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.13) 100%);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.24), 0 0.45rem 1.45rem rgba(0, 12, 71, 0.12);
}

.benefits__badge {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.84) 100%);
    box-shadow: inset 0 0.0625rem 0.0625rem rgba(255, 255, 255, 0.68), 0 0.25rem 0.75rem rgba(0, 12, 71, 0.1);
}

@media (min-width: 1025px) {
    .configs__card[data-slide="5"] .configs__card-photo {
        width: 94%;
        height: 94%;
    }

    .configs__card[data-slide="5"] .configs__card-photo--active {
        --configs-photo-x: -1.4%;
        --configs-photo-y: 3%;
    }

    .configs__card[data-slide="5"] .configs__card-photo--inactive {
        --configs-photo-x: 3%;
        --configs-photo-y: 3%;
    }
}

@media (max-width: 767px) {
    .trust {
        display: flex;
        flex-direction: column;
    }

    .trust__header {
        display: contents;
    }

    .trust__title {
        order: 1;
        margin-bottom: clamp(3.75rem, 6vw, 2.75rem);
    }

    .trust__marquee {
        order: 2;
    }

    .trust__controls {
        order: 3;
        align-self: center;
        margin-top: clamp(1.5rem, 6vw, 2.25rem);
    }
}

@media (max-width: 768px) {
    .scenarios__media--sport {
        height: auto;
        min-height: 22rem;
        padding: 1rem;
        border-radius: 1.5rem;
    }

    .scenarios__sport-clips {
        position: static;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: auto auto;
        gap: 0.75rem;
        width: 100%;
        height: auto;
    }

    .scenarios__sport-clip,
    .scenarios__sport-clip:nth-child(1),
    .scenarios__sport-clip:nth-child(2),
    .scenarios__sport-clip:nth-child(3),
    .scenarios__sport-clip:nth-child(4) {
        position: relative;
        right: auto;
        top: auto;
        width: 100%;
        height: auto;
        border-radius: 1.25rem;
        aspect-ratio: 1 / 1;
        box-shadow: 0 0.5rem 1.25rem rgba(0, 12, 71, 0.12);
        animation: scenarios-sport-clip 10s ease-in-out infinite alternate;
    }

    .scenarios__sport-clip:nth-child(1) {
        grid-column: 1 / -1;
        aspect-ratio: 16 / 9;
        animation-delay: 0s;
    }

    .scenarios__sport-clip:nth-child(2),
    .scenarios__sport-clip:nth-child(3),
    .scenarios__sport-clip:nth-child(4) {
        aspect-ratio: 1 / 1;
    }

    .scenarios__sport-clip:nth-child(2) {
        animation-delay: -2.5s;
    }

    .scenarios__sport-clip:nth-child(3) {
        animation-delay: -5s;
    }

    .scenarios__sport-clip:nth-child(4) {
        animation-delay: -7.5s;
    }

    @keyframes scenarios-sport-photo-zoom {
        0% {
            transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
        }

        50% {
            transform: scale3d(1.18, 1.18, 1) translate3d(-2%, 1%, 0);
        }

        100% {
            transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
        }
    }

    .scenarios__sport-clip:nth-child(2) .scenarios__sport-clip-img,
    .scenarios__sport-clip:nth-child(3) .scenarios__sport-clip-img,
    .scenarios__sport-clip:nth-child(4) .scenarios__sport-clip-img {
        animation: scenarios-sport-photo-zoom 6s ease-in-out infinite;
        will-change: transform;
    }

    .scenarios__sport-clip:nth-child(2) .scenarios__sport-clip-img {
        animation-delay: 0s;
    }

    .scenarios__sport-clip:nth-child(3) .scenarios__sport-clip-img {
        animation-delay: -2s;
    }

    .scenarios__sport-clip:nth-child(4) .scenarios__sport-clip-img {
        animation-delay: -4s;
    }

    /* Speed up the passive zoom on the business/branding card on mobile and
       bring the circle photo back to life at the same pace. */
    .scenarios__brand-bg {
        animation-duration: 6s;
    }

    .scenarios__brand-circle {
        animation: scenarios-brand-photo 6s ease-in-out infinite alternate;
        animation-delay: -3s;
    }
}

@media (max-width: 768px) {
    .scenarios__media--marquee {
        height: clamp(22rem, 60vw, 30rem);
    }

    .scenarios__media--marquee .scenarios__gallery-item {
        height: clamp(18rem, 40vw, 22rem);
    }

    .scenarios__media--marquee .scenarios__gallery-img,
    .scenarios__media--marquee .scenarios__gallery-clip-img {
        object-fit: cover;
    }
}

@media (max-width: 992px) and (min-width: 769px) {
    .hero__cta-row {
        left: 56%;
    }
}


/* Large desktop: keep the full blurred background visible and size the
   configurator card to the available viewport height. The blur is decoupled
   from the card content so it can spill behind neighboring sections. */
@media (min-width: 1440px) {
    .configs {
        z-index: auto;
        isolation: auto;
    }

    .configs__bg {
        z-index: 1;
    }

    .configs__header,
    .configs__slider {
        position: relative;
        z-index: 2;
    }

    .configs__header {
        margin-bottom: clamp(1rem, 3vh, 3.5rem);
    }

    .configs__slider {
        --configs-card-h: min(49.125rem, calc(100vh - 20rem));
        min-height: var(--configs-card-h);
    }

    .configs__viewport {
        height: var(--configs-card-h);
    }

    .configs__card {
        top: calc(var(--configs-card-h) * 3.59375 / 49.125);
        width: calc(var(--configs-card-h) * 33.6875 / 49.125);
        height: calc(var(--configs-card-h) * 41.9375 / 49.125);
    }

    .configs__card.is-current {
        top: 0;
        width: calc(var(--configs-card-h) * 42 / 49.125);
        height: var(--configs-card-h);
    }

    .configs__card.is-prev {
        left: calc(50% - (var(--configs-card-h) * 30.78125 / 49.125));
    }

    .configs__card.is-next {
        left: calc(50% + (var(--configs-card-h) * 30.78125 / 49.125));
    }

    .configs__card-button {
        gap: calc(var(--configs-card-h) * 0.625 / 49.125);
        padding: calc(var(--configs-card-h) * 2.5 / 49.125) 0;
    }

    .configs__card.is-current .configs__card-button {
        gap: calc(var(--configs-card-h) * 1.75 / 49.125);
        padding: calc(var(--configs-card-h) * 3.75 / 49.125) 0;
    }

    .configs__card-header {
        width: calc(var(--configs-card-h) * 15.875 / 49.125);
        height: auto;
        min-height: calc(var(--configs-card-h) * 4.0625 / 49.125);
    }

    .configs__card-size {
        padding: max(0.5rem, calc(var(--configs-card-h) * 1.25 / 49.125)) max(0.75rem, calc(var(--configs-card-h) * 1.5625 / 49.125));
        font-size: max(1rem, calc(var(--configs-card-h) * 1.25 / 49.125));
    }

    .configs__card-badge {
        top: calc(var(--configs-card-h) * -1.25 / 49.125);
        left: 50%;
        transform: translateX(-50%);
        padding: max(0.375rem, calc(var(--configs-card-h) * 0.625 / 49.125)) max(0.75rem, calc(var(--configs-card-h) * 1.25 / 49.125));
        font-size: max(0.75rem, calc(var(--configs-card-h) * 0.875 / 49.125));
    }

    .configs__card-badge--reels {
        left: 52%;
        transform: translateX(-50%);
    }

    .configs__card-media {
        width: calc(var(--configs-card-h) * 26.5625 / 49.125);
        height: calc(var(--configs-card-h) * 30 / 49.125);
        margin-bottom: calc(var(--configs-card-h) * -1.125 / 49.125);
    }

    .configs__card.is-current .configs__card-media {
        width: 100%;
        height: calc(var(--configs-card-h) * 33 / 49.125);
        margin-bottom: 0;
    }

    .configs__card-desc {
        width: calc(var(--configs-card-h) * 28.625 / 49.125);
        font-size: max(1rem, calc(var(--configs-card-h) * 1.25 / 49.125));
    }

    .configs__arrows {
        width: calc(var(--configs-card-h) * 46.375 / 49.125);
    }
}

@media (min-width: 1440px) and (max-height: 845px) {
    .configs__card-size {
        padding: 0.5rem 0.75rem;
        font-size: 0.75rem;
    }

    .configs__card-desc {
        width: 100%;
        font-size: 0.875rem;
    }
}

/* Short desktop viewport: rearrange FAQ into a balanced grid so all items fit */
@media (min-width: 1025px) and (max-height: 990px) {
    .faq {
        gap: 2.5rem;
    }

    .faq__header {
        gap: 2rem;
    }

    .faq__body {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-auto-flow: row;
        align-items: start;
        gap: 1.25rem 2rem;
    }

    .faq__column {
        display: contents;
        gap: 0;
    }

    .faq__item {
        width: fit-content;
        justify-self: start;
    }
}

/* Large gaps between desktop slides (one slide per screen) */
@media (min-width: 1025px) {
    .benefits,
    .scenarios,
    .configs,
    .content,
    .faq,
    .trust {
        margin-top: clamp(12rem, 30vh, 30rem);
    }

    /* Sport card on desktop: same grid arrangement as mobile
       (video on top, 3 photos below), scaled to the right media column. */
    .scenarios__media--sport {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: clamp(1rem, 2vw, 2rem);
        border-radius: clamp(1rem, 1.8vw, 1.75rem);
    }

    .scenarios__sport-clips {
        position: static;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: auto auto;
        gap: clamp(0.75rem, 1.2vw, 1.25rem);
        width: 100%;
        height: auto;
    }

    .scenarios__sport-clip,
    .scenarios__sport-clip:nth-child(1),
    .scenarios__sport-clip:nth-child(2),
    .scenarios__sport-clip:nth-child(3),
    .scenarios__sport-clip:nth-child(4) {
        position: relative;
        right: auto;
        top: auto;
        width: 100%;
        height: auto;
        border-radius: clamp(1rem, 1.8vw, 1.75rem);
        aspect-ratio: 1 / 1;
        box-shadow: 0 0.5rem 1.5rem rgba(0, 12, 71, 0.14);
    }

    .scenarios__sport-clip:nth-child(1) {
        grid-column: 1 / -1;
        aspect-ratio: 16 / 9;
    }

    .scenarios__sport-clip:nth-child(2) .scenarios__sport-clip-img,
    .scenarios__sport-clip:nth-child(3) .scenarios__sport-clip-img,
    .scenarios__sport-clip:nth-child(4) .scenarios__sport-clip-img {
        animation: scenarios-sport-photo-zoom 6s ease-in-out infinite;
        will-change: transform;
    }

    .scenarios__sport-clip:nth-child(2) .scenarios__sport-clip-img {
        animation-delay: 0s;
    }

    .scenarios__sport-clip:nth-child(3) .scenarios__sport-clip-img {
        animation-delay: -2s;
    }

    .scenarios__sport-clip:nth-child(4) .scenarios__sport-clip-img {
        animation-delay: -4s;
    }

    @keyframes scenarios-sport-photo-zoom {
        0% {
            transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
        }

        50% {
            transform: scale3d(1.18, 1.18, 1) translate3d(-2%, 1%, 0);
        }

        100% {
            transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
        }
    }
}

/* Cookie notice */
.cookie-notice {
  position: fixed;
  left: clamp(1rem, 3vw, 1.5rem);
  right: clamp(1rem, 3vw, 1.5rem);
  bottom: clamp(1rem, 3vw, 1.5rem);
  z-index: 9999;
  transform: translateY(calc(100% + 2rem));
  opacity: 0;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease;
  pointer-events: none;
}

.cookie-notice.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.cookie-notice__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 56rem;
  margin: 0 auto;
  padding: 0.875rem 1.25rem;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(6, 11, 32, 0.08);
  border-radius: 1rem;
  box-shadow: 0 8px 32px rgba(6, 11, 32, 0.08);
  color: #060b20;
  font-family: "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Text Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 0.875rem;
  line-height: 1.4;
}

.cookie-notice__text {
  margin: 0;
}

.cookie-notice__text a {
  color: #1a56db;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}

.cookie-notice__text a:hover {
  color: #1647b8;
}

.cookie-notice__btn {
  flex-shrink: 0;
  padding: 0.625rem 1.25rem;
  background: #1a56db;
  color: #fff;
  border-radius: 0.625rem;
  font-weight: 500;
  font-size: 0.875rem;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.cookie-notice__btn:hover {
  background: #1647b8;
  transform: translateY(-1px);
}

@media (max-width: 480px) {
  .cookie-notice__inner {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  .cookie-notice__btn {
    width: 100%;
  }
}
