.landing-body {
    --landing-type-base: 0.95rem;
    --landing-type-emphasis: clamp(1.65rem, 1vw + 1.35rem, 2rem);
    --landing-type-display: clamp(2.4rem, 4.5vw, 4rem);
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #f9f9fe;
    color: #1a1c1f;
    font-family: 'Manrope', 'Inter', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    line-height: 1.6;
}

.landing-main {
    flex: 1 0 auto;
}

.landing-shell {
    width: min(1400px, calc(100% - 48px));
    margin: 0 auto;
}

html.js-motion [data-reveal] {
    opacity: 0;
    transform: translate3d(0, var(--reveal-offset, 24px), 0);
    transition:
        opacity var(--reveal-duration, 1120ms) cubic-bezier(0.16, 1, 0.3, 1),
        transform var(--reveal-duration, 1120ms) cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

html.js-motion [data-reveal].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

html.js-motion [data-sequence-item] {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    transition:
        opacity 980ms cubic-bezier(0.16, 1, 0.3, 1),
        transform 980ms cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

html.js-motion [data-sequence-item].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

html.js-motion [data-motion-section] {
    --section-opacity: 1;
    --section-shift: 0px;
    opacity: var(--section-opacity);
    transform: translate3d(0, var(--section-shift), 0);
    transition: opacity 320ms ease-out, transform 320ms ease-out;
    will-change: opacity, transform;
}

.landing-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 0% 0%, rgba(213, 227, 255, 0.85) 0%, rgba(213, 227, 255, 0) 34%),
        radial-gradient(circle at 100% 0%, rgba(232, 240, 251, 0.95) 0%, rgba(232, 240, 251, 0) 38%),
        linear-gradient(180deg, #f7f8fb 0%, #f4f4f8 100%);
}

.landing-hero::before,
.landing-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.landing-hero::before {
    background-image:
        radial-gradient(circle, rgba(0, 30, 64, 0.065) 0.9px, transparent 1px);
    background-size: 28px 28px;
    background-position: center center;
    opacity: 0.72;
}

.landing-hero::after {
    background:
        radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.42) 0%, rgba(255, 255, 255, 0) 34%),
        radial-gradient(circle at 80% 12%, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0) 32%);
}

.landing-hero__inner {
    position: relative;
    z-index: 1;
    min-height: auto;
    padding: calc(var(--site-header-height) + 3.5rem) 0 clamp(2.2rem, 4vw, 3.2rem);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    text-align: center;
}

.landing-hero__content {
    width: 100%;
    max-width: 90rem;
}

.landing-kicker {
    position: relative;
    display: inline-block;
    margin-bottom: 2rem;
    color: rgba(0, 30, 64, 0.52);
    font-size: var(--landing-type-base);
    font-weight: 800;
    letter-spacing: 0.32em;
    text-transform: uppercase;
}

.landing-kicker::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -1.1rem;
    width: 3rem;
    height: 1px;
    background: rgba(0, 30, 64, 0.18);
    transform: translateX(-50%);
}

.landing-title {
    margin: 0;
    color: #001e40;
    font-size: var(--landing-type-display);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.02;
    text-shadow: 0 0 60px rgba(0, 30, 64, 0.08);
}

.landing-title__subline {
    display: block;
    margin-top: 1.2rem;
    color: rgba(0, 30, 64, 0.4);
    font-size: var(--landing-type-base);
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: none;
}

.landing-title__subline--as-title {
    display: grid;
    justify-items: center;
    gap: 0.16em;
    margin-top: 0;
    color: #001e40;
    font-size: var(--landing-type-display);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.02;
    text-align: center;
}

.landing-title__line {
    display: block;
}

.landing-title__subline--as-title .landing-title__line {
    white-space: nowrap;
}

.landing-title__highlight {
    color: #FFC107;
}

.landing-hero__description {
    max-width: min(100%, 62rem);
    margin: 1.25rem auto 0;
    color: rgba(26, 28, 31, 0.68);
    font-size: clamp(1.04rem, 0.35vw + 0.95rem, 1.16rem);
    font-weight: 500;
    line-height: 1.7;
    white-space: nowrap;
}

