.study-caption { display: flex; justify-content: space-between; gap: 16px; font: 400 var(--h-label)/1.5 var(--h-mono); color: var(--h-gray); }
.signal-study { align-self: center; padding: 32px; background: var(--h-paper); min-width: 0; }
.signal-sculpture { display: block; width: 100%; height: auto; margin-block: 16px; overflow: visible; }
.study-guide { stroke: var(--h-rule); stroke-width: 1; }
.signal-stage { opacity: .28; transition: opacity 300ms ease; }
.signal-stage--1 { opacity: .8; }
.signal-study[data-active="0"] .signal-stage--0,
.signal-study[data-active="1"] .signal-stage--1,
.signal-study[data-active="2"] .signal-stage--2 { opacity: 1; }
.study-connection { fill: none; stroke: var(--h-indigo); stroke-width: 1.5; }
.signal-source > path:first-child { fill: var(--h-sheet); stroke: var(--h-etch); }
.signal-source__rule { fill: none; stroke: var(--h-indigo); stroke-width: 2; }
.prism-edge { fill: var(--s-shadow); }
.prism-top { fill: url(#study-paper); }
.prism-front { fill: var(--s-fold); }
.prism-side { fill: var(--h-indigo); }
.prism-hatch { fill: url(#study-hatch); color: var(--h-gray); }
.prism-seam { fill: none; stroke: var(--h-sheet); stroke-width: 1; }
.prism-point { fill: var(--h-sheet); stroke: var(--h-indigo); stroke-width: 2; }
.signal-document__back { fill: var(--s-fold); }
.signal-document { fill: var(--h-sheet); stroke: var(--h-etch); }
.signal-document__rule { fill: none; stroke: var(--h-gray); }
.signal-document__check { fill: none; stroke: var(--h-indigo); stroke-width: 2; }
.study-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.study-controls[hidden] { display: none; }
.study-controls button { min-height: 64px; padding: 12px 0; text-align: left; border: 0; border-top: 1px solid var(--h-rule); background: transparent; color: var(--h-gray); font: 400 var(--h-small)/1.5 var(--h-sans); transition: color 180ms, border-color 180ms; }
.study-controls button span { display: block; font: 400 var(--h-label)/1.5 var(--h-mono); margin-bottom: 4px; }
.study-controls button[aria-pressed="true"] { color: var(--h-indigo); border-color: var(--h-indigo); box-shadow: 0 -1px 0 var(--h-indigo); }
.study-controls button:hover { color: var(--h-indigo); }
.study-status { margin-top: 20px; min-height: 3em; font: 400 var(--h-label)/1.7 var(--h-mono); color: var(--h-gray); }
.home-page .cost-stack { border-color: var(--s-edge); counter-reset: cost; }
.home-page .cost-line { position: relative; width: 100%; align-items: flex-start; flex-direction: column; gap: 4px; text-align: left; border: 0; border-bottom: 1px solid var(--s-edge); padding: 20px 16px 20px 40px; color: var(--h-paper); }
.cost-line::before { counter-increment: cost; content: "0" counter(cost); position: absolute; left: 0; top: 23px; color: var(--s-muted); font: 400 var(--h-label)/1.5 var(--h-mono); }
.home-page .cost-label { font-size: 17px; }
.home-page .cost-note { color: var(--s-muted); text-align: left; }
.cost-sculpture { align-self: center; min-width: 0; margin: 0; }
.cost-sculpture > svg { display: block; width: 100%; height: auto; }
.cost-guide { fill: none; stroke: var(--s-edge); stroke-width: 1; }
.cost-plate__top { fill: var(--plate-active, var(--s-panel)); stroke: var(--s-shadow); stroke-width: .7; transition: fill 300ms; }
.cost-plate__edge { fill: var(--s-night); stroke: var(--s-shadow); stroke-width: .7; transition: fill 300ms; }
.cost-plate__hatch { fill: url(#study-hatch); color: var(--s-muted); opacity: .5; }
.cost-plate__crease { fill: none; stroke: var(--s-shadow); stroke-width: .7; }
.cost-layer--0 { --plate-active: var(--h-indigo); }
.cost-layer { fill: var(--plate-active, var(--s-panel)); }
.cost-layer__index { fill: var(--s-muted); font: 400 18px var(--h-mono); opacity: var(--cost-open, 1); }
.cost-sculpture figcaption { font: 400 var(--h-label)/1.6 var(--h-mono); color: var(--s-muted); text-align: center; }
.integration-schematic { grid-column: 1 / -1; display: grid; justify-items: center; margin: 48px 0 0; padding: 56px 32px 32px; background: var(--h-sheet); border: 1px solid var(--h-rule); min-width: 0; }
.integration-schematic__hub { position: relative; display: grid; place-items: center; min-width: 220px; min-height: 152px; padding: 28px 40px; text-align: center; background: var(--h-indigo); box-shadow: 8px 8px 0 var(--s-fold); color: var(--h-sheet); font: 400 40px/1 var(--h-sans); letter-spacing: -.06em; }
.integration-schematic__hub img { display: block; width: 174px; height: 60px; margin-inline: auto; object-fit: contain; }
.integration-schematic__hub span { position: absolute; inset-inline: 0; bottom: 12px; font: 400 var(--h-label)/1.5 var(--h-mono); letter-spacing: 0; }
.integration-schematic__rail { height: 96px; width: 80%; display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }
.integration-schematic__rail::before { content: ""; position: absolute; top: 0; height: 48px; left: 50%; border-left: 1px solid var(--h-indigo); }
.integration-schematic__rail span { position: relative; }
.integration-schematic__rail span::before { content: ""; position: absolute; top: 48px; height: 48px; width: 100%; left: 50%; border-top: 1px solid var(--h-indigo); border-left: 1px solid var(--h-indigo); }
.integration-schematic__rail span:last-child::before { width: 0; }
.integration-schematic__systems { width: 80%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.integration-schematic__systems span { text-align: center; padding: 24px 8px; border: 1px solid var(--h-rule); background: var(--h-paper); font: 400 20px/1.3 var(--h-sans); letter-spacing: -.035em; }
.integration-schematic figcaption { margin-top: 32px; font: 400 var(--h-label)/1.7 var(--h-mono); color: var(--h-gray); text-align: center; }
@media (max-width: 1100px) {
  .signal-study { padding: 24px; }
  .study-controls { gap: 12px; }
  .integration-schematic__systems, .integration-schematic__rail { width: 100%; }
}
@media (max-width: 768px) {
  .signal-study { padding: 24px; }
  .signal-sculpture { margin-block: 24px; }
  .cost-sculpture { max-width: 500px; width: 100%; margin-inline: auto; }
  .home-page .economics-study { row-gap: 20px; }
  .home-page .economics-copy { display: contents; }
  .economics-study > .chapter-label { margin-bottom: 20px; }
  .economics-copy .eyebrow { margin-bottom: 0; }
  .home-page .economics-copy .card-title { margin-bottom: 4px; }
  .economics-study .cost-sculpture { grid-row: 5; max-width: 420px; }
  .cost-sculpture > svg { max-width: 380px; margin-inline: auto; }
  .cost-layer__index { font-size: 24px; }
  .home-page .economics-study .cost-stack { margin-top: 0; }
  .home-page .cost-line { padding-block: 14px; min-height: 64px; }
  .cost-line::before { top: 17px; }
  .home-page .economics-study .cost-closer { margin-top: 0; }
  .integration-schematic { padding: 40px 20px 24px; margin-top: 24px; }
  .integration-schematic__systems { gap: 8px; }
  .integration-schematic__systems span { font-size: 14px; padding: 16px 4px; }
}
@media (max-width: 420px) {
  .signal-study { padding: 20px; margin-inline: -8px; }
  .study-controls { gap: 8px; }
  .study-controls button { font-size: 13px; }
  .integration-schematic__systems { grid-template-columns: 1fr 1fr; gap: 12px; }
  .integration-schematic__rail { height: 48px; }
  .integration-schematic__rail span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  [data-study], [data-study] *, [data-study]::before, [data-study]::after,
  [data-study] *::before, [data-study] *::after { transition: none !important; }
}
