/* iFeed Regulations shared workspace CSS · extracted 2026-05-31 from duplicated inline page styles. */
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 32px; }
  html, body { overflow-x: clip; }
  .wrap, .hero-grid, .lead, .pl, .source-card, .evidence-card, .role-card, .signal-diagram { min-width: 0; }
  .nav { position: sticky !important; top: 0 !important; z-index: 90 !important; background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(10px); border-bottom: 1px solid var(--rule); }
  .nav .nav-inner { max-width: 1180px; margin: 0 auto; padding: 22px 32px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
  .nav .brand { display: inline-flex; align-items: center; gap: 12px; }
  .nav .brand .nn11 { width: 88px; flex-shrink: 0; }
  .nav .brand .if-mark { font-size: 42px; }
  .nav .links { display: flex; gap: 2px; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.02em; text-transform: uppercase; color: var(--ink-2); }
  .nav .links a { padding: 6px 0; border-bottom: 1px solid transparent; }
  .nav .links a:hover, .nav .links a.current { color: var(--accent); border-bottom-color: var(--accent); }
  .theme-toggle { z-index: 110; }
  .crumb { padding: 22px 0 0; font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--ink-3); letter-spacing: 0.1em; text-transform: uppercase; }
  .crumb a { color: var(--accent); }
  .crumb .sep { color: var(--ink-3); margin: 0 6px; }
  .subnav { position: sticky !important; top: 80px !important; z-index: 80 !important; background: color-mix(in srgb, var(--bg) 94%, transparent); backdrop-filter: blur(10px); border-bottom: 1px solid var(--rule); }
  .subnav-inner { max-width: 1180px; margin: 0 auto; padding: 12px 32px; display: flex; align-items: center; gap: 18px; flex-wrap: nowrap !important; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; font-family: 'JetBrains Mono', monospace; font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; }
  .subnav-inner::-webkit-scrollbar { display: none; }
  .subnav .domain-tag { position: sticky; left: 0; z-index: 2; flex: 0 0 auto; white-space: nowrap; color: var(--accent); background: color-mix(in srgb, var(--bg) 96%, transparent); box-shadow: 16px 0 20px color-mix(in srgb, var(--bg) 88%, transparent); padding: 8px 16px; border: 1px solid var(--accent); border-radius: 999px; margin-right: 4px; letter-spacing: 0.03em; font-family: 'Newsreader', serif; font-style: italic; font-size: 15px; text-transform: none; }
  .subnav a { flex: 0 0 auto; white-space: nowrap; color: var(--ink-2); padding: 6px 0; border-bottom: 1px solid transparent; }
  .subnav a:hover, .subnav a.current { color: var(--accent); border-bottom-color: var(--accent); }
  .hero { padding: 36px 0 56px; border-bottom: 1px solid var(--rule); }
  .hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr); gap: 44px; align-items: center; }
  .hero .eyebrow, .eyebrow { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent); margin-bottom: 16px; }
  .hero h1 { font-family: 'Source Serif 4', serif; font-size: clamp(40px, 5.2vw, 64px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.05; margin: 0 0 22px; max-width: 24ch; }
  .hero h1 em, .sec-h h2 em, .lead em, h3 em, h4 em { font-family: 'Newsreader', serif; font-style: italic; color: var(--accent); }
  .hero .lede { font-family: 'Source Serif 4', serif; font-size: 19px; line-height: 1.6; color: var(--ink-2); max-width: 66ch; margin: 0 0 24px; }
  .meta { display: flex; gap: 20px; flex-wrap: wrap; padding: 14px 0; border-top: 1px solid var(--rule-2); border-bottom: 1px solid var(--rule-2); font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.06em; color: var(--ink-3); }
  .meta b { color: var(--ink); font-weight: 500; }
  .sec { padding: 60px 0; border-bottom: 1px solid var(--rule); }
  .sec-h { display: grid; grid-template-columns: 120px 1fr auto; gap: 28px; align-items: baseline; padding-bottom: 18px; border-bottom: 1px solid var(--rule-2); margin-bottom: 32px; }
  .sec-h .num { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--accent); letter-spacing: 0.18em; }
  .sec-h h2 { font-family: 'Source Serif 4', serif; font-size: 28px; font-weight: 500; letter-spacing: -0.018em; margin: 0; }
  .sec-h .sub { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--ink-3); letter-spacing: 0.14em; text-transform: uppercase; }
  .lead { font-family: 'Source Serif 4', serif; font-size: 17px; line-height: 1.7; color: var(--ink-2); max-width: 76ch; }
  .lead p { margin: 0 0 1em; }
  .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 28px; }
  .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 28px; }
  .grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 28px; }
  .pl, .source-card, .evidence-card, .role-card { padding: 22px 24px; background: var(--surface); border: 1px solid var(--rule); transition: border-color 0.18s, background 0.18s; color: inherit; text-decoration: none; display: block; }
  .pl:hover, .source-card:hover { border-color: var(--accent); background: var(--bg-2); }
  .pl .lab, .source-card .lab, .evidence-card .lab, .role-card .lab { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
  .pl h4, .source-card h4, .evidence-card h4, .role-card h4 { font-family: 'Source Serif 4', serif; font-size: 18px; font-weight: 500; margin: 0 0 8px; letter-spacing: -0.005em; line-height: 1.25; }
  .pl p, .source-card p, .evidence-card p, .role-card p { font-family: 'Source Serif 4', serif; font-size: 13.5px; color: var(--ink-2); line-height: 1.55; margin: 0; }
  .open { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--accent); letter-spacing: .12em; text-transform: uppercase; margin-top: 12px; display: inline-block; }
  .signal-diagram { background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, transparent), var(--surface)); border: 1px solid var(--rule); border-radius: 10px; padding: 22px; }
  .signal-diagram svg { width: 100%; height: auto; display: block; }
  .flow { margin-top: 22px; display: flex; flex-direction: column; gap: 10px; }
  .flow-step { display: grid; grid-template-columns: 62px 1fr; gap: 18px; padding: 16px 18px; background: var(--surface); border: 1px solid var(--rule); border-radius: 10px; }
  .flow-step .sn { font-family: 'Newsreader', serif; font-style: italic; font-size: 30px; color: var(--accent); line-height: 1; }
  .flow-step h5 { font-family: 'Source Serif 4', serif; font-size: 16px; font-weight: 500; margin: 0 0 4px; line-height: 1.3; }
  .flow-step p { font-family: 'Source Serif 4', serif; font-size: 13px; color: var(--ink-2); line-height: 1.55; margin: 0; }
  .reg-table { margin-top: 28px; border: 1px solid var(--rule); }
  .reg-row { display: grid; grid-template-columns: 190px 1fr 150px; gap: 24px; padding: 18px 22px; border-bottom: 1px solid var(--rule); align-items: start; }
  .reg-row:last-child { border-bottom: 0; }
  .reg-row .cd { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.1em; color: var(--accent); }
  .reg-row .nm { font-family: 'Source Serif 4', serif; font-size: 15px; color: var(--ink-2); line-height: 1.5; }
  .reg-row .nm b { color: var(--ink); font-weight: 500; }
  .reg-row .yr { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--ink-3); letter-spacing: 0.08em; text-transform: uppercase; text-align: right; }
  .foundation { padding: 32px 36px; background: var(--accent-bg); border: 1px solid var(--accent); margin-top: 28px; display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; }
  .foundation .lab { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; }
  .foundation h3 { font-family: 'Source Serif 4', serif; font-size: 24px; font-weight: 500; margin: 0 0 10px; letter-spacing: -0.012em; line-height: 1.25; }
  .foundation p { font-family: 'Source Serif 4', serif; font-size: 14.5px; color: var(--ink-2); margin: 0; line-height: 1.55; max-width: 62ch; }
  .foundation .num-big { font-family: 'Newsreader', serif; font-style: italic; font-size: 56px; color: var(--accent); line-height: 1; white-space: nowrap; }
  .reading { padding: 0; margin-top: 28px; border: 1px solid var(--rule); }
  .read { padding: 18px 24px; border-bottom: 1px solid var(--rule); display: grid; grid-template-columns: 150px 1fr auto; gap: 24px; align-items: baseline; color: inherit; text-decoration: none; }
  .read:last-child { border-bottom: 0; }
  .read:hover { background: var(--bg-2); }
  .read .yr { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.1em; color: var(--accent); }
  .read .body h4 { font-family: 'Source Serif 4', serif; font-size: 17px; font-weight: 500; margin: 0 0 4px; letter-spacing: -0.005em; line-height: 1.3; }
  .read .body p { font-family: 'Source Serif 4', serif; font-size: 13.5px; color: var(--ink-2); margin: 0; line-height: 1.5; }
  .read .right { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--ink-3); letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
  .matrix-table { width: 100%; border-collapse: collapse; margin-top: 24px; font-family: 'Source Serif 4', serif; font-size: 13.5px; table-layout: fixed; }
  .matrix-table th, .matrix-table td { border: 1px solid var(--rule); padding: 12px; vertical-align: top; overflow-wrap: anywhere; }
  .matrix-table th { font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); background: var(--surface); text-align: left; }
  .matrix-table input, .matrix-table textarea, .matrix-table select { width: 100%; box-sizing: border-box; border: 1px solid var(--rule-2); background: var(--bg); color: var(--ink); padding: 8px; font: inherit; }
  .matrix-table textarea { min-height: 74px; resize: vertical; }
  .action-bar { display: flex; gap: 12px; flex-wrap: wrap; margin: 24px 0; }
  .cta-btn, button.cta-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--accent); background: var(--accent); color: var(--bg); font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; cursor: pointer; text-decoration: none; }
  .cta-btn.secondary { background: transparent; color: var(--accent); }
  .chapter-foot { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 50px auto 12px; padding-top: 28px; border-top: 1px solid var(--rule); }
  .chapter-foot a { display: block; padding: 22px 26px; background: var(--surface); border: 1px solid var(--rule); border-radius: 10px; transition: border-color 0.18s, background 0.18s; color: inherit; text-decoration: none; }
  .chapter-foot a:hover { border-color: var(--accent); background: var(--bg-2); }
  .chapter-foot a.next { text-align: right; }
  .chapter-foot .dir { font-family: 'JetBrains Mono', monospace; font-size: 9.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 6px; }
  .chapter-foot .ttl { font-family: 'Source Serif 4', serif; font-size: 17px; font-weight: 500; color: var(--ink); letter-spacing: -0.005em; line-height: 1.3; }
  .arrow { font-family: 'Newsreader', serif; font-style: italic; color: var(--accent); margin: 0 8px; }
  footer { padding: 40px 0 80px; }
  footer .credits { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--ink-3); letter-spacing: 0.12em; text-transform: uppercase; text-align: center; }
  @media (max-width: 900px) { .hero-grid, .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; } .sec-h { grid-template-columns: 1fr; gap: 10px; } .reg-row, .read { grid-template-columns: 1fr; gap: 8px; } .reg-row .yr { text-align: left; } .foundation { grid-template-columns: 1fr; } .chapter-foot { grid-template-columns: 1fr; } .chapter-foot a.next { text-align: left; } }
  @media (max-width: 760px) { .wrap { padding: 0 20px; } .nav .nav-inner { padding: 16px 20px; } .subnav { top: 64px !important; } .subnav-inner { padding: 10px 20px; gap: 14px; } .matrix-table { display: block; overflow-x: auto; table-layout: auto; } .matrix-table th, .matrix-table td { min-width: 148px; } }




