/* /Components/Layout/PublicLayout.razor.rz.scp.css */
/* The header stays pinned to the top while the page scrolls. It needs the solid ground behind it
   so content does not show through, and a z-index above the page's own stacked cells (.lane). */
.site-header[b-lfmm0f6623] {
    position: sticky;
    top: 0;
    z-index: 20;
    background: var(--ground);
    border-bottom: 1px solid var(--hairline);
}

.site-header-inner[b-lfmm0f6623] {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: var(--header-height);
}

.brand[b-lfmm0f6623] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.wordmark[b-lfmm0f6623] {
    font-size: 19px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--text);
}

.site-nav[b-lfmm0f6623] {
    display: flex;
    gap: 32px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-lead);
    white-space: nowrap;
}

.site-nav a:hover[b-lfmm0f6623] {
    color: var(--text);
}

.site-actions[b-lfmm0f6623] {
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.header-signin[b-lfmm0f6623] {
    margin-right: 12px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-lead);
}

.header-signin:hover[b-lfmm0f6623] {
    color: var(--text);
}

.header-email[b-lfmm0f6623] {
    margin-right: 12px;
    font-size: 12px;
    color: var(--text-muted);
}

.signout-form[b-lfmm0f6623] {
    display: inline-flex;
}

.nav-burger[b-lfmm0f6623] {
    display: none;
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-lead);
    cursor: pointer;
    padding: 8px 0;
}

.nav-burger:hover[b-lfmm0f6623] {
    color: var(--text);
}

/* Above the menu breakpoint the label is gone, so the checkbox must leave the tab order too:
   visually-hidden alone would keep an invisible stop between the wordmark and the first link.
   This edge must move together with the max-width: 767px collapse below. */
@media (min-width: 768px) {
    .nav-toggle[b-lfmm0f6623] {
        display: none;
    }
}

.nav-toggle:focus-visible + .nav-burger[b-lfmm0f6623] {
    outline: 1px solid var(--text);
    outline-offset: 3px;
}

.site-footer[b-lfmm0f6623] {
    border-top: 1px solid var(--hairline);
}

.site-footer-inner[b-lfmm0f6623] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* Longhands only: the padding shorthand here would cancel the gutter .wrap sets on the sides. */
    padding-top: 24px;
    padding-bottom: 32px;
}

.footer-brand[b-lfmm0f6623] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.footer-legal[b-lfmm0f6623] {
    font-size: 12px;
    color: var(--text-muted);
}

.footer-nav[b-lfmm0f6623] {
    display: flex;
    gap: 24px;
    font-size: 12px;
    color: var(--text-muted);
}

.footer-nav a:hover[b-lfmm0f6623] {
    color: var(--text);
}

/* From 1024 down the secondary header button goes, so the header stays on one line down to 768. */
@media (max-width: 1024px) {
    .site-actions[b-lfmm0f6623]  .action-secondary {
        display: none;
    }
}

/* From 767 down the nav collapses into a menu opened by the checkbox. No JavaScript.
   The footer stacks at the same width: its five links and the legal line stop fitting on one row.
   This edge must move together with the min-width: 768px toggle-hide above. */
@media (max-width: 767px) {
    .site-header-inner[b-lfmm0f6623] {
        gap: 16px;
    }

    .nav-burger[b-lfmm0f6623] {
        display: inline-flex;
        margin-left: auto;
    }

    .site-nav[b-lfmm0f6623] {
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        top: var(--header-height);
        z-index: 10;
        flex-direction: column;
        gap: 0;
        padding: 8px var(--gutter) 16px;
        background: var(--ground);
        border-bottom: 1px solid var(--hairline);
    }

    .site-nav a[b-lfmm0f6623] {
        padding: 12px 0;
        border-top: 1px solid var(--hairline);
        font-size: 15px;
    }

    .nav-toggle:checked ~ .site-nav[b-lfmm0f6623] {
        display: flex;
    }

    .site-footer-inner[b-lfmm0f6623] {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .footer-nav[b-lfmm0f6623] {
        flex-wrap: wrap;
        gap: 16px 24px;
    }
}
/* /Components/Pages/Account/AccountShell.razor.rz.scp.css */
.account-hero[b-p9c5izhmjr] {
    position: relative;
    overflow: hidden;
    background-image:
        linear-gradient(var(--hairline-07) 1px, transparent 1px),
        linear-gradient(90deg, var(--hairline-07) 1px, transparent 1px);
    background-size: var(--grid-step) var(--grid-step);
}

.hero-circle[b-p9c5izhmjr] {
    position: absolute;
    right: -140px;
    top: -120px;
    box-sizing: content-box;
    width: 620px;
    height: 620px;
    border-radius: 50%;
    border: 1px solid var(--hairline-22);
}

.account-hero-inner[b-p9c5izhmjr] {
    position: relative;
    display: grid;
    grid-template-columns: 440px minmax(0, 1fr);
    gap: 80px;
    align-items: start;
    padding-top: 96px;
    padding-bottom: 104px;
}

.hero-copy[b-p9c5izhmjr] {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.account-title[b-p9c5izhmjr] {
    font-size: 64px;
    line-height: 0.98;
    font-weight: 600;
    letter-spacing: -0.035em;
    color: var(--text);
}

.account-lead[b-p9c5izhmjr] {
    font-size: 18px;
}

.account-stats[b-p9c5izhmjr] {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--hairline);
}

.account-stat[b-p9c5izhmjr] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--hairline);
}

