:root {
    color-scheme: light;
    --bg: #f6f9fc;
    --surface: #ffffff;
    --surface-alt: #eef6ff;
    --text: #18212f;
    --muted: #64748b;
    --line: #d7e0ea;
    --accent: #0f6bff;
    --accent-2: #12a37f;
    --ink: #101828;
}

* {
    box-sizing: border-box;
}

body {
    background: var(--bg);
    color: var(--text);
    display: flex;
    flex-direction: column;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.55;
    margin: 0;
    min-height: 100vh;
}

main {
    flex: 1 0 auto;
}

a {
    color: inherit;
}

.site-header {
    align-items: center;
    background: rgb(255 255 255 / 92%);
    border-bottom: 1px solid var(--line);
    display: flex;
    gap: 1.5rem;
    justify-content: space-between;
    min-height: 70px;
    padding: 0 5vw;
    position: sticky;
    top: 0;
    z-index: 10;
}

.brand {
    align-items: center;
    color: var(--ink);
    display: inline-flex;
    font-weight: 850;
    gap: 0.7rem;
    text-decoration: none;
}

.brand-mark {
    color: var(--accent);
    display: inline-flex;
    height: 34px;
    width: 46px;
}

.brand-logo {
    display: block;
    height: 36px;
    max-width: 180px;
    object-fit: contain;
    width: auto;
}

.brand-glyph {
    display: block;
    height: 34px;
    overflow: visible;
    width: 46px;
}

.brand-glyph-cloud {
    fill: currentColor;
}

.brand-glyph-lines,
.brand-glyph-rain,
.brand-glyph-spark {
    fill: none;
    stroke-linecap: round;
}

.brand-glyph-lines {
    stroke: #ffffff;
    stroke-width: 4;
}

.brand-glyph-rain {
    stroke: var(--accent-2);
    stroke-width: 4;
}

.brand-glyph-spark {
    stroke: #ffb020;
    stroke-width: 3.4;
}

.site-header nav,
.site-footer nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
}

.site-header nav a,
.site-footer nav a {
    align-items: center;
    color: var(--muted);
    display: inline-flex;
    font-size: 0.92rem;
    font-weight: 700;
    min-height: 36px;
    text-decoration: none;
}

.site-header nav a:hover,
.site-footer nav a:hover {
    color: var(--accent);
}

.site-footer-navs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1.25rem;
    justify-content: flex-end;
}

.site-footer-navs nav {
    justify-content: flex-end;
}

.site-footer-actions {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    justify-self: end;
    text-align: right;
}

.site-hero {
    align-items: center;
    background: linear-gradient(135deg, #ffffff 0%, #eef6ff 60%, #f3fff9 100%);
    display: grid;
    gap: 3rem;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.85fr);
    min-height: 62vh;
    padding: 5.5rem 5vw 4.5rem;
}

.hero-copy {
    max-width: 880px;
}

.hero-visual {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr 0.75fr;
}

.hero-visual span {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 18px 50px rgb(16 24 40 / 8%);
    min-height: 110px;
}

.hero-visual span:nth-child(1) {
    background: var(--ink);
    grid-row: span 2;
}

.hero-visual span:nth-child(2) {
    background: var(--accent);
}

.hero-visual span:nth-child(3) {
    background: var(--accent-2);
}

.eyebrow {
    color: var(--accent);
    font-size: 0.78rem;
    font-weight: 850;
    margin: 0 0 0.9rem;
    text-transform: uppercase;
}

h1 {
    color: var(--ink);
    font-size: clamp(3rem, 7vw, 6rem);
    line-height: 0.98;
    margin: 0;
    max-width: 1000px;
}

.summary {
    color: var(--muted);
    font-size: 1.15rem;
    line-height: 1.75;
    max-width: 720px;
}

.page-shell {
    margin: 0 auto;
    max-width: 1080px;
    padding: 4rem 5vw 6rem;
}

.page-shell-landing,
.page-shell-campaign {
    max-width: 1220px;
}

.page-shell-article,
.page-shell-narrow {
    max-width: 800px;
}

.page-heading {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: clamp(1.25rem, 4vw, 2rem);
}

.page-heading h1 {
    font-size: clamp(2.4rem, 5vw, 4.6rem);
}

