/* Candeia: restrained controls and editorial spacing over the legacy portal. */
:root {
  --candeia-control-radius: 6px;
  --candeia-rule: #ced7df;
  --candeia-link: #194f78;
  --candeia-column-gap: clamp(40px,4.25vw,56px);
  --candeia-section-space: clamp(48px,5vw,72px);
  --candeia-reading-measure: 72ch;
}
html[data-theme="dark"] {
  --candeia-rule: #3a4b59;
  --candeia-link: #a8d5f5;
}
::selection { background: #d8e6f0; color: #12344f; }
html[data-theme="dark"] ::selection { background: #365976; color: #fff; }
body :is(a,button,input,summary):focus-visible {
  outline: 3px solid #b17a21;
  outline-offset: 4px;
}
body :is(.btn,.login-primary-entry) {
  border-radius: var(--candeia-control-radius) !important;
  box-shadow: none !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-shadow: none;
  background-image: none !important;
  transition: background-color 160ms ease-out, border-color 160ms ease-out;
}
body .btn:not(.alt) {
  background-color: #8f2b39 !important;
  border-color: #6e202a !important;
  color: #fff !important;
}
body .btn:not(.alt):hover { background-color: #74232e !important; }
body .btn.alt {
  background-color: transparent !important;
  color: var(--candeia-link) !important;
}
body :is(.btn,.login-primary-entry):hover {
  transform: none !important;
  box-shadow: none !important;
}
body .login-primary-entry::before { content: none; }
body .login-entry-dot { display: none; }
body .theme-toggle { box-shadow: none; }

.home-p04 .home-v2-hero { gap: 48px; padding-block: 56px 64px; }
.home-p04 :is(#home-v2-title,#en-home-v2-title) {
  font-size: clamp(38px,4.1vw,60px);
  line-height: 1.08;
  letter-spacing: -.03em;
  font-weight: 650;
  max-width: 12ch;
  text-wrap: balance;
}
.home-p04 .home-v2-lead { font-size: 19px; line-height: 1.65; max-width: 48ch; }
.home-p04 .home-v2-status { margin: 0 0 18px; font-size: 15px; color: var(--candeia-link); }
.home-p04 .home-v2-visual { padding: 0; gap: 12px; min-height: 470px; }
.home-p04 .home-v2-visual::before { content: none; }
.home-p04 .home-v2-shot {
  border: 0;
  border-radius: var(--candeia-control-radius);
  box-shadow: none;
  transform: none;
}
.home-p04 .home-v2-secondary {
  background: transparent !important;
  border-color: transparent !important;
  text-decoration: underline;
  text-underline-offset: 5px;
  color: var(--candeia-link) !important;
}
.home-p04 .home-v2-secondary:hover { text-decoration-thickness: 2px; }
.home-p04 :is(h2,h3) { letter-spacing: -.02em; text-wrap: balance; }
.home-p04 :is(.home-v2-possibilities,.home-v3-story,.home-v3-coda,.home-v5-proof,.home-v7-system,.home-v7-close) {
  box-shadow: none;
}
.home-p04 .home-v2-possibilities {
  background: #12344f;
  border-radius: var(--candeia-control-radius);
  padding: 36px 40px;
}
.home-p04 .home-v2-possibilities::before,
.home-p04 .home-v2-possibilities::after { content: none; }
.home-p04 :is(#home-v2-possibilities-title,#en-home-v2-possibilities-title) { font-size: clamp(28px,3vw,40px); }
.home-p04 .home-v3-story { border: 0; border-radius: 0; background: transparent; }
.home-p04 .home-v3-story-media { border-radius: var(--candeia-control-radius); overflow: hidden; }
.home-p04 .home-v3-story-body { padding-inline: 0; }
.home-p04 .home-v3-story-main {
  column-gap: var(--candeia-column-gap);
  align-items: start;
}
.home-p04 .home-v3-story-main .home-v3-story-body { padding: 28px 8px 28px 0; }
.home-p04 .home-v5-proof { grid-template-columns: 1fr; border-radius: 0; border: 0; border-top: 1px solid var(--candeia-rule); background: transparent; padding-inline: 0; }
.home-p04 .home-v5-proof-grid { gap: 32px; background: transparent; border: 0; border-radius: 0; }
.home-p04 .home-v5-proof p { font-size: 15px; line-height: 1.7; }
.home-p04 .home-v5-cover-frame { transform: none; }
.home-p04 .home-v5-institution-scene { display: none; }
.home-p04 .home-v5-cover::before { content: none; }
.home-p04 :is(.home-v3-links a,.home-v5-proof-links a) {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 8px 0;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: var(--candeia-link);
}
.home-p04 .home-v6-identity::before { background: #12344f; }
.home-p04 .home-v6-identity::after { background: none; }
.home-p04 .home-v6-stage { background: transparent; border: 0; box-shadow: none; }
.home-p04 .home-v7-close { border-radius: var(--candeia-control-radius); }

/* Navigation: five clear groups, with native disclosure on narrow screens. */
.megagrid > .mega-group,
.footgrid > .footer-group { min-width: 0; }
.mega-group > summary,
.footer-group > summary {
  list-style: none;
  cursor: pointer;
}
.mega-group > summary::-webkit-details-marker,
.footer-group > summary::-webkit-details-marker { display: none; }
.mega-group > summary {
  margin: 0 0 10px;
  color: #687680;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.mega-group-body > a { display: block; }
.footer-group > summary {
  margin: 0 0 10px;
  color: #cfdbe4;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* The seal is the content. Decorative duplicates and floating labels are not. */
.p2-state .p2-hero-art {
  min-height: 410px;
  padding: clamp(24px,3vw,36px);
  display: grid;
  grid-template-rows: minmax(0,1fr) auto;
  gap: 24px;
  place-items: center;
  overflow: hidden;
  border-radius: 14px;
  background: #f4f7f8;
  box-shadow: none;
}
.p2-state .p2-hero-art::before { content: none; }
.p2-state .p2-seal {
  position: static;
  z-index: auto;
  width: min(72%,340px);
  filter: drop-shadow(0 16px 24px rgba(5,30,50,.14));
}
.p2-state .p2-art-note {
  position: static;
  width: 100%;
  max-width: 40ch;
  margin: 0;
  padding: 16px 0 0;
  border: 0;
  border-top: 1px solid var(--candeia-rule);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  color: #52616c;
  font-size: 13px;
  line-height: 1.55;
  text-align: center;
}
html[data-theme="dark"] .p2-state .p2-hero-art { background: #13232e; }
html[data-theme="dark"] .p2-state .p2-art-note { background: transparent; }

/* Services: readable progression, not a five-column wall of microcopy. */
.svc4-desktop-journey {
  padding: 24px;
  border-radius: 14px;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.svc4-rail { display: none; }
.svc4-stage-grid {
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 18px;
  align-items: start;
  padding: 0;
  overflow: visible;
}
.svc4-stage {
  padding: 20px;
  border-radius: 12px;
  box-shadow: none;
}
.svc4-stage-no { margin-bottom: 18px; box-shadow: none; }
.svc4-stage-kicker { font-size: 11px; letter-spacing: .06em; }
.svc4-stage h3 { font-size: 22px; }
.svc4-stage-copy { min-height: 0 !important; font-size: 15px !important; line-height: 1.62; }
.svc4-fact b { font-size: 11px; }
.svc4-fact span { font-size: 14px; line-height: 1.55; }
.svc4-status { min-height: 36px; font-size: 11px; letter-spacing: .02em; }
.svc4-links { gap: 8px; }
.svc4-links a { min-height: 44px !important; padding: 9px 11px; font-size: 14px !important; }
.svc4-cic-mini::after { content: none; }
.svc2-status-disclosure {
  margin-top: 16px;
  border-top: 1px solid var(--candeia-rule);
  border-bottom: 1px solid var(--candeia-rule);
}
.svc2-status-disclosure > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  color: var(--candeia-link);
  font-weight: 750;
  cursor: pointer;
}
.svc2-status-disclosure > summary::after { content: "+"; font-size: 20px; }
.svc2-status-disclosure[open] > summary::after { content: "−"; }
.svc2-status-disclosure .svc2-status-grid { margin-top: 4px; padding-bottom: 18px; }
.svc2-jumps {
  flex-wrap: wrap !important;
  overflow: visible !important;
  padding: 10px !important;
  scrollbar-width: thin !important;
}
.svc2-jumps button {
  min-height: 44px !important;
  padding: 9px 12px !important;
  font-size: 13px !important;
}

/* Constitution: a reading surface first, index on demand on mobile. */
.p05-reader-section,
.p05-reader-shell { scroll-margin-top: 76px; }
.p05-article,
.p05-reading-nav,
.p05-reader-context { max-width: var(--candeia-reading-measure); }
.p05-reader-index nav > a,
.p05-reader-index summary,
.p05-index-articles a { min-height: 44px; box-sizing: border-box; }
.p05-reader-index nav > a,
.p05-index-articles a { display: flex; align-items: center; }

/* Login fallback remains available without competing with the primary method. */
.candeia-login-page [data-auth-key="authGoogleRedirect"] {
  margin-top: 4px;
  color: var(--candeia-link);
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
}

svg[aria-hidden="true"] { pointer-events: none; }

@media (max-width: 1050px) and (min-width: 721px) {
  .svc4-stage-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 800px) {
  .megagrid,
  .footgrid { grid-template-columns: minmax(0,1fr); gap: 0; }
  .mega { max-height: calc(100dvh - 55px); overflow-y: auto; }
  .megagrid { padding-block: 12px 20px; }
  .mega-group,
  .footer-group { border-bottom: 1px solid var(--candeia-rule); }
  .mega-group > summary,
  .footer-group > summary {
    min-height: 48px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
  .mega-group > summary::after,
  .footer-group > summary::after { content: "+"; font-size: 18px; }
  .mega-group[open] > summary::after,
  .footer-group[open] > summary::after { content: "−"; }
  .mega-group-body,
  .footer-group-body { padding: 0 0 14px; }
  .megagrid .mega-group-body a,
  .footgrid .footer-group-body a {
    min-height: 44px;
    margin: 0;
    padding: 10px 8px;
    display: flex;
    align-items: center;
  }
  .footer-group { border-color: rgba(255,255,255,.18); }
  .svc4-desktop-journey { display: none !important; }
  .svc4-mobile-journey { display: grid !important; gap: 10px; }
  .svc2-jumps {
    flex-wrap: nowrap !important;
    max-width: 100%;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
  }
  .svc2-jumps button {
    flex: 0 0 min(82%,280px) !important;
    width: auto !important;
    max-width: 280px;
  }
}

@media (max-width: 700px) {
  .home-p04 .home-v2-hero { gap: 30px; padding-block: 32px 40px; }
  .home-p04 :is(#home-v2-title,#en-home-v2-title) { max-width: 15ch; }
  .home-p04 .home-v2-lead { font-size: 17px; }
  .home-p04 .home-v2-visual { min-height: 320px; }
  .home-p04 .home-v2-possibilities { padding: 28px 22px; }
  body .btn { min-height: 44px; }
  .home-p04 .home-v3-story-main { gap: 24px; }
  .home-p04 .home-v3-story-main .home-v3-story-body { padding: 0; }
  .home-p04 .home-v3-story-secondary .home-v3-story-body { padding-inline: 0; }
  .home-p04 .home-v3-head h2 { font-size: clamp(32px,9vw,40px); letter-spacing: -.03em; }
  .home-p04 .home-v3-story :is(.home-v3-story-lead,.home-v3-story-close) { font-size: 15px; line-height: 1.62; }
  .home-p04 .home-v3-links a { min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; }
  .svc4-mobile-step summary { min-height: 58px; }
  .svc4-mobile-step summary small { font-size: 11px; }
  .svc4-mobile-step summary strong { font-size: 16px; }
  .svc4-mobile-body p,
  .svc4-mobile-status-note { font-size: 15px; line-height: 1.6; }
  .svc4-mobile-body .svc4-links a { min-height: 44px; font-size: 14px; }
  .svc2-jumps {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x proximity;
    padding-bottom: 12px !important;
  }
  .svc2-jumps button {
    flex: 0 0 min(82%,280px) !important;
    width: auto !important;
    justify-content: flex-start !important;
    text-align: left;
    scroll-snap-align: start;
  }
  .p05-reader-index.collapsed { display: block; max-height: none; }
  .p05-reader-index.collapsed nav { display: none; }
  .p05-index-head { min-height: 52px; box-sizing: border-box; backdrop-filter: none; }
  .p05-index-head button { min-height: 44px; padding: 8px; }
  .p05-article { max-width: 100%; }
  .p05-article h2 { font-size: clamp(30px,8.5vw,38px); letter-spacing: -.03em; }
  .p2-state .p2-hero-art { min-height: 0; padding: 24px; }
  .p2-state .p2-seal { width: min(82%,300px); }
  .p2-state .p2-art-note { padding-top: 14px; font-size: 13px; }
}

@media (max-width: 480px) {
  .statebar .in { min-height: 36px; padding: 6px 12px; gap: 6px 10px; }
  .statebar .in > span:not(.dot) { min-width: 0; font-size: 11px; line-height: 1.25; }
  .statebar .in > span:not(.dot) strong { display: block; }
  .statebar .in > a { font-size: 11px; white-space: nowrap; }
  .header-in { padding: 10px 12px; gap: 10px; }
  .brand { min-width: 0; gap: 8px; }
  .brand img { width: 42px; height: 28px; flex: 0 0 auto; }
  .brand b { font-size: 20px; letter-spacing: -.7px; }
  .brand small { display: none; }
  .header-in > .theme-toggle { flex: 0 0 44px; width: 44px; height: 44px; }
  .header-in > .login-primary-entry {
    flex: 0 0 auto;
    min-width: 68px;
    min-height: 44px !important;
    padding-inline: 12px;
    font-size: 13px !important;
    overflow: visible;
  }
  .header-in > .login-primary-entry .login-entry-label { display: inline; }
  .header-in > .login-primary-entry::after { content: none !important; }
  .home-p04 .home-v3-life { padding-block: 40px; margin-bottom: 48px; }
  .home-p04 .home-v3-story-main { gap: 20px; }
  .p05-reader-main { padding-inline: 16px; }
}

@media (max-width: 340px) {
  .brand b span { display: none; }
  .header-in { gap: 8px; }
  .header-in > .theme-toggle { width: 44px !important; height: 44px !important; min-width: 44px !important; }
  .header-in > .login-primary-entry { min-height: 44px !important; padding-inline: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body :is(.btn,.login-primary-entry) { transition: none; }
}

/* Candeia: readable diagrams, native flow and a single level of framing. */
:root { --composition-line:#c8d4db; --composition-ink:#18384e; --composition-text:#465d6c; --composition-paper:#fff; --composition-soft:#f4f7f8; --composition-active:#e6eff4; }
html[data-theme="dark"] { --composition-line:#385369; --composition-ink:#eef4f7; --composition-text:#c1d0d9; --composition-paper:#10293d; --composition-soft:#0b2234; --composition-active:#23465e; }

/* The economic overview is a readable activity selector with explicit relations. */
body .home-v4-stage-p1 { grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); align-items:start; gap:40px; }
body .home-v4-network-p1 { height:auto; padding:0; overflow:visible; contain:none; background:none; border:0; }
body .home-v4-network-p1::before, body .home-v4-network-canvas, body .home-v4-region { display:none !important; }
body .home-v4-core { position:static; transform:none; width:auto; min-height:0; margin:0 0 20px; padding:0; background:none; border:0; box-shadow:none; }
body .home-v4-core span, body .home-v4-core small { font-size:13px; color:#c5d4de; }
body .home-v4-map-hint { position:static; margin-bottom:20px; font-size:13px; color:#c5d4de; }
body .home-v4-node-field { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; overflow:visible; padding:0; }
body .home-v4-node { position:relative; inset:auto !important; transform:none !important; width:100%; min-width:0; min-height:148px; padding:18px 12px; border:0; border-top:1px solid #496172; border-radius:0; background:transparent; box-shadow:none !important; opacity:1 !important; }
body .home-v4-node::before { display:none; }
body .home-v4-node span { font-size:11px; line-height:1.4; letter-spacing:.045em; color:#c2d2dc !important; }
body .home-v4-node strong { font-size:21px; line-height:1.2; margin:6px 0; color:#fff !important; }
body .home-v4-node small { max-width:none; font-size:14px; line-height:1.5; color:#c2d2dc !important; }
body .home-v4-node.is-active, body .home-v4-node.is-preview { background:#163e59; border-color:#dfbd70; }
body .home-v4-node:hover { background:#12354d; }
body .home-v4-node .composition-relation { margin-top:10px; font-size:11px; color:#efd58f !important; text-transform:none; letter-spacing:0; }
body .home-v4-map-intro, body .home-v4-map-intro-copy { flex-wrap:wrap; gap:10px; }
body .home-v4-map-intro-copy>span, body .home-v4-map-intro-copy>small { font-size:13px; letter-spacing:0; }
body .home-v4-map-legend { display:none; }
body .home-v4-mobile-chain { display:none; }
body .home-v4-detail-p1 { min-height:0; padding:28px; }
body .home-v4-detail-p1 :is(.home-v4-detail-copy,.home-v4-follow-button small,.home-v4-detail-note) { font-size:14px; line-height:1.65; }
body .home-v4-relations dd, body .home-v4-trail li, body .home-v4-detail-link { font-size:14px; }
body .home-v4-relations dt, body .home-v4-follow>span, body .home-v4-trail>span { font-size:11px; letter-spacing:.04em; }
body .home-v4-examples { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
body .home-v4-example p { font-size:14px; }
body .home-v4-example b { font-size:11px; }

/* Economy hero: each role has its own row, without orbital positioning. */
body .econ9-role-map { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; min-height:0; padding:24px 0; border:0; border-block:1px solid var(--composition-line); border-radius:0; background:none; box-shadow:none; overflow:visible; }
body .econ9-role-map::before, body .econ9-role-map::after { display:none; }
body .econ9-hub { position:static; transform:none; grid-column:1/-1; width:auto; height:auto; min-height:0; padding:0 0 20px; margin:0; text-align:left; display:block; border:0; border-radius:0; background:none; box-shadow:none; color:var(--composition-ink); }
body .econ9-hub strong { font-size:28px; }
body .econ9-hub small { max-width:none; font-size:14px; color:var(--composition-text); }
body .econ9-hub span { display:none; }
body .econ9-orbit { position:static; inset:auto; transform:none !important; min-width:0; max-width:none; width:auto; padding:16px 0; border:0; border-top:1px solid var(--composition-line); border-radius:0; background:none; box-shadow:none; }
body .econ9-orbit b { font-size:16px; line-height:1.35; color:var(--composition-ink); }
body .econ9-orbit small { font-size:13px; line-height:1.5; color:var(--composition-text); }
body .econ9-orbit[data-state="conditioned"] { background:none; border-style:solid; }
body .econ9-orbit[data-state="conditioned"] b::after { display:block; margin-top:4px; font-size:11px; }
body .econ9-map-caption { position:static; transform:none; grid-column:1/-1; width:auto; max-width:none; text-align:left; font-size:13px; }

/* Atlas: ordered primary chain, followed by its supporting capacities. */
body .econ10-atlas-shell { border:0; border-radius:0; background:none; box-shadow:none; overflow:visible; }
body .econ10-network { height:auto; padding:24px 0; background:none; overflow:visible; }
body .econ10-canvas, body .econ10-region { display:none !important; }
body .composition-atlas-group + .composition-atlas-group { margin-top:28px; }
body .composition-atlas-group h4 { font-size:18px; margin:0 0 16px; color:var(--composition-ink); }
body .composition-atlas-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
body .composition-atlas-group.support .composition-atlas-list { grid-template-columns:repeat(4,minmax(0,1fr)); }
body .econ10-node { position:relative; inset:auto; transform:none !important; width:auto !important; min-width:0; min-height:154px !important; padding:16px !important; border:1px solid var(--composition-line); border-radius:8px !important; background:var(--composition-paper); box-shadow:none !important; opacity:1 !important; }
body .econ10-node span { font-size:11px; line-height:1.4; }
body .econ10-node strong { margin-block:6px; font-size:18px !important; line-height:1.25; color:var(--composition-ink); }
body .econ10-node small { font-size:13px !important; line-height:1.5; color:var(--composition-text); }
body .econ10-node.is-focus { background:var(--composition-active); border-color:#397197; outline:2px solid #397197; outline-offset:1px; }
body .econ10-node .composition-relation { margin-top:12px; font-size:11px; letter-spacing:0; text-transform:none; color:var(--composition-text); }
body .econ10-node.conditioned { border-style:dashed; }
body .econ10-detail { grid-template-columns:minmax(0,1fr) minmax(0,1fr); border-block:1px solid var(--composition-line); background:var(--composition-soft); }
body .econ10-detail-main, body .econ10-detail-evidence { padding:24px; }
body .econ10-neighbors>div { display:grid; grid-template-columns:1fr; gap:0; }
body .econ10-neighbors button { text-align:left; border:0; border-top:1px solid var(--composition-line); border-radius:0; padding:12px 0; background:none; }

/* Legibility and framing of the economic tools (the eight families are explicit). */
body .econ8-page :is(p,li,figcaption) { font-size:14px; line-height:1.65; }
body .econ8-page :is(small,[class$="-badge"]) { font-size:12px; line-height:1.5; white-space:normal; }
body .econ8-page :is(button,a[class],label,legend) { font-size:14px; line-height:1.4; }
body .econ8-page button { min-height:44px; white-space:normal; overflow-wrap:anywhere; box-shadow:none; }
body .econ8-page :is(button,article) :is(b,strong) { font-size:16px; line-height:1.4; }
body .econ8-page :is(button,article)>span { font-size:11px; line-height:1.5; }
body .econ8-page :is(th,td) { font-size:13px; line-height:1.55; }
body .econ8-page h3 { line-height:1.2; letter-spacing:-.02em; }
body .econ8-page :is(.econ8-section,.econ10-section,.econ11-section,.econ12-section,.econ13-section,.econ14-section,.econ15-section,.econ16-section,.econ17-section) { padding-block:40px 24px; }
body :is(.econ9-combine,.econ11-explorer,.econ12-model,.econ12-scenarios,.econ13-infra,.econ13-scenarios,.econ14-relations,.econ15-flow,.econ16-classifier,.econ17-composer) { border:0; border-block:1px solid var(--composition-line); border-radius:0; background:none; box-shadow:none; overflow:visible; }
body :is(.econ11-layout,.econ12-model,.econ13-infra,.econ14-relations,.econ15-flow) { grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:0; }
body :is(.econ11-map,.econ12-model-main,.econ13-infra-main,.econ14-rel-main,.econ15-flow-main) { min-width:0; padding:24px 24px 24px 0; }
body :is(.econ11-detail,.econ12-model-side,.econ13-infra-side,.econ14-rel-side,.econ15-flow-side) { min-width:0; padding:24px; background:var(--composition-soft); border:0; }
body :is(.econ11-desktop-flow,.econ12-chain,.econ13-layer-flow,.econ15-chain,.econ16-market-flow) { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; overflow:visible; }
body :is(.econ11-arrow,.econ12-chain>i,.econ13-layer-flow>i,.econ15-chain>i,.econ16-market-flow>i) { height:16px; line-height:16px; transform:rotate(90deg); text-align:center; font-size:18px; justify-self:center; }
body :is(.econ11-stage,.econ12-chain article,.econ13-layer,.econ15-stage) { width:100%; min-width:0; min-height:0; padding:16px; border-radius:6px; box-shadow:none; }
body .econ11-origin { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
body .econ11-origin .econ11-stage { height:auto; min-height:0; }
body .econ11-stage :is(b,small,span), body .econ13-layer :is(b,small,span), body .econ15-stage :is(b,small,span) { display:block; }
body .econ11-stage.is-muted, body .econ12-chain article { opacity:1 !important; }
body :is(.econ9-combination,.econ12-scenario-evidence>div,.econ13-evidence>div,.econ13-rule>div,.econ14-guard-list>div,.econ14-audit-columns>div,.econ16-detail-grid>div) { padding:14px 0; border:0; border-top:1px solid var(--composition-line); border-radius:0; box-shadow:none; background:none; }
body :is(.econ8-principles,.econ8-support-grid,.econ13-foundation,.econ14-truth,.econ15-truth,.econ16-truth) { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
body :is(.econ8-principle,.econ8-support,.econ9-role-card,.econ11-anchor,.econ12-truth,.econ13-foundation article,.econ14-truth article,.econ15-truth article,.econ16-truth article) { border:0; border-top:1px solid var(--composition-line); border-radius:0; padding:20px 0; background:none; box-shadow:none; min-height:0; }
body .econ9-role-card::before { display:none; }
body .econ9-combine { grid-template-columns:1fr; padding:24px 0; }
body .econ9-combinations { gap:24px; }

/* Property examples retain the three legal distinctions in flexible rows. */
body .econ13-parcels { grid-template-columns:1fr; grid-template-rows:none; height:auto; min-height:0; gap:0; }
body .econ13-parcel { grid-area:auto !important; min-height:0; padding:20px 0; border:0; border-top:1px solid var(--composition-line); border-radius:0; background:none; }
body .econ13-parcel::after { display:none; }
body .econ13-parcel :is(b,small) { display:block; }
body .econ13-spatial-map { background:none; box-shadow:none; border-radius:0; }
body .econ13-spatial-stack div { grid-template-columns:90px minmax(0,1fr); }
body .econ14-role-network { grid-template-columns:1fr 1fr; align-items:start; gap:16px; }
body .econ14-person { grid-column:1/-1; grid-row:1; width:auto; height:auto; padding:16px 0; background:none; border:0; border-bottom:1px solid var(--composition-line); border-radius:0; box-shadow:none; }
body .econ14-role-column { min-width:0; }
body .econ14-role { border-radius:6px; padding:12px; }
body .econ15-match-visual { grid-template-columns:1fr; gap:16px; }
body .econ15-rule { min-height:0; padding:16px; border-radius:0; }
body .econ16-instruments { grid-template-columns:repeat(2,minmax(0,1fr)); }
body .econ16-ce-chain { grid-template-columns:repeat(2,minmax(0,1fr)); }

/* Operation composer: selectable choices are reflected in a readable relation index. */
body .econ17-map-area { grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); align-items:start; }
body .econ17-canvas-wrap { height:auto; min-height:0; }
body .econ17-map-canvas { display:none; }
body .econ17-map-empty { position:static; max-width:none; margin-top:20px; padding:12px 0; font-size:13px; background:none; border:0; border-top:1px solid var(--composition-line); box-shadow:none; }
body .composition-operation-map { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
body .composition-operation-node { padding:16px 8px; min-width:0; border-top:1px solid var(--composition-line); }
body .composition-operation-node>a { display:flex; align-items:center; min-height:44px; font-weight:750; font-size:16px; color:var(--composition-ink); }
body .composition-operation-node>small { display:block; color:var(--composition-text); }
body .composition-operation-node>p { margin:8px 0 0; color:var(--composition-text); font-size:13px; }
body .composition-operation-node[data-state="core"] { background:var(--composition-active); }
body .composition-operation-node[data-state="choice"] { background:#fbf2d7; }
html[data-theme="dark"] .composition-operation-node[data-state="choice"] { background:#3d3420; }
body .econ17-chain { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
body .econ17-chain li { border:0; border-top:1px solid var(--composition-line); border-radius:0; background:none; }
body .econ17-chain li::after { display:none; }
body .econ17-chain small { font-size:12px !important; color:var(--composition-text) !important; }
body .econ17-scenarios { grid-template-columns:repeat(2,minmax(0,1fr)); }
body .econ17-choice-row { grid-template-columns:1fr; }
body .econ17-choice { border-radius:6px; }
body .econ17-exclusion { border-left-width:1px; }

/* Institutional selector: constitutional relations stay in dedicated text rows. */
body .p2-map-stage { position:relative; height:auto; min-height:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:24px; background:none; }
body .p2-network { display:none; }
body .p2-node { position:relative; inset:auto !important; transform:none !important; width:auto; min-width:0; min-height:130px; border-radius:6px; padding:16px; box-shadow:none; background:var(--composition-paper); }
body .p2-node strong { font-size:18px; line-height:1.3; }
body .p2-node small { font-size:13px; line-height:1.5; }
body .p2-node-icon { display:none; }
body .p2-node[aria-pressed="true"] { background:var(--composition-active); outline:2px solid #397197; outline-offset:1px; }
body .composition-institution-relations { grid-column:1/-1; margin:12px 0 0; padding:0; list-style:none; }
body .composition-institution-relations li { padding:10px 0; border-top:1px solid var(--composition-line); font-size:14px; line-height:1.5; color:var(--composition-text); }
body .p2-map-panel { min-width:0; background:var(--composition-soft); border:0; border-radius:0; padding:24px; }
body .p2-map-panel :is(p,li), body .p2-panel-facts :is(p,small) { font-size:14px; line-height:1.6; }
body .p2-relation-legend { display:none; }
body .p3-hierarchy-map { display:grid; gap:0; padding:0 24px 0 0; background:none; }
body .p3-hierarchy-map svg { display:none; }
body .p3-hnode { width:100% !important; margin:0 !important; transform:none !important; border:0; border-top:1px solid var(--composition-line); border-radius:0; padding:20px 16px; min-height:90px; box-shadow:none; }
body .p3-hnode b { font-size:18px; line-height:1.3; }
body .p3-hnode small { font-size:14px; line-height:1.5; }
body .p3-hnode[aria-pressed="true"] { background:var(--composition-active); }
body .p3-hierarchy-panel { background:var(--composition-soft); border:0; border-radius:0; padding:24px; }
body .p3-hierarchy-panel p, body .p3-facts p { font-size:14px; line-height:1.65; }
body .p3-cycle-rail { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; overflow:visible; }
body .p3-cycle-rail button { min-width:0; min-height:74px; white-space:normal; font-size:14px; border-radius:6px; }

/* Informative image captions use their own area, across every visual family. */
body :is(.p23-visual,.p26-visual,.p27-hero-art,.p28-hero-art,.p29-hero-art,.p30-hero-art,.p5d-hero-art) { height:auto; overflow:visible; }
body :is(.p23-visual,.p26-visual,.p27-hero-art,.p28-hero-art,.p29-hero-art,.p30-hero-art,.p5d-hero-art) figcaption { position:static !important; inset:auto !important; transform:none; margin:0; padding:16px 0; font-size:13px; line-height:1.6; color:var(--composition-text); background:none; text-shadow:none; border-radius:0; }
body .p3-hero-art>p { position:static; margin:20px 0 0; font-size:14px; line-height:1.5; }
body .p3-document-mark { position:static; display:block; width:fit-content; margin:0 0 20px auto; background:none; box-shadow:none; }
body .p3-hero-art { display:flex; flex-direction:column; height:auto; }
body :is(.card:has(.cards),.p2-map-shell,.p3-hierarchy-shell,.p3-cycle,.svc4-journey) { border:0; border-radius:0; background:none; box-shadow:none; }
body :is(.card .card,.card .notice) { border-radius:0; box-shadow:none; border-inline:0; background:none; }
body :is(.econ8-page,.p2-state,.p3-page) :is(button,a):focus-visible { outline:3px solid #397197; outline-offset:3px; }

/* Services: intrinsic card heights, independent of the taller search column. */
body .svc3-hero .p31-hero-art { align-self:start; align-content:start; grid-auto-rows:max-content; gap:16px; }
body .svc3-hero .svc6-role-card { min-height:0; height:auto; padding:20px; }
body .svc3-hero .svc6-role-card p { font-size:14px; line-height:1.6; }
body .svc3-hero .p31-hero-art figure { min-height:0; height:auto; align-self:start; }
body .svc3-hero .p31-hero-art figcaption { font-size:13px; line-height:1.6; }
body .svc6-quick a[data-accent-primary="true"],
body .svc6-quick a:not([data-accent-primary]) { min-height:44px; height:auto; padding:12px 14px; }
body .svc2-status-card { min-height:0; }
body .svc5-answer-grid { align-items:start; }
body .svc5-answer-grid>div { min-height:0; }

/* Legislation: seal, status and disclaimer each occupy their own row. */
body .p3-legislation .p3-hero-art {
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  gap:24px; min-height:0; height:auto; padding:32px 24px;
  background:var(--composition-soft) !important; box-shadow:none !important;
  border:1px solid var(--composition-line) !important; overflow:visible;
}
body .p3-legislation .p3-hero-art::before,
body .p3-legislation .p3-hero-art::after { content:none; display:none; }
body .p3-legislation .p3-hero-art>img { position:static; width:180px; max-width:100%; height:auto; margin:0; transform:none; filter:none; }
body .p3-legislation .p3-document-mark { position:static; inset:auto; margin:0; padding:0; width:100%; text-align:center; border:0; background:none; }
body .p3-legislation .p3-document-mark>span { display:none; }
body .p3-legislation .p3-document-mark>b { font-size:20px; line-height:1.4; color:var(--composition-ink); }
body .p3-legislation .p3-document-mark>small { font-size:14px; line-height:1.5; color:var(--composition-text); }
body .p3-legislation .p3-hero-art>p { position:static; inset:auto; margin:0; max-width:45ch; font-family:inherit; font-style:normal; font-size:14px; line-height:1.65; color:var(--composition-text); }

/* Generated notices span the entire grid, never one numbered stage. */
body .p3-legislation .p3-chain { grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; }
body .p3-legislation .p3-chain::before,
body .p3-legislation .p3-cycle-rail::before { grid-column:1/-1; margin:0; padding:0 0 12px; border:0; background:none; font:inherit; font-size:13px; line-height:1.6; letter-spacing:0; color:var(--composition-text); }
body .p3-legislation .p3-chain>i { display:none; }
body .p3-legislation .p3-chain>article { grid-column:auto; min-width:0; padding:16px 0; border:0; border-top:1px solid var(--composition-line); border-radius:0 !important; box-shadow:none; background:none; }
body .p3-legislation .p3-chain article>span { font-size:12px; }
body .p3-legislation .p3-chain b { font-size:17px; line-height:1.4; }
body .p3-legislation .p3-chain small { font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
body .p3-legislation .p3-chain em { font-size:11px; line-height:1.5; white-space:normal; }
body .p3-legislation .p3-chain p { font-size:14px; line-height:1.65; color:var(--composition-text); }
body .p3-legislation .p3-chain-links { gap:12px; padding-top:20px; border-top:1px solid var(--composition-line) !important; }
body .p3-legislation .p3-chain-links a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
body .p3-legislation .p3-cycle-rail b { font-size:14px; line-height:1.5; }
@media(max-width:1199px) { body .p3-legislation .p3-chain { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:900px) { body .p3-legislation .p3-chain { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { body .p3-legislation .p3-chain { grid-template-columns:minmax(0,1fr); } }

/* Shared process families: full-size copy, flexible columns, no inset cards. */
body :is(.p03-flow,.p05-flow,.p08-flow,.p09-flow,.p10-flow,.p11-flow,.p12-mini-flow,.p14-flow,.p15-flow,.p16-flow,.p17-flow,.p18-flow,.p19-flow,.p20-flow,.p21-flow,.p22-flow,.p23-flow,.p24-flow,.p25-flow,.p26-flow,.p30-flow,.p31-flow,.p4r-flow,.p5e-flow,.tr2-flow) {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:24px; padding:20px 0; border:0; border-radius:0; background:none; box-shadow:none; overflow:visible;
}
body :is(.p03-flow,.p05-flow,.p08-flow,.p09-flow,.p10-flow,.p11-flow,.p12-mini-flow,.p14-flow,.p15-flow,.p16-flow,.p17-flow,.p18-flow,.p19-flow,.p20-flow,.p21-flow,.p22-flow,.p23-flow,.p24-flow,.p25-flow,.p26-flow,.p30-flow,.p31-flow,.p4r-flow,.p5e-flow,.tr2-flow)>:is(article,div) {
  min-width:0; min-height:0; width:auto; padding:20px 0; border:0; border-top:1px solid var(--composition-line); border-radius:0; background:none; box-shadow:none;
}
body :is(.p03-flow,.p05-flow,.p08-flow,.p09-flow,.p10-flow,.p11-flow,.p12-mini-flow,.p14-flow,.p15-flow,.p16-flow,.p17-flow,.p18-flow,.p19-flow,.p20-flow,.p21-flow,.p22-flow,.p23-flow,.p24-flow,.p25-flow,.p26-flow,.p30-flow,.p31-flow,.p4r-flow,.p5e-flow,.tr2-flow) :is(p,small,div>span) { font-size:14px; line-height:1.65; color:var(--composition-text); }
body :is(.p03-flow,.p05-flow,.p08-flow,.p09-flow,.p10-flow,.p11-flow,.p12-mini-flow,.p14-flow,.p15-flow,.p16-flow,.p17-flow,.p18-flow,.p19-flow,.p20-flow,.p21-flow,.p22-flow,.p23-flow,.p24-flow,.p25-flow,.p26-flow,.p30-flow,.p31-flow,.p4r-flow,.p5e-flow,.tr2-flow) strong { font-size:17px; line-height:1.4; }
body :is(.p03-flow,.p05-flow,.p08-flow,.p09-flow,.p10-flow,.p11-flow,.p12-mini-flow,.p14-flow,.p15-flow,.p16-flow,.p17-flow,.p18-flow,.p19-flow,.p20-flow,.p21-flow,.p22-flow,.p23-flow,.p24-flow,.p25-flow,.p26-flow,.p30-flow,.p31-flow,.p4r-flow,.p5e-flow,.tr2-flow)>:is(i,[aria-hidden="true"]) { display:none; }
body :is(.p03-flow,.p05-flow,.p08-flow,.p09-flow,.p10-flow,.p11-flow,.p12-mini-flow,.p14-flow,.p15-flow,.p16-flow,.p17-flow,.p18-flow,.p19-flow,.p20-flow,.p21-flow,.p22-flow,.p23-flow,.p24-flow,.p25-flow,.p26-flow,.p30-flow,.p31-flow,.p4r-flow,.p5e-flow,.tr2-flow)>:is(article,div)::after { display:none; }
body :is(.p24-diagram,.p25-diagram) { display:flex; flex-direction:column; align-items:stretch; gap:16px; padding:24px 0; border:0; border-radius:0; background:none; }
body :is(.p24-diagram,.p25-diagram)>div { min-width:0; padding:20px; border:1px solid var(--composition-line); border-radius:6px; box-shadow:none; background:var(--composition-soft); }
body :is(.p24-diagram,.p25-diagram)>i { align-self:center; transform:rotate(90deg); }
body :is(.p24-diagram,.p25-diagram) :is(strong,b) { font-size:18px; line-height:1.4; }
body :is(.p24-diagram,.p25-diagram) span { font-size:14px; line-height:1.6; }
body .p06-map-branches { grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:24px; }
body .p06-map-branches article { min-width:0; padding:20px 0; border:0; border-top:1px solid var(--composition-line); border-radius:0; box-shadow:none; background:none; }
body .p06-map-branches strong { font-size:16px; line-height:1.5; }
body .p15-justice-map { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
body .p15-justice-map a { padding:20px 0; border:0; border-top:1px solid var(--composition-line); border-radius:0; background:none; box-shadow:none; }
body .p15-justice-map b { font-size:18px; line-height:1.4; }
body .p15-justice-map span { font-size:14px; line-height:1.6; }
body .p4r-frame:has(.p4r-stack,.p4r-compare,.p4r-flow,.p4r-matrix) { padding:24px 0; border:0; border-radius:0; background:none; box-shadow:none; }
body .p4r-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; background:none; }
body .p4r-layer { transform:none !important; padding:20px 0; border:0; border-top:1px solid var(--composition-line); border-radius:0; box-shadow:none; background:none; }
body .p4r-layer b { font-size:17px; line-height:1.4; }
body .p4r-layer span { font-size:14px; line-height:1.65; }
@media(max-width:650px) { body :is(.p15-justice-map,.p4r-stack) { grid-template-columns:1fr; } }

/* Details follow their content height; selection, not ornament, carries emphasis. */
body :is(.econ11-layout,.econ12-model,.econ13-infra,.econ14-relations,.econ15-flow) { align-items:start; }
body :is(.econ11-detail,.econ12-model-side,.econ13-infra-side,.econ14-rel-side,.econ15-flow-side) { align-self:start; min-height:0; height:auto; }
body .econ11-detail a { margin-top:20px; }
body .econ11-flow-label { display:none; }
body .econ9-hub>div { width:100%; text-align:left; }
body .p2-state .p2-node { box-shadow:none !important; background:var(--composition-paper); }
body .p2-state .p2-node[aria-pressed="true"] { background:var(--composition-active); }
body .p2-map-stage::before, body .p2-map-stage::after { display:none; }
body .econ10-toolbar { flex-wrap:wrap; gap:16px; }
body .econ10-toolbar :is(span,small,button), body .econ10-neighbors button { font-size:13px; line-height:1.5; }
body :is(.econ10-detail,.econ11-detail,.econ12-model-side,.econ13-infra-side,.econ14-rel-side,.econ15-flow-side,.econ16-detail) :is(dt,small) { font-size:12px; line-height:1.5; }
body .econ16-detail-grid p span { display:inline; font:inherit; letter-spacing:inherit; text-transform:none; }
body .composition-operation-context { grid-column:1/-1; border-top:1px solid var(--composition-line); margin-top:16px; }
body .composition-operation-context>summary { min-height:44px; padding:12px 0; cursor:pointer; color:var(--composition-ink); font-size:14px; }
body .composition-operation-context>div { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:0 24px; }

@media(max-width:1120px) {
  body .home-v4-stage-p1 { grid-template-columns:minmax(0,1fr) !important; }
  body .composition-atlas-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body .composition-atlas-group.support .composition-atlas-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body :is(.econ11-layout,.econ12-model,.econ13-infra,.econ14-relations,.econ15-flow,.econ17-map-area) { grid-template-columns:minmax(0,1fr); }
  body :is(.econ11-map,.econ12-model-main,.econ13-infra-main,.econ14-rel-main,.econ15-flow-main) { padding:24px 0; }
}
@media(max-width:760px) {
  body .econ10-desktop { display:block; }
  body .econ10-mobile { display:none; }
  body .composition-atlas-list, body .composition-atlas-group.support .composition-atlas-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body .econ10-detail { grid-template-columns:minmax(0,1fr); }
  body :is(.econ8-principles,.econ8-support-grid,.econ13-foundation,.econ14-truth,.econ15-truth,.econ16-truth,.home-v4-examples) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body .econ11-mobile-flow { display:none; }
  body .econ11-desktop-flow { display:grid; }
  body .p2-map-stage { padding:16px 0; }
  body .p3-hierarchy-map { padding:0; }
  body .p3-cycle-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:480px) {
  body .home-v4-node-field { gap:0 12px; }
  body .home-v4-node { min-height:0; padding:16px 8px; }
  body .home-v4-node strong { font-size:18px; }
  body .home-v4-node small { font-size:13px; }
  body .home-v4-detail-p1 { padding:22px 16px; }
  body .econ9-role-map { gap:0 16px; }
  body :is(.composition-atlas-list,.composition-atlas-group.support .composition-atlas-list,.econ11-origin,.composition-operation-map,.econ17-chain,.econ17-scenarios,.p2-map-stage) { grid-template-columns:minmax(0,1fr); }
  body .econ10-node { min-height:0 !important; }
  body :is(.econ8-principles,.econ8-support-grid,.econ13-foundation,.econ14-truth,.econ15-truth,.econ16-truth,.home-v4-examples) { grid-template-columns:minmax(0,1fr); }
  body .econ13-spatial-stack div { grid-template-columns:1fr; gap:4px; }
  body .econ14-role-network { grid-template-columns:1fr; }
  body .econ14-role-column { grid-template-columns:1fr; }
  body .p2-node { min-height:0; }
}