.account-stat-key[b-p9c5izhmjr] {
    font-size: 13px;
    color: var(--text-lead);
}

.tagline[b-p9c5izhmjr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 6px;
}

.account-panel-col[b-p9c5izhmjr] {
    display: flex;
    justify-content: center;
}

@media (max-width: 1279px) {
    .account-hero-inner[b-p9c5izhmjr] {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: 48px;
    }

    .account-title[b-p9c5izhmjr] {
        font-size: clamp(44px, 5.5vw, 64px);
    }
}

@media (max-width: 1023px) {
    .account-hero-inner[b-p9c5izhmjr] {
        grid-template-columns: minmax(0, 1fr);
        gap: 48px;
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .hero-circle[b-p9c5izhmjr] {
        right: -260px;
        top: -260px;
    }

    .account-panel-col[b-p9c5izhmjr] {
        justify-content: stretch;
    }
}

@media (max-width: 767px) {
    .account-title[b-p9c5izhmjr] {
        font-size: clamp(38px, 10vw, 52px);
    }

    .account-stat[b-p9c5izhmjr] {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
}
/* /Components/Pages/Home/BlockTree.razor.rz.scp.css */
/* The block tree, drawn to docs/design/reference-home-blocks-tree.png at 1200 wide.
   Every line is a pseudo-element; every box is ground-coloured so it covers the drafting grid. */
.tree[b-kqsaf4p8jw] {
    --box-w: 104px;
    --box-h: 64px;
    --gap: 18px;
    --step: calc(var(--box-w) + var(--gap));
    --line: var(--hairline-28);
    --edge: var(--hairline-60);
    --edge-coming: var(--hairline-28);
    position: relative;
    padding: 30px 0 66px;
    border-top: 1px solid var(--hairline);
    background-image:
        linear-gradient(var(--hairline-07) 1px, transparent 1px),
        linear-gradient(90deg, var(--hairline-07) 1px, transparent 1px);
    background-size: var(--grid-step) var(--grid-step);
}

.tree-blocks[b-kqsaf4p8jw],
.tree-kids[b-kqsaf4p8jw],
.tree-legend[b-kqsaf4p8jw] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tree-box[b-kqsaf4p8jw],
.tree-root[b-kqsaf4p8jw] {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--ground);
    border: 1px solid var(--edge);
    color: var(--text);
    font-weight: 600;
}

.tree-root[b-kqsaf4p8jw] {
    position: relative;
    flex-direction: column;
    gap: 10px;
    width: 200px;
    height: 92px;
    margin: 0 auto;
    font-size: 22px;
    line-height: 1;
    letter-spacing: -0.01em;
}

/* The trunk: from the root down to the bus. */
.tree-root[b-kqsaf4p8jw]::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    width: 1px;
    height: 33px;
    background: var(--line);
}

.tree-blocks[b-kqsaf4p8jw] {
    position: relative;
    display: grid;
    grid-template-columns: repeat(var(--cols), var(--box-w));
    justify-content: space-between;
    margin-top: 33px;
    padding-top: 39px;
}

/* The bus: first box centre to last box centre. */
.tree-blocks[b-kqsaf4p8jw]::before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(var(--box-w) / 2);
    right: calc(var(--box-w) / 2);
    border-top: 1px solid var(--line);
}

