/* Trust center (/trust) + Legal center (/legal, /legal/*, /contact).
   Composition, not containers: open canvas, hairline rules, alignment and whitespace. Black + white + graphite, with the
   ORBI orange reserved for signals (active node, current section, one key word, a permission line, an action).
   Type roles: display (--font-heading) for ideas · body-alt for explanation · caption/pixel (--ob-font) only for labels,
   states and metadata. Bordered panels are not used here; nothing on these pages is an instrument that needs one. */

:root { --t-hair: #24211e; --t-hair2: #34302b; --t-white: #f4f1ea; --t-body: #cecdc9; --t-mute: #9f9b92; --t-faint: #8d8981; --t-org: var(--copper-500, #fa680c); }

/* ── shared primitives ── */
.ob-tlab { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; font-family: var(--ob-font); text-transform: uppercase; font-size: var(--type-label); letter-spacing: .14em; color: var(--t-mute); }
.ob-tlab i { font-style: normal; color: var(--t-faint); }
.ob-tlab__n { color: var(--t-org); }
.ob-tbody { margin: 20px 0 0; max-width: 58ch; font-family: var(--font-body-alt, monospace); font-size: clamp(15.5px, 1.2vw, 17px); line-height: 1.65; color: var(--t-body); }
.ob-tbody--lg { font-size: clamp(16.5px, 1.45vw, 20px); line-height: 1.55; color: var(--t-white); max-width: 52ch; }
.ob-tbody--sm { font-size: var(--type-body-s); color: var(--t-mute); }
.ob-tbody a, .ob-lnote a, .ob-doc a, .ob-crows a { color: var(--t-white); text-decoration: underline; text-decoration-color: var(--t-faint); text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .15s, text-decoration-color .15s; }
.ob-tbody a:hover, .ob-lnote a:hover, .ob-doc a:hover, .ob-crows a:hover { color: var(--t-org); text-decoration-color: var(--t-org); }
.ob-h3 { margin: clamp(48px, 6vw, 80px) 0 0; font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-weight: 400; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.12; letter-spacing: -.01em; color: #fff; }
.ob-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 36px 0 0; font-family: var(--ob-font); text-transform: uppercase; font-size: var(--type-label); letter-spacing: .14em; color: var(--t-faint); }
.ob-links { display: flex; flex-wrap: wrap; gap: 12px 32px; margin: 32px 0 0; }
.ob-links a { font-family: var(--ob-font); text-transform: uppercase; font-size: var(--type-label); letter-spacing: .12em; color: var(--t-white); }
.ob-links a i { font-style: normal; color: var(--t-org); display: inline-block; transition: transform .2s steps(3); } .ob-links a:hover i { transform: translateX(4px); } .ob-links a:hover { color: var(--t-org); }
.ob-muted { color: var(--t-faint); }
:is(.ob-tr, .ob-thero, .ob-lpage) :is(a, button, summary, [tabindex]):focus-visible { outline: 2px solid var(--t-org); outline-offset: 3px; }

/* status metadata — tiny, shape + text (never colour alone) */
.ob-stat { display: inline-flex; align-items: center; gap: 7px; font-family: var(--ob-font); text-transform: uppercase; font-size: var(--type-label); line-height: 1; letter-spacing: .12em; color: var(--t-mute); white-space: nowrap; vertical-align: middle; }
.ob-stat::before { content: ""; width: 6px; height: 6px; flex: none; box-shadow: inset 0 0 0 1px currentColor; }
.ob-stat--now::before, .ob-stat--effect::before { background: var(--t-white); box-shadow: none; } .ob-stat--now, .ob-stat--effect { color: var(--t-white); }
.ob-stat--policy::before { transform: rotate(45deg) scale(.9); }
.ob-stat--draft::before { background: repeating-linear-gradient(135deg, currentColor 0 1px, transparent 1px 3px); }

/* disclosure (+ READ DETAIL) */
.ob-more2 { margin-top: 28px; }
.ob-more2 summary { list-style: none; display: inline-flex; align-items: center; gap: 10px; cursor: var(--cursor-hover); font-family: var(--ob-font); text-transform: uppercase; font-size: var(--type-label); letter-spacing: .14em; color: var(--t-mute); transition: color .15s; }
.ob-more2 summary::-webkit-details-marker { display: none; }
.ob-more2 summary i { position: relative; width: 11px; height: 11px; flex: none; }
.ob-more2 summary i::before, .ob-more2 summary i::after { content: ""; position: absolute; left: 0; right: 0; top: 5px; height: 1px; background: var(--t-org); transition: transform .2s steps(3); }
.ob-more2 summary i::after { transform: rotate(90deg); } .ob-more2[open] summary i::after { transform: rotate(0); }
.ob-more2 summary:hover { color: var(--t-white); }
.ob-more2__b { padding: 20px 0 4px; }

/* ── trust hero ── */
.ob-thero .ob-lead { color: var(--t-body); }
.ob-thero__seq { list-style: none; margin: 12px 0 0; padding: 0; display: flex; align-items: center; max-width: 40rem; }
.ob-thero__seq li { display: flex; align-items: center; flex: 1 1 auto; min-width: 0; font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .14em; color: var(--t-mute); }
.ob-thero__seq li:last-child { flex: none; }
.ob-thero__seq li:not(:last-child)::after { content: ""; flex: 1; height: 1px; margin: 0 12px; min-width: 16px; background: var(--t-hair2); }
.ob-thero__seq li:nth-child(2) span { color: var(--t-org); }
.ob-thero__seq li:last-child span { color: var(--t-white); }
@media (max-width: 420px) { .ob-thero__seq li { font-size: var(--type-label); letter-spacing: .1em; } .ob-thero__seq li:not(:last-child)::after { margin: 0 8px; min-width: 10px; } }

/* ── trust layout: sticky side rail + narrative column ── */
.ob-tr { display: grid; gap: 0; }
.ob-trail ol { list-style: none; margin: 0; padding: 0; }
.ob-trail a { display: flex; gap: 12px; font-family: var(--ob-font); text-transform: uppercase; font-size: var(--type-label); letter-spacing: .12em; color: var(--t-faint); transition: color .15s; }
.ob-trail a span { color: var(--t-faint); } .ob-trail a:hover { color: var(--t-white); }
.ob-trail a[aria-current="true"] { color: var(--t-org); } .ob-trail a[aria-current="true"] span { color: var(--t-org); }
@media (max-width: 1099px) {
  .ob-trail { margin: 0 calc(var(--page-gutter) * -1); padding: 0 var(--page-gutter); border-block: 1px solid var(--t-hair); overflow-x: auto; scrollbar-width: none; }
  .ob-trail::-webkit-scrollbar { display: none; }
  .ob-trail ol { display: flex; gap: 22px; padding: 14px 0; width: max-content; } .ob-trail a { white-space: nowrap; }
}
@media (min-width: 1100px) {
  .ob-tr { grid-template-columns: 150px minmax(0, 1fr); column-gap: clamp(48px, 5vw, 96px); }
  .ob-trail { position: sticky; top: 120px; align-self: start; padding-top: 30px; }
  .ob-trail ol { display: grid; gap: 14px; border-left: 1px solid var(--t-hair); padding-left: 16px; }
  .ob-trail a { position: relative; } .ob-trail a[aria-current="true"]::before { content: ""; position: absolute; left: -17px; top: -2px; bottom: -2px; width: 1px; background: var(--t-org); }
}
.ob-tr__main { min-width: 0; max-width: 64rem; }
.ob-tkey { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding: 22px 0; border-bottom: 1px solid var(--t-hair); }
.ob-tkey__k { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); color: var(--t-mute); }
.ob-tkey__n { flex: 1 1 100%; margin: 0; font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); line-height: 1.55; color: var(--t-faint); max-width: 72ch; }
.ob-tkey__rev { flex: 1 1 100%; margin: -4px 0 0; font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .1em; color: var(--t-faint); text-transform: uppercase; }
.ob-tsec { position: relative; padding-block: var(--space-major); border-bottom: 1px solid var(--t-hair); scroll-margin-top: var(--anchor-offset); }
.ob-tsec .ob-h2 { max-width: 20ch; }

