/* Cobalt Pearl website adapters. The owning profile supplies all brand roles. */
html { scroll-padding-top:24px; }
body.ba-pearl {
  --ba-cloud:var(--pearl-bg); --ba-white:var(--pearl-panel);
  --ba-surface:var(--pearl-panel); --ba-obsidian:var(--pearl-ink);
  --ba-deep-space:var(--pearl-ink); --ba-indigo-slate:var(--pearl-ink);
  --ba-muted:var(--pearl-muted); --ba-faint:var(--pearl-muted);
  --ba-fog:var(--pearl-line); --ba-fog-soft:var(--pearl-alt);
  --ba-violet:var(--pearl-accent); --ba-royal:var(--pearl-accent);
  --ba-peri:var(--pearl-art); --ba-wash:var(--pearl-soft);
  --ba-lavender-soft:var(--pearl-soft); --ba-pending:var(--pearl-muted);
  --release-ink:var(--pearl-ink); --release-muted:var(--pearl-muted);
  --release-slate:var(--pearl-accent); --release-rule:var(--pearl-line);
  --release-surface:var(--pearl-bg); --release-white:var(--pearl-panel);
  --release-wash:var(--pearl-alt); --diagram-ink:var(--pearl-ink);
  --diagram-muted:var(--pearl-muted); --diagram-signal:var(--pearl-art);
  --ba-font-display:var(--pearl-font-display); --ba-font-body:var(--pearl-font-body);
  --ba-font-mono:var(--pearl-font-mono);
  --font-display:var(--ba-font-display); --font-body:var(--ba-font-body); --font-mono:var(--ba-font-mono);
  --nav-bg:var(--pearl-bg); --nav-ink:var(--pearl-ink); --nav-line:var(--pearl-line);
  --accent:var(--pearl-accent); --accent-ink:var(--pearl-on); --focus:var(--pearl-accent);
  --ba-radius:2px; --ba-radius-plate:3px;
  --pearl-page-gutter:var(--pearl-gutter);
  color:var(--pearl-ink); background:var(--pearl-bg);
  font-family:var(--ba-font-body); line-height:1.7; margin:0;
}
html[data-theme=dark] body.ba-pearl { --brand-filter:brightness(0) invert(1); }
html[data-theme=light] body.ba-pearl { --brand-filter:brightness(0); }
body.ba-pearl .site-header { background:var(--pearl-bg); color:var(--pearl-ink); border-color:var(--pearl-line); }
body.ba-pearl .site-footer { background:var(--pearl-footer); color:var(--pearl-ink); border-color:var(--pearl-line); }
body.ba-pearl :is(.site-header,.site-footer) { padding-inline:var(--pearl-page-gutter); }
body.ba-pearl :is(.footer-intro p,.footer-links a,.footer-boundary,.footer-advice) { color:var(--pearl-muted); }
body.ba-pearl :is(.footer-links h2,.footer-boundary) { border-color:var(--pearl-line); }
body.ba-pearl :is(.site-brand img,.footer-brand img) { filter:var(--brand-filter); }
/* Keep the approved wordmark size within a usable shared navigation target. */
body.ba-pearl .site-brand { display:inline-flex; align-items:center; min-height:44px; }
/* Policy metadata is substantive reading material. Clause content is untouched. */
body.pearl-page :is(.lp-pill,.lp-summary__k,.lp-toc__k,.lp-crumb) { font-size:12px; line-height:1.6; }
body.pearl-page .lp-policy-body th { font-size:12px; line-height:1.6; }
body.ba-pearl .nav-panel { background:var(--pearl-panel); color:var(--pearl-ink); border-color:var(--pearl-line); }
body.ba-pearl .nav-panel a:hover { background:var(--pearl-soft); color:var(--pearl-accent-text); }
body.ba-pearl .header-action { background:var(--pearl-accent-mark); color:var(--pearl-on); }
body.ba-pearl .nav-access { display:none; }
@media(max-width:1399px) {
  body.ba-pearl .nav-access { display:block; border-top:1px solid var(--pearl-line); padding-top:16px; margin-top:8px; }
  body.ba-pearl .nav-access>a { display:flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; background:var(--pearl-accent-mark); color:var(--pearl-on); }
}
body.ba-pearl .footer-links a:hover { color:var(--pearl-accent-text); }
body.ba-pearl :is(a,button,summary,input,select,textarea):focus-visible { outline:var(--pearl-focus-width) solid var(--pearl-focus); outline-offset:var(--pearl-focus-offset); }
body.ba-pearl ::selection { background:var(--pearl-accent-mark); color:var(--pearl-on); }