/* Regulations release polish · align with Library nav/banner behaviour */
.nav { z-index: 1200 !important; overflow: visible !important; }
.nav .nav-inner,
.nav .links,
.nav .has-dropdown { overflow: visible !important; }
.nav .dropdown { z-index: 1250 !important; }
.subnav { z-index: 800 !important; }
.hero.hero-banner-canvas .meta { border-bottom: 1px solid var(--hero-meta-rule); }
.hero.hero-banner-canvas .signal-diagram {
  background: color-mix(in srgb, var(--hero-em) 10%, transparent);
  border-color: var(--hero-border);
}
.hero.hero-banner-canvas .signal-diagram svg text { fill: var(--hero-fg-soft); }
.hero.hero-banner-canvas .signal-diagram svg text[font-style="italic"] { fill: var(--hero-em); }
.hero.hero-banner-canvas .signal-diagram svg rect,
.hero.hero-banner-canvas .signal-diagram svg circle,
.hero.hero-banner-canvas .signal-diagram svg path { stroke: var(--hero-em); }
.hero.hero-banner-canvas .signal-diagram svg rect[fill="var(--surface)"],
.hero.hero-banner-canvas .signal-diagram svg circle[fill="var(--accent-bg)"] {
  fill: color-mix(in srgb, var(--hero-base) 82%, transparent);
}
@media (max-width: 960px) {
  body:has(.nav.open) .subnav { opacity: 0; pointer-events: none; }
}
@media (max-width: 760px) {
  .subnav {
    top: 64px !important;
    border: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 10px !important;
  }
  .subnav-inner {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    gap: 8px !important;
  }
  .subnav .domain-tag {
    position: static !important;
    max-width: 45vw !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    background: color-mix(in srgb, var(--surface) 78%, transparent) !important;
    backdrop-filter: blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
    box-shadow: 0 10px 24px oklch(15% 0.02 250 / 0.12) !important;
    padding: 6px 12px !important;
    border: 1px solid color-mix(in srgb, var(--accent) 58%, transparent) !important;
    font-size: 14px !important;
  }
  .subnav-toggle {
    min-height: 34px !important;
    padding: 7px 13px !important;
    background: color-mix(in srgb, var(--surface) 88%, transparent) !important;
    backdrop-filter: blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
    box-shadow: 0 10px 24px oklch(15% 0.02 250 / 0.10) !important;
  }
  .subnav-menu {
    left: 10px !important;
    right: 10px !important;
    top: calc(100% + 6px) !important;
    z-index: 120 !important;
  }
}



