:root { --xg-ri-line:#DDE2E8; --xg-ri-navy:#0F2A4A; --xg-ri-blue:#115DF6; --xg-ri-teal:#0B8D96; }
/*
 * Regulatory Record Experience v2.1 geometry contract.
 *
 * The outer field remains full-bleed, while the inner grid inherits the same
 * governed shell, minimum-height, spacing and visual anchor used by the other
 * accepted XGene hero families. These declarations intentionally supersede the
 * legacy 88rem RI-only override in xgene-media-111.css.
 */
.single-xg-reg-record .xg190-hero--reg-record-single {
  padding-block:0!important;
}
.single-xg-reg-record .xg190-hero--reg-record-single .xg190-hero__grid {
  width:var(--xg-shell)!important;
  max-width:none!important;
  min-height:var(--xg139-hero-min,35.5rem)!important;
  margin-inline:auto!important;
  padding-block:var(--xg139-hero-pad,clamp(3.25rem,4.7vw,5rem))!important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
  gap:var(--xg139-hero-gap,clamp(3rem,4.8vw,5.25rem))!important;
  align-items:center!important;
}
.single-xg-reg-record .xg-ri-v2-hero-cover { display:flex; align-items:center; justify-content:center; min-height:23rem; padding:1.25rem; border:1px solid rgba(255,255,255,.22); border-radius:1.25rem; background:rgba(255,255,255,.08); box-shadow:0 18px 45px rgba(4,22,55,.22); }
.single-xg-reg-record .xg-ri-v2-hero-cover img { display:block; width:100%; height:auto; max-height:31rem; object-fit:contain; border-radius:.8rem; }
.single-xg-reg-record .xg190-record-signal-strip { margin-bottom:0; }
.xg-ri-v2-source { position:relative; z-index:2; padding:2.25rem 0 1.1rem; background:#F8FAFD; }
.xg-ri-v2-source__card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:start; padding:1.4rem 1.5rem; border:1px solid var(--xg-ri-line); border-left:5px solid var(--xg-ri-teal); border-radius:1rem; background:#fff; box-shadow:0 10px 28px rgba(15,42,74,.07); }
.xg-ri-v2-source__facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem; margin-top:.75rem; }
.xg-ri-v2-source__facts span { color:#64748b; font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.xg-ri-v2-source__facts strong { display:block; margin-top:.2rem; color:var(--xg-ri-navy); font-size:.9rem; line-height:1.35; }
.xg-ri-v2-source__actions { display:flex; flex-direction:column; gap:.6rem; min-width:14rem; }
.xg-ri-v2-toc-mobile { display:none; }
.xg-ri-v2-reading { padding:1.25rem 0 4rem; background:#F8FAFD; }
.xg-ri-v2-reading__grid { display:grid; grid-template-columns:minmax(14rem,18rem) minmax(0,48rem); gap:3rem; align-items:start; justify-content:center; }
.xg-ri-v2-toc { position:sticky; top:7.25rem; max-height:calc(100vh - 8.5rem); padding:1.1rem; overflow:auto; border:1px solid var(--xg-ri-line); border-radius:1rem; background:#fff; box-shadow:0 8px 24px rgba(15,42,74,.06); }
.xg-ri-v2-toc h2 { margin:0 0 .65rem; color:var(--xg-ri-navy); font-size:1rem; }
.xg-ri-v2-toc ol,.xg-ri-v2-toc-mobile ol { margin:0; padding:0; list-style:none; }
.xg-ri-v2-toc li { margin:.08rem 0; }
.xg-ri-v2-toc a,.xg-ri-v2-toc-mobile a { display:block; padding:.48rem .58rem; border-left:2px solid transparent; border-radius:0 .45rem .45rem 0; color:#5d7085; font-size:.78rem; font-weight:650; line-height:1.4; text-decoration:none; }
.xg-ri-v2-toc a:hover,.xg-ri-v2-toc a:focus-visible,.xg-ri-v2-toc a.is-active { border-left-color:var(--xg-ri-teal); color:var(--xg-ri-navy); background:#edf9f8; }
.xg-ri-v2-body { min-width:0; padding:2rem clamp(1.25rem,3vw,3rem); border:1px solid var(--xg-ri-line); border-radius:1.1rem; background:#fff; box-shadow:0 10px 32px rgba(15,42,74,.06); color:#37485b; font-size:1.06rem; line-height:1.78; }
.xg-ri-v2-body h2 { margin:2.7rem 0 1rem; padding-top:.15rem; scroll-margin-top:7.5rem; color:var(--xg-ri-navy); font-size:clamp(1.45rem,2.4vw,2rem); line-height:1.2; }
.xg-ri-v2-body h2:first-child { margin-top:0; }
.xg-ri-v2-body h3 { scroll-margin-top:7.5rem; color:var(--xg-ri-navy); }
.xg-ri-v2-body .public-references { margin-top:3rem; padding:1.4rem; border:1px solid #bfdbfe; border-radius:.9rem; background:#f5f9ff; }
.xg-ri-v2-body .public-references h2 { margin-top:0; }
.xg-ri-v2-body .public-references a { overflow-wrap:anywhere; font-weight:750; }
.xg-ri-v2--toc-empty .xg-ri-v2-toc,.xg-ri-v2--toc-empty .xg-ri-v2-toc-mobile { display:none; }
@media (max-width:921px) {
  .single-xg-reg-record .xg190-hero--reg-record-single .xg190-hero__grid {
    min-height:0!important;
    grid-template-columns:1fr!important;
  }
  .xg-ri-v2-source__card { grid-template-columns:1fr; }
  .xg-ri-v2-source__facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .xg-ri-v2-source__actions { min-width:0; flex-direction:row; flex-wrap:wrap; }
  .xg-ri-v2-toc { display:none; }
  .xg-ri-v2-toc-mobile { display:block; margin:0 0 1rem; border:1px solid var(--xg-ri-line); border-radius:.9rem; background:#fff; }
  .xg-ri-v2-toc-mobile summary { display:flex; justify-content:space-between; gap:1rem; padding:1rem; cursor:pointer; }
  .xg-ri-v2-toc-mobile summary span { color:var(--xg-ri-teal); font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
  .xg-ri-v2-toc-mobile summary strong { overflow:hidden; color:var(--xg-ri-navy); font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }
  .xg-ri-v2-toc-mobile ol { padding:.5rem 1rem 1rem; border-top:1px solid var(--xg-ri-line); }
  .xg-ri-v2-reading__grid { display:block; }
}
@media (max-width:600px) {
  .single-xg-reg-record .xg-ri-v2-hero-cover { min-height:0; padding:.7rem; }
  .single-xg-reg-record .xg-ri-v2-hero-cover img { max-height:none; }
  .xg-ri-v2-source { padding-top:1.25rem; }
  .xg-ri-v2-source__card { padding:1.1rem; }
  .xg-ri-v2-source__facts { grid-template-columns:1fr; }
  .xg-ri-v2-source__actions { flex-direction:column; }
  .xg-ri-v2-body { padding:1.35rem 1.05rem; font-size:1rem; line-height:1.72; }
}
@media (prefers-reduced-motion:reduce) { .xg-ri-v2-toc a { transition:none!important; } }