/* Existing page families consume one reading scale and one horizontal grid. */
body.pearl-page {
  --fs-h1-sm:var(--pearl-type-page-title-size); --fs-h1-md:var(--fs-h1-sm);
  --fs-h1-lg:var(--fs-h1-sm); --fs-h1-xl:var(--fs-h1-sm); --fs-h1-xxl:var(--fs-h1-sm);
  --fs-h1:var(--fs-h1-sm); --fs-display:var(--fs-h1-sm);
  --fs-h2:var(--pearl-type-section-title-size); --fs-h2-lg:var(--fs-h2);
  --fs-lede:18px; --fs-lead:18px; --fs-body:16px; --fs-body-sm:16px;
  --fs-body-lg:18px; --fs-essay:17px; --fs-card-title:22px;
  --fs-card-title-lg:24px; --fs-card-body:16px; --fs-card-body-lg:16px;
  --fs-kicker:12px; --fs-cta:14px; --lh-display:1.12;
  --lh-h2:1.2; --lh-body:1.7; --lh-lede:1.75; --lh-essay:1.8;
}
body.pearl-page :is(.ba-page,.ba-home) { width:100%; max-width:none; margin:0; background:var(--pearl-bg); color:var(--pearl-ink); }
body.pearl-page :is(h1,h2,h3,h4) { font-family:var(--ba-font-display); color:var(--pearl-ink); font-weight:600; text-wrap:balance; }
body.pearl-page h1 { font-size:var(--fs-h1); line-height:1.12; letter-spacing:-0.0275em; font-weight:500; }
body.pearl-page :is(.ba-h2,.hiw-h2,.cl-h2,.co-h2,.ao-h2,.em-h2,.gc-h2,.sa-h2,.ip-h2,.to-h2,.oc-h2,.es-h2,.vl-h2,.wp-h2,.gl-h2,.ml-h2) { font-size:var(--fs-h2); line-height:1.2; letter-spacing:-0.0225em; font-weight:400; }
body.pearl-page :is(.ba-wrap,.ba-gutter,.cluster-wrap,.hiw-wrap,.em-wrap,.ao-wrap,.co-wrap,.gl-wrap,.ml-wrap,.up-wrap,.vl-wrap,.wp-wrap,.gc-wrap,.sa-wrap,.ip-wrap,.oc-wrap,.es-wrap,.to-wrap,.cd-wrap) { max-width:1280px; margin-inline:auto; }
body.pearl-page :is(.ba-section,.cl-section,.co-section,.hiw-section,.ao-section,.em-section,.gc-section,.sa-section,.ip-section,.oc-section,.es-section,.to-section,.cd-section,.vl-section,.wp-section,.gl-section,.ml-section) { border-color:var(--pearl-line); }
body.pearl-page :is(.ba-eyebrow,.ba-kicker,[class$="-kicker"]) { font-family:var(--ba-font-mono); color:var(--pearl-art); font-size:12px; letter-spacing:.08em; line-height:1.8; }
body.pearl-page :is(.ba-btn--primary,.ba-primary,.ra-submit,.co-submit,[type=submit]) { background:var(--pearl-accent-mark)!important; color:var(--pearl-on)!important; border-color:var(--pearl-accent-mark)!important; }
body.pearl-page :is(.ba-btn--primary,.ba-primary,.ra-submit,.co-submit,[type=submit]):hover { background:var(--pearl-hover)!important; }
body.pearl-page :is(input,select,textarea) { color:var(--pearl-ink); background-color:var(--pearl-panel); border-color:var(--pearl-strong); accent-color:var(--pearl-accent-mark); }
body.pearl-page :is(input,textarea)::placeholder { color:var(--pearl-muted); opacity:1; }
body.pearl-page :is(.ba-hero-concept>figure,.ba-hero-depth__content) { background:var(--pearl-panel); color:var(--pearl-ink); border-color:var(--pearl-line); }