.tree-block[b-kqsaf4p8jw],
.tree-kid[b-kqsaf4p8jw] {
    position: relative;
}

/* The drop from the bus to each box. */
.tree-block[b-kqsaf4p8jw]::before,
.tree-kid[b-kqsaf4p8jw]::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 100%;
    width: 1px;
    height: 39px;
    background: var(--line);
}

.tree-box[b-kqsaf4p8jw] {
    position: relative;
    width: var(--box-w);
    height: var(--box-h);
    padding: 0 6px;
    font-size: 15px;
    line-height: 1.15;
}

.is-coming > .tree-box[b-kqsaf4p8jw] {
    border-color: var(--edge-coming);
    color: var(--text-muted);
}

.is-yours > .tree-box[b-kqsaf4p8jw] {
    border-color: var(--brand-yellow);
    color: var(--brand-yellow);
}

/* The children: a second bus centred under their block. The list is as wide as its column and its
   boxes overflow it evenly on both sides, so the group is centred on the box above. */
.tree-kids[b-kqsaf4p8jw] {
    position: relative;
    display: flex;
    justify-content: center;
    gap: var(--gap);
    margin-top: 40px;
    padding-top: 28px;
}

/* The drop from the parent box to that bus. */
.tree-block:has(> .tree-kids) > .tree-box[b-kqsaf4p8jw]::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100%;
    width: 1px;
    height: 40px;
    background: var(--line);
}

/* Solid bus from the first child's centre to the last one's. */
.tree-kids[b-kqsaf4p8jw]::before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(50% - (var(--kids) - 1) / 2 * var(--step));
    width: calc((var(--kids) - 1) * var(--step));
    border-top: 1px solid var(--line);
}

.tree-kid[b-kqsaf4p8jw]::before {
    height: 28px;
}

/* When the last child is the one you add, a negative margin takes it out of the centring so the
   shipped ones stay centred on the block above, and the bus reaches it dashed. */
.tree-kids > .is-yours:last-child[b-kqsaf4p8jw] {
    margin-right: calc(-1 * var(--step));
}

.tree-kids:has(> .is-yours:last-child)[b-kqsaf4p8jw]::before {
    left: calc(50% - (var(--kids) - 2) / 2 * var(--step));
    width: calc((var(--kids) - 2) * var(--step));
}

.tree-kids:has(> .is-yours:last-child)[b-kqsaf4p8jw]::after {
    content: "";
    position: absolute;
    top: 0;
    left: calc(50% + (var(--kids) - 2) / 2 * var(--step));
    width: var(--step);
    border-top: 1px dashed var(--line);
}

.tree-kid.is-yours[b-kqsaf4p8jw]::before {
    width: 0;
    background: none;
    border-left: 1px dashed var(--line);
}

/* Legend and footnote */
.tree-legend[b-kqsaf4p8jw] {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin-top: 10px;
}

.tree-legend-item[b-kqsaf4p8jw] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.tree-swatch[b-kqsaf4p8jw] {
    width: 12px;
    height: 12px;
    border: 1px solid var(--hairline-60);
}

.is-coming > .tree-swatch[b-kqsaf4p8jw] {
    border-color: var(--hairline-28);
}

.is-yours > .tree-swatch[b-kqsaf4p8jw] {
    border-color: var(--brand-yellow);
}

.tree-note[b-kqsaf4p8jw] {
    font-size: 12px;
    line-height: 1.6;
    color: var(--text-muted);
    padding-bottom: 32px;
    border-bottom: 1px solid var(--hairline);
}

/* Between 1024 and 1279 the ten boxes stay in one row, narrower. */
@media (max-width: 1279px) {
    .tree[b-kqsaf4p8jw] {
        --box-w: 82px;
        --box-h: 56px;
        --gap: 12px;
    }

    .tree-box[b-kqsaf4p8jw] {
        padding: 0 2px;
        font-size: 12px;
    }
}