/* Regulations release polish · specificity lift over global theme.css */
body .nav { z-index: 1200 !important; overflow: visible !important; }
body .nav .nav-inner,
body .nav .links,
body .nav .has-dropdown { overflow: visible !important; }
body .nav .dropdown { z-index: 1250 !important; }
body .subnav { z-index: 800 !important; }
@media (max-width: 960px) {
  body:has(.nav.open) .subnav { opacity: 0 !important; pointer-events: none !important; }
}
@media (max-width: 760px) {
  body .subnav {
    top: 64px !important;
    border: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 10px !important;
  }
  body .subnav-inner {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    gap: 8px !important;
  }
  body .subnav .domain-tag {
    position: static !important;
    max-width: 45vw !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    background: color-mix(in srgb, var(--surface) 78%, transparent) !important;
    backdrop-filter: blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
    box-shadow: 0 10px 24px oklch(15% 0.02 250 / 0.12) !important;
    padding: 6px 12px !important;
    border: 1px solid color-mix(in srgb, var(--accent) 58%, transparent) !important;
    font-size: 14px !important;
  }
  body .subnav-toggle {
    min-height: 34px !important;
    padding: 7px 13px !important;
    background: color-mix(in srgb, var(--surface) 88%, transparent) !important;
    backdrop-filter: blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
    box-shadow: 0 10px 24px oklch(15% 0.02 250 / 0.10) !important;
  }
  body .subnav-menu {
    left: 10px !important;
    right: 10px !important;
    top: calc(100% + 6px) !important;
    z-index: 180 !important;
  }
}