.content-blocks,
.home-blocks,
.template-slot {
    display: grid;
    gap: 1.4rem;
}

.home-blocks {
    margin: 0 auto;
    max-width: 1180px;
    padding: 4rem 5vw 6rem;
    width: 100%;
}

.rich-text {
    color: var(--text);
    font-size: 1.04rem;
}

.rich-text > * + * {
    margin-top: 1rem;
}

.rich-text a {
    color: var(--accent);
    font-weight: 750;
}

.rich-text img {
    border-radius: 8px;
    display: block;
    height: auto;
    max-width: 100%;
}

.rich-text blockquote {
    background: var(--surface-alt);
    border-left: 5px solid var(--accent);
    border-radius: 8px;
    color: var(--ink);
    margin-left: 0;
    padding: 1rem 1.25rem;
}

.rich-text table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
}

.rich-text td,
.rich-text th {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 0;
    padding: 1rem;
    vertical-align: top;
}

.rich-text td > *:first-child,
.rich-text th > *:first-child {
    margin-top: 0;
}

.content-hero,
.content-teaser,
.content-quote,
.content-cta,
.content-media-text,
.content-form,
.content-feature-grid article {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 12px 36px rgb(16 24 40 / 5%);
    padding: 1.5rem;
    width: 100%;
}