/* 01 authority */
.ob-bigneq { display: grid; grid-template-columns: auto auto auto; justify-content: start; align-items: baseline; column-gap: clamp(14px, 2.2vw, 32px); margin: 0;
  font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-weight: 400; font-size: clamp(42px, 7vw, 104px); line-height: .98; letter-spacing: -.025em; color: #fff; }
.ob-bigneq em { font-style: normal; color: var(--t-org); font-size: .82em; }
@media (max-width: 640px) { .ob-bigneq { grid-template-columns: auto; row-gap: 4px; } .ob-bigneq em { line-height: .8; } }
.ob-tchain { list-style: none; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ob-tchain li { position: relative; display: grid; gap: 8px; padding-top: 22px; padding-right: 16px; }
.ob-tchain li::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: var(--t-hair2); }
.ob-tchain li::after { content: ""; position: absolute; left: 0; top: -3px; width: 7px; height: 7px; background: var(--t-white); }
.ob-tchain b { font-family: var(--ob-font); font-weight: 400; font-size: var(--type-body-s); letter-spacing: .1em; color: var(--t-white); }
.ob-tchain span { font-family: var(--ob-font); text-transform: uppercase; font-size: var(--type-label); letter-spacing: .12em; color: var(--t-faint); }
.ob-tchain .is-sig::before { background: var(--t-org); } .ob-tchain .is-sig::after { background: var(--t-org); } .ob-tchain .is-sig b { color: var(--t-org); }
@media (max-width: 760px) {
  .ob-tchain { grid-template-columns: 1fr; border-left: 1px solid var(--t-hair2); margin-left: 3px; }
  .ob-tchain li { padding: 0 0 22px 22px; } .ob-tchain li::before { display: none; } .ob-tchain li::after { left: -4px; top: 3px; }
  .ob-tchain .is-sig { box-shadow: -1px 0 0 var(--t-org); }
}
.ob-eq3 { list-style: none; margin: clamp(48px, 6vw, 80px) 0 0; padding: 0; }
.ob-eq3 li { display: grid; gap: 6px 32px; padding: 18px 0; border-top: 1px solid var(--t-hair); }
.ob-eq3 li:last-child { border-bottom: 1px solid var(--t-hair); }
.ob-eq3__t { margin: 0; font-family: var(--ob-font); font-size: var(--type-body-s); letter-spacing: .12em; color: var(--t-white); } .ob-eq3__t em { font-style: normal; color: var(--t-faint); margin: 0 6px; }
.ob-eq3 p:not(.ob-eq3__t) { margin: 0; font-family: var(--font-body-alt, monospace); font-size: 15px; line-height: 1.55; color: var(--t-mute); }
@media (min-width: 900px) { .ob-eq3 li { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: baseline; } }

/* 02 model — one continuous diagram, one shared detail line */
.ob-tflow { margin-top: clamp(40px, 5vw, 64px); }
.ob-tflow__track { --i: 0; position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); }
.ob-tflow__track::before { content: ""; position: absolute; left: 5%; right: 5%; top: 5px; height: 1px; background: var(--t-hair2); }
.ob-tflow__track button { position: relative; width: 100%; display: grid; justify-items: center; gap: 14px; padding: 0 2px 6px; background: none; border: 0; cursor: var(--cursor-hover); color: var(--t-faint); font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .1em; text-align: center; transition: color .15s; }
.ob-tflow__track button i { width: 11px; height: 11px; background: #0a0a0a; box-shadow: inset 0 0 0 1px currentColor; transition: background .15s; }
.ob-tflow__track .is-key button { color: var(--t-body); } .ob-tflow__track .is-key button i { background: var(--t-body); }
.ob-tflow__track .is-gate button { color: var(--t-org); }
.ob-tflow__track button:hover, .ob-tflow__track button[aria-pressed="true"] { color: var(--t-white); }
.ob-tflow__track button[aria-pressed="true"] i { background: var(--t-org); box-shadow: none; }
.ob-tflow__track button span { overflow-wrap: anywhere; line-height: 1.35; }
.ob-tflow__dot { position: absolute; top: -5px; left: calc((var(--i) + .5) * 10%); width: 21px; height: 21px; margin-left: -10.5px; box-shadow: inset 0 0 0 1px var(--t-org); pointer-events: none; transition: left .45s steps(6); }
.ob-tflow__d { display: grid; grid-template-columns: 40px minmax(0, 14rem) minmax(0, 1fr); align-items: baseline; gap: 8px 24px; min-height: 64px; margin: 36px 0 0; padding-top: 22px; border-top: 1px solid var(--t-hair); }
.ob-tflow__d [data-flow-n] { font-family: var(--ob-font); font-size: var(--type-label); color: var(--t-org); }
.ob-tflow__d b { font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-weight: 400; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.1; color: #fff; }
.ob-tflow__d [data-flow-v] { font-family: var(--font-body-alt, monospace); font-size: 16px; line-height: 1.55; color: var(--t-body); }
@media (max-width: 860px) {
  .ob-tflow__track { grid-template-columns: 1fr; border-left: 1px solid var(--t-hair2); margin-left: 5px; }
  .ob-tflow__track::before, .ob-tflow__dot { display: none; }
  .ob-tflow__track button { grid-auto-flow: column; justify-content: start; justify-items: start; align-items: center; gap: 16px; padding: 9px 0; margin-left: -6px; font-size: var(--type-label); text-align: left; }
  .ob-tflow__d { grid-template-columns: 32px minmax(0, 1fr); } .ob-tflow__d [data-flow-v] { grid-column: 2; }
}
.ob-defs2 { display: grid; gap: 28px; } .ob-defs2 p { margin: 0; font-family: var(--font-body-alt, monospace); font-size: 15.5px; line-height: 1.65; color: var(--t-body); max-width: 60ch; }
.ob-defs2 b { display: block; margin-bottom: 6px; font-family: var(--ob-font); font-weight: 400; font-size: var(--type-label); letter-spacing: .14em; color: var(--t-white); }
@media (min-width: 900px) { .ob-defs2 { grid-template-columns: 1fr 1fr; gap: 48px; } }

/* 03 privacy — one split, a centre line, no per-field boxes */
.ob-tsplit { position: relative; display: grid; margin-top: clamp(40px, 5vw, 64px); }
.ob-tsplit ul { list-style: none; margin: 0; padding: 0; }
.ob-tsplit li { display: grid; gap: 4px; padding: 13px 0; border-bottom: 1px solid var(--t-hair); }
.ob-tsplit li b { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; font-family: var(--ob-font); font-weight: 400; font-size: var(--type-body-s); letter-spacing: .1em; color: var(--t-white); }
.ob-tsplit li > span { font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); line-height: 1.5; color: var(--t-faint); }
.ob-tsplit__h { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 10px; padding-bottom: 14px; border-bottom: 1px solid var(--t-hair2); font-family: var(--ob-font); font-size: var(--type-body-s); letter-spacing: .16em; color: var(--t-white); }
.ob-tsplit__h span { font-size: var(--type-label); letter-spacing: .12em; color: var(--t-faint); }
.ob-lock { position: relative; width: 9px; height: 7px; margin-top: 5px; background: var(--t-org); flex: none; }
.ob-lock::before { content: ""; position: absolute; left: 1.5px; right: 1.5px; bottom: 6px; height: 5px; box-shadow: inset 0 0 0 1.5px var(--t-org); }
@media (min-width: 820px) {
  .ob-tsplit { grid-template-columns: 1fr 1fr; } .ob-tsplit::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--t-hair2); }
  .ob-tsplit__c { padding-right: clamp(24px, 4vw, 56px); } .ob-tsplit__c--prv { padding: 0 0 0 clamp(24px, 4vw, 56px); }
}
@media (max-width: 819px) { .ob-tsplit { gap: 48px; } }
.ob-share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: clamp(40px, 5vw, 56px) 0 0; font-family: var(--font-body-alt, monospace); font-size: 16px; color: var(--t-body); }
.ob-share b { font-family: var(--ob-font); font-weight: 400; font-size: var(--type-label); letter-spacing: .14em; color: var(--t-white); }
.ob-share i { width: 56px; height: 1px; background: var(--t-org); }
.ob-facts { list-style: none; margin: 32px 0 0; padding: 22px 0 0; display: grid; gap: 16px 40px; border-top: 1px solid var(--t-hair); }
.ob-facts li { display: grid; gap: 8px; align-content: start; justify-items: start; }
.ob-facts li > span:not(.ob-stat) { font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); line-height: 1.55; color: var(--t-mute); }
@media (min-width: 900px) { .ob-facts:not(.ob-facts--col) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ob-facts--col { gap: 20px; }

/* 04 permissions — one rail, one detail area */
.ob-gradient { display: flex; align-items: center; gap: 14px; margin: 18px 0 0; font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .14em; color: var(--t-faint); }
.ob-gradient i { position: relative; flex: 1; height: 1px; background: linear-gradient(90deg, var(--t-hair2), var(--t-org)); }
.ob-gradient i::after { content: ""; position: absolute; right: 0; top: -3px; border: 3.5px solid transparent; border-left: 5px solid var(--t-org); border-right: 0; }
.ob-rail { margin-top: 14px; }
.ob-rail__l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.ob-rail__l button { position: relative; width: 100%; padding: 16px 2px 0; background: none; border: 0; border-top: 1px solid var(--t-hair2); cursor: var(--cursor-hover); text-align: left; font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .08em; color: var(--t-faint); transition: color .15s; overflow-wrap: anywhere; }
.ob-rail__l button::before { content: ""; position: absolute; left: 0; top: -1.5px; width: 100%; height: 2px; background: var(--t-org); transform: scaleX(0); transform-origin: left; transition: transform .25s steps(5); }
.ob-rail__l button:hover, .ob-rail__l button[aria-pressed="true"] { color: var(--t-white); }
.ob-rail__l button[aria-pressed="true"]::before { transform: scaleX(1); }
.ob-rail__d { display: grid; grid-template-columns: minmax(0, 14rem) minmax(0, 1fr); align-items: baseline; gap: 6px 24px; min-height: 56px; margin: 28px 0 0; }
.ob-rail__d b { font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-weight: 400; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.05; color: #fff; }
.ob-rail__d span { font-family: var(--font-body-alt, monospace); font-size: 16px; line-height: 1.55; color: var(--t-body); }
.ob-rail:has(li:nth-child(6):last-child) .ob-rail__l { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .ob-rail__l { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 18px; column-gap: 10px; }
  .ob-rail:has(li:nth-child(6):last-child) .ob-rail__l { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ob-rail__l button { font-size: var(--type-label); padding-top: 12px; }
  .ob-rail__d { grid-template-columns: 1fr; }
}

/* 05 AI + data */
.ob-ai2 { display: grid; gap: 48px; margin-top: clamp(40px, 5vw, 64px); align-items: start; }
@media (min-width: 960px) { .ob-ai2 { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(48px, 6vw, 96px); } }
.ob-vflow { list-style: none; margin: 0; padding: 0; position: relative; }
.ob-vflow::before { content: ""; position: absolute; left: 4px; top: 10px; bottom: 10px; width: 1px; background: var(--t-hair2); }
.ob-vflow li { position: relative; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 0 0 34px 28px; }
.ob-vflow li:last-child { padding-bottom: 0; }
.ob-vflow li::before { content: ""; position: absolute; left: 0; top: 5px; width: 9px; height: 9px; background: #0a0a0a; box-shadow: inset 0 0 0 1px var(--t-mute); }
.ob-vflow li.is-key::before { background: var(--t-white); box-shadow: none; }
.ob-vflow b { font-family: var(--ob-font); font-weight: 400; font-size: var(--type-body-s); letter-spacing: .12em; color: var(--t-white); }
.ob-vflow span { font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .14em; color: var(--t-faint); text-align: right; border-bottom: 1px dotted var(--t-hair2); padding-bottom: 2px; }
.ob-vflow li:nth-child(4) span { color: var(--t-org); border-color: var(--t-org); }
.ob-keyp { list-style: none; margin: 0; padding: 0; }
.ob-keyp li { padding: 14px 0; border-top: 1px solid var(--t-hair); font-family: var(--font-body-alt, monospace); font-size: clamp(15.5px, 1.3vw, 17.5px); line-height: 1.5; color: var(--t-white); }
.ob-keyp li:last-child { border-bottom: 1px solid var(--t-hair); }
.ob-ai2 .ob-facts { border-top: 0; padding-top: 8px; }
.ob-num { margin: 0; padding-left: 28px; display: grid; gap: 10px; max-width: 60ch; font-family: var(--font-body-alt, monospace); font-size: 15px; line-height: 1.55; color: var(--t-body); }
.ob-num li::marker { font-family: var(--ob-font); font-size: var(--type-label); color: var(--t-faint); }

/* 06 verification — the strongest moment: a graphite band, a statement, a sequence that forks */
.ob-tsec--band { background: #121110; box-shadow: 0 0 0 100vmax #121110; clip-path: inset(0 -100vmax); border-bottom: 0; }
.ob-vstate { margin: 0; max-width: 24ch; font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-weight: 400; font-size: clamp(36px, 5.2vw, 72px); line-height: 1.02; letter-spacing: -.02em; color: #fff; }
.ob-vstate em { font-style: normal; color: var(--t-org); }
.ob-tvf { display: grid; margin: clamp(48px, 6vw, 80px) 0 0; }
.ob-tvf__l { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ob-tvf__l::before { content: ""; position: absolute; left: 0; right: 0; top: 4px; height: 1px; background: var(--t-hair2); }
.ob-tvf__l::after { content: ""; position: absolute; top: 1px; left: calc(100% - 7px); width: 7px; height: 7px; background: var(--t-org); }   /* final state: the check has reached the result */
.ob-motion .ob-tvf:not(.is-in) .ob-tvf__l::after { left: 0; } .ob-motion .ob-tvf.is-in:not(.is-now) .ob-tvf__l::after { animation: ob-tvf-scan .8s steps(16) .15s 1 both; }   /* the verification path runs once */
@keyframes ob-tvf-scan { from { left: 0; } to { left: calc(100% - 7px); } }
.ob-tvf__l li { position: relative; display: grid; gap: 8px; padding: 26px 16px 0 0; }
.ob-tvf__l li::before { content: ""; position: absolute; left: 0; top: 0; width: 9px; height: 9px; background: #121110; box-shadow: inset 0 0 0 1px var(--t-body); }
.ob-tvf__l b { font-family: var(--ob-font); font-weight: 400; font-size: var(--type-body-s); letter-spacing: .12em; color: var(--t-white); }
.ob-tvf__l span { font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); line-height: 1.45; color: var(--t-faint); }
.ob-tvf__l .is-claim b { color: var(--t-mute); text-decoration: line-through; text-decoration-color: var(--t-faint); } .ob-tvf__l .is-claim::before { box-shadow: inset 0 0 0 1px var(--t-faint); }
.ob-tvf__l .is-check::before { background: var(--t-org); box-shadow: none; }
.ob-tvf__fork { display: grid; }
.ob-tvf__fork p { display: grid; gap: 6px; margin: 0; padding: 14px 0 14px 22px; position: relative; }
.ob-tvf__fork p::before { content: ""; position: absolute; left: 0; top: 19px; width: 8px; height: 8px; box-shadow: inset 0 0 0 1px currentColor; }
.ob-tvf__fork b { font-family: var(--ob-font); font-weight: 400; font-size: var(--type-body-s); letter-spacing: .12em; }
.ob-tvf__fork span { font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); line-height: 1.45; color: var(--t-mute); }
.ob-tvf__fork .is-yes { color: var(--t-white); } .ob-tvf__fork .is-yes::before { background: var(--t-white); }
.ob-tvf__fork .is-no { color: var(--t-mute); border-top: 1px dashed var(--t-hair2); }
@media (min-width: 960px) {
  .ob-tvf { grid-template-columns: minmax(0, 3fr) minmax(0, 1.25fr); align-items: start; }
  .ob-tvf__fork { position: relative; margin-top: -14px; padding-left: 24px; border-left: 1px solid var(--t-hair2); }
}
@media (max-width: 959px) {
  .ob-tvf { gap: 8px; } .ob-tvf__l { grid-template-columns: 1fr; border-left: 1px solid var(--t-hair2); margin-left: 4px; }
  .ob-tvf__l::before, .ob-tvf__l::after { display: none; }
  .ob-tvf__l li { padding: 0 0 26px 24px; } .ob-tvf__l li::before { left: -5px; top: 3px; }
  .ob-tvf__fork { margin-left: 4px; padding-left: 20px; border-left: 1px solid var(--t-org); }
}
@media (prefers-reduced-motion: reduce) { .ob-tvf__l::after { animation: none; display: none; } .ob-tflow__dot, .ob-rail__l button::before { transition: none; } }

/* 07 security — four themes, marks, detail on demand */
.ob-themes { list-style: none; margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; display: grid; gap: 48px 40px; }
@media (min-width: 720px) { .ob-themes { grid-template-columns: 1fr 1fr; } }
.ob-theme { padding-top: 22px; border-top: 1px solid var(--t-hair2); }
.ob-theme h3 { margin: 0; font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-weight: 400; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.1; color: #fff; }
.ob-theme > p { margin: 12px 0 0; font-family: var(--font-body-alt, monospace); font-size: 15.5px; line-height: 1.6; color: var(--t-body); max-width: 44ch; }
.ob-marks { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 10px; }
.ob-marks li { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: baseline; gap: 12px; }
.ob-marks li > span:not(.ob-stat) { font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); line-height: 1.4; color: var(--t-mute); }
.ob-theme .ob-more2 { margin-top: 20px; }
.ob-impl { margin: 0; display: grid; gap: 16px; }
.ob-impl dt { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); color: var(--t-white); }
.ob-impl dd { margin: 4px 0 0; font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); line-height: 1.55; color: var(--t-mute); }
.ob-disc2 { margin-top: clamp(64px, 8vw, 112px); padding-top: 28px; border-top: 1px solid var(--t-hair2); scroll-margin-top: var(--anchor-offset); }
.ob-disc2 .ob-meta { margin-top: 0; } .ob-disc2 .ob-h3 { margin-top: 14px; }
.ob-dash { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; max-width: 62ch; }
.ob-dash li { position: relative; padding-left: 22px; font-family: var(--font-body-alt, monospace); font-size: 15px; line-height: 1.55; color: var(--t-body); }
.ob-dash li::before { content: ""; position: absolute; left: 0; top: .78em; width: 10px; height: 1px; background: var(--t-faint); }
.ob-tclose { margin: 0; padding-block: clamp(72px, 9vw, 136px); max-width: 22ch; font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-size: clamp(28px, 3.6vw, 48px); line-height: 1.08; letter-spacing: -.015em; color: var(--t-white); }

/* ══════════════ LEGAL ══════════════ */
.ob-lpage { padding: clamp(116px, 11vw, 164px) 0 clamp(72px, 9vw, 128px); }
.ob-lhead { max-width: 46rem; }
.ob-lhead__t { margin: 0; font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-weight: 400; font-size: clamp(40px, 5vw, 68px); line-height: 1; letter-spacing: -.02em; color: #fff; text-wrap: balance; }
.ob-lhead__l { margin: 20px 0 0; max-width: 56ch; font-family: var(--font-body-alt, monospace); font-size: clamp(16px, 1.3vw, 18.5px); line-height: 1.55; color: var(--t-body); }
.ob-lnote { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 18px; margin: clamp(32px, 4vw, 48px) 0 0; padding: 16px 0; border-block: 1px solid var(--t-hair); max-width: 64rem; }
.ob-lnote > span:not(.ob-stat) { flex: 1 1 360px; font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); line-height: 1.55; color: var(--t-mute); }
.ob-lsub { margin-top: clamp(56px, 7vw, 96px); }

/* legal index — a precise document index */
.ob-lrows { list-style: none; margin: clamp(32px, 4vw, 48px) 0 0; padding: 0; border-bottom: 1px solid var(--t-hair); }
.ob-lsub + .ob-lrows { margin-top: 0; }
.ob-lrows li { border-top: 1px solid var(--t-hair); }
.ob-lrow { position: relative; display: grid; grid-template-columns: 56px minmax(0, 5fr) minmax(0, 6fr) 200px 24px; align-items: baseline; gap: 8px 24px; padding: 24px 0; }
.ob-lrow::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--t-org); transform: scaleX(0); transform-origin: left; transition: transform .35s steps(8); }
.ob-lrow:hover::after, .ob-lrow:focus-visible::after { transform: scaleX(1); }
.ob-lrow__n { font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .1em; color: var(--t-faint); }
.ob-lrow__t { font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-size: clamp(22px, 2.2vw, 30px); line-height: 1.1; color: #fff; }
.ob-lrow__d { font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); line-height: 1.5; color: var(--t-mute); }
.ob-lrow__s { justify-self: start; min-width: 0; }
.ob-lrow__s .ob-stat { white-space: normal; line-height: 1.45; }   /* 'VERSION 1.0 · EFFECTIVE · 25 SEPTEMBER 2026' wraps inside its column */
.ob-lrow__a { font-style: normal; font-family: var(--font-body-alt, monospace); color: var(--t-faint); transition: transform .2s steps(3), color .15s; }
.ob-lrow:hover .ob-lrow__a, .ob-lrow:focus-visible .ob-lrow__a { color: var(--t-org); transform: translateX(6px); }
.ob-lrows--also .ob-lrow__t { font-size: clamp(19px, 1.7vw, 22px); color: var(--t-body); }
@media (max-width: 900px) {
  .ob-lrow { grid-template-columns: 36px minmax(0, 1fr) 20px; row-gap: 8px; padding: 20px 0; }
  .ob-lrow__t, .ob-lrow__d, .ob-lrow__s { grid-column: 2; } .ob-lrow__a { grid-column: 3; grid-row: 1; }
}
.ob-four2 { list-style: none; margin: 0; padding: 0; display: grid; gap: 36px 40px; }
@media (min-width: 720px) { .ob-four2 { grid-template-columns: 1fr 1fr; } } @media (min-width: 1200px) { .ob-four2 { grid-template-columns: repeat(4, 1fr); } }
.ob-four2 li { display: grid; gap: 10px; align-content: start; padding-top: 18px; border-top: 1px solid var(--t-hair); }
.ob-four2__n { font-family: var(--ob-font); font-size: var(--type-label); color: var(--t-faint); }
.ob-four2 h3 { margin: 0; font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-weight: 400; font-size: 22px; line-height: 1.15; color: #fff; }
.ob-four2 p { margin: 0; font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); line-height: 1.55; color: var(--t-mute); }
.ob-four2 a { font-family: var(--ob-font); text-transform: uppercase; font-size: var(--type-label); letter-spacing: .12em; color: var(--t-white); margin-top: 4px; } .ob-four2 a i { font-style: normal; color: var(--t-org); } .ob-four2 a:hover { color: var(--t-org); }

/* legal document — editorial two-column reading layout */
.ob-lg { display: grid; gap: 32px; }
.ob-lg__head { padding-bottom: 8px; }
@media (min-width: 1000px) {
  .ob-lg { grid-template-columns: 220px minmax(0, 1fr); grid-template-areas: "side head" "side doc"; column-gap: clamp(56px, 6vw, 112px); row-gap: 48px; }
  .ob-lg__head { grid-area: head; } .ob-doc { grid-area: doc; }
  .ob-lg__side { grid-area: side; position: sticky; top: 112px; align-self: start; max-height: calc(100vh - 136px); overflow-y: auto; scrollbar-width: none; padding-top: 6px; } .ob-lg__side::-webkit-scrollbar { display: none; }
}
.ob-lg__info { margin: 0 0 32px; display: grid; gap: 14px; }
.ob-lg__info div { display: grid; gap: 6px; }
.ob-lg__info dt { font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .14em; color: var(--t-faint); }
.ob-lg__info dd { margin: 0; font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); color: var(--t-body); }
.ob-lg__info .ob-stat { white-space: normal; line-height: 1.3; }
.ob-lg__url { overflow-wrap: anywhere; font-size: var(--type-label) !important; }
/* Legal Center: effective / last-updated pair under the page head */
.ob-lidx__dates { display: flex; flex-wrap: wrap; gap: 12px 40px; margin: 28px 0 8px; }
.ob-toc summary { list-style: none; display: flex; justify-content: space-between; align-items: center; cursor: var(--cursor-hover); font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .14em; color: var(--t-faint); padding: 0 0 10px; }
.ob-toc summary::-webkit-details-marker { display: none; }
.ob-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; border-left: 1px solid var(--t-hair); }
.ob-toc a { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 6px; padding: 5px 0 5px 14px; margin-left: -1px; border-left: 1px solid transparent; font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); line-height: 1.35; color: var(--t-mute); transition: color .15s; }
.ob-toc a span { font-family: var(--ob-font); font-size: var(--type-label); color: var(--t-faint); padding-top: 2px; }
.ob-toc a:hover { color: var(--t-white); }
.ob-toc a[aria-current="true"] { color: var(--t-white); border-left-color: var(--t-org); } .ob-toc a[aria-current="true"] span { color: var(--t-org); }
@media (min-width: 1000px) { .ob-toc summary { cursor: var(--cursor-default); pointer-events: none; } }
@media (max-width: 999px) {
  .ob-lg__info { grid-template-columns: repeat(3, auto); justify-content: start; column-gap: 32px; margin-bottom: 0; }
  .ob-toc { border-block: 1px solid var(--t-hair); } .ob-toc summary { padding: 14px 0; font-size: var(--type-label); color: var(--t-white); }
  .ob-toc summary::after { content: "+"; color: var(--t-org); font-size: 16px; } .ob-toc[open] summary::after { content: "−"; }
  .ob-toc ol { margin-bottom: 14px; }
}
@media (max-width: 560px) { .ob-lg__info { grid-template-columns: 1fr 1fr; } }
.ob-lg__docs { display: none; }
@media (min-width: 1000px) {
  .ob-lg__docs { display: grid; gap: 2px; margin-top: 36px; }
  .ob-lg__docs p { margin: 0 0 8px; font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .14em; color: var(--t-faint); }
  .ob-lg__docs a { font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); padding: 3px 0; color: var(--t-faint); } .ob-lg__docs a:hover { color: var(--t-white); }
  .ob-lg__docs a[aria-current="page"] { color: var(--t-white); }
}
.ob-doc { min-width: 0; max-width: 44rem; font-family: var(--font-body-alt, monospace); font-size: 16.5px; line-height: 1.75; color: var(--t-body); }
.ob-doc p, .ob-doc ul { margin: 0 0 16px; max-width: 66ch; }
.ob-doc ul { padding-left: 22px; list-style: square; display: grid; gap: 6px; } .ob-doc li::marker { color: var(--t-faint); }
.ob-doc section { margin-top: clamp(48px, 5vw, 64px); scroll-margin-top: var(--anchor-offset); }
.ob-doc section h2 { display: flex; align-items: baseline; gap: 16px; margin: 0 0 18px; font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-weight: 400; font-size: clamp(24px, 2.3vw, 30px); line-height: 1.12; letter-spacing: -.01em; color: #fff; }
.ob-doc section h2 .n { flex: none; min-width: 26px; font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .08em; color: var(--t-faint); }
.ob-doc h3 { margin: 28px 0 10px; font-family: var(--ob-font); font-weight: 400; text-transform: uppercase; font-size: var(--type-label); letter-spacing: .14em; color: var(--t-white); }
.ob-lg__short { padding: 22px 0 6px; border-block: 1px solid var(--t-hair); }
.ob-lg__short h2 { margin: 0 0 14px; font-family: var(--ob-font); font-weight: 400; text-transform: uppercase; font-size: var(--type-label); letter-spacing: .14em; color: var(--t-faint); }
.ob-lg__short ul { list-style: none; padding: 0; gap: 10px; } .ob-lg__short li { position: relative; padding-left: 22px; color: var(--t-white); line-height: 1.6; }
.ob-lg__short li::before { content: ""; position: absolute; left: 0; top: .8em; width: 10px; height: 1px; background: var(--t-org); }
.ob-lg__short p { font-size: var(--type-body-s); color: var(--t-faint); }
.ob-lg__ph { font-family: var(--ob-font); font-size: .8em; letter-spacing: .06em; color: var(--ob-amber, #f0b46a); border-bottom: 1px dotted rgba(240,180,106,.6); }
.ob-lg__note { padding-left: 16px; border-left: 1px dashed rgba(240,180,106,.6); }
.ob-lg__tw { overflow-x: auto; margin: 8px 0 20px; }
.ob-lg__t { width: 100%; border-collapse: collapse; font-size: var(--type-body-s); line-height: 1.5; min-width: 520px; }
.ob-lg__t th, .ob-lg__t td { text-align: left; vertical-align: top; padding: 12px 16px 12px 0; border-bottom: 1px solid var(--t-hair); }
.ob-lg__t thead th { font-family: var(--ob-font); font-weight: 400; font-size: var(--type-label); letter-spacing: .14em; text-transform: uppercase; color: var(--t-faint); border-bottom-color: var(--t-hair2); }
.ob-lg__t tbody th { font-weight: 400; color: var(--t-white); }
.ob-lg__rel { display: flex; flex-wrap: wrap; gap: 12px 32px; align-items: baseline; margin-top: 72px; padding-top: 22px; border-top: 1px solid var(--t-hair); }
.ob-lg__rel p { margin: 0; flex-basis: 100%; font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .14em; color: var(--t-faint); }
.ob-lg__rel a { font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-size: 20px; color: var(--t-white); text-decoration: none; } .ob-lg__rel a i { font-style: normal; color: var(--t-org); font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); }
.ob-lg__rel a:hover { color: var(--t-org); }
@media (max-width: 640px) { .ob-doc { font-size: 16px; line-height: 1.7; } }

/* contact */
.ob-crows { margin: clamp(32px, 4vw, 48px) 0 0; max-width: 64rem; border-bottom: 1px solid var(--t-hair); }
.ob-crows > div { display: grid; grid-template-columns: 220px minmax(0, 1fr) auto; align-items: baseline; gap: 6px 24px; padding: 20px 0; border-top: 1px solid var(--t-hair); }
.ob-crows dt { font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-size: 20px; color: #fff; }
.ob-crows dd { margin: 0; font-family: var(--font-body-alt, monospace); font-size: 15px; color: var(--t-body); }
@media (max-width: 720px) { .ob-crows > div { grid-template-columns: 1fr; } }
#ai-data .ob-h2 { max-width: 28ch; }

/* ── human contact: the public address as a memorable line (Trust ending, legal "Questions", /contact) ── */
.ob-mail { display: inline-flex; flex-direction: column; gap: 10px; max-width: 100%; font-family: var(--font-heading, serif); font-size-adjust: var(--fsa-heading); font-size: clamp(26px, 3.4vw, 44px); line-height: 1.05; letter-spacing: -.01em; color: #fff; overflow-wrap: anywhere; }
.ob-mail i { position: relative; display: block; height: 1px; width: 100%; background: var(--t-hair2); }
.ob-mail i::before { content: ""; position: absolute; left: 0; top: 0; height: 1px; width: 32%; background: var(--t-org); transition: width .45s steps(8); }
.ob-mail i::after { content: ""; position: absolute; right: -1px; top: -3px; border: 3.5px solid transparent; border-left: 5px solid var(--t-faint); border-right: 0; transition: border-left-color .2s; }
.ob-mail:hover i::before, .ob-mail:focus-visible i::before { width: 100%; } .ob-mail:hover i::after, .ob-mail:focus-visible i::after { border-left-color: var(--t-org); }
.ob-mail--sm { font-size: clamp(20px, 2vw, 26px); }
.ob-tq { padding: clamp(56px, 7vw, 96px) 0 clamp(72px, 9vw, 128px); border-top: 1px solid var(--t-hair); display: grid; gap: 18px; justify-items: start; }
.ob-tq .ob-tlab { margin: 0; }
.ob-lq { display: grid; gap: 12px; justify-items: start; margin-top: 72px; padding-top: 22px; border-top: 1px solid var(--t-hair); }
.ob-lq .ob-tlab { margin: 0; font-size: var(--type-label); color: var(--t-faint); }
.ob-lq + .ob-lg__rel { margin-top: 40px; }
@media (prefers-reduced-motion: reduce) { .ob-mail i::before { transition: none; } }

/* ── legal release: blocked-status colour, stable-id caption, document history, print ── */
.ob-stat--blocked { color: var(--ob-amber, #f0b46a); } .ob-stat--blocked::before { background: repeating-linear-gradient(135deg, currentColor 0 1px, transparent 1px 3px); }
.ob-lg__id { display: block; margin-top: 2px; font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .08em; color: var(--t-faint); }
.ob-lg__hist { margin-top: 56px; padding-top: 20px; border-top: 1px solid var(--t-hair); }
.ob-lg__hist p.ob-tlab { margin-bottom: 14px; }
.ob-lg__hist dl { margin: 0; display: grid; gap: 8px; }
.ob-lg__hist dl > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 14px; font-family: var(--font-body-alt, monospace); font-size: var(--type-body-s); color: var(--t-mute); }
.ob-lg__hist dt { color: var(--t-white); font-family: var(--ob-font); font-size: var(--type-label); letter-spacing: .06em; }

/* print-only masthead: hidden on screen, shown on paper once .ob-noprint (sidebar/nav/footer) disappears */
.ob-lg__print-only { display: none; }
@media print {
  header, .ob-mnav, footer, .ob-noprint, .ob-lg__rel, .ob-lq, #ob-scroll-progress, [class^="ob-dev"], .ob-lhead__t { display: none !important; }   /* the title prints in the masthead (canvas headings do not print reliably) */
  html, body { background: #fff !important; }
  .ob-lpage { padding: 0 !important; background: #fff !important; }
  .ob-lg { display: block !important; }
  .ob-lg__print-only { display: block; margin: 0 0 24px; padding-bottom: 12px; border-bottom: 1px solid #000; font-family: var(--ob-font); font-size: var(--type-label); line-height: 1.6; color: #000; }
  .ob-lhead__t, .ob-doc, .ob-doc h2, .ob-doc h3, .ob-lg__short, .ob-lg__short li { color: #000 !important; text-shadow: none !important; }
  .ob-lhead__l { color: #333 !important; }
  .ob-doc a { color: #000 !important; text-decoration: underline !important; }
  .ob-lg__short { border-color: #000 !important; }
  .ob-lg__ph { color: #000 !important; border-bottom: 1px dotted #000 !important; }
  .ob-doc h2, .ob-doc h3 { break-after: avoid-page; } .ob-doc li, .ob-doc tr, .ob-doc p { break-inside: avoid-page; }
}
