/* ═══ ok-base: scope reset, typography, focus, utilities, compliance bar ═══ */
.ok-scope{font-family:var(--ok-font-body);color:var(--ok-body);line-height:1.65;font-size:var(--ok-fs-md);font-weight:400;-webkit-font-smoothing:antialiased}
/* The parent theme sets body{font-weight:100} (Inter Thin) — every ok surface re-anchors at 400. */
.ok-scope b,.ok-scope strong{font-weight:700}
.ok-scope *,.ok-scope *::before,.ok-scope *::after{box-sizing:border-box}
.ok-scope h1,.ok-scope h2,.ok-scope h3,.ok-scope h4{font-family:var(--ok-font-display);color:var(--ok-ink);letter-spacing:-.02em;line-height:1.15;margin:0}
.ok-scope h2{font-size:var(--ok-fs-2xl);margin-bottom:var(--ok-sp-4)}
.ok-scope h3{font-size:var(--ok-fs-lg);margin:18px 0 8px}
.ok-scope p{margin:0 0 var(--ok-sp-4)}
.ok-scope a{color:var(--ok-link);text-decoration:none}
.ok-scope img{max-width:100%;height:auto;display:block;border:0}
.ok-scope :where(ul,ol){margin:0;padding:0} /* :where = 0 specificity so single-class list styling (.okh-weights etc.) wins as intended */
.ok-wrap{max-width:var(--ok-maxw);margin:0 auto;padding:0 var(--ok-sp-6)}
.ok-wrap--wide{max-width:1340px}
.ok-small{font-size:var(--ok-fs-sm);color:var(--ok-text-soft)}
.ok-lead{font-size:18px;color:var(--ok-ink-2);line-height:1.7}
/* focus */
.ok-scope :focus-visible{outline:3px solid var(--ok-action-ring);outline-offset:2px;border-radius:4px} /* v3 semantic system: action colour = buttons/focus (was ink) */
.ok-hero :focus-visible,.ok-ctaband :focus-visible,.ok-bonusbox-top :focus-visible,.ok-compliance :focus-visible{outline-color:var(--ok-mint)}
/* reduced motion */
@media (prefers-reduced-motion: reduce){
  .ok-scope *,.ok-scope *::before,.ok-scope *::after{transition:none !important;animation:none !important}
}
/* utilities */
.ok-mt0{margin-top:0 !important}.ok-mt3{margin-top:var(--ok-sp-3) !important}.ok-mt4{margin-top:var(--ok-sp-4) !important}.ok-mb0{margin-bottom:0 !important}
/* breadcrumb */
.ok-crumb{padding:18px 0 14px}
.ok-crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;font-size:var(--ok-fs-xs);color:var(--ok-muted)}
.ok-crumb a{color:var(--ok-muted)}
.ok-crumb li:not(:first-child)::before{content:"›";margin-right:8px;color:var(--ok-line-2)}
.ok-crumb [aria-current]{color:var(--ok-ink-2);font-weight:600}
/* sitewide compliance bar */
.ok-compliance{background:var(--ok-ink);color:var(--ok-on-dark-faint);font-size:var(--ok-fs-xs);font-family:var(--ok-font-body)}
.ok-compliance .ok-wrap{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:12px;flex-wrap:wrap;padding-top:4px;padding-bottom:4px}
.ok-compliance b{color:#fff;font-weight:600}
.ok-compliance a{color:var(--ok-on-dark)}
.ok-compliance .ok-rg{display:flex;gap:16px;flex-wrap:wrap}
.ok-compliance .ok-dot{width:5px;height:5px;border-radius:50%;background:var(--ok-green);display:inline-block;margin-right:7px;vertical-align:1px}
@media(max-width:900px){.ok-compliance .ok-rg span:nth-child(n+3){display:none}}