/* Uniform text cards keep the source titles and align measured heading rows. */
body.pearl-page .ba-creative-card { --ba-card-pad:28px; min-width:0; padding:var(--ba-card-pad); border:1px solid var(--pearl-line); border-radius:2px; background:var(--pearl-panel); color:var(--pearl-ink); box-shadow:none; display:flex; flex-direction:column; }
body.pearl-page a.ba-creative-card:hover { border-color:var(--pearl-strong); background:var(--pearl-soft); transform:none; }
body.pearl-page .ba-creative-card-header { min-height:var(--ba-card-heading-height,112px); height:auto; display:flex; flex-direction:column; justify-content:flex-end; gap:12px; margin:0; padding:0; flex-shrink:0; border:0; }
body.pearl-page .ba-creative-card [data-creative-heading] { display:flex; flex-direction:column; justify-content:flex-end; min-height:2.44em; max-width:100%; margin:0; padding:0; color:var(--pearl-ink); font:600 clamp(20px,1.7vw,26px)/1.22 var(--ba-font-display); letter-spacing:-0.0175em; }
body.pearl-page .ba-creative-card [data-creative-heading]>span { display:block; }
body.pearl-page .ba-creative-card-divider { height:1px; min-height:1px; flex:none; width:100%; margin:22px 0; background:var(--pearl-line); border:0; }
body.pearl-page .ba-creative-card-body { min-width:0; padding:0; margin:0; color:var(--pearl-muted); font:400 16px/1.7 var(--ba-font-body); }
body.pearl-page .ba-creative-card-body :is(p,li) { font-size:16px; line-height:1.7; color:var(--pearl-muted); }
body.pearl-page .ba-creative-card-footer { margin-top:auto; padding-top:24px; color:var(--pearl-accent-text); }
body.pearl-page .ba-creative-card-kicker,body.pearl-page .ba-creative-retained-name { color:var(--pearl-muted); font:400 12px/1.6 var(--ba-font-mono); }
body.pearl-page .ba-creative-retained-name { margin-top:12px; }

/* Long reading pages retain complete clauses and a bounded text measure. */
body.pearl-page :is(.lp-page,.in-page) { background:var(--pearl-bg); color:var(--pearl-ink); }
body.pearl-page :is(.lp-policy-body,.in-article__body,.in-article-body) { font:400 17px/1.8 var(--ba-font-body); color:var(--pearl-ink); }
body.pearl-page :is(.lp-policy-body,.in-article__body,.in-article-body) :is(p,li) { font-size:17px; line-height:1.8; }
body.pearl-page :is(.lp-policy-body,.in-article__body,.in-article-body) h2 { font-size:clamp(24px,2.5vw,32px); line-height:1.3; letter-spacing:-0.0125em; }
body.pearl-page :is(.lp-policy-body,.in-article__body,.in-article-body) a { color:var(--pearl-accent-text); text-decoration:underline;text-decoration-thickness:var(--pearl-link-underline); text-underline-offset:var(--pearl-link-underline-offset); }
body.pearl-page :is(.lp-toc,.in-toc,.lp-summary,.lp-aside__contact) { background:var(--pearl-panel); color:var(--pearl-ink); border-color:var(--pearl-line); }
body.pearl-page :is(.lp-pill,.in-chip,.in-seg) { color:var(--pearl-muted); background:var(--pearl-panel); border-color:var(--pearl-line); }
body.pearl-page :is(.in-seg.is-active,.in-chip.is-active,[role=tab][aria-selected=true]) { color:var(--pearl-on); background:var(--pearl-accent-mark); border-color:var(--pearl-accent-mark); }


@media(max-width:1399px) { body.ba-pearl .site-nav { padding-inline:var(--pearl-page-gutter); } }


@media(max-width:680px) {
  body.pearl-page { --fs-h1:36px; --fs-h2:28px; }
  body.pearl-page .ba-creative-card { --ba-card-pad:24px; }
  body.pearl-page .ba-creative-card-header { min-height:var(--ba-card-heading-height,100px); }
  body.pearl-page :is(.lp-policy-body,.in-article__body,.in-article-body) :is(p,li) { font-size:16px; line-height:1.75; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } body.ba-pearl *,body.ba-pearl *::before,body.ba-pearl *::after { animation-duration:0ms!important; animation-delay:0ms!important; transition-duration:0ms!important; scroll-behavior:auto!important; } }

