/* Shared reading layer. Deliberately scoped so a landing keeps its own voice. */
.omb-page, .omb-info-drawer {
  --omb-paper: #f5f4ef;
  --omb-ink: #242b29;
  --omb-muted: #626b65;
  --omb-line: #d6dbd3;
  --omb-accent: #ad402b;
  --omb-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --omb-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
  color: var(--omb-ink);
  font: 400 16px/1.65 var(--omb-sans);
  text-align: left;
  letter-spacing: normal;
  text-transform: none;
}
.omb-footer {
  /* Shared layout, native landing palette. */
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  background: transparent;
  border-color: color-mix(in srgb, currentColor 16%, transparent);
}
.omb-page *, .omb-footer *, .omb-info-drawer * { box-sizing: border-box; }
body.omb-page { margin: 0; background: var(--omb-paper); }
.omb-page a { color: inherit; text-underline-offset: 4px; }
.omb-page :focus-visible, .omb-footer :focus-visible, .omb-info-drawer :focus-visible { outline: 2px solid var(--omb-accent, currentColor); outline-offset: 5px; }
.omb-frame { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
.omb-page .omb-header { border-bottom: 1px solid var(--omb-line); }
.omb-page .omb-header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.omb-brand { display: inline-flex; align-items: center; gap: 9px; color: var(--omb-ink); font: 650 20px/1 var(--omb-sans); letter-spacing: -.6px; text-decoration: none; white-space: nowrap; }
.omb-brand img { width: 30px; height: 30px; }
.omb-page .omb-header-nav { display: flex; align-items: center; gap: 27px; font-size: 13px; }
.omb-page .omb-header-nav a { text-decoration: none; }
.omb-page .omb-header-nav [aria-current=page] { color: var(--omb-accent); }
.omb-page .omb-small-cta { background: var(--omb-ink); color: #fff; padding: 10px 16px; border-radius: 4px; }
.omb-page .omb-breadcrumb { padding-top: 29px; font-size: 12px; color: var(--omb-muted); }
.omb-page .omb-breadcrumb a { text-decoration: none; }
.omb-page .omb-breadcrumb span { margin-inline: 12px; color: #98a096; }
.omb-page .omb-cover { padding: 65px 0 43px; }
.omb-kicker { font: 550 11px/1.5 var(--omb-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--omb-accent); }
.omb-page .omb-cover h1 { font: 550 clamp(40px, 5.5vw, 70px)/1.06 var(--omb-sans); letter-spacing: -.055em; margin: 20px 0 23px; max-width: 850px; }
.omb-page .omb-cover h1 em { font-family: Georgia, serif; font-weight: 400; }
.omb-page .omb-deck { font-size: 19px; line-height: 1.6; max-width: 655px; margin: 0; color: var(--omb-muted); }
.omb-page .omb-meta { margin-top: 29px; display: flex; gap: 22px; flex-wrap: wrap; font: 11px/1.5 var(--omb-mono); color: var(--omb-muted); }
.omb-page .omb-abstract { margin: 0 0 42px; display: grid; grid-template-columns: 190px 1fr; gap: 26px; border-block: 1px solid var(--omb-line); padding: 24px 0; }
.omb-page .omb-abstract p { margin: 0; max-width: 730px; }
.omb-page .omb-doc-layout { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 48px; padding-bottom: 70px; }
.omb-page .omb-toc { align-self: start; position: sticky; top: 28px; padding-top: 5px; font-size: 12px; }
.omb-page .omb-toc b { display: block; margin-bottom: 16px; font: 11px var(--omb-mono); color: var(--omb-muted); }
.omb-page .omb-toc a { display: block; margin: 0 0 12px; text-decoration: none; color: var(--omb-muted); }
.omb-page .omb-toc a:hover { color: var(--omb-accent); }
.omb-page .omb-article { min-width: 0; }
.omb-page .omb-article section { padding: 0 0 38px; margin: 0 0 35px; border-bottom: 1px solid var(--omb-line); scroll-margin-top: 24px; }
.omb-page .omb-article h2 { font-size: 27px; line-height: 1.25; font-weight: 550; letter-spacing: -.035em; margin: 0 0 18px; }
.omb-page .omb-section-no { color: var(--omb-accent); font: 12px var(--omb-mono); display: block; margin-bottom: 10px; }
.omb-page .omb-article p { max-width: 70ch; margin: 0 0 17px; }
.omb-page .omb-article h3 { font-size: 16px; margin: 25px 0 6px; }
.omb-page .omb-flow { margin: 28px 0 12px; border: 1px solid var(--omb-line); background: #fcfcf9; }
.omb-page .omb-flow-bar { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 11px 17px; border-bottom: 1px solid var(--omb-line); font: 10px/1.4 var(--omb-mono); letter-spacing: .07em; color: var(--omb-muted); }
.omb-page .omb-flow-lanes { display: grid; grid-template-columns: 1fr 1.45fr 1fr; gap: 17px; padding: 25px 18px; }
.omb-page .omb-flow-lane { min-width: 0; }
.omb-page .omb-flow-lane > span { font: 10px var(--omb-mono); color: var(--omb-muted); }
.omb-page .omb-flow-lane b { display: block; font-size: 15px; line-height: 1.35; margin: 9px 0; }
.omb-page .omb-flow-lane p { font-size: 12px; color: var(--omb-muted); margin: 0; }
.omb-page .omb-flow-cloud { border-inline: 1px dashed #b9c5b8; padding-inline: 18px; }
.omb-page .omb-flow-cloud > span { color: var(--omb-accent); }
.omb-page .omb-flow-track { display: flex; gap: 7px; align-items: center; padding: 10px 0; font: 10px var(--omb-mono); color: var(--omb-accent); }
.omb-page .omb-caption { font: 11px/1.6 var(--omb-mono); color: var(--omb-muted); }
.omb-page .omb-lenses { margin: 24px 0; padding: 0; list-style: none; border-top: 1px solid var(--omb-line); }
.omb-page .omb-lenses li { display: grid; grid-template-columns: 108px 1fr; gap: 20px; border-bottom: 1px solid var(--omb-line); padding: 13px 0; font-size: 14px; }
.omb-page .omb-lenses b { font-weight: 550; }
.omb-page .omb-lenses span { color: var(--omb-muted); }
.omb-page .omb-note { border-left: 2px solid var(--omb-accent); padding: 3px 0 3px 18px; margin: 25px 0 4px; color: var(--omb-muted); font-size: 14px; }
.omb-page .omb-specimen { background: #25312d; color: #edf1e9; padding: 23px; margin: 26px 0; border-radius: 3px; }
.omb-page .omb-specimen .omb-kicker { color: #c2d1bd; }
.omb-page .omb-specimen h3 { margin-top: 18px; font-size: 18px; color: inherit; }
.omb-page .omb-specimen p { font-size: 14px; color: #cdd7cc; }
.omb-page .omb-specimen dl { margin: 0; display: grid; grid-template-columns: 85px 1fr; gap: 10px 15px; font-size: 13px; }
.omb-page .omb-specimen dt { color: #b1c0aa; font: 11px/1.7 var(--omb-mono); }
.omb-page .omb-specimen dd { margin: 0; }
.omb-page .omb-data-table { border-collapse: collapse; width: 100%; font-size: 13px; margin: 25px 0; }
.omb-page .omb-data-table th { text-align: left; font-weight: 550; }
.omb-page .omb-data-table th, .omb-page .omb-data-table td { padding: 13px 10px 13px 0; border-bottom: 1px solid var(--omb-line); vertical-align: top; }
.omb-page .omb-data-table th:first-child { width: 31%; }
.omb-page .omb-data-table td { color: var(--omb-muted); }
.omb-page .omb-endnote { color: var(--omb-muted); font-size: 12px; }
.omb-page .omb-reading-next { display: flex; justify-content: space-between; align-items: center; gap: 22px; background: #e7ebe1; padding: 22px; }
.omb-page .omb-reading-next p { margin: 0; }
.omb-page .omb-reading-next a { flex: none; font-size: 13px; }
/* FAQ is the same document in the drawer and at its own URL. */
.omb-page .omb-faq-main { max-width: 760px; margin-inline: auto; padding-bottom: 66px; }
.omb-page .omb-faq-main .omb-cover { padding-top: 55px; }
.omb-page .omb-faq-main h1 { font-size: clamp(38px, 5vw, 55px); }
.omb-page .omb-faq-group { margin: 9px 0 33px; }
.omb-page .omb-faq-group > h2 { margin: 0 0 14px; font: 11px var(--omb-mono); color: var(--omb-muted); letter-spacing: .06em; text-transform: uppercase; }
.omb-page .omb-faq-group details { border-top: 1px solid var(--omb-line); padding: 0; }
.omb-page .omb-faq-group details:last-child { border-bottom: 1px solid var(--omb-line); }
.omb-page .omb-faq-group summary { list-style: none; cursor: pointer; padding: 16px 27px 16px 0; position: relative; font-size: 15px; font-weight: 550; }
.omb-page .omb-faq-group summary::-webkit-details-marker { display: none; }
.omb-page .omb-faq-group summary:after { content: '+'; position: absolute; right: 0; top: 13px; font-size: 21px; color: var(--omb-accent); font-weight: 400; }
.omb-page .omb-faq-group details[open] summary:after { content: '−'; }
.omb-page .omb-faq-group details p { color: var(--omb-muted); margin: 0 0 18px; font-size: 14px; padding-right: 19px; }
.omb-page .omb-faq-group details:target { background: #e9ece2; }
.omb-page.omb-embedded .omb-header, .omb-page.omb-embedded .omb-breadcrumb { display: none; }
.omb-page.omb-embedded .omb-frame { width: calc(100% - 56px); }
.omb-page.omb-embedded .omb-faq-main .omb-cover { padding-top: 34px; padding-bottom: 24px; }
.omb-page.omb-embedded h1 { font-size: 40px; }
.omb-page.omb-embedded .omb-deck { font-size: 16px; }
.omb-page.omb-embedded .omb-faq-main { padding-bottom: 28px; }
/* One footer, no per-variant product/policy copy. */
footer.omb-footer { display: block; border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent); margin: 0; padding: 0; width: 100%; max-width: none; transform: none; }
.omb-footer .omb-footer-inner { display: block; margin-inline: auto; padding-block: 28px 74px; color: inherit; font: inherit; letter-spacing: normal; text-transform: none; }
.omb-footer .omb-footer-inner.nested-zero { width: 100%; padding-inline: 0; }
.omb-footer .omb-footer-inner.nested-wide { width: 100%; padding-inline: clamp(18px, 4.5vw, 52px); }
.omb-footer .omb-footer-inner.notebook { width: min(52rem, 100%); padding-inline: 1rem; }
.omb-footer .omb-footer-top { display: flex; align-items: start; justify-content: space-between; gap: 30px; }
.omb-footer .omb-brand { color: inherit; font-family: inherit; font-size: 1.05em; font-weight: 650; line-height: 1.2; text-decoration: none; border: 0; padding: 0; letter-spacing: normal; text-transform: none; }
.omb-footer .omb-brand img, .omb-footer .omb-footer-logo { width: 28px; height: 28px; margin: 0; display: block; flex: none; }
.omb-footer .omb-footer-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 14px 24px; max-width: 480px; }
.omb-footer .omb-footer-nav a { display: inline; color: inherit; text-decoration: none; font-family: inherit; font-size: .82em; font-weight: 500; line-height: 1.6; letter-spacing: 0; text-transform: none; margin: 0; padding: 0; border: 0; background: none; }
.omb-footer .omb-footer-nav a:hover { text-decoration: underline; text-underline-offset: 4px; }
.omb-footer .omb-footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent); margin-top: 22px; padding-top: 13px; font-family: inherit; font-size: .7em; line-height: 1.6; color: color-mix(in srgb, currentColor 62%, transparent); }
.omb-footer .omb-footer-bottom a { color: inherit; font: inherit; letter-spacing: normal; text-transform: none; text-decoration: none; }
.omb-info-drawer { position: fixed; inset: 0 0 0 auto; width: min(600px, 100vw); max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; background: var(--omb-paper); border: 0; border-left: 1px solid var(--omb-line); border-radius: 0; box-shadow: -20px 0 90px #0003; overflow: hidden; }
.omb-info-drawer::backdrop { background: #1119158c; backdrop-filter: blur(3px); }
.omb-info-drawer .omb-drawer-bar { display: flex; justify-content: space-between; align-items: center; min-height: 62px; padding: 10px 23px; border-bottom: 1px solid var(--omb-line); }
.omb-info-drawer .omb-drawer-bar span { font: 11px var(--omb-mono); letter-spacing: .07em; }
.omb-info-drawer .omb-drawer-actions { display: flex; align-items: center; gap: 20px; }
.omb-info-drawer .omb-drawer-actions a { color: var(--omb-muted); font: 12px var(--omb-sans); text-decoration: none; }
.omb-info-drawer button { appearance: none; cursor: pointer; width: 36px; height: 36px; border: 1px solid var(--omb-line); border-radius: 50%; background: transparent; color: var(--omb-ink); font: 24px/1 var(--omb-sans); padding: 0; margin: 0; transform: none; }
.omb-info-drawer button:hover { background: #e5e9df; }
.omb-info-drawer iframe { display: block; border: 0; width: 100%; height: calc(100% - 62px); }
html:has(.omb-info-drawer[open]) { overflow: hidden; }
.omb-page .omb-legal { max-width: 740px; padding: 55px 0 75px; margin-inline: auto; }
.omb-page .omb-legal h1 { font-size: 45px; line-height: 1.1; letter-spacing: -.045em; margin: 0 0 25px; }
.omb-page .omb-legal h2 { font-size: 22px; margin: 38px 0 12px; line-height: 1.3; }
.omb-page .omb-legal p, .omb-page .omb-legal li { color: var(--omb-muted); }
.omb-page .omb-legal .updated { font-size: 13px; }
.omb-page .omb-legal code { overflow-wrap: anywhere; font-size: .88em; }
@media (prefers-reduced-motion: no-preference) {
  .omb-info-drawer[open] { animation: omb-drawer-enter .22s ease-out; }
  @keyframes omb-drawer-enter { from { transform: translateX(30px); opacity: 0; } to { transform: none; opacity: 1; } }
}
@media (max-width: 760px) {
  .omb-frame { width: calc(100% - 40px); }
  .omb-page .omb-header-inner { min-height: 70px; gap: 12px; }
  .omb-page .omb-header-nav { gap: 17px; }
  .omb-page .omb-header-nav .omb-small-cta { display: none; }
  .omb-page .omb-cover { padding-top: 43px; }
  .omb-page .omb-abstract, .omb-page .omb-doc-layout { grid-template-columns: 1fr; gap: 15px; }
  .omb-page .omb-toc { position: static; display: flex; flex-wrap: wrap; gap: 9px 20px; padding-bottom: 23px; border-bottom: 1px solid var(--omb-line); margin-bottom: 20px; }
  .omb-page .omb-toc b { width: 100%; margin-bottom: 2px; }
  .omb-page .omb-toc a { margin: 0; }
  .omb-page .omb-flow-lanes { grid-template-columns: 1fr; }
  .omb-page .omb-flow-cloud { border-inline: 0; border-block: 1px dashed #b9c5b8; padding: 17px 0; }
  .omb-page .omb-deck { font-size: 17px; }
  .omb-page .omb-reading-next { align-items: start; flex-direction: column; }
  .omb-footer .omb-footer-top { flex-direction: column; gap: 25px; }
  .omb-footer .omb-footer-nav { justify-content: flex-start; gap: 12px 22px; }
  .omb-info-drawer { border: 0; }
  .omb-page .omb-legal h1 { font-size: 36px; }
}
@media (max-width: 419px) {
  body:has(#omb-codex-cta) .omb-footer-inner { padding-bottom: 120px; }
}
@media print {
  .omb-page .omb-header-nav, .omb-page .omb-toc, .omb-page .omb-reading-next, .omb-info-drawer { display: none; }
  .omb-page .omb-doc-layout { display: block; }
  .omb-page .omb-article section { break-inside: avoid; }
}