/* Regulations tablet nav frame · prevents fixed drawer from anchoring to a tiny logo box */
@media (min-width: 641px) and (max-width: 960px) {
  body .nav {
    width: auto !important;
    max-width: none !important;
    margin: 10px 14px 0 !important;
    border-radius: 14px !important;
  }
  body .nav .nav-inner {
    width: 100% !important;
    max-width: none !important;
    padding: 9px 16px !important;
  }
  body .nav .links {
    right: 14px !important;
    left: auto !important;
    width: min(86vw, 324px) !important;
  }
}
/* Regulations mobile menu containment · keep hamburger clean over chapter pages */
@media (max-width: 960px) {
  body .nav { z-index: 520 !important; }
  body .nav.open { z-index: 620 !important; }
  body .nav .links {
    position: fixed !important;
    top: 76px !important;
    right: 14px !important;
    bottom: auto !important;
    left: auto !important;
    width: min(86vw, 324px) !important;
    max-height: calc(100vh - 94px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 12px 14px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    background: var(--surface) !important;
    border: 1px solid var(--rule) !important;
    border-radius: 14px !important;
    box-shadow: 0 22px 62px oklch(12% 0.02 250 / 0.34), inset 0 0 0 1px color-mix(in srgb, var(--accent) 14%, transparent) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-8px) scale(0.98) !important;
    transform-origin: top right !important;
    pointer-events: none !important;
    z-index: 640 !important;
  }
  body .nav.open .links {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important;
    pointer-events: auto !important;
  }
  body .nav .links > a,
  body .nav .has-dropdown > a {
    display: flex !important;
    width: 100% !important;
    min-height: 40px !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--rule) 70%, transparent) !important;
    font-size: 11.5px !important;
  }
  body .nav .has-dropdown { width: 100% !important; }
  body .nav .has-dropdown::after { display: none !important; }
  body .nav .dropdown {
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 4px 0 8px !important;
    padding: 6px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    background: color-mix(in srgb, var(--bg) 76%, var(--surface)) !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  body .nav .has-dropdown.is-open .dropdown { display: block !important; }
  body .nav .dropdown a { padding: 9px 10px !important; }
  body .mobile-theme-wrap { order: -1; margin: 0 0 10px; padding: 0 0 10px; border-bottom: 1px solid var(--rule); }
  body .mobile-theme-wrap .theme-toggle { position: static !important; width: 100% !important; justify-content: center !important; }
  body:has(.nav.open) .subnav { opacity: 0 !important; pointer-events: none !important; visibility: hidden !important; }
}