body.pearl-page[data-page-type=legal-policy] h1,body.pearl-page[data-page-type=insights-article] h1 { font-size:var(--pearl-type-article-title-size); line-height:var(--pearl-type-article-title-leading); }
body.ba-pearl :is(.cc-eyebrow,.cc-caption,.cc-inspector-top,.cc-inspector-tag,.cc-card-kicker,.lifecycle-eyebrow,.lifecycle-stage-kicker,.lifecycle-stage-meta,.infra-eyebrow,.infra-component-output) { font-size:12px; line-height:1.6; }
body.ba-pearl :is(.lifecycle-motion,.infra-motion,.cc-record-tabs button) { min-height:44px; }
body.ba-pearl .cc-hero :is(.lifecycle-phase,.lifecycle-artifact,.lifecycle-motion),
body.ba-pearl :is(.infra-component-function,.infra-component-output,.infra-motion) { font-size:12px; line-height:1.6; }
body.ba-pearl .cc-hero .lifecycle .lifecycle-caption { font-size:13px; line-height:1.6; }
body.ba-pearl .infrastructure :is(.infra-function,.infra-output) { font-size:12px; line-height:1.6; }
body.ba-pearl .infrastructure .infra-caption { font-size:13px; line-height:1.6; }

/* Named page roles take precedence over authored inline presentation sizes. */
body.pearl-page h1 { font-family:var(--pearl-font-display)!important; font-size:var(--pearl-type-page-title-size)!important; font-weight:var(--pearl-type-page-title-weight)!important; line-height:var(--pearl-type-page-title-leading)!important; letter-spacing:-0.0275em!important; }
body.pearl-page[data-page-type=legal-policy] h1,body.pearl-page[data-page-type=insights-article] h1 { font-size:var(--pearl-type-article-title-size)!important; line-height:var(--pearl-type-article-title-leading)!important; }
body.pearl-page :is(.ba-cta-primary,[class$="__cta--primary"],a[class*="btn--primary"]) { background:var(--pearl-accent-mark)!important; color:var(--pearl-on)!important; border-color:var(--pearl-accent-mark)!important; border-radius:var(--pearl-radius-control)!important; font-size:14px!important; line-height:1.4!important; font-weight:600!important; min-height:50px; padding:15px 23px!important; }
body.pearl-page :is(.ba-cta-secondary,[class$="__cta--secondary"]) { color:var(--pearl-ink)!important; background:transparent!important; border-color:var(--pearl-strong)!important; font-size:14px!important; line-height:1.4!important; min-height:50px; padding:15px 23px!important; }
body.ba-pearl .footer-disclosure { color:var(--pearl-muted); font:400 13px/1.7 var(--pearl-font-body); max-width:112ch; margin:0 0 24px; }

/* Text remains fully opaque on both themes; status dots retain their semantics. */
body.pearl-page :is(.in-collection .cnt,.in-ck .cnt,button[data-ck] .cnt,.gl-specimen-head-meta) { opacity:1!important; color:var(--pearl-muted)!important; }
body.pearl-page :is(button[data-ck].is-active,button[data-ck][aria-pressed=true]) .cnt { color:var(--pearl-on)!important; }
body.pearl-page :is(.gl-anchor,.gl-specimen-head-meta,.cl-character__label) { font-size:12px!important; line-height:1.6; overflow-wrap:anywhere; }
body.pearl-page :is(.ba-alpha-ai-engine-badge--ok,.ba-badge--ok,.ba-badge--built) { color:var(--pearl-ink)!important; }

/* Shared footer headings use their own compact scale on every page family. */
body.ba-pearl .site-footer .footer-links h2 { font:600 15px/1.25 var(--pearl-font-display)!important; letter-spacing:0!important; min-height:56px; text-wrap:balance; overflow-wrap:normal; }
@media(max-width:680px) { body.ba-pearl .site-footer .footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; } body.ba-pearl .site-footer .footer-links h2 { font-size:13px!important; line-height:1.4!important; } }