/* Below 1024 the drawing goes and the tree becomes an indented outline. */
@media (max-width: 1023px) {
    .tree[b-kqsaf4p8jw] {
        padding: 24px 0 40px;
    }

    .tree-root[b-kqsaf4p8jw] {
        margin: 0;
        width: 180px;
        height: 80px;
        font-size: 20px;
    }

    .tree-root[b-kqsaf4p8jw]::after,
    .tree-blocks[b-kqsaf4p8jw]::before,
    .tree-kids[b-kqsaf4p8jw]::before,
    .tree-kids:has(> .is-yours:last-child)[b-kqsaf4p8jw]::after,
    .tree-block:has(> .tree-kids) > .tree-box[b-kqsaf4p8jw]::after {
        content: none;
    }

    .tree-kids > .is-yours:last-child[b-kqsaf4p8jw] {
        margin-right: 0;
    }

    .tree-blocks[b-kqsaf4p8jw],
    .tree-kids[b-kqsaf4p8jw] {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin: 10px 0 0 24px;
        padding: 0 0 0 24px;
        border-left: 1px solid var(--line);
    }

    /* The tick from the rail to each box. */
    .tree-block[b-kqsaf4p8jw]::before,
    .tree-kid[b-kqsaf4p8jw]::before,
    .tree-kid.is-yours[b-kqsaf4p8jw]::before {
        left: -24px;
        bottom: auto;
        top: 24px;
        width: 16px;
        height: 1px;
        background: var(--line);
        border: 0;
    }

    .tree-box[b-kqsaf4p8jw] {
        display: inline-flex;
        width: auto;
        min-width: 120px;
        height: 48px;
        padding: 0 16px;
        font-size: 14px;
    }
}
/* /Components/Pages/Home/ComparisonTable.razor.rz.scp.css */
.comparison[b-9nllc6v1qp] {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding-top: 24px;
}

.comparison-head[b-9nllc6v1qp] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

.legend[b-9nllc6v1qp] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 20px;
}

.legend-item[b-9nllc6v1qp] {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.legend-item[b-9nllc6v1qp]  .shape,
.cmp-head[b-9nllc6v1qp]  .cmp-shape {
    margin-right: 10px;
}

.cmp-label[b-9nllc6v1qp]  .cmp-shape-label {
    margin-right: 8px;
}

.cmp-cell-span[b-9nllc6v1qp] {
    grid-column: 2 / -1;
}

.cmp[b-9nllc6v1qp] {
    display: grid;
    grid-template-columns: 220px repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--hairline);
}

/* Rows are only semantics; the cells are the grid items. */
.cmp-rows[b-9nllc6v1qp],
.cmp-row[b-9nllc6v1qp] {
    display: contents;
}

.cmp-corner[b-9nllc6v1qp],
.cmp-head[b-9nllc6v1qp],
.cmp-label[b-9nllc6v1qp],
.cmp-cell[b-9nllc6v1qp] {
    padding: 14px 16px 14px 0;
    border-bottom: 1px solid var(--hairline-14);
    font-size: 14px;
    line-height: 1.45;
    color: var(--text-body);
}

.cmp-corner[b-9nllc6v1qp],
.cmp-head[b-9nllc6v1qp] {
    padding: 12px 16px 12px 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
}

.cmp-label[b-9nllc6v1qp] {
    font-family: var(--font-mono);
    font-size: 11.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    padding-top: 16px;
}

/* Below 1024: one stacked card per lane, the row labels repeated in front of each value. */
@media (max-width: 1023px) {
    .cmp[b-9nllc6v1qp] {
        grid-template-columns: minmax(0, 1fr);
        border-top: 0;
    }

    .cmp-corner[b-9nllc6v1qp],
    .cmp-label[b-9nllc6v1qp] {
        display: none;
    }

    .cmp-head[b-9nllc6v1qp],
    .cmp-cell[b-9nllc6v1qp] {
        order: var(--o);
    }

    .cmp-cell-span[b-9nllc6v1qp] {
        grid-column: auto;
        margin-bottom: 24px;
        border-top: 1px solid var(--hairline);
    }

    .cmp-head[b-9nllc6v1qp] {
        margin-top: 40px;
        padding: 0 0 12px;
        border-bottom: 1px solid var(--hairline);
        font-size: 22px;
    }

    .cmp-head-first[b-9nllc6v1qp] {
        margin-top: 0;
    }

    .cmp-cell[b-9nllc6v1qp] {
        display: grid;
        grid-template-columns: 160px minmax(0, 1fr);
        gap: 16px;
    }

    .cmp-cell[b-9nllc6v1qp]::before {
        content: attr(data-label);
        font-family: var(--font-mono);
        font-size: 11px;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--text-muted);
        padding-top: 3px;
    }
}

@media (max-width: 767px) {
    .cmp-cell[b-9nllc6v1qp] {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }
}
/* /Components/Pages/Home/HeroStats.razor.rz.scp.css */
.stats[b-vcr2p39917] {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--hairline);
}