.content-hero,
.content-cta {
    background: linear-gradient(135deg, var(--ink), #1f3a5f);
    color: #ffffff;
}

.content-cta.has-image {
    overflow: hidden;
    padding: 0;
}

.content-cta-image {
    aspect-ratio: 16 / 9;
    display: block;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.content-cta-body {
    display: grid;
    gap: 1rem;
    padding: 1.5rem;
}

.content-cta:not(.has-image) .content-cta-body {
    padding: 0;
}

.content-hero h2,
.content-cta h2 {
    color: #ffffff;
    font-size: clamp(1.9rem, 4vw, 3.25rem);
    line-height: 1.05;
    margin: 0;
}

.content-hero p,
.content-cta p {
    color: rgb(255 255 255 / 78%);
    margin: 0;
}

.content-teaser h2,
.content-feature-grid h2,
.content-media-text h2,
.content-form h2 {
    color: var(--ink);
    font-size: 1.3rem;
    line-height: 1.2;
    margin: 0 0 0.65rem;
}

.content-teaser p,
.content-feature-grid p,
.content-media-text p,
.content-form p {
    color: var(--muted);
    margin: 0;
}

.content-teaser-label {
    color: var(--accent);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0;
    margin: 0 0 0.55rem;
    text-transform: uppercase;
}

.text-link {
    color: var(--accent);
    display: inline-flex;
    font-weight: 850;
    margin-top: 1rem;
    text-decoration: none;
}

.button {
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 44px;
    padding: 0 1rem;
    text-decoration: none;
}

.button.primary {
    background: var(--accent);
    border-color: var(--accent);
    color: #ffffff;
}

.button.secondary {
    background: #ffffff;
    color: var(--accent);
}

.content-quote blockquote {
    color: var(--ink);
    font-size: 1.55rem;
    line-height: 1.25;
    margin: 0;
}

.content-quote figcaption {
    color: var(--muted);
    font-weight: 750;
    margin-top: 1rem;
}

.content-feature-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.content-media-text {
    align-items: center;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.content-media-text.image-right img {
    order: 2;
}

.content-media-text img {
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    height: auto;
    object-fit: cover;
    width: 100%;
}

.content-divider {
    align-items: center;
    color: var(--muted);
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr auto 1fr;
}

.content-divider hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin: 0;
}

.content-divider span {
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.content-form {
    display: grid;
    gap: 1.2rem;
}

.content-form form {
    display: grid;
    gap: 0.9rem;
}

.nimbus-hp {
    height: 0;
    left: -10000px;
    overflow: hidden;
    position: absolute;
    width: 0;
}

.content-form-field {
    color: var(--ink);
    display: grid;
    font-weight: 750;
    gap: 0.35rem;
}

.content-form-field input,
.content-form-field textarea,
.content-form-field select {
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--text);
    font: inherit;
    min-height: 44px;
    padding: 0.7rem 0.8rem;
    width: 100%;
}

.content-form-field textarea {
    min-height: 130px;
    resize: vertical;
}

.content-form-check {
    align-items: center;
    display: flex;
}

.content-form-check input {
    min-height: 0;
    width: auto;
}

.rich-text td .content-hero,
.rich-text td .content-teaser,
.rich-text td .content-quote,
.rich-text td .content-cta,
.rich-text td .content-media-text,
.rich-text td .content-form {
    box-shadow: none;
    margin: 0;
}

.rich-text td .content-hero h2,
.rich-text td .content-cta h2 {
    font-size: 1.45rem;
}

.site-footer {
    align-items: start;
    background: #ffffff;
    border-top: 1px solid var(--line);
    color: var(--muted);
    display: grid;
    gap: 2rem 3rem;
    grid-template-columns: minmax(0, 1fr) minmax(280px, auto);
    padding: 2rem 5vw;
}

.site-footer-brand {
    max-width: 760px;
}

.site-footer strong {
    color: var(--ink);
    display: block;
}

.site-footer p,
.site-footer small {
    margin: 0;
}

.site-footer small {
    white-space: nowrap;
}

@media (max-width: 860px) {
    .site-header {
        align-items: flex-start;
        flex-direction: column;
        padding-bottom: 1rem;
        padding-top: 1rem;
    }

    .site-footer,
    .site-hero,
    .content-media-text,
    .content-feature-grid {
        grid-template-columns: 1fr;
    }

    .site-footer-navs,
    .site-footer-navs nav {
        justify-content: flex-start;
    }

    .site-footer-actions {
        align-items: flex-start;
        justify-self: start;
        text-align: left;
    }

    .site-footer small {
        white-space: normal;
    }

    .content-media-text.image-right img {
        order: 0;
    }
}

@media (max-width: 520px) {
    .button {
        width: 100%;
    }
}

.nimbus-product.product-home,
.nimbus-product.page-variant-landing {
    --product-bg: #f5f7fa;
    --product-ink: #0f172a;
    --product-muted: #506176;
    --product-blue: #1d5cff;
    --product-teal: #0f8b7c;
    --product-amber: #ffb000;
    --product-red: #d83b3b;
    background: var(--product-bg);
}

.nimbus-product.product-home .site-header,
.nimbus-product.page-variant-landing .site-header {
    background: rgb(245 247 250 / 88%);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgb(15 23 42 / 10%);
}

.nimbus-product.product-home .site-header nav a,
.nimbus-product.page-variant-landing .site-header nav a {
    color: #3f4f63;
}

.nimbus-product.product-home .site-header nav a:hover,
.nimbus-product.page-variant-landing .site-header nav a:hover {
    color: var(--product-blue);
}

.nimbus-product.product-home .product-home-hero {
    background: #111827;
    display: grid;
    min-height: min(700px, 72svh);
    overflow: hidden;
    padding: clamp(2.8rem, 5.5vw, 4.75rem) 5vw clamp(2rem, 4vw, 3.25rem);
    position: relative;
}

.product-hero-image {
    background:
        linear-gradient(90deg, rgb(245 247 250 / 98%) 0%, rgb(245 247 250 / 91%) 34%, rgb(245 247 250 / 34%) 58%, rgb(245 247 250 / 0%) 100%),
        linear-gradient(180deg, rgb(245 247 250 / 0%) 0%, rgb(245 247 250 / 8%) 62%, rgb(245 247 250 / 70%) 100%),
        url("/nimbus-assets/themes/nimbus-product/assets/home-hero.webp") center right / cover no-repeat;
    inset: 0;
    position: absolute;
}

.product-hero-image::after {
    background:
        linear-gradient(90deg, rgb(15 23 42 / 7%) 1px, transparent 1px),
        linear-gradient(180deg, rgb(15 23 42 / 7%) 1px, transparent 1px);
    background-size: 44px 44px;
    content: "";
    inset: 0 54% 0 0;
    mask-image: linear-gradient(90deg, #000 0%, transparent 96%);
    position: absolute;
}

.product-hero-copy {
    align-self: center;
    max-width: 720px;
    position: relative;
    z-index: 1;
}

.nimbus-product.product-home .product-hero-copy .eyebrow,
.nimbus-product.page-variant-landing .page-heading .eyebrow {
    color: var(--product-teal);
    letter-spacing: 0;
}

.nimbus-product.product-home h1 {
    color: var(--product-ink);
    font-size: clamp(3.2rem, 6.4vw, 6.8rem);
    letter-spacing: 0;
    line-height: 0.9;
    max-width: 760px;
}

.nimbus-product.product-home .summary {
    color: #324256;
    font-size: clamp(1.08rem, 1.45vw, 1.36rem);
    font-weight: 560;
    line-height: 1.62;
    margin-top: 1.45rem;
    max-width: 660px;
}

.hero-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 2rem;
}

.nimbus-product.product-home .button.primary,
.nimbus-product.page-variant-landing .button.primary {
    background: var(--product-blue);
    border-color: var(--product-blue);
    border-radius: 999px;
    min-height: 50px;
    padding: 0 1.35rem;
}

.nimbus-product.product-home .button.secondary,
.nimbus-product.page-variant-landing .button.secondary {
    background: rgb(255 255 255 / 74%);
    border-color: rgb(15 23 42 / 18%);
    border-radius: 999px;
    color: var(--product-ink);
    min-height: 50px;
    padding: 0 1.35rem;
}

.product-hero-proof {
    border-top: 1px solid rgb(15 23 42 / 18%);
    display: grid;
    gap: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: clamp(1.6rem, 4vw, 3rem) 0 0;
    max-width: 860px;
}

.product-hero-proof div {
    border-right: 1px solid rgb(15 23 42 / 14%);
    padding: 1rem 1.15rem 0 0;
}

.product-hero-proof div:last-child {
    border-right: 0;
}

.product-hero-proof dt {
    color: var(--product-ink);
    font-size: 0.8rem;
    font-weight: 920;
    text-transform: uppercase;
}

.product-hero-proof dd {
    color: #526175;
    font-size: 0.92rem;
    line-height: 1.45;
    margin: 0.45rem 0 0;
}

.product-belief-strip {
    background: var(--product-ink);
    color: #ffffff;
    padding: clamp(2.6rem, 5vw, 5rem) 5vw;
}

.product-belief-strip p {
    font-size: clamp(1.55rem, 3.8vw, 4.2rem);
    font-weight: 820;
    letter-spacing: 0;
    line-height: 0.98;
    margin: 0;
    max-width: 1280px;
}

.product-home-flow {
    background: #ffffff;
    display: grid;
    grid-template-columns: minmax(1.2rem, 1fr) repeat(12, minmax(0, 88px)) minmax(1.2rem, 1fr);
    padding: clamp(3rem, 6vw, 6rem) 0;
}

.product-home-flow div {
    border-top: 3px solid var(--product-ink);
    min-height: 245px;
    padding: 1.2rem 1.25rem 0 0;
}

.product-home-flow div:nth-child(1) {
    grid-column: 3 / span 4;
}

.product-home-flow div:nth-child(2) {
    border-top-color: var(--product-blue);
    grid-column: 7 / span 3;
}

.product-home-flow div:nth-child(3) {
    border-top-color: var(--product-teal);
    grid-column: 10 / span 4;
}

.product-home-flow span {
    color: var(--product-amber);
    display: block;
    font-size: 0.8rem;
    font-weight: 930;
    margin-bottom: 1.8rem;
}

.product-home-flow strong {
    color: var(--product-ink);
    display: block;
    font-size: clamp(1.45rem, 2.5vw, 2.4rem);
    line-height: 1.02;
}

.product-home-flow p {
    color: var(--product-muted);
    line-height: 1.62;
    max-width: 34rem;
}

.nimbus-product.product-home .home-blocks {
    display: block;
    margin: 0;
    max-width: none;
    padding: 0;
}

.nimbus-product.product-home .template-slot {
    display: block;
}

.nimbus-product.product-home .home-blocks .rich-text,
.nimbus-product.page-variant-landing .content-blocks .rich-text {
    display: grid;
    font-size: 1.06rem;
    column-gap: clamp(0.9rem, 2vw, 1.25rem);
    grid-template-columns: minmax(1.2rem, 1fr) repeat(12, minmax(0, 88px)) minmax(1.2rem, 1fr);
    max-width: none;
    row-gap: clamp(1rem, 2vw, 1.35rem);
}

.nimbus-product.product-home .home-blocks .rich-text {
    padding: clamp(3.2rem, 7vw, 6.5rem) 0 0;
}

.nimbus-product.product-home .home-blocks .rich-text > *,
.nimbus-product.page-variant-landing .content-blocks .rich-text > * {
    grid-column: 2 / 14;
}

.nimbus-product.product-home .home-blocks .rich-text > p:first-child,
.nimbus-product.page-variant-landing .content-blocks .rich-text > p:first-child {
    color: var(--product-ink);
    font-size: clamp(1.45rem, 2.8vw, 2.7rem);
    font-weight: 760;
    grid-column: 2 / 13;
    line-height: 1.16;
    margin: 0 0 clamp(3rem, 7vw, 5rem);
}

.nimbus-product.product-home .home-blocks .rich-text > h2,
.nimbus-product.page-variant-landing .content-blocks .rich-text > h2 {
    color: var(--product-ink);
    font-size: clamp(2.25rem, 4.6vw, 4.8rem);
    letter-spacing: 0;
    line-height: 0.96;
    margin: clamp(3rem, 7vw, 5.5rem) 0 1.25rem;
}

.nimbus-product.product-home .home-blocks .rich-text > h2:first-of-type,
.nimbus-product.page-variant-landing .content-blocks .rich-text > h2:first-of-type {
    margin-top: 0;
}

.nimbus-product.product-home .home-blocks .rich-text > h2 + p,
.nimbus-product.page-variant-landing .content-blocks .rich-text > h2 + p {
    color: var(--product-muted);
    font-size: clamp(1rem, 1.35vw, 1.22rem);
    line-height: 1.68;
    max-width: 760px;
}

.nimbus-product.product-home .home-blocks .content-teaser,
.nimbus-product.page-variant-landing .content-blocks .content-teaser {
    align-content: start;
    background: #ffffff;
    border: 1px solid rgb(15 23 42 / 10%);
    border-radius: 8px;
    border-top: 4px solid var(--product-ink);
    box-shadow: 0 18px 44px rgb(15 23 42 / 7%);
    display: grid;
    gap: 0.75rem;
    min-height: 250px;
    padding: clamp(1.2rem, 2vw, 1.55rem);
}

.nimbus-product.product-home .home-blocks .content-teaser-label,
.nimbus-product.page-variant-landing .content-blocks .content-teaser-label {
    color: var(--product-teal);
    font-size: 0.72rem;
    font-weight: 930;
    letter-spacing: 0;
    line-height: 1;
    margin: 0;
    text-transform: uppercase;
}

.nimbus-product.product-home .home-blocks .content-teaser h2,
.nimbus-product.page-variant-landing .content-blocks .content-teaser h2 {
    color: var(--product-ink);
    font-size: clamp(1.3rem, 1.65vw, 1.85rem);
    line-height: 1.08;
    margin: 0;
}

.nimbus-product.product-home .home-blocks .content-teaser p,
.nimbus-product.page-variant-landing .content-blocks .content-teaser p {
    color: var(--product-muted);
    line-height: 1.56;
    margin: 0;
}

.nimbus-product.product-home .home-blocks .content-teaser:nth-of-type(3n + 1),
.nimbus-product.page-variant-landing .content-blocks .content-teaser:nth-of-type(3n + 1) {
    grid-column: 2 / span 4;
}

.nimbus-product.product-home .home-blocks .content-teaser:nth-of-type(3n + 2),
.nimbus-product.page-variant-landing .content-blocks .content-teaser:nth-of-type(3n + 2) {
    border-top-color: var(--product-blue);
    grid-column: 6 / span 4;
}

.nimbus-product.product-home .home-blocks .content-teaser:nth-of-type(3n),
.nimbus-product.page-variant-landing .content-blocks .content-teaser:nth-of-type(3n) {
    border-top-color: var(--product-teal);
    grid-column: 10 / span 4;
}

.nimbus-product.product-home .home-blocks .rich-text table,
.nimbus-product.page-variant-landing .content-blocks .rich-text table {
    background: #ffffff;
    border: 1px solid rgb(15 23 42 / 22%);
    border-collapse: collapse;
    box-shadow: 0 26px 60px rgb(15 23 42 / 8%);
    margin: 1.6rem 0 2.2rem;
}

.nimbus-product.product-home .home-blocks .rich-text th,
.nimbus-product.page-variant-landing .content-blocks .rich-text th {
    background: var(--product-ink);
    color: #ffffff;
    font-size: 0.82rem;
    letter-spacing: 0;
    text-transform: uppercase;
}

.nimbus-product.product-home .home-blocks .rich-text td,
.nimbus-product.product-home .home-blocks .rich-text th,
.nimbus-product.page-variant-landing .content-blocks .rich-text td,
.nimbus-product.page-variant-landing .content-blocks .rich-text th {
    border-color: rgb(15 23 42 / 15%);
    padding: clamp(0.95rem, 2vw, 1.35rem);
}

.nimbus-product.product-home .home-blocks .rich-text td:first-child,
.nimbus-product.page-variant-landing .content-blocks .rich-text td:first-child {
    color: var(--product-ink);
    font-weight: 900;
    width: 28%;
}

.nimbus-product.product-home .home-blocks .rich-text ul,
.nimbus-product.page-variant-landing .content-blocks .rich-text ul {
    display: grid;
    gap: 0;
    list-style: none;
    margin: 1.5rem 0 2rem;
    padding: 0;
}

.nimbus-product.product-home .home-blocks .rich-text li,
.nimbus-product.page-variant-landing .content-blocks .rich-text li {
    border-top: 1px solid rgb(15 23 42 / 18%);
    color: #334155;
    font-size: clamp(1.05rem, 1.45vw, 1.23rem);
    font-weight: 720;
    padding: 1.1rem 0;
}

.nimbus-product.product-home .home-blocks .content-cta,
.nimbus-product.page-variant-landing .content-blocks .content-cta {
    background:
        linear-gradient(90deg, rgb(255 255 255 / 7%) 1px, transparent 1px),
        linear-gradient(180deg, rgb(255 255 255 / 7%) 1px, transparent 1px),
        var(--product-ink);
    background-size: 38px 38px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #ffffff;
    grid-column: 1 / -1;
    margin-top: clamp(3rem, 8vw, 6rem);
}

.nimbus-product.product-home .home-blocks .content-cta-body,
.nimbus-product.page-variant-landing .content-blocks .content-cta-body {
    margin: 0 auto;
    max-width: 1180px;
    min-height: 390px;
    padding: clamp(3rem, 8vw, 6rem) 5vw;
    position: relative;
}

.nimbus-product.product-home .home-blocks .content-cta-body::after,
.nimbus-product.page-variant-landing .content-blocks .content-cta-body::after {
    background:
        linear-gradient(90deg, var(--product-blue) 0 44%, transparent 44% 100%),
        linear-gradient(180deg, transparent 0 48%, var(--product-teal) 48% 100%);
    content: "";
    height: clamp(140px, 24vw, 260px);
    position: absolute;
    right: 5vw;
    top: 50%;
    transform: translateY(-50%) rotate(-3deg);
    width: clamp(180px, 30vw, 380px);
}

.nimbus-product.product-home .home-blocks .content-cta h2,
.nimbus-product.product-home .home-blocks .content-cta p,
.nimbus-product.product-home .home-blocks .content-cta .button,
.nimbus-product.page-variant-landing .content-blocks .content-cta h2,
.nimbus-product.page-variant-landing .content-blocks .content-cta p,
.nimbus-product.page-variant-landing .content-blocks .content-cta .button {
    max-width: 680px;
    position: relative;
    z-index: 1;
}

.nimbus-product.product-home .home-blocks .content-cta h2,
.nimbus-product.page-variant-landing .content-blocks .content-cta h2 {
    font-size: clamp(2.6rem, 6vw, 6rem);
    line-height: 0.9;
}

.nimbus-product.page-variant-landing .page-shell-landing {
    margin: 0;
    max-width: none;
    padding: 0;
}

.nimbus-product.page-variant-landing .content-page-landing {
    display: block;
}

.nimbus-product.page-variant-landing .page-heading {
    background:
        linear-gradient(90deg, rgb(245 247 250 / 98%) 0%, rgb(245 247 250 / 86%) 45%, rgb(245 247 250 / 18%) 100%),
        url("/nimbus-assets/themes/nimbus-product/assets/home-hero.webp") center right / cover no-repeat;
    border: 0;
    border-radius: 0;
    min-height: min(620px, 62svh);
    padding: clamp(4rem, 8vw, 7rem) 5vw clamp(3rem, 6vw, 5rem);
}

.nimbus-product.page-variant-landing .page-heading h1 {
    color: var(--product-ink);
    font-size: clamp(3rem, 7vw, 7.2rem);
    letter-spacing: 0;
    line-height: 0.9;
    max-width: 900px;
}

.nimbus-product.page-variant-landing .page-heading .summary {
    color: #344357;
    font-size: clamp(1.08rem, 1.5vw, 1.35rem);
    line-height: 1.62;
    max-width: 720px;
}

.nimbus-product.page-variant-landing .content-blocks {
    display: block;
    min-width: 0;
}

.nimbus-product.page-variant-landing .content-blocks .rich-text {
    padding: clamp(3.2rem, 7vw, 6.5rem) 0 0;
}

@media (max-width: 980px) {
    .nimbus-product.product-home .product-home-hero,
    .nimbus-product.page-variant-landing .page-heading {
        min-height: auto;
    }

    .product-hero-image,
    .nimbus-product.page-variant-landing .page-heading {
        background-position: center right 22%;
    }

    .product-hero-proof,
    .product-home-flow {
        grid-template-columns: 1fr;
    }

    .product-hero-proof div {
        border-right: 0;
    }

    .product-home-flow {
        display: grid;
        padding: 3rem 5vw;
    }

    .product-home-flow div,
    .product-home-flow div:nth-child(1),
    .product-home-flow div:nth-child(2),
    .product-home-flow div:nth-child(3) {
        grid-column: auto;
        min-height: 0;
    }

    .nimbus-product.product-home .home-blocks .rich-text,
    .nimbus-product.page-variant-landing .content-blocks .rich-text {
        display: block;
        max-width: 100%;
        min-width: 0;
        padding: 3rem 5vw 0;
        width: 100%;
        overflow-wrap: anywhere;
    }

    .nimbus-product.product-home .home-blocks .rich-text > p:first-child,
    .nimbus-product.product-home .home-blocks .rich-text > h2 + p,
    .nimbus-product.page-variant-landing .content-blocks .rich-text > p:first-child,
    .nimbus-product.page-variant-landing .content-blocks .rich-text > h2 + p {
        max-width: none;
    }

    .nimbus-product.product-home .home-blocks .content-teaser,
    .nimbus-product.page-variant-landing .content-blocks .content-teaser {
        min-height: 0;
    }

    .nimbus-product.product-home .home-blocks .content-cta,
    .nimbus-product.page-variant-landing .content-blocks .content-cta {
        margin-left: -5vw;
        margin-right: -5vw;
    }

    .nimbus-product.product-home .home-blocks .content-cta-body::after,
    .nimbus-product.page-variant-landing .content-blocks .content-cta-body::after {
        opacity: 0.22;
    }
}

@media (max-width: 620px) {
    .nimbus-product.product-home .product-home-hero,
    .nimbus-product.page-variant-landing .page-heading {
        padding-bottom: 2rem;
        padding-top: 3rem;
    }

    .product-hero-image {
        background:
            linear-gradient(180deg, rgb(245 247 250 / 95%) 0%, rgb(245 247 250 / 82%) 56%, rgb(245 247 250 / 98%) 100%),
            url("/nimbus-assets/themes/nimbus-product/assets/home-hero.webp") center right 28% / cover no-repeat;
    }

    .nimbus-product.product-home h1,
    .nimbus-product.page-variant-landing .page-heading h1 {
        font-size: clamp(3rem, 15vw, 5.2rem);
    }

    .hero-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .product-hero-proof {
        display: none;
    }

    .product-belief-strip p {
        line-height: 1.06;
    }

    .nimbus-product.product-home .home-blocks .rich-text table,
    .nimbus-product.page-variant-landing .content-blocks .rich-text table {
        display: block;
        overflow-x: auto;
    }

    .nimbus-product.product-home .home-blocks .content-cta-body,
    .nimbus-product.page-variant-landing .content-blocks .content-cta-body {
        min-height: 0;
    }

    .nimbus-product.product-home .home-blocks .content-cta-body::after,
    .nimbus-product.page-variant-landing .content-blocks .content-cta-body::after {
        display: none;
    }
}