/* Legible reading metadata; source opacity was tuned for the former palette. */
body.pearl-page :is(.co-security__l,.co-safety__foot-text,.co-boiler__note,.pr-block>span,.lpc-suite__meta,.lpc-routing__note,.lp-route-card__line,.em-boundary__rely-body,.ba-ws-bar__sub,.ba-ws-bar__chip,.ba-ws-panel__label,.ba-ws-plate__meta,.wp-exhibit__tag,.wp-note__code,.wp-note__foot-lab,.gc-line__closing,.oc-registry__meta,.oc-never-row__prefix,.oc-never-row__note,.sa-gates__closing) { opacity:1!important; color:var(--pearl-muted)!important; }
body.pearl-page :is(.co-safety__foot-text,.co-boiler__note,.pr-block>span,.lpc-suite__meta,.wp-exhibit__tag,.wp-note__code,.wp-note__foot-lab,.es-chip__text,.es-rung__k) { font-size:12px!important; line-height:1.6; }
/* Status labels remain explicit; their coloured dots, fills and shapes retain meaning. */
body.pearl-page :is(.ba-hiw-pill--return,.ba-hiw-badge--built,.ba-hiw-badge--counsel-gated,.ba-founders-badge--built,.gc-pbc-pill,.es-rung__k--ok,.es-chip__text,span[style*="color:var(--ba-ok)"],span[style*="color:var(--ba-reported)"],span[style*="color:var(--ba-verif)"]) { color:var(--pearl-ink)!important; }

/* Form, provenance and directory labels keep a readable semantic minimum. */
body.pearl-page :is(.ba-lbl,.es-record__k,.es-rung__k,.pr-meta,.pr-chain-tag,.co-roster__role,.oc-reg-row__tag,.cc-is-lab,.cc-not-lab,.cc-foot-lab) { font-size:12px!important; line-height:1.6!important; }

/* The seven work-surface cards share the same measured heading/divider rhythm. */
body.pearl-page #every-part .ba-ws-card.ba-creative-card { display:flex!important; padding:var(--ba-card-pad)!important; }
body.ba-pearl .site-header .theme-toggle { min-width:44px; flex-basis:44px; }

body.pearl-page .pr-chain-tag { white-space:normal; min-width:0; overflow-wrap:anywhere; text-align:right; }
body.ba-pearl.pearl-page :is(.pr-atlas-evidence .pr-meta>span,.es-chip__text[style*="--ba-reported"]) { color:var(--pearl-ink)!important; }

@media(max-width:680px) { body.pearl-page .pr-chain { flex-wrap:wrap; align-items:flex-start; } body.pearl-page .pr-chain-tag { max-width:100%; } }

/* User-requested footer consolidation: registered disclosure strings stay intact. */
body.ba-pearl .footer-legal-unified { width:100%; grid-column:1/-1; border-top:1px solid var(--pearl-line); padding-top:28px; }
body.ba-pearl .footer-legal-unified .footer-disclosure { width:100%; max-width:none; margin:0; color:var(--pearl-muted); font:400 13px/1.7 var(--pearl-font-body); }
body.ba-pearl .footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px 32px; margin-top:28px; padding-top:20px; border-top:1px solid var(--pearl-line); color:var(--pearl-muted); font:400 12px/1.6 var(--pearl-font-body); }
body.ba-pearl .footer-bottom>p { margin:0; font:inherit; }
body.ba-pearl .footer-bottom nav { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; }
body.ba-pearl .footer-bottom a { display:inline-flex; align-items:center; gap:10px; min-height:44px; text-decoration:none; color:var(--pearl-ink); }
body.ba-pearl .footer-bottom a:hover { text-decoration:underline;text-decoration-thickness:var(--pearl-link-underline); text-underline-offset:var(--pearl-link-underline-offset); }
@media(max-width:680px) { body.ba-pearl .footer-bottom { align-items:flex-start; flex-direction:column; gap:12px; } body.ba-pearl .footer-bottom nav { gap:8px 20px; } }

/* User-requested Home detail presentation: one open continuation of the controls. */
.ba-pearl[data-ba-route="/"] .infrastructure .infra-details { background:transparent; border:0; padding-top:28px; }
.ba-pearl[data-ba-route="/"] .infrastructure .infra-panel { padding:0 0 28px; grid-template-columns:minmax(0,.72fr) minmax(0,1.6fr); gap:40px; align-items:start; }
.ba-pearl[data-ba-route="/"] .infrastructure .infra-panel-heading { padding-left:20px; border-left:2px solid var(--pearl-accent-mark); }
.ba-pearl[data-ba-route="/"] .infrastructure .infra-copy { max-width:none; width:100%; }
@media(max-width:680px) {
 .ba-pearl[data-ba-route="/"] .infrastructure .infra-details { padding-top:24px; }
 .ba-pearl[data-ba-route="/"] .infrastructure .infra-panel { grid-template-columns:1fr; gap:20px; padding-bottom:24px; }
 .ba-pearl[data-ba-route="/"] .infrastructure .infra-panel-heading { padding-left:16px; }
}