.stat[b-vcr2p39917] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 18px 0;
    border-bottom: 1px solid var(--hairline);
}

.stat-number[b-vcr2p39917] {
    font-size: 34px;
    font-weight: 400;
    letter-spacing: -0.02em;
    color: var(--text);
}

/* A word in the number slot ("audited") is set smaller than the figures. */
.stat-word[b-vcr2p39917] {
    font-size: 26px;
}

.stat-tagline[b-vcr2p39917] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 0;
}

/* The 400px column of the reference fits number and caption on one line with room to spare.
   Narrower than that the caption wraps, so it needs a gap to stay off the number. */
@media (max-width: 1279px) {
    .stat[b-vcr2p39917] {
        gap: 16px;
    }

    .stat .eyebrow[b-vcr2p39917] {
        text-align: right;
    }
}
/* /Components/Pages/Home/Home.razor.rz.scp.css */
/* 1 · brand */
.hero[b-fa3vyad6ov] {
    position: relative;
    overflow: hidden;
    background-image:
        linear-gradient(var(--hairline-07) 1px, transparent 1px),
        linear-gradient(90deg, var(--hairline-07) 1px, transparent 1px);
    background-size: var(--grid-step) var(--grid-step);
}

.hero-circle[b-fa3vyad6ov] {
    position: absolute;
    right: -140px;
    top: -120px;
    /* 620px of circle plus the 1px outline on each side, as measured off the reference render. */
    box-sizing: content-box;
    width: 620px;
    height: 620px;
    border-radius: 50%;
    border: 1px solid var(--hairline-22);
}

.hero-dot[b-fa3vyad6ov] {
    position: absolute;
    right: 140px;
    top: 160px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--brand-red);
}

.hero-inner[b-fa3vyad6ov] {
    position: relative;
    display: grid;
    grid-template-columns: 720px minmax(0, 1fr);
    gap: 80px;
    align-items: end;
    padding-top: 112px;
    padding-bottom: 96px;
}

.hero-copy[b-fa3vyad6ov] {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.hero-title[b-fa3vyad6ov] {
    font-size: 80px;
    line-height: 0.98;
    font-weight: 600;
    letter-spacing: -0.035em;
    color: var(--text);
}

.hero-lead[b-fa3vyad6ov] {
    max-width: 620px;
}

.hero-cta[b-fa3vyad6ov] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.hero-actions[b-fa3vyad6ov] {
    display: flex;
    gap: 12px;
}

.hero-note[b-fa3vyad6ov] {
    font-size: 12px;
    color: var(--text-muted);
}

/* 2 · what you get, 3 · offers, 4 · talk to us */
.sec[b-fa3vyad6ov] {
    padding: 104px 0;
    border-top: 1px solid var(--hairline);
}

.sec-inner[b-fa3vyad6ov] {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.offers[b-fa3vyad6ov] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

/* "Then extend it." sits under the cards in the title column of the section grid. */
.extend[b-fa3vyad6ov] {
    display: grid;
    grid-template-columns: 720px minmax(0, 1fr);
    gap: 80px;
    align-items: start;
    padding-top: 8px;
}

.extend-note[b-fa3vyad6ov] {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.extend-note[b-fa3vyad6ov]  .extend-shape {
    margin-top: 4px;
}

.offers-footnote[b-fa3vyad6ov] {
    font-size: 12px;
    color: var(--text-muted);
}

.sec-talk[b-fa3vyad6ov] {
    padding: 96px 0;
}

.talk-inner[b-fa3vyad6ov] {
    display: grid;
    grid-template-columns: 560px minmax(0, 1fr);
    gap: 80px;
    align-items: start;
}

.talk-copy[b-fa3vyad6ov] {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.talk-body[b-fa3vyad6ov] {
    max-width: 520px;
}

.facts[b-fa3vyad6ov] {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--hairline);
    margin-top: 8px;
}

.fact[b-fa3vyad6ov] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--hairline);
}

.fact-value[b-fa3vyad6ov] {
    font-size: 13px;
    color: var(--text-lead);
}

.fact .eyebrow[b-fa3vyad6ov] {
    text-align: right;
}

/* Responsive, per docs/design/README.md */
@media (max-width: 1279px) {
    .hero-inner[b-fa3vyad6ov] {
        grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
        gap: 48px;
    }

    .talk-inner[b-fa3vyad6ov] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 48px;
    }

    .extend[b-fa3vyad6ov] {
        grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
        gap: 48px;
    }
}

