/* Sector studies: shared visual language, different ways of reading the work. */
.sector-page {
  --sector-accent: #bfd59e;
  --sector-rgb: 191, 213, 158;
  --sector-line: rgba(var(--sector-rgb), .19);
  --sector-soft: rgba(var(--sector-rgb), .055);
  --sector-muted: #a6b59a;
}

.sector-family-finance { --sector-accent: #b6d1b1; --sector-rgb: 182, 209, 177; }
.sector-family-evidence { --sector-accent: #d0d4ae; --sector-rgb: 208, 212, 174; }
.sector-family-facilities { --sector-accent: #b1ccc0; --sector-rgb: 177, 204, 192; }

.sector-page main .page-hero-grid {
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 80px);
  padding-top: 38px;
  padding-bottom: 62px;
}

.sector-page main .page-hero-copy h1 { font-size: clamp(42px, 4.3vw, 68px); }
.sector-page main .page-hero-copy h1 > span { color: var(--sector-accent); }
.sector-page main .page-description { max-width: 535px; }
.sector-page main .page-eyebrow { color: var(--sector-accent); }

/* The illustration remains transparent to the page, like an annotated drawing. */
.sector-page .sector-visual {
  width: 100%;
  margin: 0;
  color: var(--sector-accent);
  background: radial-gradient(ellipse at 49% 49%, rgba(var(--sector-rgb), .06), transparent 65%);
}

.sector-visual::before,
.sector-visual::after {
  position: absolute;
  z-index: -1;
  width: 35px;
  height: 35px;
  content: "";
  pointer-events: none;
  border-color: var(--sector-line);
  border-style: solid;
}

.sector-visual::before { left: 0; top: 0; border-width: 1px 0 0 1px; }
.sector-visual::after { right: 0; bottom: 0; border-width: 0 1px 1px 0; }

.sector-visual-top,
.sector-visual-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 17px 19px;
  color: #96a58a;
  font: 8px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .095em;
  text-transform: uppercase;
}

.sector-visual-top > span:first-child { color: var(--sector-accent); }
.sector-visual-top > span:last-child,
.sector-visual-bottom > span:last-child { flex-shrink: 0; text-align: right; }
.sector-visual-bottom { border-top: 1px solid rgba(var(--sector-rgb), .1); font-size: 7px; }

.sector-page .sector-visual svg {
  overflow: visible;
  stroke: rgba(var(--sector-rgb), .66);
  stroke-width: 1.2;
  color: var(--sector-accent);
}

.sector-visual svg text {
  fill: #c5d1bd;
  stroke: none;
  font: 10px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .025em;
}

.sector-visual svg .diagram-label { font-size: 9.2px; letter-spacing: .075em; }
.sector-visual svg .diagram-small { font-size: 8px; fill: #a1b397; }
.sector-visual svg .diagram-center { text-anchor: middle; font-size: 9px; }
.sector-visual .sector-glass { fill: rgba(var(--sector-rgb), .045); stroke: rgba(var(--sector-rgb), .4); }
.sector-visual .sector-node { fill: #152019; stroke: rgba(var(--sector-rgb), .67); stroke-width: 1.4; }
.sector-visual .sector-active { fill: var(--sector-accent); stroke: rgba(var(--sector-rgb), .2); stroke-width: 8px; }
.sector-visual .sector-field { fill: rgba(var(--sector-rgb), .014); stroke: rgba(var(--sector-rgb), .1); stroke-dasharray: 2 9; }
.sector-visual .sector-flow { fill: none; stroke: var(--sector-accent); stroke-width: 1.4; stroke-dasharray: 5 8; opacity: .8; }
.sector-visual .sector-chart-grid { stroke: rgba(var(--sector-rgb), .16); stroke-width: .8; }
.sector-visual .sector-pipe { fill: none; stroke: rgba(var(--sector-rgb), .35); stroke-width: 12px; }
.sector-visual .sector-turbine path { fill: rgba(var(--sector-rgb), .08); stroke: rgba(var(--sector-rgb), .75); }
.sector-visual .sector-sun { transform-origin: 455px 128px; }
.sector-visual .sector-rotor { stroke-width: 2; }
.sector-visual .battery-cell { fill: rgba(var(--sector-rgb), .08); stroke: rgba(var(--sector-rgb), .35); }
.sector-visual .record-row .sector-glass { fill: rgba(var(--sector-rgb), .025); stroke: rgba(var(--sector-rgb), .2); }
.sector-visual .test-outline .sector-glass { fill: rgba(var(--sector-rgb), .065); stroke: rgba(var(--sector-rgb), .68); }
.sector-art-documents .sector-glass { fill: rgba(var(--sector-rgb), .07); }
.sector-art-sovereignty .sector-field { stroke-dasharray: none; opacity: .5; }
.sector-art-pharma .sector-flow,
.sector-art-laboratory .sector-flow { stroke-dasharray: 3 7; }
.sector-art-grid .sector-node { stroke-width: 2; }
.sector-art-ledger .sector-field,
.sector-art-fraud .sector-field,
.sector-art-payments .sector-field { stroke: none; }

html[data-motion="on"] .page-visual.is-visible .sector-flow { animation: sector-signal-flow 12s linear infinite; }
html[data-motion="on"] .page-visual.is-visible .sector-turbine { animation: sector-rotation 29s linear infinite; }
html[data-motion="on"] .page-visual.is-visible .sector-turbine[style*="421px"] { animation-duration: 37s; }
html[data-motion="on"] .page-visual.is-visible .sector-rotor { animation: sector-rotation 18s linear infinite; }
html[data-motion="on"] .page-visual.is-visible .sector-sun { animation: sector-rotation 75s linear infinite; }
html[data-motion="on"] .page-visual.is-visible .sector-active { animation: sector-indicator 5s ease-in-out infinite; }
html[data-motion="on"] .page-visual.is-visible .record-row { animation: sector-record-read 8s ease-in-out infinite; animation-delay: calc(var(--row, 0) * 1.3s); }
html[data-motion="on"] .page-visual.is-visible .solar-panel .sector-glass { animation: sector-glass-light 9s ease-in-out infinite; }
html[data-motion="on"] .page-visual.is-visible .solar-panel:nth-of-type(even) .sector-glass { animation-delay: -3s; }

@keyframes sector-signal-flow { to { stroke-dashoffset: -156; } }
@keyframes sector-rotation { to { transform: rotate(360deg); } }
@keyframes sector-indicator { 0%, 100% { opacity: .65; stroke-width: 8px; } 50% { opacity: 1; stroke-width: 15px; } }
@keyframes sector-record-read { 0%, 70%, 100% { opacity: .72; } 25%, 45% { opacity: 1; } }
@keyframes sector-glass-light { 0%, 100% { fill: rgba(var(--sector-rgb), .035); } 50% { fill: rgba(var(--sector-rgb), .115); } }

/* A sector-specific question establishes the reading before the detail. */
.sector-context {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(50px, 8vw, 120px);
  padding-top: 102px;
  padding-bottom: 60px;
}

.sector-page main .sector-context h2 { font-size: clamp(35px, 3.45vw, 52px); line-height: 1.15; max-width: 790px; }
.sector-page main .sector-context > div:last-child > p:first-child { color: #b6c1ad; font-size: 15px; line-height: 1.85; }
.sector-page main .sector-citations { margin-top: 27px; color: #8fa080; font: 10px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; }
.sector-citations a { color: var(--sector-accent); display: inline-block; padding: 5px 3px; text-underline-offset: 4px; }
.sector-citations a:hover { text-decoration: underline; }

.sector-jump {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 36px;
  padding-block: 17px;
  border-top: 1px solid var(--sector-line);
  border-bottom: 1px solid var(--sector-line);
  margin-bottom: 9px;
}

.sector-jump a { display: inline-flex; align-items: center; gap: 24px; min-height: 34px; color: #aebba4; font-size: 11px; transition: color .2s; }
.sector-jump a:last-child { color: var(--sector-accent); }
.sector-jump a:hover { color: #edf4e6; }

/* Native content is fully exposed. JavaScript only enhances the source chooser. */
.sector-signals { padding-block: 100px 110px; }
.sector-signals-heading { display: grid; grid-template-columns: 1.1fr 1fr; gap: 0 70px; margin-bottom: 39px; align-items: end; }
.sector-signals-heading .page-eyebrow { grid-column: 1 / -1; }
.sector-page main .sector-signals-heading .page-eyebrow { margin-bottom: 17px; }
.sector-signals-heading h2 { grid-column: 1; }
.sector-page main .sector-signals-heading > p:last-child { grid-column: 2; color: var(--sector-muted); font-size: 13px; max-width: 370px; justify-self: end; }

.signal-explorer { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 46px; align-items: start; }
.signal-selectors { border-top: 1px solid var(--sector-line); }
.signal-selector {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 17px;
  width: 100%;
  min-height: 79px;
  padding: 20px 5px;
  text-align: left;
  background: transparent;
  border-bottom: 1px solid var(--sector-line);
  border-radius: 0;
  color: #b1bfa7;
  font-size: 15px;
  line-height: 1.5;
  transition: color .2s, background .2s, padding .2s;
}

.signal-selector > span:first-child { color: #8da27c; font: 9px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.signal-selector > span:last-child { color: #90a47f; font-size: 16px; }
.signal-selector:disabled { opacity: 1; }
.signal-selector:disabled > span:last-child { opacity: .35; }
.signal-explorer.is-enhanced .signal-selector:hover { background: rgba(var(--sector-rgb), .035); color: var(--text); }
.signal-explorer.is-enhanced .signal-selector[aria-expanded="true"] { padding-left: 16px; padding-right: 16px; color: #e0ead6; background: rgba(var(--sector-rgb), .085); }
.signal-explorer.is-enhanced .signal-selector[aria-expanded="true"] > span { color: var(--sector-accent); }
.signal-explorer.is-enhanced .signal-selector[aria-expanded="true"] > span:last-child { transform: rotate(45deg); }

.signal-readings { display: grid; gap: 16px; min-width: 0; }
.signal-reading {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 38px 40px 31px;
  border: 1px solid var(--sector-line);
  border-radius: 5px;
  background: radial-gradient(ellipse at 100% 0, rgba(var(--sector-rgb), .085), transparent 76%), rgba(var(--sector-rgb), .018);
  min-width: 0;
}

.signal-explorer.is-enhanced .signal-reading { min-height: 326px; }
.signal-reading-index,
.signal-reading-foot {
  display: block;
  color: #a8ba99;
  font: 9px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .085em;
}

.signal-reading-index { margin-bottom: 29px; }
.sector-page main .signal-reading h3 { max-width: 490px; font-size: 29px; line-height: 1.2; }
.sector-page main .signal-reading p { margin-top: 18px; padding-bottom: 35px; color: #b2c0a7; font-size: 14px; line-height: 1.85; }
.signal-reading-foot { margin-top: auto; padding-top: 17px; border-top: 1px solid rgba(var(--sector-rgb), .13); width: 100%; font-size: 8px; color: #90a27f; }

/* Scenarios are studies, with a visible boundary between evidence and judgment. */
.sector-scenario { position: relative; padding-block: 95px 100px; background: #111b14; border-block: 1px solid rgba(var(--sector-rgb), .13); }
.scenario-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: end; gap: 0 80px; margin-bottom: 46px; }
.scenario-heading .page-eyebrow { grid-column: 1 / -1; }
.sector-page main .scenario-heading .page-eyebrow { margin-bottom: 20px; }
.sector-page main .scenario-heading h2 { max-width: 670px; }
.sector-page main .scenario-heading > p:last-child { color: #abbca0; font-size: 14px; line-height: 1.85; }
.scenario-record { position: relative; min-width: 0; border: 1px solid rgba(var(--sector-rgb), .25); background: rgba(var(--sector-rgb), .025); }
.scenario-record-head { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 19px 32px; border-bottom: 1px solid var(--sector-line); color: var(--sector-accent); font: 9px/1.65 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .07em; text-transform: uppercase; }
.scenario-record-head > span:last-child { color: #92a384; text-align: right; flex-shrink: 0; }
.scenario-record-grid { display: grid; grid-template-columns: 1fr 1fr; }
.scenario-record-grid > article { padding: 35px 36px 38px; min-width: 0; }
.scenario-record-grid > article + article { border-left: 1px solid var(--sector-line); }
.record-label { display: block; color: #91a480; font: 8px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .09em; margin-bottom: 22px; }
.sector-page main .scenario-record h3 { color: #dce6d3; font-size: 25px; }
.sector-page main .scenario-record article p { margin-top: 16px; color: #acbca1; font-size: 13px; line-height: 1.85; }
.sector-page main .scenario-note { border-top: 1px solid var(--sector-line); padding: 20px 33px; color: #9caf8e; background: rgba(var(--sector-rgb), .025); font-size: 11px; line-height: 1.75; }

/* Finance starts from a casefile, keeping the case and the reviewer together. */
.sector-family-finance .sector-context { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); }
.scenario-casefile { margin-top: 80px; padding-block: 72px; background: rgba(var(--sector-rgb), .035); }
.scenario-casefile > .wrap { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(35px, 5vw, 76px); align-items: start; }
.scenario-casefile .scenario-heading { display: block; margin-bottom: 0; padding-top: 10px; }
.sector-page main .scenario-casefile .scenario-heading h2 { font-size: clamp(31px, 3vw, 44px); }
.sector-page main .scenario-casefile .scenario-heading > p:last-child { margin-top: 26px; font-size: 13px; }
.scenario-casefile .scenario-record { border-radius: 3px; background: linear-gradient(130deg, rgba(var(--sector-rgb), .055), rgba(var(--sector-rgb), .012)); }
.scenario-casefile .scenario-record::before { content: ""; display: block; height: 3px; background: var(--sector-accent); opacity: .65; }
.scenario-casefile .scenario-record-head { padding: 18px 27px; font-size: 8px; }
.scenario-casefile .scenario-record-grid { grid-template-columns: 1fr; }
.scenario-casefile .scenario-record-grid > article { padding: 27px 29px 29px; }
.scenario-casefile .scenario-record-grid > article + article { border-left: 0; border-top: 1px solid var(--sector-line); }
.scenario-casefile .record-label { margin-bottom: 13px; }
.sector-page main .scenario-casefile .scenario-record h3 { font-size: 23px; }
.sector-page main .scenario-casefile .scenario-note { padding: 20px 29px; }

/* Evidence studies read as dossiers, with provenance marked along the edge. */
.scenario-dossier { background: #171d16; border-top: 0; padding-top: 79px; }
.scenario-dossier .scenario-heading { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.scenario-dossier .scenario-record { border-left: 3px solid rgba(var(--sector-rgb), .6); background: linear-gradient(90deg, rgba(var(--sector-rgb), .045), transparent 58%); }
.scenario-dossier .scenario-record-head { border-bottom-style: dashed; }
.scenario-dossier .scenario-record-grid > article { padding-block: 40px; }
.scenario-dossier .record-label { color: #bac29e; }
.sector-family-evidence .signal-reading { border-radius: 0; border-left: 3px solid rgba(var(--sector-rgb), .5); background: rgba(var(--sector-rgb), .04); }
.sector-family-finance .signal-reading { border-radius: 3px; background: linear-gradient(145deg, rgba(var(--sector-rgb), .07), rgba(var(--sector-rgb), .015)); }
.sector-family-facilities .sector-scenario { background: #111c18; }
.sector-family-facilities .scenario-record { background: linear-gradient(140deg, rgba(var(--sector-rgb), .045), transparent); border-radius: 7px; overflow: hidden; }
.sector-family-facilities .signal-reading { background: radial-gradient(ellipse at 100% 0, rgba(var(--sector-rgb), .09), transparent 76%), #111b16; }

/* The process is spatial for equipment, sequential for records and decisions. */
.sector-process { padding-block: 105px 98px; }
.sector-page main .sector-process > h2 { max-width: 700px; }
.sector-page main .sector-process > .page-eyebrow { margin-bottom: 20px; }
.sector-process-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)); gap: 32px; padding: 0; margin: 48px 0 0; list-style: none; }
.sector-process-list > li { position: relative; padding-top: 27px; min-width: 0; border-top: 1px solid rgba(var(--sector-rgb), .33); }
.sector-process-list > li::before { content: ""; position: absolute; left: 0; top: -3px; width: 5px; height: 5px; border-radius: 50%; background: var(--sector-accent); }
.process-index { display: block; margin-bottom: 29px; color: #a8bc96; font: 10px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.sector-page main .sector-process-list h3 { font-size: 23px; }
.sector-page main .sector-process-list p { margin-top: 15px; color: var(--sector-muted); font-size: 13px; line-height: 1.85; }

.sector-family-finance .sector-process,
.sector-family-evidence .sector-process { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); grid-template-rows: min-content min-content 1fr; align-items: start; gap: 0 clamp(55px, 8vw, 115px); }
.sector-family-finance .sector-process > .page-eyebrow,
.sector-family-evidence .sector-process > .page-eyebrow { grid-column: 1; grid-row: 1; }
.sector-family-finance .sector-process > h2,
.sector-family-evidence .sector-process > h2 { grid-column: 1; grid-row: 2; }
.sector-family-finance .sector-process-list,
.sector-family-evidence .sector-process-list { display: block; grid-column: 2; grid-row: 1 / 4; margin: 0; }
.sector-family-finance .sector-process-list > li,
.sector-family-evidence .sector-process-list > li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 19px; padding: 0 0 34px; border-top: 0; }
.sector-family-finance .sector-process-list > li + li,
.sector-family-evidence .sector-process-list > li + li { padding-top: 9px; }
.sector-family-finance .sector-process-list > li::before,
.sector-family-evidence .sector-process-list > li::before { top: 32px; left: 16px; bottom: 0; width: 1px; height: auto; border-radius: 0; background: var(--sector-line); }
.sector-family-finance .sector-process-list > li:last-child,
.sector-family-evidence .sector-process-list > li:last-child { padding-bottom: 0; }
.sector-family-finance .sector-process-list > li:last-child::before,
.sector-family-evidence .sector-process-list > li:last-child::before { display: none; }
.sector-family-finance .process-index,
.sector-family-evidence .process-index { display: flex; width: 34px; height: 30px; align-items: center; justify-content: center; background: rgba(var(--sector-rgb), .065); border: 1px solid var(--sector-line); margin: 0; font-size: 9px; }
.sector-family-evidence .process-index { border-radius: 50%; width: 33px; height: 33px; }
.sector-family-finance main .sector-process-list h3,
.sector-family-evidence main .sector-process-list h3 { padding-top: 2px; }
.sector-family-finance main .sector-process-list p,
.sector-family-evidence main .sector-process-list p { margin-top: 11px; }

/* Measures are definitions, never invented results or dashboard performance. */
.sector-measures { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(45px, 8vw, 120px); padding-block: 84px 96px; border-top: 1px solid var(--sector-line); }
.sector-page main .sector-measures > div > .page-eyebrow { margin-bottom: 20px; }
.sector-page main .sector-measures > div > p:last-child { margin-top: 26px; color: var(--sector-muted); font-size: 13px; max-width: 410px; line-height: 1.85; }
.sector-measures dl { margin: 0; min-width: 0; }
.sector-measures dl > div { padding: 26px 0 29px; border-top: 1px solid var(--sector-line); }
.sector-measures dl > div:first-child { padding-top: 0; border-top: 0; }
.sector-measures dl > div:last-child { padding-bottom: 0; }
.sector-measures dt { display: grid; grid-template-columns: 29px minmax(0, 1fr); align-items: baseline; gap: 14px; color: #d7e2cd; font-size: 20px; line-height: 1.35; letter-spacing: -.025em; }
.sector-measures dt > span { font: 9px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; color: #a2b590; }
.sector-measures dd { margin: 12px 0 0 43px; color: var(--sector-muted); font-size: 13px; line-height: 1.85; }

.sector-boundaries { padding-block: 56px 64px; border-top: 1px solid var(--sector-line); border-bottom: 1px solid var(--sector-line); }
.boundary-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 18px 40px; margin-bottom: 38px; }
.sector-page main .boundary-heading .page-eyebrow { margin-bottom: 0; }
.sector-page main .boundary-heading h2 { font-size: clamp(27px, 2.5vw, 35px); }
.sector-boundaries > div:last-child { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 42px; }
.sector-boundaries article { border-left: 1px solid rgba(var(--sector-rgb), .35); padding-left: 22px; min-width: 0; }
.sector-page main .sector-boundaries h3 { font-size: 18px; letter-spacing: -.025em; }
.sector-page main .sector-boundaries article p { color: #9faf94; font-size: 12px; line-height: 1.85; margin-top: 13px; }

.sector-sources { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(45px, 8vw, 120px); padding-block: 98px 100px; }
.sector-page main .sector-sources > div > .page-eyebrow { margin-bottom: 20px; }
.sector-page main .sector-sources h2 { font-size: clamp(32px, 2.9vw, 43px); }
.sector-page main .sector-sources > div > p:last-child { color: #9bac90; font-size: 12px; line-height: 1.9; margin-top: 26px; max-width: 390px; }
.sector-sources ol { margin: 0; padding: 0; list-style: none; min-width: 0; }
.sector-sources li { display: grid; grid-template-columns: 25px minmax(0, 1fr); gap: 17px; border-top: 1px solid var(--sector-line); padding: 27px 0; scroll-margin-top: 115px; }
.sector-sources li:first-child { padding-top: 0; border-top: 0; }
.sector-sources li:last-child { padding-bottom: 0; }
.sector-sources li > span { padding-top: 2px; color: #8da07e; font: 9px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; }
.sector-page main .sector-sources .source-publisher { color: #a4b595; font: 9px/1.65 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .04em; }
.sector-sources li a { display: inline-flex; align-items: baseline; gap: 14px; margin-top: 11px; font-size: 18px; line-height: 1.5; letter-spacing: -.02em; color: #d3e0c8; text-decoration: underline; text-decoration-color: rgba(var(--sector-rgb), .25); text-underline-offset: 5px; transition: color .2s, text-decoration-color .2s; overflow-wrap: anywhere; }
.sector-sources li a > span { flex: 0 0 auto; color: #a7bd95; font-size: 15px; }
.sector-sources li a:hover { color: #eff6e9; text-decoration-color: var(--sector-accent); }
.sector-page main .sector-sources li > div > p:last-child { margin-top: 12px; color: #9aab8f; font-size: 12px; line-height: 1.85; }
.sector-page .page-questions { border-top: 1px solid var(--sector-line); }

@media (min-width: 1440px) {
  .sector-page .page-hero-grid { min-height: 638px; }
  .sector-page .sector-visual { max-width: 610px; justify-self: end; }
}

@media (max-width: 1100px) {
  .sector-page main .page-hero-grid { gap: 35px; }
  .sector-page main .page-hero-copy h1 { font-size: 47px; }
  .sector-context { gap: 55px; }
  .sector-signals-heading { gap: 0 45px; }
  .signal-explorer { gap: 29px; }
  .signal-selector { font-size: 14px; gap: 12px; }
  .signal-reading { padding: 32px 29px 26px; }
  .scenario-heading { gap: 0 50px; }
  .scenario-record-grid > article { padding: 31px 28px; }
  .scenario-casefile > .wrap { grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 35px; }
  .sector-process-list { gap: 24px; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); }
  .sector-page main .sector-process-list h3 { font-size: 21px; }
  .sector-boundaries > div:last-child { gap: 25px; }
}

@media (max-width: 860px) {
  .sector-page main .page-hero-grid { gap: 22px; }
  .sector-page main .page-hero-copy h1 { font-size: 40px; }
  .sector-page main .page-description { font-size: 13px; }
  .sector-visual-top, .sector-visual-bottom { padding-inline: 10px; font-size: 7px; gap: 12px; }
  .sector-visual-bottom { font-size: 6px; }
  .sector-context, .sector-family-finance .sector-context { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 38px; padding-top: 80px; }
  .sector-page main .sector-context > div:last-child > p:first-child { font-size: 13px; }
  .sector-jump { gap: 9px 25px; }
  .sector-jump a { font-size: 10px; }
  .sector-signals { padding-block: 80px; }
  .sector-signals-heading { gap: 0 35px; }
  .signal-explorer { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 24px; }
  .signal-selector { min-height: 80px; font-size: 13px; grid-template-columns: 20px minmax(0, 1fr) 12px; gap: 10px; }
  .signal-reading { padding: 28px 25px 23px; }
  .sector-page main .signal-reading h3 { font-size: 25px; }
  .sector-page main .signal-reading p { font-size: 13px; }
  .scenario-heading { gap: 0 35px; }
  .sector-scenario { padding-block: 75px; }
  .scenario-casefile > .wrap { grid-template-columns: 1fr; gap: 32px; }
  .scenario-casefile .scenario-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 0 35px; }
  .scenario-casefile .scenario-heading .page-eyebrow { grid-column: 1 / -1; }
  .sector-page main .scenario-casefile .scenario-heading > p:last-child { margin-top: 0; }
  .scenario-casefile .scenario-record-grid { grid-template-columns: 1fr 1fr; }
  .scenario-casefile .scenario-record-grid > article + article { border-top: 0; border-left: 1px solid var(--sector-line); }
  .scenario-record-head { padding: 17px 25px; font-size: 8px; }
  .sector-page main .scenario-record h3 { font-size: 23px; }
  .sector-process { padding-block: 80px; }
  .sector-process-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px; }
  .sector-family-finance .sector-process, .sector-family-evidence .sector-process { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); column-gap: 40px; }
  .sector-page main .sector-process > h2 { font-size: 35px; }
  .sector-measures, .sector-sources { gap: 40px; padding-block: 76px; }
  .sector-page main .sector-measures h2 { font-size: 35px; }
  .sector-measures dt { font-size: 18px; }
  .sector-boundaries > div:last-child { grid-template-columns: 1fr; gap: 28px; }
  .sector-boundaries article { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: 30px; }
  .sector-page main .sector-boundaries article p { margin-top: 0; }
  .sector-page main .sector-sources h2 { font-size: 33px; }
}

@media (max-width: 640px) {
  .sector-page main .page-hero-grid { grid-template-columns: minmax(0, 1fr); padding-top: 40px; padding-bottom: 35px; gap: 37px; }
  .sector-page main .page-hero-copy h1 { font-size: clamp(35px, 9.3vw, 53px); line-height: 1.1; }
  .sector-page .sector-visual { max-width: 460px; margin-inline: auto; }
  .sector-visual-top { font-size: 7px; padding: 13px 12px; }
  .sector-visual-bottom { font-size: 6px; padding: 13px 12px; }
  .sector-context, .sector-family-finance .sector-context { grid-template-columns: minmax(0, 1fr); gap: 27px; padding-top: 65px; padding-bottom: 31px; }
  .sector-page main .sector-context h2 { font-size: clamp(31px, 8.2vw, 43px); line-height: 1.17; }
  .sector-page main .sector-context .page-eyebrow { margin-bottom: 19px; }
  .sector-page main .sector-context > div:last-child > p:first-child { font-size: 13px; line-height: 1.85; }
  .sector-page main .sector-citations { margin-top: 16px; font-size: 9px; }
  .sector-jump { justify-content: flex-start; gap: 3px 23px; padding-block: 12px; }
  .sector-jump a { min-height: 33px; font-size: 10px; gap: 12px; }
  .sector-signals { padding-block: 64px 70px; }
  .sector-signals-heading { display: block; margin-bottom: 28px; }
  .sector-page main .sector-signals-heading h2 { font-size: 33px; }
  .sector-page main .sector-signals-heading > p:last-child { max-width: 100%; margin-top: 18px; font-size: 12px; }
  .signal-explorer { grid-template-columns: minmax(0, 1fr); gap: 23px; }
  .signal-selector { grid-template-columns: 23px minmax(0, 1fr) 15px; min-height: 67px; padding: 16px 4px; font-size: 14px; gap: 13px; }
  .signal-explorer.is-enhanced .signal-selector[aria-expanded="true"] { padding-inline: 13px; }
  .signal-reading { padding: 29px 24px 24px; }
  .signal-explorer.is-enhanced .signal-reading { min-height: 300px; }
  .signal-reading-index { font-size: 8px; margin-bottom: 25px; }
  .sector-page main .signal-reading h3 { font-size: 27px; }
  .sector-page main .signal-reading p { font-size: 13px; margin-top: 16px; padding-bottom: 28px; }
  .signal-reading-foot { font-size: 7px; }
  .sector-scenario { padding-block: 63px; }
  .scenario-heading, .scenario-casefile .scenario-heading, .scenario-dossier .scenario-heading { display: block; margin-bottom: 31px; }
  .sector-page main .scenario-heading h2, .sector-page main .scenario-casefile .scenario-heading h2 { font-size: 33px; }
  .sector-page main .scenario-heading > p:last-child, .sector-page main .scenario-casefile .scenario-heading > p:last-child { margin-top: 22px; font-size: 13px; }
  .sector-page main .scenario-heading .page-eyebrow { font-size: 8px; line-height: 1.75; }
  .scenario-record-head, .scenario-casefile .scenario-record-head { padding: 17px 21px; gap: 12px; font-size: 7px; }
  .scenario-record-head > span:last-child { max-width: 90px; flex-shrink: 1; }
  .scenario-record-grid, .scenario-casefile .scenario-record-grid { grid-template-columns: minmax(0, 1fr); }
  .scenario-record-grid > article, .scenario-casefile .scenario-record-grid > article, .scenario-dossier .scenario-record-grid > article { padding: 28px 23px 30px; }
  .scenario-record-grid > article + article, .scenario-casefile .scenario-record-grid > article + article { border-left: 0; border-top: 1px solid var(--sector-line); }
  .record-label { margin-bottom: 17px; font-size: 8px; }
  .sector-page main .scenario-record h3 { font-size: 25px; }
  .sector-page main .scenario-record article p { font-size: 12px; margin-top: 15px; line-height: 1.85; }
  .sector-page main .scenario-note, .sector-page main .scenario-casefile .scenario-note { padding: 19px 23px; font-size: 10px; }
  .scenario-casefile { margin-top: 55px; }
  .scenario-casefile > .wrap { gap: 0; }
  .scenario-casefile .scenario-heading { padding-top: 0; }
  .sector-process, .sector-family-finance .sector-process, .sector-family-evidence .sector-process { display: block; padding-block: 65px; }
  .sector-page main .sector-process > h2 { font-size: 33px; max-width: 420px; }
  .sector-page main .sector-process > .page-eyebrow { font-size: 8px; margin-bottom: 19px; }
  .sector-process-list, .sector-family-finance .sector-process-list, .sector-family-evidence .sector-process-list { display: block; margin-top: 36px; }
  .sector-process-list > li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 16px; padding-top: 24px; }
  .sector-process-list > li + li { margin-top: 26px; }
  .sector-process-list > li::before { width: 4px; height: 4px; top: -2px; }
  .process-index { margin: 4px 0 0; font-size: 9px; }
  .sector-page main .sector-process-list h3 { font-size: 23px; }
  .sector-page main .sector-process-list p { font-size: 12px; margin-top: 11px; }
  .sector-family-finance .sector-process-list > li, .sector-family-evidence .sector-process-list > li { gap: 16px; padding-bottom: 29px; }
  .sector-family-finance .sector-process-list > li + li, .sector-family-evidence .sector-process-list > li + li { margin-top: 0; padding-top: 0; }
  .sector-family-finance .sector-process-list > li::before, .sector-family-evidence .sector-process-list > li::before { width: 1px; }
  .sector-measures { grid-template-columns: minmax(0, 1fr); gap: 35px; padding-block: 62px 66px; }
  .sector-page main .sector-measures h2 { font-size: 33px; }
  .sector-page main .sector-measures > div > p:last-child { margin-top: 20px; max-width: 100%; font-size: 12px; }
  .sector-measures dl > div { padding-block: 24px; }
  .sector-measures dt { font-size: 20px; grid-template-columns: 24px minmax(0, 1fr); gap: 11px; }
  .sector-measures dd { margin-left: 35px; font-size: 12px; line-height: 1.85; }
  .sector-boundaries { padding-block: 45px 48px; }
  .boundary-heading { display: block; margin-bottom: 29px; }
  .sector-page main .boundary-heading .page-eyebrow { margin-bottom: 19px; }
  .sector-page main .boundary-heading h2 { font-size: 29px; }
  .sector-boundaries > div:last-child { gap: 26px; }
  .sector-boundaries article { display: block; padding-left: 18px; }
  .sector-page main .sector-boundaries h3 { font-size: 19px; }
  .sector-page main .sector-boundaries article p { margin-top: 11px; font-size: 12px; }
  .sector-sources { grid-template-columns: minmax(0, 1fr); gap: 35px; padding-block: 65px; }
  .sector-page main .sector-sources h2 { font-size: 33px; }
  .sector-page main .sector-sources > div > p:last-child { margin-top: 21px; font-size: 11px; max-width: 100%; }
  .sector-sources li { grid-template-columns: 20px minmax(0, 1fr); gap: 12px; padding-block: 23px; }
  .sector-page main .sector-sources .source-publisher { font-size: 8px; }
  .sector-sources li a { font-size: 18px; line-height: 1.45; gap: 10px; }
  .sector-page main .sector-sources li > div > p:last-child { font-size: 11px; margin-top: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .sector-page .sector-visual *, .sector-page .sector-visual *::before, .sector-page .sector-visual *::after { animation: none !important; }
  .sector-page .signal-selector, .sector-page .sector-jump a, .sector-page .sector-sources a { transition: none; }
}
