/* Batch 53.1.2 — final home composition and screenshot geometry. */
.r2-home-page {
    background: #fff;
}

/* The marketing home can use more horizontal space than document pages. */
.r2-home-page .r2-public-container {
    width: min(1320px, calc(100% - 48px));
}

.r2-home-hero {
    padding: clamp(72px, 7vw, 104px) 0 clamp(76px, 7vw, 104px);
    overflow: hidden;
    border-bottom: 1px solid var(--public-border);
    background:
        radial-gradient(circle at 88% 22%, rgba(201, 101, 46, .075), transparent 25%),
        linear-gradient(180deg, #fff 0%, #f8fafc 100%);
}

.r2-home-hero__grid {
    display: grid;
    grid-template-columns: minmax(430px, .86fr) minmax(0, 1.14fr);
    gap: clamp(32px, 3.2vw, 46px);
    align-items: center;
}

.r2-home-hero__copy {
    max-width: 570px;
}

.r2-home-hero__copy h1 {
    max-width: 570px;
    margin: 0;
    color: var(--public-navy);
    font-size: clamp(3rem, 4.25vw, 4.25rem);
    font-weight: 760;
    line-height: 1.015;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.r2-home-hero__copy > p {
    max-width: 560px;
    margin: 24px 0 0;
    color: var(--public-muted);
    font-size: clamp(1.03rem, 1.2vw, 1.14rem);
    line-height: 1.65;
}

.r2-home-hero__media {
    position: relative;
    min-width: 0;
}

.r2-home-floating-card {
    position: absolute;
    z-index: 5;
    min-width: 210px;
    padding: 13px 15px;
    border: 1px solid rgba(17, 31, 62, .12);
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 15px 40px rgba(17, 31, 62, .14);
}

.r2-home-floating-card span,
.r2-home-floating-card strong {
    display: block;
}

.r2-home-floating-card span {
    margin-bottom: 4px;
    color: var(--public-muted);
    font-size: .76rem;
}

.r2-home-floating-card strong {
    color: var(--public-navy);
    font-size: .9rem;
}

.r2-home-floating-card--top {
    top: -20px;
    right: -10px;
}

.r2-home-floating-card--bottom {
    left: -28px;
    bottom: -28px;
}

.r2-home-section {
    padding: clamp(76px, 7vw, 104px) 0;
}

.r2-home-heading {
    max-width: 820px;
    margin-bottom: 52px;
}

.r2-home-heading--compact {
    margin-bottom: 0;
}

.r2-home-heading h2,
.r2-home-control__intro h2,
.r2-home-final h2 {
    margin: 0;
    color: var(--public-navy);
    font-size: clamp(2.25rem, 3.45vw, 3.35rem);
    font-weight: 740;
    line-height: 1.08;
    letter-spacing: -.038em;
    text-wrap: balance;
}

.r2-home-heading p,
.r2-home-final p {
    margin: 18px 0 0;
    color: var(--public-muted);
    font-size: 1.03rem;
    line-height: 1.65;
}

.r2-home-product {
    display: grid;
    grid-template-columns: minmax(360px, .8fr) minmax(0, 1.2fr);
    gap: clamp(34px, 4vw, 54px);
    align-items: center;
    padding: 68px 0;
    border-top: 1px solid var(--public-border);
    scroll-margin-top: 110px;
}

.r2-home-product:last-child {
    border-bottom: 1px solid var(--public-border);
}

.r2-home-product--reverse {
    grid-template-columns: minmax(0, 1.16fr) minmax(360px, .84fr);
}

.r2-home-product--reverse .r2-home-product__copy {
    order: 2;
}

.r2-home-product--reverse .r2-home-product__media {
    order: 1;
}

.r2-home-product__number {
    display: block;
    margin-bottom: 18px;
    color: var(--public-accent);
    font-size: .88rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.r2-home-product h3 {
    margin: 0;
    color: var(--public-navy);
    font-size: clamp(1.9rem, 2.65vw, 2.55rem);
    font-weight: 730;
    line-height: 1.12;
    letter-spacing: -.032em;
}

.r2-home-product__copy > p {
    margin: 16px 0 0;
    color: var(--public-muted);
    line-height: 1.66;
}

.r2-home-section--connection {
    border-block: 1px solid var(--public-border);
    background: var(--public-cream-soft);
}

.r2-home-connection {
    display: grid;
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
    gap: clamp(48px, 6vw, 86px);
    align-items: center;
}

.r2-home-module-link {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: stretch;
    border: 1px solid rgba(17, 31, 62, .14);
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 16px 42px rgba(17, 31, 62, .06);
}

.r2-home-module-link__card {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px;
}

.r2-home-module-link__card > span {
    margin-bottom: 22px;
    color: var(--public-accent);
    font-size: .78rem;
    font-weight: 850;
}

.r2-home-module-link__card strong {
    color: var(--public-navy);
    font-size: 1.28rem;
}

.r2-home-module-link__card p {
    margin: 9px 0 0;
    color: var(--public-muted);
    font-size: .92rem;
    line-height: 1.55;
}

.r2-home-module-link__transfer {
    min-width: 170px;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 10px;
    padding: 20px;
    border-inline: 1px solid rgba(17, 31, 62, .12);
    color: var(--public-navy);
    background: #fff;
    text-align: center;
}

.r2-home-module-link__transfer span {
    font-size: .86rem;
    font-weight: 800;
}

.r2-home-module-link__transfer i {
    color: var(--public-accent);
    font-size: 1.55rem;
    font-style: normal;
    line-height: 1;
}

.r2-home-section--control {
    background: var(--public-navy);
}

.r2-home-control-layout {
    display: grid;
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
    gap: clamp(54px, 7vw, 100px);
    align-items: start;
}

.r2-home-control__intro {
    max-width: 500px;
}

.r2-home-control__intro h2 {
    color: #fff;
    font-size: clamp(2.3rem, 3.35vw, 3.3rem);
}

.r2-home-control__description {
    margin: 20px 0 0;
    color: #c6cfdd;
    font-size: 1.02rem;
    line-height: 1.65;
}

.r2-home-control__promise {
    display: block;
    margin-top: 30px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, .18);
    color: var(--public-cream);
    font-size: 1.12rem;
    line-height: 1.45;
}

.r2-home-control-list {
    border-top: 1px solid rgba(255, 255, 255, .2);
}

.r2-home-control-list article {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 18px;
    padding: 26px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.r2-home-control-list article > span {
    padding-top: 3px;
    color: #e6a17c;
    font-size: .78rem;
    font-weight: 850;
}

.r2-home-control-list h3 {
    margin: 0 0 7px;
    color: #fff;
    font-size: 1.15rem;
    line-height: 1.3;
}

.r2-home-control-list p {
    max-width: 650px;
    margin: 0;
    color: #c6cfdd;
    line-height: 1.62;
}

.r2-home-section--demo {
    background: #fff;
}

.r2-home-demo {
    display: grid;
    grid-template-columns: minmax(0, .65fr) minmax(500px, 1.35fr);
    gap: clamp(52px, 7vw, 96px);
    align-items: center;
}

.r2-home-demo__media {
    min-width: 0;
}

.r2-home-demo-video {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 1px solid rgba(17, 31, 62, .2);
    border-radius: 9px;
    background: #0d1831;
    box-shadow: var(--public-shadow);
}

.r2-home-final {
    background: #12234a;
}

.r2-home-final__inner {
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 56px;
    padding-block: 62px;
}

.r2-home-final__inner > div {
    max-width: 760px;
}

.r2-home-final h2 {
    color: #fff;
}

.r2-home-final p {
    color: #cbd4e2;
}

.r2-home-final .r2-public-button {
    flex: 0 0 auto;
}

@media (max-width: 1100px) {
    .r2-home-hero__grid,
    .r2-home-product,
    .r2-home-product--reverse,
    .r2-home-connection,
    .r2-home-demo,
    .r2-home-control-layout {
        grid-template-columns: 1fr;
    }

    .r2-home-hero__copy {
        max-width: 760px;
    }

    .r2-home-hero__copy h1 {
        max-width: 760px;
    }

    .r2-home-hero__media,
    .r2-home-product__media,
    .r2-home-demo__media {
        width: min(880px, 100%);
    }

    .r2-home-product--reverse .r2-home-product__copy,
    .r2-home-product--reverse .r2-home-product__media {
        order: initial;
    }

    .r2-home-control__intro {
        max-width: 760px;
    }
}

@media (max-width: 760px) {
    .r2-home-module-link {
        grid-template-columns: 1fr;
    }

    .r2-home-module-link__card {
        min-height: 0;
    }

    .r2-home-module-link__transfer {
        min-width: 0;
        border-inline: 0;
        border-block: 1px solid rgba(17, 31, 62, .12);
    }

    .r2-home-module-link__transfer i {
        transform: rotate(90deg);
    }
}

@media (max-width: 700px) {
    .r2-home-hero {
        padding: 56px 0 68px;
    }

    .r2-home-hero__copy h1 {
        font-size: clamp(2.55rem, 11vw, 3.25rem);
        line-height: 1.04;
    }

    .r2-home-floating-card {
        display: none;
    }

    .r2-home-section {
        padding: 64px 0;
    }

    .r2-home-heading {
        margin-bottom: 36px;
    }

    .r2-home-heading h2,
    .r2-home-control__intro h2,
    .r2-home-final h2 {
        font-size: clamp(2.05rem, 9vw, 2.75rem);
    }

    .r2-home-product {
        gap: 32px;
        padding: 48px 0;
    }

    .r2-home-control-list article {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 12px;
    }

    .r2-home-final__inner {
        min-height: 0;
        align-items: flex-start;
        flex-direction: column;
        padding-block: 56px;
    }
}