@media (max-width: 1023px) {
    .hero-inner[b-fa3vyad6ov] {
        grid-template-columns: minmax(0, 1fr);
        gap: 56px;
        padding-top: 80px;
        padding-bottom: 72px;
    }

    .hero-title[b-fa3vyad6ov] {
        font-size: clamp(48px, 9vw, 80px);
    }

    .hero-dot[b-fa3vyad6ov] {
        right: 40px;
        top: 40px;
        width: 40px;
        height: 40px;
    }

    .hero-circle[b-fa3vyad6ov] {
        right: -260px;
        top: -260px;
    }

    .sec[b-fa3vyad6ov] {
        padding: 72px 0;
    }

    .offers[b-fa3vyad6ov] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* The form stacks under its text. */
    .talk-inner[b-fa3vyad6ov] {
        grid-template-columns: minmax(0, 1fr);
        gap: 40px;
    }

    .extend[b-fa3vyad6ov] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    .hero-actions[b-fa3vyad6ov] {
        flex-wrap: wrap;
    }

    .offers[b-fa3vyad6ov] {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* /Components/Pages/Home/OfferCard.razor.rz.scp.css */
.offer[b-gvur82fcdw] {
    display: grid;
    grid-template-rows: 32px 110px 84px 44px;
    gap: 12px;
    padding: 28px;
    background: var(--surface);
    border: 1px solid var(--hairline-18);
}

.offer-transparent[b-gvur82fcdw] {
    background: transparent;
}

.offer-title[b-gvur82fcdw] {
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
    color: var(--text);
}

.offer-title[b-gvur82fcdw]  .offer-shape {
    margin-right: 10px;
}

.offer-body[b-gvur82fcdw] {
    font-size: 15px;
    line-height: 1.5;
    color: var(--text-body);
}

.offer-price[b-gvur82fcdw] {
    font-size: 12.5px;
    line-height: 1.65;
    color: var(--text-lead);
}

/* The three surface cards use a stronger border on their button than the transparent Desktop card. */
.offer:not(.offer-transparent)[b-gvur82fcdw]  .btn-secondary {
    border-color: var(--hairline-60);
}

.offer:not(.offer-transparent)[b-gvur82fcdw]  .btn-secondary:hover {
    border-color: var(--text);
}

/* The fixed rows are measured for the 288px card the 1200 wrap gives at 1280 and up.
   Any narrower and the description and the price list need more lines than the rows allow. */
@media (max-width: 1279px) {
    .offer[b-gvur82fcdw] {
        grid-template-rows: auto auto auto 44px;
    }

    .offer-title[b-gvur82fcdw]  .offer-shape {
    margin-right: 10px;
}

.offer-body[b-gvur82fcdw] {
        min-height: 0;
    }
}
/* /Components/Pages/Home/PrinciplesRow.razor.rz.scp.css */
.principles[b-wi8j1e64iw] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 40px;
    padding-top: 8px;
}

.principle[b-wi8j1e64iw] {
    display: grid;
    grid-template-columns: 14px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.principle[b-wi8j1e64iw]  .principle-shape {
    margin-top: 4px;
}

@media (max-width: 1023px) {
    .principles[b-wi8j1e64iw] {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
}
/* /Components/Pages/TalkToUs/TalkToUs.razor.rz.scp.css */
/* Hero: promise, steps and contact details left, the form right, on the drafting grid. */
.hero[b-pu0scwpayl] {
    position: relative;
    overflow: hidden;
    background-image:
        linear-gradient(var(--hairline-07) 1px, transparent 1px),
        linear-gradient(90deg, var(--hairline-07) 1px, transparent 1px);
    background-size: var(--grid-step) var(--grid-step);
}

.hero-circle[b-pu0scwpayl] {
    position: absolute;
    right: -140px;
    top: -120px;
    box-sizing: content-box;
    width: 620px;
    height: 620px;
    border-radius: 50%;
    border: 1px solid var(--hairline-22);
}

.hero-inner[b-pu0scwpayl] {
    position: relative;
    display: grid;
    grid-template-columns: 520px minmax(0, 1fr);
    gap: 80px;
    align-items: start;
    padding-top: 96px;
    padding-bottom: 104px;
}

.hero-copy[b-pu0scwpayl] {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.hero-title[b-pu0scwpayl] {
    font-size: 72px;
    line-height: 0.98;
    font-weight: 600;
    letter-spacing: -0.035em;
    color: var(--text);
}

.steps[b-pu0scwpayl] {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--hairline);
}

.step[b-pu0scwpayl] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 24px;
    padding: 18px 0;
    border-bottom: 1px solid var(--hairline);
}

.step-index[b-pu0scwpayl] {
    font-size: 26px;
    font-weight: 400;
    letter-spacing: -0.02em;
    color: var(--text);
}

.step-text[b-pu0scwpayl] {
    max-width: 340px;
    text-align: right;
}

.contact-lines[b-pu0scwpayl] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 4px;
    font-size: 13px;
}

.contact-email[b-pu0scwpayl] {
    color: var(--text-lead);
}

.contact-email:hover[b-pu0scwpayl] {
    color: var(--text);
}

.contact-line[b-pu0scwpayl] {
    color: var(--text-muted);
}

.tagline[b-pu0scwpayl] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 6px;
}

