.page-landing .site-header {
    margin-bottom: calc((var(--header-height, 72px) + 10px) * -1);
}

.page-landing .hero {
    position: relative;
    z-index: 0;
    max-width: unset;
    padding-top: calc(clamp(38px, 6vw, 78px) + var(--header-height, 72px) + 10px);
    padding-bottom: clamp(48px, 7vw, 92px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    background:
        radial-gradient(circle at 18% 6%, rgba(255, 115, 151, 0.2), transparent 28rem),
        radial-gradient(circle at 84% 10%, rgba(121, 92, 255, 0.18), transparent 34rem),
        linear-gradient(180deg, #fff8fb 0%, #f8f3ff 62%, var(--bg) 100%);
}

.page-landing .hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 250px;
    background: linear-gradient(180deg,
            rgba(251, 248, 255, 0) 0%,
            var(--bg) 100%);
    z-index: 2;
    pointer-events: none;
}

.page-landing .hero-shell {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 var(--page-gutter);
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: 14px;
    position: relative;
    z-index: 3;
}

.page-landing .hero-shell::before {
    content: "";
    position: absolute;
    width: min(72vw, 820px);
    aspect-ratio: 1;
    bottom: -6%;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--accent-violet) 24%, transparent), transparent 48%),
        radial-gradient(circle at 50% 72%, color-mix(in srgb, var(--accent) 17%, transparent), transparent 62%);
    filter: blur(26px);
    pointer-events: none;
}
