.home-page {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
}

.home-topbar {
    padding: 18px clamp(20px, 4vw, 64px);
}

.home {
    display: grid;
    flex: 1;
    grid-template-rows: 1fr auto;
}

.home__hero {
    display: grid;
    align-content: center;
    gap: clamp(20px, 3vh, 32px);
    padding: clamp(32px, 6vh, 80px) clamp(20px, 4vw, 64px);
}

.home__title {
    font-size: clamp(3rem, 9vw, 8.5rem);
}

.home__lead {
    max-width: 42ch;
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    color: var(--color-muted);
}

.home__choices {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 1px;
    background: var(--color-line);
    border-top: var(--hairline);
}

.home__choice {
    position: relative;
    display: grid;
    gap: 12px;
    padding: clamp(24px, 4vh, 48px) clamp(20px, 4vw, 64px);
    background: var(--color-bg);
    transition: background-color var(--dur-base) var(--ease-out);
}

.home__choice-title {
    font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.home__choice-arrow {
    position: absolute;
    right: clamp(20px, 4vw, 64px);
    bottom: clamp(24px, 4vh, 48px);
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    transition: transform var(--dur-base) var(--ease-out);
}

.home__choice--primary {
    color: var(--color-on-primary);
    background: var(--color-primary);
}

.home__choice--primary .label,
.home__choice--primary .label b {
    color: rgb(255 255 255 / 0.75);
}

@media (hover: hover) {
    .home__choice:hover {
        background: var(--color-surface);
    }

    .home__choice--primary:hover {
        background: var(--color-primary-strong);
    }

    .home__choice:hover .home__choice-arrow {
        transform: translateX(8px);
    }
}
