/* Sculptural marks share real counts with the register. Depth is decorative;
   front-face height and adjacent text carry the actual measurement. */
:root {
  color-scheme: light;
  --font-sans: "Manrope", sans-serif;
  --font-display: "Bricolage Grotesque", sans-serif;
  --color-ground: #f6f5f0;
  --color-surface: #fcfbf7;
  --color-raised: #e8e7df;
  --color-ink: #282c29;
  --color-ink-hover: #121f19;
  --color-ink-muted: #59605a;
  --color-ink-faint: #6a706a;
  --color-on-ink: #fcfbf7;
  --color-on-ink-muted: #e7e9df;
  --color-on-ink-faint: #d0d9ca;
  --color-rule: #c8cbc2;
  --color-rule-soft: #dfe1d8;
  --color-rule-control: #858b80;
  --color-accent: #a4482a;
  --color-takeable: #286341;
  --color-takeable-soft: #e1eedf;
  --color-takeable-wash: #ecf3e8;
  --color-takeable-ink: #275238;
  --color-caution: #916414;
  --color-caution-ink: #805714;
  --color-fault: #ac3930;
  --color-fault-ink: #9d352d;
  --color-rust-strong: #e6e5dc;
  --color-rust-soft: #f0eee5;
  --color-rust-ink: #403b32;
  --color-index-ftse100: #35596c;
  --color-index-ftse250: #3d6458;
  --color-index-smallcap: #72567c;
  --color-index-aim: #826010;
  --color-index-targets: #8d4c43;
  --color-clears-1: var(--color-takeable);
  --color-clears-2: #568052;
  --color-misses-1: #7a7167;
  --color-misses-2: #a19788;
  --shadow-takeable: 4px 4px 0 #d9c891;
  --plot-0: #a1aaa2;
  --plot-1: #d98b70;
  --plot-2: #acb8c4;
  --plot-3: #c7b590;
  --plot-4: #b5a5b8;
  --plot-5: #91aaa5;
  --plot-6: #b8bca8;
  --work-0: #78887b;
  --work-1: #d39176;
  --work-2: #b1bda8;
  --work-3: #98a8b8;
  --work-4: #c5b796;
  --work-5: #d9d8ce;
  --sculpture-light: #f2c3a4;
  --sculpture-mid: #d89170;
  --sculpture-dark: #80513c;
  --container-shell: 92rem;
}
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--color-ground); }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 5px; }
button:disabled { cursor: default; }
.observatory { font-family: var(--font-sans); font-size: 14px; -webkit-font-smoothing: antialiased; }
.topbar { height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--color-rule-soft); padding: 0 clamp(20px, 4.7vw, 90px); background: var(--color-ground); }
.brand { display: flex; align-items: center; gap: 14px; font-family: var(--font-display); font-size: 24px; letter-spacing: -1px; background: none; border: 0; padding: 4px 0; }
.brand strong { font-weight: 750; }
.brand-dot { color: var(--color-accent); }
.brand-mark { width: 31px; height: 29px; display: flex; gap: 3px; align-items: flex-end; transform: skewY(-15deg); }
.brand-mark i { width: 8px; height: 16px; background: linear-gradient(90deg, #8e9a8d 70%, #5d6b5b 70%); box-shadow: 2px -2px 0 #b1b8a9; }
.brand-mark i:nth-child(2) { height: 25px; }
.brand-mark i:nth-child(3) { height: 20px; }
.topbar nav { display: flex; height: 100%; gap: 32px; align-items: center; }
.topbar nav a { height: 100%; display: flex; align-items: center; border-bottom: 2px solid transparent; color: var(--color-ink-muted); font-size: 12px; text-decoration: none; white-space: nowrap; }
.topbar nav a:hover, .topbar nav .nav-active { color: var(--color-ink); border-bottom-color: var(--color-ink); }
.edition { font-size: 9px; letter-spacing: 1.2px; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.account-control { position: relative; margin-left: auto; flex-shrink: 0; z-index: 12; }
.signin-link { display: inline-flex; align-items: center; padding: 10px 15px; border: 1px solid var(--color-rule); border-radius: 6px; color: var(--color-ink); font-size: 12px; text-decoration: none; white-space: nowrap; }
.signin-link:hover { background: var(--color-surface); border-color: var(--color-ink); }
.account-menu summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 5px; font-size: 12px; }
.account-menu summary::-webkit-details-marker { display: none; }
.account-avatar { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--color-ink); color: var(--color-surface); font-size: 14px; }
.account-panel { position: absolute; right: 0; top: calc(100% + 12px); width: min(290px, calc(100vw - 40px)); padding: 22px; background: var(--color-surface); border: 1px solid var(--color-rule); border-radius: 10px; box-shadow: 0 16px 40px #30382c20; }
.account-panel p { font-size: 13px; margin-bottom: 8px; overflow-wrap: anywhere; }
.account-panel .account-email { color: var(--color-ink-muted); font-size: 12px; }
.account-panel a, .account-panel button { display: block; font-size: 12px; margin-top: 16px; }
.account-panel button { cursor: pointer; border: 1px solid var(--color-rule); border-radius: 5px; padding: 8px 14px; }
.account-panel button:disabled { opacity: .6; cursor: wait; }
.signin-page { max-width: 500px; margin: 50px auto 100px; padding: 30px 20px; text-align: center; }
.signin-art { display: flex; justify-content: center; height: 110px; margin-bottom: 20px; }
.signin-art .route-art { position: relative; inset: auto; transform: scale(1.25); transform-origin: center; }
.signin-page h1 { font-family: var(--font-display); font-size: clamp(34px, 4vw, 48px); line-height: 1.12; letter-spacing: -1.8px; margin: 14px 0 20px; }
.signin-description { font-size: 15px; line-height: 1.7; color: var(--color-ink-muted); margin-bottom: 28px; }
.google-signin { display: flex; justify-content: center; align-items: center; gap: 12px; min-height: 48px; padding: 12px 22px; border: 1px solid #747775; border-radius: 7px; background: #fff; color: #1f1f1f; font-size: 14px; font-weight: 500; text-decoration: none; }
.google-signin:hover { background: #f8fafd; box-shadow: 0 2px 6px #30382c15; }
.signin-scope, .signin-local-note { font-size: 12px; line-height: 1.8; color: var(--color-ink-muted); margin-top: 20px; }
.signin-local-note { margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--color-rule-soft); }
.signin-footer { display: flex; justify-content: center; gap: 28px; font-size: 12px; margin-top: 25px; }
.signin-footer a { text-underline-offset: 4px; }
.auth-notice { padding: 14px; margin: 18px 0; border: 1px solid var(--color-rule); background: var(--color-surface); border-radius: 6px; font-size: 13px; line-height: 1.6; }
@media (max-width: 1100px) {
  .account-control { order: 1; }
  .topbar nav { order: 2; }
}
@media (max-width: 600px) {
  .signin-page { margin: 25px auto 60px; padding-inline: 0; }
  .signin-link { padding: 8px 12px; }
  .account-label { display: none; }
}
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: #87957a; }
.observatory-main { max-width: 1640px; padding: 0 clamp(20px, 4.7vw, 90px); margin: auto; }
.intro { display: grid; grid-template-columns: 1fr 380px; min-height: 254px; padding-top: 40px; align-items: center; }
.eyebrow { font-size: 9px; font-weight: 650; letter-spacing: 1.5px; line-height: 1.6; color: var(--color-ink-muted); margin: 0; }
.intro .eyebrow { display: flex; gap: 9px; align-items: center; }
.tiny-cube { width: 8px; height: 8px; background: #c68f72; box-shadow: 2px -2px 0 #e2b29a; transform: rotate(-15deg); }
.intro h1 { font-family: var(--font-display); font-size: clamp(40px, 4vw, 64px); font-weight: 520; letter-spacing: -2.6px; line-height: 1.03; margin: 17px 0 18px; }
.intro h1 em { color: #838c7c; font-style: normal; }
.intro-description { max-width: 450px; line-height: 1.7; font-size: 12px; color: var(--color-ink-muted); margin: 0 0 30px; }
.hero-sculpture { position: relative; height: 230px; width: 360px; justify-self: center; isolation: isolate; }
.sculpture-floor { position: absolute; width: 290px; height: 140px; left: 35px; bottom: 29px; background: radial-gradient(ellipse, #c8c7b477, transparent 69%); transform: rotate(-12deg); }
.sculpture-orbit { width: 270px; height: 120px; position: absolute; left: 55px; top: 70px; border: 1px solid #c4c7bd; border-radius: 50%; transform: rotate(-22deg); z-index: -1; }
.sculpture-block { position: absolute; bottom: 53px; width: 55px; height: 82px; background: linear-gradient(100deg,#b7c2af, #899883); transform: skewY(15deg); border-radius: 2px; box-shadow: 15px 20px 18px #68755f22; }
.sculpture-block::before { content: ""; position: absolute; width: 100%; height: 23px; bottom: 100%; left: 14px; background: linear-gradient(135deg,#d9dfce,#b5c0a9); transform: skewX(-50deg); transform-origin: bottom; border-radius: 2px 2px 0 0; }
.sculpture-block::after { content: ""; position: absolute; width: 28px; height: 100%; left: 100%; bottom: 12px; background: linear-gradient(90deg,#74836b,#a0ac95); transform: skewY(-40deg); }
.block-one { left: 85px; height: 65px; z-index: 3; }
.block-two { left: 150px; height: 107px; bottom: 66px; z-index: 2; }
.block-three { left: 215px; height: 148px; bottom: 79px; z-index: 1; }
.sculpture-sphere { position: absolute; width: 92px; height: 92px; border-radius: 50%; left: 46px; top: 4px; background: radial-gradient(circle at 30% 22%, #f5cfb3 0%, #dea07c 33%, #ae6e4f 70%, #794b34 100%); box-shadow: inset -4px -4px 10px #4d392329, 9px 17px 20px #a5775522; animation: float-sculpture 7s ease-in-out infinite; z-index: 4; }
.sculpture-caption { position: absolute; bottom: 4px; left: 75px; font-size: 7px; letter-spacing: 1.6px; color: var(--color-ink-muted); }
.search-workbench { padding: 7px 0 20px; }
.explore-search { display: flex; align-items: center; gap: 16px; background: var(--color-surface); border: 1px solid #bfc4b8; border-radius: 9px; padding: 0 20px; height: 60px; box-shadow: 0 3px 0 #e4e5dc66; }
.explore-search:focus-within { border-color: var(--color-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--color-accent), transparent 84%); }
.explore-search svg { flex-shrink: 0; color: #77816f; }
.explore-search input { width: 100%; min-width: 0; height: 100%; border: 0; background: transparent; font-size: 14px; outline: none; }
.explore-search input:focus-visible { outline: none; }
.explore-search input::placeholder { color: #6c7469; }
.explore-search kbd { font: inherit; font-size: 11px; padding: 1px 7px; border: 1px solid var(--color-rule-soft); color: var(--color-ink-muted); border-radius: 4px; }
.quick-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; padding: 14px 0 0; }
.filter-prompt { font-size: 10px; color: var(--color-ink-muted); margin-right: 4px; }
.filter-chip { border: 1px solid #d4d8cb; border-radius: 5px; padding: 6px 11px; font-size: 10px; background: #eeefe7; transition: background .18s, color .18s; }
.filter-chip:hover { background: #e1e5d8; }
.filter-chip[aria-pressed=true] { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-on-ink); }
.all-filters, .reset-filters { background: none; border: 0; font-size: 10px; padding: 7px 9px; }
.all-filters { margin-left: auto; }
.reset-filters { color: var(--color-accent); }
.selected-facets { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 10px; }
.selected-facets button { font-size: 10px; padding: 6px 10px; border: 1px solid #bf9b85; border-radius: 5px; background: #f0e6dd; }
.market-summary { display: flex; gap: 40px; align-items: center; padding: 23px 0 24px; border-top: 1px solid var(--color-rule-soft); }
.summary-count { display: flex; gap: 10px; align-items: baseline; }
.summary-count strong { font-family: var(--font-display); font-size: 30px; font-weight: 520; letter-spacing: -1px; font-variant-numeric: tabular-nums; }
.summary-count span { font-size: 10px; color: var(--color-ink-muted); }
.snapshot-date { margin: 0 0 0 auto; display: flex; flex-direction: column; gap: 3px; font-size: 7px; letter-spacing: 1px; text-align: right; color: var(--color-ink-muted); }
.snapshot-date strong { font-size: 10px; font-weight: 500; letter-spacing: .3px; }
.exploration-grid { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(285px, 1fr); gap: 18px; }
.exploration-grid > * { min-width: 0; }
.landscape-panel { border: 1px solid var(--color-rule-soft); background: #fcfbf7; border-radius: 10px; padding: 25px 25px 17px; overflow: hidden; }
.chart-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; }
.chart-heading h2, .work-panel h2 { font-family: var(--font-display); font-size: 21px; font-weight: 550; line-height: 1.25; letter-spacing: -.5px; margin: 7px 0 0; }
.lens-switch { display: flex; padding: 3px; border-radius: 6px; background: #eeefe8; gap: 2px; }
.lens-switch button { font-size: 9px; border-radius: 4px; padding: 7px 10px; border: 0; background: transparent; color: var(--color-ink-muted); }
.lens-switch button[aria-pressed=true] { background: #fcfbf7; color: var(--color-ink); box-shadow: 0 1px 3px #424d3e18; }
.chart-meta { display: flex; justify-content: space-between; margin-top: 24px; gap: 20px; font-size: 8px; color: var(--color-ink-muted); }
.chart-meta p { margin: 0; }
.chart-scroll { overflow-x: auto; scrollbar-width: thin; scrollbar-color: #b9c0ad transparent; margin: 0 -5px; padding: 12px 5px 0; }
.column-chart { position: relative; min-width: max(100%, calc(var(--columns) * 87px)); padding-left: 28px; }
.plot-grid { position: absolute; top: 35px; left: 0; right: 0; height: 240px; display: flex; flex-direction: column; justify-content: space-between; pointer-events: none; }
.plot-grid div { border-bottom: 1px dashed #e2e4db; position: relative; margin-left: 32px; }
.plot-grid div span { position: absolute; right: calc(100% + 13px); top: -6px; font-size: 8px; color: #6a7367; }
.plot-grid div:last-child { border-bottom-style: solid; }
.chart-columns { display: flex; align-items: flex-end; justify-content: space-around; gap: 7px; }
.column-button { min-width: 0; max-width: 140px; flex: 1; border: 0; background: none; padding: 0; position: relative; display: flex; align-items: stretch; flex-direction: column; color: var(--color-ink); }
.column-stage { height: 310px; transition: transform .25s ease-out; transform-origin: 50% 100%; }
.column-art { height: 100%; width: 100%; overflow: visible; }
.column-front { fill: var(--column-tone); }
.column-top { fill: color-mix(in srgb, var(--column-tone), #f9f6e9 38%); }
.column-side { fill: color-mix(in srgb, var(--column-tone), #364332 27%); }
.column-edge { stroke: #fff8e459; stroke-width: .7px; }
.column-shadow { fill: #a6ac9525; }
.column-value { fill: var(--color-ink); font-family: var(--font-sans); font-size: 11px; font-weight: 650; }
.column-label { font-size: 9px; line-height: 1.5; min-height: 42px; padding: 0 2px; text-wrap: balance; }
.column-button:hover .column-stage { transform: translateY(-5px); }
.column-button:hover .column-label { text-decoration: underline; text-underline-offset: 4px; }
.column-button[aria-pressed=true] .column-front { fill: #c98163; }
.column-button[aria-pressed=true] .column-top { fill: #eabda0; }
.column-button[aria-pressed=true] .column-side { fill: #9f654e; }
.column-button[aria-pressed=true] .column-label { font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.chart-footer { border-top: 1px solid var(--color-rule-soft); padding-top: 15px; margin-top: 11px; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 8px; }
.chart-footer button { flex-shrink: 0; background: none; border: 0; font-size: 9px; font-weight: 650; padding: 5px 0; }
.chart-key { display: flex; align-items: center; gap: 8px; color: var(--color-ink-muted); line-height: 1.5; }
.key-block { width: 7px; height: 7px; flex-shrink: 0; background: #9aab91; transform: skewY(-14deg); box-shadow: 2px -2px 0 #c2cdb8; }
.chart-coverage { font-size: 9px; line-height: 1.6; color: var(--color-ink-muted); }
.work-panel { background: #e9ece2; border: 1px solid #dce1d2; border-radius: 10px; padding: 25px 25px 18px; }
.panel-subtitle { font-size: 10px; color: var(--color-ink-muted); margin: 8px 0 0; }
.donut-scene { height: 211px; position: relative; max-width: 275px; margin: 0 auto; perspective: 650px; }
.donut-shadow { position: absolute; width: 205px; height: 90px; border-radius: 50%; background: radial-gradient(ellipse, #4d594b4a, transparent 68%); top: 109px; left: calc(50% - 88px); }
.donut-depth, .donut-top { position: absolute; width: 210px; height: 210px; border-radius: 50%; left: calc(50% - 105px); top: -5px; transform: rotateX(48deg) rotateZ(-18deg); mask: radial-gradient(circle, transparent 0 41%, #000 42%); }
.donut-depth { top: 12px; background: conic-gradient(#7c8675, #b0ad9b, #777f72, #b0ad9b, #7c8675); }
.donut-top { background: var(--donut-fill); box-shadow: inset 2px 3px 7px #fffef3aa, inset -2px -3px 8px #46524020; }
.donut-center { position: absolute; inset: 68px 60px auto; text-align: center; display: flex; flex-direction: column; }
.donut-center strong { font-family: var(--font-display); font-size: 30px; line-height: 1.1; font-weight: 520; }
.donut-center span { font-size: 8px; margin-top: 4px; }
.work-legend { display: grid; gap: 9px; }
.legend-row { display: grid; grid-template-columns: 10px 1fr auto; align-items: center; gap: 8px; font-size: 9px; }
.legend-pebble { width: 8px; height: 8px; border-radius: 50%; background: radial-gradient(circle at 30% 20%, color-mix(in srgb,var(--pebble-tone),#fff9ed 30%), var(--pebble-tone) 60%, color-mix(in srgb,var(--pebble-tone),#27382b 28%)); box-shadow: 1px 2px 2px #334d311f; }
.legend-row strong { font-weight: 650; font-variant-numeric: tabular-nums; }
.work-action { width: 100%; border: 1px solid #b5bfaa; border-radius: 5px; padding: 10px 6px; margin-top: 20px; font-size: 10px; background: transparent; }
.work-action:hover, .work-action[aria-pressed=true] { background: #dce3d1; }
.coverage-caption { font-size: 8px; line-height: 1.7; color: var(--color-ink-muted); margin: 12px 0 0; }
.explore-notes { display: flex; justify-content: space-between; gap: 14px; font-size: 9px; color: var(--color-ink-muted); margin: 15px 0 27px; }
.explore-notes p { margin: 0; }
.note-marker { font-size: 14px; margin-right: 6px; }
.secondary-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 26px; border-top: 1px solid var(--color-rule-soft); padding: 25px 0 32px; }
.signal-panel { padding-right: 25px; border-right: 1px solid var(--color-rule-soft); }
.signal-title { display: flex; justify-content: space-between; gap: 12px; align-items: center; min-height: 65px; }
.signal-title h3, .coverage-panel h3 { font-family: var(--font-display); font-weight: 550; font-size: 19px; letter-spacing: -.4px; line-height: 1.2; margin: 0 0 7px; }
.signal-title p { font-size: 9px; color: var(--color-ink-muted); margin: 0; }
.mini-sculpture { width: 55px; height: 48px; flex-shrink: 0; position: relative; }
.mini-sculpture i { position: absolute; width: 40px; height: 18px; left: 3px; top: 23px; background: linear-gradient(145deg,#eedbc3,#bfa37a); border-radius: 50%; box-shadow: 0 5px 0 #9f825c, 4px 9px 8px #9f825c22; }
.mini-sculpture i:nth-child(2) { top: 13px; left: 8px; }
.mini-sculpture i:nth-child(3) { top: 3px; left: 13px; }
.mini-sculpture.level i { width: 15px; height: 18px; border-radius: 2px; background: linear-gradient(90deg,#a2b0c0 70%,#6b8199 71%); top: 26px; box-shadow: 2px -3px 0 #c2ced9, 5px 6px 8px #72829522; transform: skewY(-15deg); }
.mini-sculpture.level i:nth-child(2) { top: 17px; left: 22px; height: 27px; }
.mini-sculpture.level i:nth-child(3) { top: 5px; left: 41px; height: 39px; }
.signal-bars { display: grid; gap: 12px; margin-top: 17px; }
.signal-row { display: grid; grid-template-columns: minmax(80px,1.3fr) minmax(55px,1fr) 24px; gap: 10px; font-size: 9px; align-items: center; }
.signal-row strong { font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
.signal-track { height: 6px; background: #e8e9e0; border-radius: 2px; }
.signal-track i { width: var(--bar-size); min-width: 2px; height: 100%; display: block; border-radius: 2px; background: linear-gradient(var(--bar-tone),color-mix(in srgb,var(--bar-tone),#3f4e3b 20%)); box-shadow: 0 -2px 0 color-mix(in srgb,var(--bar-tone),#faf8ed 20%); }
.text-action { font-size: 9px; font-weight: 650; padding: 16px 0 0; background: transparent; border: 0; text-align: left; }
.text-action[aria-pressed=true] { color: var(--color-accent); }
.coverage-panel { position: relative; padding: 9px 0 0; }
.coverage-panel h3 { font-size: 22px; max-width: 230px; margin-top: 10px; }
.coverage-panel > p:not(.eyebrow):not(.coverage-caption) { font-size: 10px; line-height: 1.8; max-width: 310px; color: var(--color-ink-muted); margin: 12px 0; }
.coverage-panel dl { font-size: 9px; display: grid; gap: 8px; margin: 16px 0 0; }
.coverage-panel dl div { display: flex; justify-content: space-between; }
.coverage-panel dd { font-weight: 650; margin: 0; }
.coverage-orb { width: 32px; height: 32px; position: absolute; top: 3px; right: 2px; background: radial-gradient(circle at 30% 25%,#ede8d2,#c8c2a2 45%,#89886d); border-radius: 50%; box-shadow: 4px 7px 8px #66745429; }
.evidence-section { border-top: 1px solid var(--color-rule); padding: 32px 0 60px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 24px; gap: 18px; }
.section-heading h2 { font-family: var(--font-display); font-size: 30px; font-weight: 530; letter-spacing: -.7px; margin: 8px 0 0; }
.section-heading > p { font-size: 10px; max-width: 260px; color: var(--color-ink-muted); line-height: 1.6; margin: 0; }
.evidence-layout { display: flex; align-items: flex-start; gap: 28px; }
.evidence-layout aside { width: 245px; }
.evidence-layout aside > details { border-radius: 7px; background: #edeee7; }
.evidence-layout .font-display { font-family: var(--font-display); }
.evidence-layout h2.font-display { font-size: 25px; }
.employer-mark { position: relative; background: linear-gradient(140deg, var(--color-surface), #e4e7dc); box-shadow: 3px 3px 0 #c5ccbc, 6px 7px 9px #64725b13; transform: perspective(250px) rotateY(-8deg); margin: 3px 6px 7px 0; }
.evidence-layout .share-segment { box-shadow: inset 0 2px 0 #fff6df60, inset 0 -2px 0 #2434212b; }
.chart-empty { min-height: 355px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.empty-sphere { width: 50px; height: 50px; border-radius: 50%; background: radial-gradient(circle at 30% 20%, #e5e8db, #a0aa95 70%, #737e68); box-shadow: 9px 18px 16px #7986672b; margin-bottom: 22px; }
.chart-empty h3 { font-family: var(--font-display); font-size: 23px; margin: 0 0 8px; }
.chart-empty p { max-width: 280px; font-size: 11px; line-height: 1.7; color: var(--color-ink-muted); }
.solid-button { border: 0; background: var(--color-ink); color: var(--color-on-ink); border-radius: 5px; padding: 10px 16px; font-size: 11px; margin-top: 12px; }
@keyframes float-sculpture { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@media (min-width: 1550px) { .intro { min-height: 280px; } .column-stage { height: 340px; } .plot-grid { top: 40px; height: 261px; } }
@media (max-width: 1100px) {
  .topbar { gap: 15px; } .topbar nav { gap: 20px; } .edition { display: none; }
  .intro { grid-template-columns: 1fr 290px; } .hero-sculpture { transform: scale(.8); transform-origin: center right; width: 360px; justify-self: end; }
  .market-summary { gap: 24px; } .summary-count { flex-direction: column; gap: 1px; }
  .exploration-grid { grid-template-columns: minmax(0,1.8fr) minmax(265px,1fr); }
  .landscape-panel, .work-panel { padding: 20px 18px 16px; }
  .chart-heading { gap: 14px; } .column-chart { min-width: max(100%, calc(var(--columns) * 75px)); }
  .chart-footer { align-items: flex-start; } .signal-row { grid-template-columns: minmax(70px,1.2fr) minmax(30px,1fr) 22px; }
  .evidence-layout { gap: 20px; } .evidence-layout aside { width: 215px; }
}
@media (max-width: 800px) {
  .topbar { height: 72px; } .brand { font-size: 21px; } .brand-mark { transform: skewY(-15deg) scale(.8); margin-right: -4px; }
  .topbar nav { gap: 15px; } .topbar nav a { font-size: 10px; }
  .intro { grid-template-columns: 1fr 210px; padding-top: 30px; min-height: 220px; } .hero-sculpture { transform: scale(.55); width: 360px; }
  .intro h1 { font-size: 43px; } .intro-description { max-width: 350px; }
  .exploration-grid { grid-template-columns: 1fr; } .work-panel { display: grid; grid-template-columns: 1fr 1fr; column-gap: 22px; }
  .work-panel > .eyebrow, .work-panel > h2, .work-panel > .panel-subtitle { grid-column: 1 / -1; }
  .work-legend { align-content: center; gap: 15px; } .work-panel > .work-action { grid-column: 1 / -1; margin-top: 0; } .work-panel > .coverage-caption { grid-column: 1 / -1; }
  .secondary-grid { grid-template-columns: 1fr 1fr; } .signal-panel:nth-child(2) { border-right: 0; padding-right: 0; } .coverage-panel { grid-column: 1 / -1; border-top: 1px solid var(--color-rule-soft); padding-top: 24px; } .coverage-panel h3, .coverage-panel > p:not(.eyebrow):not(.coverage-caption) { max-width: 80%; } .coverage-orb { top: 27px; }
  .evidence-layout { flex-direction: column; } .evidence-layout aside { width: 100%; } .evidence-layout > div { width: 100%; }
  .market-summary { gap: 25px; } .summary-count strong { font-size: 27px; } .summary-count span { font-size: 9px; }
}
@media (max-width: 520px) {
  .topbar { flex-wrap: wrap; height: auto; padding-top: 17px; gap: 11px; } .topbar nav { width: 100%; height: 38px; justify-content: space-between; }
  .topbar nav a { font-size: 11px; } .brand { font-size: 23px; }
  .intro { grid-template-columns: 1fr; padding-top: 28px; position: relative; min-height: 235px; }
  .intro-copy { z-index: 1; } .intro h1 { font-size: clamp(36px, 9vw, 46px); letter-spacing: -1.8px; margin-top: 15px; }
  .intro .eyebrow { font-size: 7px; letter-spacing: 1px; }
  .intro-description { max-width: 255px; font-size: 11px; margin-bottom: 24px; }
  .hero-sculpture { position: absolute; right: 0; top: 100px; transform: scale(.3); transform-origin: top right; width: 340px; opacity: .95; } .sculpture-caption { display: none; }
  .search-workbench { padding-top: 3px; } .explore-search { height: 54px; padding: 0 13px; gap: 10px; } .explore-search input { font-size: 12px; } .explore-search kbd { display: none; }
  .filter-prompt { width: 100%; } .filter-chip { font-size: 9px; padding: 7px 8px; } .all-filters { margin-left: 0; }
  .market-summary { gap: 14px; flex-wrap: wrap; padding: 19px 0; justify-content: space-between; } .summary-count { max-width: 31%; } .summary-count strong { font-size: 28px; } .summary-count span { font-size: 9px; line-height: 1.5; } .snapshot-date { flex-direction: row; width: 100%; justify-content: flex-start; gap: 8px; margin-top: 7px; align-items: baseline; }
  .landscape-panel { padding: 20px 15px 16px; } .chart-heading h2 { font-size: 21px; } .chart-heading { gap: 15px; } .lens-switch button { padding: 8px 13px; font-size: 10px; }
  .column-chart { min-width: max(100%, calc(var(--columns) * 78px)); } .column-stage { height: 270px; } .plot-grid { top: 30px; height: 208px; }
  .chart-footer { font-size: 8px; gap: 15px; } .chart-key { max-width: 165px; } .chart-footer button { font-size: 9px; }
  .work-panel { grid-template-columns: minmax(0,1fr); padding: 23px; } .donut-scene { width: min(260px, 100%); } .work-legend { margin-top: -7px; gap: 12px; } .legend-row { font-size: 11px; } .work-panel > .work-action { margin-top: 20px; font-size: 11px; } .coverage-caption { font-size: 9px; }
  .explore-notes { flex-direction: column; gap: 9px; font-size: 9px; }
  .secondary-grid { grid-template-columns: 1fr; gap: 24px; } .signal-panel { border-right: 0; padding-right: 0; padding-bottom: 23px; border-bottom: 1px solid var(--color-rule-soft); } .signal-row { font-size: 11px; grid-template-columns: minmax(90px,1.2fr) minmax(50px,1fr) 25px; } .signal-title p { font-size: 10px; } .text-action { font-size: 11px; } .coverage-panel { grid-column: auto; padding-top: 0; border-top: 0; } .coverage-orb { top: 0; } .coverage-panel > p:not(.eyebrow):not(.coverage-caption), .coverage-panel dl { font-size: 11px; }
  .section-heading { align-items: flex-start; flex-direction: column; } .section-heading h2 { font-size: 27px; }
  .evidence-layout aside > details { max-height: 390px; overflow: auto; }
}
/* On a laptop, the working chart earns the first screen. The taller art-led
   introduction is reserved for viewports with room to show both. */
@media (min-width: 801px) and (max-height: 850px) {
  .topbar { height: 64px; }
  .intro { position: relative; min-height: 150px; padding-top: 20px; grid-template-columns: 1fr 235px; }
  .intro h1 { font-size: 40px; letter-spacing: -1.6px; margin: 12px 0 10px; }
  .intro h1 br { display: none; }
  .intro h1 em::before { content: " "; }
  .intro-description { font-size: 11px; line-height: 1.6; max-width: 610px; margin-bottom: 12px; }
  .hero-sculpture { position: absolute; width: 360px; height: 230px; right: 20px; top: 10px; transform: scale(.6); transform-origin: top right; }
  .search-workbench { padding-top: 0; padding-bottom: 14px; }
  .explore-search { height: 52px; }
  .quick-filters { padding-top: 10px; }
  .market-summary { padding: 14px 0 17px; }
  .column-stage { height: 230px; }
  .plot-grid { top: 26px; height: 176px; }
  .chart-meta { margin-top: 17px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }

/* The static snapshot remains visible when scripting is unavailable. */
#main:not(:empty) + #site-snapshot { display: none; }
.script-note { padding: 20px; font: 14px/1.6 var(--font-sans); text-align: center; background: #e9ece2; }
a.brand { color: inherit; text-decoration: none; }
.page-heading { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 48px 0 30px; }
.page-heading h1 { font-family: var(--font-display); font-weight: 520; font-size: clamp(36px, 4vw, 56px); line-height: 1.08; letter-spacing: -1.8px; margin: 12px 0; }
.page-heading p:not(.eyebrow) { color: var(--color-ink-muted); line-height: 1.8; max-width: 630px; font-size: 13px; }
.text-link { color: var(--color-ink); font-weight: 600; font-size: 12px; text-underline-offset: 5px; }
a.text-link:hover { color: var(--color-accent); }
.primary-link { display: inline-flex; align-items: center; justify-content: center; padding: 14px 20px; background: var(--color-ink); color: var(--color-surface); border: 1px solid var(--color-ink); border-radius: 7px; text-decoration: none; font-size: 12px; font-weight: 600; white-space: nowrap; }
.primary-link:hover { background: var(--color-ink-hover); box-shadow: 3px 4px 0 #b9c1af; }
.page-actions { display: flex; align-items: center; gap: 25px; margin: 24px 0; }
.home-intro { min-height: 370px; padding: 42px 0 24px; }
.home-intro .intro-description { max-width: 510px; }
.home-search { display: flex; align-items: stretch; gap: 12px; padding: 20px; background: #eceee5; border: 1px solid #d8dcce; border-radius: 12px; }
.home-search .explore-search { flex: 1; min-width: 0; background: var(--color-surface); padding: 0 18px; border-radius: 6px; }
.search-symbol { font-size: 28px; line-height: 1; font-weight: 500; }
.route-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin: 34px 0; }
.route-card { display: block; color: inherit; text-decoration: none; border-top: 1px solid var(--color-rule); padding: 30px 12px 25px 0; }
.route-card h2, .insight-bridge h2, .market-details > h2, .workspace-results > h2 { font-family: var(--font-display); font-size: 27px; font-weight: 520; line-height: 1.2; letter-spacing: -.6px; margin: 12px 0; }
.route-card > p:not(.eyebrow), .market-details > p, .insight-bridge p { color: var(--color-ink-muted); font-size: 12px; line-height: 1.8; max-width: 340px; margin: 0 0 24px; }
.route-card:hover h2 { color: var(--color-accent); }
.route-art { display: block; position: relative; width: 100px; height: 87px; margin-bottom: 22px; }
.route-art i { position: absolute; width: 24px; height: 43px; bottom: 7px; left: 4px; background: linear-gradient(90deg,#a1b099 72%,#72856a 73%); transform: skewY(-15deg); box-shadow: 4px -4px 0 #c8d2bf, 7px 9px 9px #6e796e20; border-radius: 2px; }
.route-art i:nth-child(2) { left: 35px; height: 68px; }
.route-art i:nth-child(3) { left: 66px; height: 52px; }
.art-insights i { width: 26px; background: linear-gradient(90deg,#d99b7e 72%,#ad745a 73%); box-shadow: 4px -4px 0 #ecc1a9,7px 9px 9px #6e796e20; height: 26px; }
.art-insights i:nth-child(2) { height: 43px; }
.art-insights i:nth-child(3) { height: 68px; }
.art-workspace i { width: 65px; height: 24px; border-radius: 50%; transform: rotate(-15deg); background: linear-gradient(145deg,#e1ccaa,#b8a381); box-shadow: 0 8px 0 #97825f,6px 13px 9px #6e796e20; }
.art-workspace i:nth-child(2) { bottom: 26px; left: 11px; height: 24px; }
.art-workspace i:nth-child(3) { bottom: 46px; left: 18px; height: 24px; }
.method-note { display: flex; gap: 22px; align-items: center; border-top: 1px solid var(--color-rule-soft); padding: 24px 0 36px; margin-top: 20px; }
.method-note p { font-size: 12px; line-height: 1.8; color: var(--color-ink-muted); max-width: 630px; }
.method-note a { margin-left: auto; white-space: nowrap; }
.directory-search { margin-bottom: 30px; }
.directory-page, .workspace-page, .about-page { padding-bottom: 60px; }
.insight-bridge { display: flex; gap: 30px; align-items: center; justify-content: space-between; padding: 25px 30px; background: #e9ece2; border: 1px solid #d8ddce; border-radius: 12px; margin: 28px 0; }
.insight-bridge p { margin-bottom: 0; max-width: none; }
.insight-filters { border-bottom: 1px solid var(--color-rule); padding: 8px 0 22px; margin-bottom: 30px; }
.insight-filters > summary { cursor: pointer; font-size: 12px; font-weight: 600; padding: 12px 0; }
.insight-filters #filters { position: static; width: 100%; max-height: none; }
.insight-filters #filters > details > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 24px; }
.insight-filters .save-search-link { grid-column: 1 / -1; }
.market-details { margin: 35px 0; }
.market-details > p { max-width: none; }
.insight-method { margin-bottom: 48px; font-size: 12px; color: var(--color-ink-muted); }
.workspace-saved { padding: 25px; border: 1px solid var(--color-rule); border-radius: 12px; background: var(--color-surface); margin-bottom: 38px; max-width: 680px; }
.workspace-current { margin: 18px 0 8px; font-size: 12px; }
.workspace-results { margin-top: 38px; }
.data-dates { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--color-rule); border-bottom: 1px solid var(--color-rule); padding: 24px 0; gap: 24px; }
.data-dates dt { color: var(--color-ink-muted); font-size: 11px; margin-bottom: 8px; }
.data-dates dd { font-family: var(--font-display); font-size: 28px; }
.methodology-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px 65px; padding-top: 36px; }
.methodology-grid h2 { font-family: var(--font-display); font-size: 27px; letter-spacing: -.5px; margin-bottom: 14px; }
.methodology-grid p { font-size: 13px; line-height: 1.9; color: var(--color-ink-muted); margin-bottom: 12px; }
.footer-links { display: flex; gap: 20px; flex-wrap: wrap; margin: 0 0 18px; }
.footer-links a { color: var(--color-ink); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 800px) {
  .topbar { flex-wrap: wrap; height: auto; padding-top: 18px; gap: 12px; }
  .topbar nav { width: 100%; height: 40px; justify-content: space-between; }
  .topbar nav a { font-size: 11px; }
  .home-intro { min-height: 300px; }
  .route-grid { gap: 20px; }
  .route-card h2 { font-size: 23px; }
  .page-heading { align-items: start; padding-top: 36px; flex-wrap: wrap; gap: 15px; }
  .page-heading > .route-art { display: none; }
  .insight-bridge { flex-wrap: wrap; padding: 22px; gap: 20px; }
  .insight-filters #filters > details > div { grid-template-columns: 1fr 1fr; }
  .method-note { flex-wrap: wrap; gap: 12px; }
  .method-note a { margin-left: 0; }
  .methodology-grid { gap: 26px; }
}
@media (max-width: 520px) {
  .home-intro { padding-top: 38px; position: relative; min-height: 340px; }
  .home-intro .hero-sculpture { top: 8px; }
  .home-intro .intro-description { max-width: none; padding-right: 0; }
  .home-intro h1 { font-size: 40px; }
  .home-search { padding: 12px; flex-wrap: wrap; }
  .home-search .explore-search { flex-basis: 100%; height: 52px; }
  .home-search > button { width: 100%; }
  .route-grid, .methodology-grid { grid-template-columns: 1fr; }
  .route-card { position: relative; padding-right: 85px; padding-top: 22px; padding-bottom: 10px; }
  .route-art { position: absolute; right: 0; top: 24px; transform: scale(.75); transform-origin: right top; }
  .route-card h2 { font-size: 26px; }
  .route-card > p:not(.eyebrow) { margin-bottom: 14px; }
  .data-dates { grid-template-columns: 1fr; gap: 18px; }
  .data-dates div { display: flex; justify-content: space-between; align-items: center; }
  .data-dates dt { max-width: 130px; margin: 0; }
  .data-dates dd { font-size: 24px; }
  .insight-filters #filters > details > div { display: block; }
  .page-heading h1 { font-size: 38px; }
  .workspace-saved { padding: 18px; }
  .topbar nav { gap: 9px; }
  .topbar nav a { font-size: 10px; }
}

/* Living Observatory. Information stays still; material and light respond.
   These surfaces do not animate at rest. Rust only schedules spring frames
   after a fine-pointer interaction, and cancels them when out of view. */
:root { --settle: cubic-bezier(.16, 1, .3, 1); }
[data-observatory-surface] { --observe-x: 0; --observe-y: 0; }
.intro { grid-template-columns: minmax(0, 1fr) minmax(300px, 420px); gap: 32px; }
.sample-model { position: relative; margin: 0 0 24px; width: 100%; max-width: 420px; justify-self: end; isolation: isolate; }
.model-heading { display: flex; justify-content: space-between; font-size: 8px; letter-spacing: 1.5px; color: var(--color-ink-muted); padding: 0 8px 8px; border-bottom: 1px solid var(--color-rule-soft); }
.model-edition { color: var(--color-accent); }
.model-stage { position: relative; height: 230px; perspective: 1000px; overflow: clip; }
.model-assembly { position: absolute; inset: 0 14px; transform: rotateX(calc(var(--observe-y) * -5deg)) rotateY(calc(var(--observe-x) * 7deg)); transform-style: preserve-3d; }
.model-light { position: absolute; width: 440px; height: 320px; left: 50%; top: 50%; background: radial-gradient(ellipse, #fff9e8c2, #e8dac933 40%, transparent 68%); transform: translate(calc(-50% + var(--observe-x) * 65px), calc(-50% + var(--observe-y) * 30px)); pointer-events: none; }
.model-plinth { position: absolute; width: 91%; height: 93px; bottom: 24px; left: 4%; border-radius: 50%; background: linear-gradient(155deg, #f7f7ed, #e6e6d9 68%, #d2d7c9); box-shadow: 0 3px 0 #c9ccbd, 0 7px 0 #dce0d2, 8px 19px 16px #50604518; transform: rotate(-6deg); }
.model-orbit { position: absolute; border: 1px solid #a7b19b55; border-radius: 50%; left: 0; right: 0; bottom: 17px; height: 109px; transform: rotate(-6deg); pointer-events: none; }
.orbit-inner { left: 8%; right: 8%; bottom: 29px; height: 84px; border-style: dashed; }
.model-columns { position: absolute; inset: 15px 14px 30px; display: flex; align-items: end; gap: 4px; }
.model-column { flex: 1; min-width: 0; position: relative; color: var(--color-ink); text-decoration: none; }
.model-column-space { position: relative; height: 161px; transition: transform .5s var(--settle); }
.model-solid { position: absolute; width: 65%; height: 130px; left: 5%; bottom: 0; transform: scaleY(var(--model-height)); transform-origin: center bottom; transition: transform .85s var(--settle); }
.model-front { position: absolute; inset: 0; background: linear-gradient(100deg, color-mix(in srgb, var(--model-tone), #fffbe8 13%), var(--model-tone)); border-left: 1px solid #fff8e766; }
.model-side { position: absolute; left: 100%; top: 0; width: 12px; height: 100%; transform: skewY(-30deg); transform-origin: left bottom; background: color-mix(in srgb, var(--model-tone), #364632 26%); }
.model-cap { position: absolute; top: -7px; left: 6px; width: 100%; height: 7px; transform: skewX(-60deg); background: color-mix(in srgb, var(--model-tone), #fff9e4 43%); }
.model-value { position: absolute; top: 10px; left: 0; right: 0; text-align: center; font-size: 11px; font-weight: 650; font-variant-numeric: tabular-nums; transform: translateY(calc((1 - var(--model-height)) * 130px)); transition: transform .85s var(--settle); }
.model-column-shadow { position: absolute; bottom: -10px; left: 2%; width: 80%; height: 15px; border-radius: 50%; background: #61715826; filter: blur(4px); transform: translateX(calc(var(--observe-x) * -7px)); }
.model-label { display: block; position: relative; z-index: 1; text-align: center; font-size: 7px; letter-spacing: .6px; padding: 16px 0 8px; }
.model-tooltip { position: absolute; z-index: 5; bottom: -25px; left: 50%; transform: translate(-50%, 4px); padding: 6px 10px; border-radius: 4px; background: var(--color-ink); color: var(--color-surface); width: max-content; max-width: 160px; font-size: 9px; line-height: 1.5; opacity: 0; pointer-events: none; transition: opacity .16s, transform .25s var(--settle); }
.model-column:last-child .model-tooltip { left: auto; right: -10px; transform: translateY(4px); }
.model-column:first-child .model-tooltip { left: 0; transform: translateY(4px); }
.model-tooltip { bottom: 34px; }
.model-column:is(:hover,:focus-visible) .model-column-space { transform: translateY(-7px); }
.model-column:is(:hover,:focus-visible) .model-label { color: var(--color-accent); text-decoration: underline; text-underline-offset: 4px; }
.model-column:is(:hover,:focus-visible) .model-tooltip { opacity: 1; transform: translate(-50%, 0); }
.model-column:last-child:is(:hover,:focus-visible) .model-tooltip { transform: translateY(0); }
.model-column:first-child:is(:hover,:focus-visible) .model-tooltip { transform: translateY(0); }
.sample-model figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 14px; align-items: baseline; font-size: 10px; padding: 0 8px; color: var(--color-ink-muted); }
.sample-model figcaption strong { font-family: var(--font-display); font-size: 17px; font-weight: 600; color: var(--color-ink); margin-right: 3px; }
.model-caption-detail { font-size: 8px; }
.model-context { margin: 7px 8px 0; font-size: 8px; color: var(--color-ink-muted); }
.model-column[aria-current=true] .model-label { color: var(--color-accent); text-decoration: underline; text-underline-offset: 4px; }
.home-intro { grid-template-columns: minmax(0, 1.2fr) minmax(330px, 1fr); min-height: 420px; }
.home-intro .sample-model { max-width: 470px; }
.home-intro .model-stage { height: 265px; }
.home-intro .model-columns { inset: 35px 23px 38px; }
.home-intro .model-column-space { height: 182px; }
.home-intro .model-solid { height: 155px; }
.home-intro .model-value { transform: translateY(calc((1 - var(--model-height)) * 155px)); }
.home-intro .model-plinth { bottom: 30px; height: 115px; }
.home-intro .model-orbit { bottom: 19px; height: 139px; }
.home-intro .orbit-inner { bottom: 37px; height: 110px; }
.home-intro .model-label { padding-top: 19px; }
.landscape-panel { position: relative; isolation: isolate; background: linear-gradient(120deg, #fcfbf7, #f8f8f1); }
.landscape-panel::before { content: ""; position: absolute; z-index: -1; width: 650px; height: 500px; left: 50%; top: 50%; background: radial-gradient(ellipse, #ecddbb44, transparent 68%); transform: translate(calc(-50% + var(--observe-x) * 100px), calc(-50% + var(--observe-y) * 70px)); pointer-events: none; }
.column-solid { transform-box: view-box; transform-origin: 50px 207px; transform: scaleY(var(--column-rise)); transition: transform .8s var(--settle); }
.column-value { transform: translateY(var(--label-shift)); transition: transform .8s var(--settle); }
.column-shadow { transform: translateX(calc(var(--observe-x) * -2px)); transition: opacity .25s; }
.column-button .column-stage { transition: transform .5s var(--settle), opacity .2s; }
.column-button:is(:hover,:focus-visible) .column-stage { transform: translateY(-6px); }
.column-button[aria-pressed=true] .column-stage { transform: translateY(-6px); }
.column-button[aria-pressed=true] .column-label::after { content: ""; width: 5px; height: 5px; display: block; margin: 7px auto 0; border-radius: 50%; background: var(--color-accent); }
.column-button:is(:hover,:focus-visible) .column-label { text-decoration: underline; text-underline-offset: 4px; }
.column-button[aria-pressed=true] .column-shadow { opacity: .3; }
.column-label { font-size: 10px; min-height: 50px; }
.work-ring { position: absolute; width: 220px; height: 220px; left: calc(50% - 110px); top: -5px; transform: rotateX(48deg) rotateZ(-108deg); overflow: visible; }
.ring-depth { top: 12px; stroke: #7f8b77; }
.ring-face { filter: drop-shadow(0 1px 0 #faf9ed88); }
.ring-empty { stroke: #dbdfd2; }
.ring-segment { transition: stroke-dasharray .8s var(--settle), stroke-dashoffset .8s var(--settle); }
.donut-center { pointer-events: none; }
.signal-track i { width: 100%; transform: scaleX(var(--bar-ratio, 1)); transform-origin: left; transition: transform .7s var(--settle); }
.search-workbench .explore-search { transition: border-color .2s, box-shadow .3s; }
.search-workbench:focus-within .explore-search { box-shadow: 0 0 0 3px #a4482a0d, 0 5px 0 #e3ddd04d; }
.primary-link, .route-art, .employer-mark { transition: transform .45s var(--settle), box-shadow .3s; }
.primary-link:is(:hover,:focus-visible) { transform: translateY(-2px); }
.route-card:is(:hover,:focus-visible) .route-art { transform: translateY(-5px); }
.filter-chip, .lens-switch button, .work-action { min-height: 34px; }
.chart-footer button, .text-action { min-height: 36px; }
.lens-switch button { transition: background .2s, box-shadow .2s; }
.insight-bridge { border-radius: 6px; background: linear-gradient(100deg,#e4e9dc,#f0f1e8); }

@starting-style {
  .model-solid { transform: scaleY(.02); }
  .column-solid { transform: scaleY(.02); }
}

@media (min-width: 801px) and (max-height: 850px) {
  .intro { grid-template-columns: minmax(0, 1fr) 300px; min-height: 184px; padding-top: 16px; gap: 24px; }
  .intro h1 { font-size: clamp(34px, 3.15vw, 43px); }
  .intro h1 br { display: none; }
  .intro h1 em::before { content: " "; }
  .intro-description { max-width: 520px; }
  .sample-model { margin-bottom: 16px; }
  .model-stage { height: 155px; }
  .model-columns { inset: 0 14px 8px; }
  .model-column-space { height: 104px; }
  .model-solid { height: 76px; }
  .model-value { top: 0; transform: translateY(calc((1 - var(--model-height)) * 76px)); }
  .model-plinth { height: 75px; bottom: 12px; }
  .model-orbit { height: 94px; bottom: 3px; }
  .orbit-inner { height: 74px; bottom: 13px; }
  .model-caption-detail { display: none; }
  .home-intro { min-height: 370px; }
  .home-intro h1 br { display: block; }
  .home-intro h1 em::before { content: none; }
  .home-intro .model-column-space { height: 182px; }
  .home-intro .model-solid { height: 155px; }
  .home-intro .model-value { top: 10px; transform: translateY(calc((1 - var(--model-height)) * 155px)); }
  .home-intro .model-caption-detail { display: block; }
}
@media (max-width: 800px) {
  .intro, .home-intro { grid-template-columns: minmax(0, 1fr) minmax(255px, .85fr); gap: 20px; }
  .intro h1 { font-size: clamp(35px, 5vw, 43px); }
  .sample-model { margin-bottom: 25px; }
  .model-stage { height: 215px; }
  .model-label { font-size: 6px; letter-spacing: .2px; }
  .model-columns { inset: 20px 5px 22px; gap: 2px; }
  .model-solid { width: 60%; }
  .model-side { width: 9px; }
  .model-cap { height: 5px; top: -5px; left: 4.5px; }
  .model-caption-detail { display: none; }
  .home-intro .model-columns { inset: 30px 5px 28px; }
}
@media (max-width: 580px) {
  .intro, .home-intro { grid-template-columns: 1fr; gap: 0; }
  .intro-copy { z-index: auto; }
  .intro h1 { font-size: clamp(36px, 9vw, 48px); }
  .intro-description { max-width: none; }
  .sample-model { width: 100%; max-width: 420px; justify-self: center; margin: 0 0 24px; }
  .model-stage { height: 196px; }
  .model-columns { inset: 0 22px 10px; gap: 5px; }
  .model-column-space { height: 154px; }
  .model-solid { height: 124px; }
  .model-value { transform: translateY(calc((1 - var(--model-height)) * 124px)); }
  .model-caption-detail { display: block; }
  .model-label { font-size: 7px; padding-top: 14px; }
  .model-plinth { height: 78px; bottom: 11px; }
  .model-orbit { height: 95px; bottom: 3px; }
  .orbit-inner { height: 73px; bottom: 14px; }
  .home-intro .model-stage { height: 230px; }
  .home-intro .model-columns { inset: 15px 22px 15px; }
  .home-intro .model-column-space { height: 177px; }
  .home-intro .model-value { top: 5px; }
  .home-intro .model-plinth { height: 92px; bottom: 22px; }
  .home-intro .model-orbit { height: 112px; bottom: 12px; }
  .home-intro .orbit-inner { height: 83px; bottom: 25px; }
  .route-card:is(:hover,:focus-visible) .route-art { transform: scale(.75) translateY(-5px); }
  .filter-chip { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .model-assembly, .model-light, .column-shadow { transform: none; }
  .model-light { left: -30px; top: 0; }
  .column-button:is(:hover,:focus-visible,[aria-pressed=true]) .column-stage,
  .model-column:is(:hover,:focus-visible) .model-column-space { transform: none; }
}