html:lang(en) .landing-hero__description {
    max-width: min(100%, 68rem);
    white-space: normal;
}

.landing-hero__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-top: clamp(2.1rem, 3.8vw, 3.1rem);
}

.landing-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.5rem;
    padding: 1rem 1.8rem;
    border-radius: 0.5rem;
    text-decoration: none;
    font-size: var(--landing-type-base);
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 320ms cubic-bezier(0.16, 1, 0.3, 1), background-color 320ms cubic-bezier(0.16, 1, 0.3, 1), color 320ms cubic-bezier(0.16, 1, 0.3, 1), border-color 320ms cubic-bezier(0.16, 1, 0.3, 1);
}

.landing-btn:hover,
.landing-btn:focus-visible {
    transform: translateY(-1px);
}

.landing-btn--primary {
    color: #ffffff;
    background: linear-gradient(135deg, #001e40, #003366);
}

.landing-btn--primary:hover,
.landing-btn--primary:focus-visible {
    color: #ffffff;
    box-shadow: 0 18px 32px rgba(0, 30, 64, 0.18);
}

.landing-btn--secondary {
    color: #001e40;
    background: rgba(255, 255, 255, 0.48);
    border: 1px solid rgba(0, 30, 64, 0.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.landing-btn--secondary:hover,
.landing-btn--secondary:focus-visible {
    color: #001e40;
    background: rgba(255, 255, 255, 0.86);
}

.landing-meta-signals {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.65rem 1.35rem;
    color: rgba(0, 30, 64, 0.3);
    font-size: var(--landing-type-base);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.landing-meta-signals span {
    display: inline-flex;
    align-items: center;
    gap: 0.44rem;
}

.landing-hero__signals {
    margin-top: 1.4rem;
}

.landing-hero__metrics {
    width: min(100%, 1120px);
    margin: clamp(2.6rem, 4.4vw, 3.6rem) auto 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid rgba(0, 30, 64, 0.08);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.56);
    box-shadow: 0 24px 60px rgba(0, 30, 64, 0.055);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.landing-hero-metric {
    min-width: 0;
    min-height: 8.7rem;
    padding: clamp(1rem, 1.8vw, 1.35rem) clamp(1rem, 2vw, 1.55rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    text-align: center;
}

.landing-hero-metric + .landing-hero-metric {
    border-left: 1px solid rgba(0, 30, 64, 0.07);
}

.landing-hero-metric__value {
    display: inline-flex;
    align-items: flex-end;
    justify-content: center;
    gap: 0.14em;
    color: #001e40;
    font-size: var(--landing-type-emphasis);
    font-weight: 500;
    letter-spacing: -0.035em;
    line-height: 0.95;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.landing-hero-metric__prefix,
.landing-hero-metric__number {
    display: inline-block;
}

.landing-hero-metric__unit {
    display: inline-block;
    margin-left: 0.16em;
    color: rgba(0, 30, 64, 0.28);
    font-size: var(--landing-type-base);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
}

.landing-hero-metric__label {
    margin: 0;
    color: rgba(0, 30, 64, 0.56);
    font-size: var(--landing-type-base);
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.landing-hero-metric__copy {
    width: 100%;
    max-width: none;
    margin: 0.32rem auto 0;
    color: rgba(26, 28, 31, 0.58);
    font-size: var(--landing-type-base);
    line-height: 1.65;
    white-space: nowrap;
}

html:lang(en) .landing-hero-metric__copy {
    max-width: 15rem;
    white-space: normal;
}

.landing-section {
    position: relative;
}

.landing-features {
    background: #ffffff;
}

.landing-features__inner {
    padding: clamp(2.4rem, 4vw, 3.6rem) 0 clamp(4rem, 7vw, 6rem);
}

.landing-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.75rem, 3vw, 3rem);
    align-items: stretch;
}

.landing-feature {
    display: grid;
    grid-template-rows: minmax(5rem, auto) minmax(7rem, auto) auto;
    min-height: auto;
    padding-left: 2rem;
    border-left: 1px solid transparent;
    text-decoration: none;
    transition: transform 400ms cubic-bezier(0.16, 1, 0.3, 1), border-color 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

.landing-feature:hover,
.landing-feature:focus-visible {
    transform: translateX(4px);
    border-left-color: rgba(0, 51, 102, 0.8);
}

.landing-feature__head {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    align-self: stretch;
    min-height: 5rem;
    margin-bottom: 0;
}

.landing-feature__icon {
    width: 2.4rem;
    height: 2.4rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 0.22rem;
    background: #f4f3f8;
    color: #001e40;
    font-size: 1rem;
    transition: background-color 400ms cubic-bezier(0.16, 1, 0.3, 1), color 400ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

.landing-feature:hover .landing-feature__icon,
.landing-feature:focus-visible .landing-feature__icon {
    color: #ffffff;
    background: #001e40;
    box-shadow: 0 16px 28px rgba(0, 30, 64, 0.14);
}

.landing-feature__title {
    min-width: 0;
    margin: 0;
    color: #001e40;
    font-size: var(--landing-type-emphasis);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.12;
}

html:lang(en) .landing-feature__head {
    gap: 0.75rem;
}

html:lang(en) .landing-feature__title {
    font-size: clamp(1.45rem, 1vw + 0.48rem, 1.72rem);
    white-space: nowrap;
}

.landing-feature__copy {
    max-width: 18rem;
    margin: 0;
    color: rgba(26, 28, 31, 0.72);
    font-size: var(--landing-type-base);
    align-self: start;
}

.landing-feature__footer {
    margin-top: 0;
    padding-top: 0;
    align-self: start;
}

.landing-feature__link {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: rgba(0, 30, 64, 0.58);
    font-size: var(--landing-type-base);
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.landing-feature:hover .landing-feature__link,
.landing-feature:focus-visible .landing-feature__link {
    color: #001e40;
}

@media (prefers-reduced-motion: reduce) {
    html.js-motion [data-reveal],
    html.js-motion [data-sequence-item],
    html.js-motion [data-motion-section] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

@media (max-width: 991.98px) {
    .landing-shell {
        width: min(100%, calc(100% - 36px));
    }

    .landing-hero__inner {
        min-height: auto;
        padding-top: calc(var(--site-header-height) + 3.8rem);
    }

    .landing-feature-grid {
        grid-template-columns: 1fr;
    }

    .landing-feature {
        min-height: auto;
        padding-left: 1.25rem;
    }

    html:lang(en) .landing-feature__title {
        white-space: normal;
    }

    .landing-hero__metrics {
        grid-template-columns: 1fr;
        width: min(100%, 32rem);
    }

    .landing-hero-metric + .landing-hero-metric {
        border-left: none;
        border-top: 1px solid rgba(0, 30, 64, 0.07);
    }
}

@media (max-width: 640px) {
    .landing-shell {
        width: min(100%, calc(100% - 28px));
    }

    .landing-kicker {
        letter-spacing: 0.2em;
    }

    .landing-title__subline {
        margin-top: 1.4rem;
        letter-spacing: 0.16em;
    }

    .landing-title__subline--as-title {
        margin-top: 0;
        letter-spacing: -0.035em;
    }

    .landing-title__subline--as-title .landing-title__line {
        white-space: normal;
    }

    .landing-hero__description {
        white-space: normal;
    }

    .landing-hero__actions {
        flex-direction: column;
        align-items: stretch;
        margin-top: 1.8rem;
    }

    .landing-btn {
        width: 100%;
    }

    .landing-feature {
        padding-left: 1rem;
    }

    .landing-meta-signals {
        letter-spacing: 0.04em;
    }

    .landing-hero__metrics {
        margin-top: 2rem;
    }

    .landing-hero-metric {
        min-height: 7rem;
        padding: 1rem;
        gap: 0.52rem;
    }

    .landing-hero-metric__label {
        letter-spacing: 0.08em;
    }
}