/* Regulations final mobile nav override · must remain last in page style */
@media (max-width: 960px) {
  html body .nav,
  html body .nav.open {
    position: sticky !important;
    top: 6px !important;
    left: auto !important;
    right: auto !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    min-width: 0 !important;
    margin: 6px 10px 0 !important;
    padding: 0 !important;
    transform: none !important;
    overflow: visible !important;
    z-index: 900 !important;
  }
  html body .nav .nav-inner {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
  html body .nav.open .links {
    position: fixed !important;
    top: 76px !important;
    right: 12px !important;
    left: auto !important;
    bottom: auto !important;
    width: min(calc(100vw - 24px), 324px) !important;
    max-width: min(calc(100vw - 24px), 324px) !important;
    min-width: 0 !important;
    max-height: calc(100vh - 92px) !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 920 !important;
  }
  html body .nav:not(.open) .links {
    right: 12px !important;
    left: auto !important;
    transform: translateY(-8px) scale(0.98) !important;
  }
  html body .subnav {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
    left: auto !important;
    right: auto !important;
    overflow: visible !important;
  }
}


/* Regulations final opaque hamburger panel · public review fix */
@media (max-width: 960px) {
  html body .nav.open .links {
    background: #f7fbfd !important;
    background-image: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 1 !important;
    box-shadow: 0 24px 70px rgba(18, 39, 48, 0.30), 0 6px 18px rgba(18, 39, 48, 0.12) !important;
  }
  html[data-theme="dark"] body .nav.open .links {
    background: #061f25 !important;
    background-image: none !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.56), 0 0 0 1px rgba(99, 220, 229, 0.16) inset !important;
  }
  html body .nav.open .links > a,
  html body .nav.open .has-dropdown > a,
  html body .nav.open .dropdown a {
    background: transparent !important;
    opacity: 1 !important;
  }
  html body .nav.open .links > a:hover,
  html body .nav.open .has-dropdown > a:hover,
  html body .nav.open .links > a.current,
  html body .nav.open .has-dropdown > a.current {
    background: #d8f2f3 !important;
  }
  html[data-theme="dark"] body .nav.open .links > a:hover,
  html[data-theme="dark"] body .nav.open .has-dropdown > a:hover,
  html[data-theme="dark"] body .nav.open .links > a.current,
  html[data-theme="dark"] body .nav.open .has-dropdown > a.current {
    background: #063f43 !important;
  }
  html body .mobile-theme-wrap .theme-toggle {
    background: #eef6f8 !important;
  }
  html[data-theme="dark"] body .mobile-theme-wrap .theme-toggle {
    background: #082a31 !important;
  }
}