/* Responsive, per docs/design/README.md */
@media (max-width: 1279px) {
    .hero-inner[b-pu0scwpayl] {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: 48px;
    }

    .hero-title[b-pu0scwpayl] {
        font-size: clamp(48px, 6vw, 72px);
    }
}

@media (max-width: 1023px) {
    .hero-inner[b-pu0scwpayl] {
        grid-template-columns: minmax(0, 1fr);
        gap: 48px;
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .hero-circle[b-pu0scwpayl] {
        right: -260px;
        top: -260px;
    }

    .pointers-sec[b-pu0scwpayl] {
        padding: 64px 0;
    }

    .pointers[b-pu0scwpayl] {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }
}

@media (max-width: 767px) {
    .hero-title[b-pu0scwpayl] {
        font-size: clamp(40px, 11vw, 56px);
    }

    .step[b-pu0scwpayl] {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .step-text[b-pu0scwpayl] {
        max-width: none;
        text-align: left;
    }
}
/* /Components/Shared/BrandMark.razor.rz.scp.css */
.mark[b-vgz0sjpvls] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 0;
}

.mark-circle[b-vgz0sjpvls] {
    width: var(--mark-size);
    height: var(--mark-size);
    border-radius: 50%;
    background: var(--brand-red);
}

.mark-square[b-vgz0sjpvls] {
    width: var(--mark-size);
    height: var(--mark-size);
    background: var(--brand-blue);
}

.mark-triangle[b-vgz0sjpvls] {
    width: 0;
    height: 0;
    border-left: var(--mark-half) solid transparent;
    border-right: var(--mark-half) solid transparent;
    border-bottom: var(--mark-size) solid var(--brand-yellow);
}
/* /Components/Shared/SectionHeader.razor.rz.scp.css */
.section-header[b-carm9eir6d] {
    display: grid;
    grid-template-columns: 720px minmax(0, 1fr);
    gap: 80px;
    align-items: end;
}

.section-header-title[b-carm9eir6d] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* Below the 1280 the reference was drawn for, the 720px title column would leave the aside
   a sliver. Same proportional fallback the hero uses. */
@media (max-width: 1279px) {
    .section-header[b-carm9eir6d] {
        grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
        gap: 48px;
    }
}

@media (max-width: 1023px) {
    .section-header[b-carm9eir6d] {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
}
/* /Components/Shared/SimplePage.razor.rz.scp.css */
.simple[b-ymlldslavl] {
    padding: 104px 0 160px;
}

.simple-inner[b-ymlldslavl] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 800px;
}

.simple-title[b-ymlldslavl] {
    font-size: 56px;
    line-height: 1.02;
    font-weight: 600;
    letter-spacing: -0.03em;
    color: var(--text);
}

.simple-body[b-ymlldslavl] {
    font-size: 17px;
    line-height: 1.55;
    max-width: 620px;
}

.simple-body[b-ymlldslavl]  a {
    color: var(--text);
    border-bottom: 1px solid var(--hairline-35);
}

.simple-body[b-ymlldslavl]  a:hover {
    border-color: var(--text);
}

@media (max-width: 1023px) {
    .simple[b-ymlldslavl] {
        padding: 72px 0 120px;
    }

    .simple-title[b-ymlldslavl] {
        font-size: clamp(36px, 7vw, 56px);
    }
}
