/* Public beta offer; shared by the home, pricing and signup landing pages. */
.hero__beta { display: flex; align-items: center; gap: 10px; margin-top: 20px; color: var(--done, #0b7a54); font-size: .875rem; line-height: 1.5; font-weight: 650; }
.hero__beta + .hero__actions { margin-top: 20px; }
.ob-wrap { width: min(1100px, calc(100% - 2 * var(--gutter, 24px))); margin-inline: auto; padding-block: clamp(48px, 7vw, 88px); color: var(--ink, #0f1b2d); }
.ob-beta { background: var(--paper, #fff); }
.ob-hero { padding-top: clamp(48px, 7vw, 96px); }
.ob-eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--blue, #1b4fd8); font-size: .78rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.ob-live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--done, #0b7a54); box-shadow: 0 0 0 5px var(--done-tint, #e2f1ea); margin-inline: 5px; }
.ob-hero h1, .ob-page-title { margin: 0 0 24px; font-size: clamp(2.3rem, 5vw, 4.5rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 780; }
.ob-wrap h2 { max-width: 850px; font-size: clamp(1.9rem, 3.4vw, 3rem); line-height: 1.15; letter-spacing: -.035em; margin: 0 0 20px; }
.ob-lead { max-width: 760px; color: var(--ink-2, #3b4758); font-size: clamp(1.05rem, 1.7vw, 1.22rem); line-height: 1.65; margin: 0 0 28px; }
.ob-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 28px; margin-block: 28px 20px; }
.ob-button { display: inline-flex; align-items: center; justify-content: center; gap: 30px; min-height: 54px; padding: 14px 25px; background: var(--blue, #1b4fd8); color: #fff; font-weight: 750; text-decoration: none; transition: background 160ms; }
.ob-button:hover { color: #fff; background: var(--blue-700, #12348f); }
.ob-button:focus-visible, .ob-login:focus-visible { outline: 3px solid var(--blue, #1b4fd8); outline-offset: 4px; }
.ob-login { color: var(--ink-2, #3b4758); font-size: .9rem; text-underline-offset: 4px; }
.ob-status { max-width: 760px; color: var(--ink-3, #5e6a79); font-size: .94rem; line-height: 1.65; margin-block: 16px; }
.ob-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 40px 0 24px; padding: 0; border-block: 1px solid var(--rule, #dde2e8); }
.ob-steps li { display: flex; align-items: center; gap: 15px; padding: 24px 18px; font-size: .92rem; font-weight: 650; }
.ob-steps li + li { border-left: 1px solid var(--rule, #dde2e8); }
.ob-steps li span { color: var(--blue, #1b4fd8); font-family: var(--font-mono, monospace); font-size: .8rem; }
.ob-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 24px; margin-block: 32px; }
.ob-card { padding: clamp(24px, 3.5vw, 40px); border: 1px solid var(--rule, #dde2e8); background: var(--chalk, #f4f6f9); }
.ob-card:first-child { background: var(--ink, #0f1b2d); color: #fff; border-color: var(--ink, #0f1b2d); }
.ob-card h3 { font-size: 1.05rem; line-height: 1.4; margin: 0 0 22px; }
.ob-card:first-child h3 { color: #fff; }
.ob-price { font-size: clamp(3rem, 5vw, 4.8rem); line-height: 1; font-weight: 750; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.ob-unit { display: block; margin: 12px 0 26px; font-size: .9rem; }
.ob-card p { font-size: .94rem; line-height: 1.6; margin: 12px 0 0; }
.ob-card:first-child p:last-child, .ob-card:first-child .ob-unit { color: #b9c5d5; }
.ob-fine { color: var(--ink-3, #5e6a79); font-size: .82rem; line-height: 1.8; margin-block: 12px; }
.ob-fine a { text-decoration: underline; text-underline-offset: 3px; }
.ob-beta .ob-wrap + .ob-wrap { border-top: 1px solid var(--rule, #dde2e8); }
.ob-pricing-page .ob-page-title { width: min(1100px, calc(100% - 2 * var(--gutter, 24px))); margin-inline: auto; padding-top: 64px; }
.ob-pricing-page .ob-wrap { padding-top: 16px; }
@media (max-width: 640px) {
    .ob-grid, .ob-steps { grid-template-columns: 1fr; }
    .ob-steps li { padding: 18px 0; }
    .ob-steps li + li { border-left: 0; border-top: 1px solid var(--rule, #dde2e8); }
    .ob-actions { align-items: stretch; flex-direction: column; }
    .ob-button { width: 100%; }
    .ob-login { text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .ob-button { transition: none; } }