/* Regulations mobile containment patch · 2026-05-31 */
html, body { max-width: 100%; }
*, *::before, *::after { box-sizing: border-box; }
@media (max-width: 760px) {
  html, body {
    overflow-x: clip !important;
    overflow-y: visible !important;
  }
  body .wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  body .hero.hero-banner-canvas {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    padding: 28px 0 34px !important;
  }
  body .hero.hero-banner-canvas .wrap {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  body .hero-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body .hero h1 {
    max-width: 100% !important;
    font-size: clamp(34px, 10.5vw, 44px) !important;
    line-height: 1.08 !important;
    overflow-wrap: anywhere !important;
  }
  body .hero .lede {
    max-width: 100% !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    overflow-wrap: anywhere !important;
  }
  body .hero .eyebrow {
    font-size: 9.5px !important;
    letter-spacing: 0.13em !important;
    overflow-wrap: anywhere !important;
  }
  body .hero .meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    font-size: 9.5px !important;
    letter-spacing: 0.05em !important;
  }
  body .signal-diagram {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 14px !important;
    overflow: hidden !important;
  }
  body .signal-diagram svg {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
  body .sec {
    padding: 42px 0 !important;
  }
  body .grid-2, body .grid-3, body .grid-4 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body .pl, body .source-card, body .foundation, body .reading, body .read, body .matrix-table {
    max-width: 100% !important;
  }
}


/* Regulations mobile diagram refinement · 2026-05-31 */
@media (max-width: 760px) {
  body .hero .lede,
  body .hero h1,
  body .source-card p,
  body .pl p,
  body .read p,
  body .foundation p {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
  }
  body .hero.hero-banner-canvas .signal-diagram {
    margin-top: 4px !important;
    padding: 10px !important;
  }
  body .hero.hero-banner-canvas .signal-diagram svg {
    display: block !important;
    transform: scale(0.92) !important;
    transform-origin: center center !important;
    margin: -14px auto !important;
  }
}
@media (max-width: 430px) {
  body .hero.hero-banner-canvas .signal-diagram svg {
    transform: scale(0.86) !important;
    margin: -24px auto !important;
  }
}


/* Regulations mobile hero final containment · 2026-05-31 */
@media (max-width: 760px) {
  body .hero.hero-banner-canvas,
  body .hero.hero-banner-canvas * {
    box-sizing: border-box !important;
  }
  body .hero.hero-banner-canvas {
    overflow: hidden !important;
  }
  body .hero.hero-banner-canvas .hero-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body .hero.hero-banner-canvas .hero-grid > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body .hero.hero-banner-canvas h1,
  body .hero.hero-banner-canvas .lede,
  body .hero.hero-banner-canvas .eyebrow {
    max-width: 100% !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  body .hero.hero-banner-canvas .signal-diagram {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    aspect-ratio: 1.25 / 1 !important;
    padding: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }
  body .hero.hero-banner-canvas .signal-diagram svg {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    transform: none !important;
    margin: 0 auto !important;
  }
}
@media (max-width: 430px) {
  body .hero.hero-banner-canvas .signal-diagram {
    aspect-ratio: 1 / 1 !important;
  }
  body .hero.hero-banner-canvas .signal-diagram svg {
    transform: none !important;
    margin: 0 auto !important;
  }
}


/* Regulations artifact label contrast · 2026-05-31 */
.hero.hero-banner-canvas .signal-diagram svg g[fill="var(--surface)"] rect {
  fill: color-mix(in srgb, var(--hero-base) 62%, var(--hero-em) 38%) !important;
  stroke: color-mix(in srgb, var(--hero-em) 76%, white 8%) !important;
}
.hero.hero-banner-canvas .signal-diagram svg g[font-family*="JetBrains"] text {
  fill: var(--hero-fg) !important;
  font-weight: 700 !important;
  opacity: 0.98 !important;
}
.hero.hero-banner-canvas .signal-diagram svg text[font-style="italic"] {
  fill: var(--hero-em) !important;
}
.hero.hero-banner-canvas .signal-diagram svg text[font-size="9"] {
  fill: color-mix(in srgb, var(--hero-fg) 78%, var(--hero-em) 22%) !important;
}

/* Regulations mobile sticky nav contract · mirrors shared iFeed shell */
@media (max-width: 960px) {
  html,
  body {
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  body .nav,
  html body .nav,
  html body .nav.open {
    position: sticky !important;
    top: 6px !important;
    z-index: 900 !important;
    transform: none !important;
  }

  body .subnav,
  html body .subnav {
    position: sticky !important;
    top: 66px !important;
    z-index: 840 !important;
    overflow: visible !important;
    transform: none !important;
  }

  body .subnav-inner {
    overflow: visible !important;
  }

  body:has(.nav.open) .subnav {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
}

@media (max-width: 640px) {
  body .subnav,
  html body .subnav {
    top: 64px !important;
  }
}
