.chapter-line { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.chapter-line .eyebrow { margin: 0; }
.project-link { font: 500 13px/1.5 var(--font-body); text-decoration: none; padding-block: 10px; flex-shrink: 0; }
.project-link:hover { text-decoration: underline; }
#work, #memory { background: var(--wash); }
.media-intro { margin-bottom: 30px; }
.media-intro h2, .section-intro h2 { text-wrap: balance; }
.media-intro > p { max-width: 57ch; }
.media-footnote { display: flex; gap: 40px; justify-content: space-between; padding-top: 22px; font: 12px/1.8 var(--font-body); color: var(--muted); }
.media-footnote p { max-width: 68ch; flex: 1; }
.media-footnote p:last-child:not(:only-child) { max-width: 47ch; }
.demo-mount { min-width: 0; }
.demo-mount > p { padding-block: 24px; }
.demo-mount > img { max-width: 100%; height: auto; border-radius: 12px; }
.demo-tour-controls { display: flex; align-items: center; gap: 12px; min-height: 48px; margin-bottom: 10px; color: var(--muted); font: 12px/1.5 var(--font-body); }
.demo-tour-progress { width: 56px; height: 3px; overflow: hidden; border-radius: 2px; background: var(--line); }
.demo-tour-progress > span { display: block; width: 100%; height: 100%; background: #8a7965; transform: scaleX(0); transform-origin: left; }
.demo-tour-toggle { margin-left: auto; min-height: 44px; padding: 8px 16px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: transparent; font: inherit; cursor: pointer; }
.demo-tour-toggle:hover { background: var(--paper); }
.demo-tour-toggle:disabled { cursor: default; opacity: .55; }
.product-evidence { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 64px); align-items: center; margin-top: 32px; }
.product-evidence-image { display: block; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; }
.product-evidence-image img { display: block; width: 100%; height: auto; }
.product-evidence h3 { margin: 12px 0; font: 400 30px/1.15 var(--font-display); letter-spacing: -.025em; }
.product-evidence p { max-width: 48ch; font-size: 14px; line-height: 1.7; color: var(--muted); }
.product-evidence .evidence-source { margin-top: 14px; font-size: 11px; }
.product-evidence .text-link { margin-top: 14px; font-size: 12px; }
.hero-work-links { display: flex; gap: 32px; }
.hero-work-links a { font: 500 12px/1.6 var(--font-body); text-decoration: none; }
.hero-work-links a:hover { text-decoration: underline; }
.hero-work-links span { display: block; color: var(--muted); font-size: 11px; margin-bottom: 3px; font-weight: 400; }
.hero-composition .organization-scene-footer { padding-top: 22px; border-top: 1px solid var(--line); }
.hero-composition .scene-key { display: none; }
.hero-composition .organization-scene-caption { max-width: 21ch; }
.hero-composition .organization-scene-caption > span:first-child { font-weight: 500; }
.supporting-work { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.supporting-work > article { min-width: 0; }
.support-title { padding-top: 24px; border-top: 1px solid var(--line); margin-bottom: 24px; display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.support-title h3 { font: 400 30px/1.14 var(--font-display); letter-spacing: -.025em; margin-top: 12px; }
.support-title .text-link { white-space: nowrap; font-size: 11px; padding-block: 5px; }
.support-title .small-label { font-size: 11px; }
.support-caption { font-size: 13px; line-height: 1.8; margin-top: 20px; max-width: 59ch; color: var(--muted); }
.portfolio-note { font: 12px/1.8 var(--font-body); border-top: 1px solid var(--line); padding-top: 24px; margin-top: 36px; max-width: 112ch; color: var(--muted); }
.section-scale { background: #f0efe9; }
.section-scale .section-intro { margin-bottom: 24px; }
.capabilities-table { border-top: 1px solid var(--line); }
.capabilities-table > a { display: grid; grid-template-columns: 32px 1.25fr 1fr 16px; gap: 24px; align-items: center; padding: 20px 8px; border-bottom: 1px solid var(--line); text-decoration: none; }
.capabilities-table > a:hover { background: var(--wash); }
.capabilities-table strong { font-size: 17px; font-weight: 500; line-height: 1.5; }
.capabilities-table small { display: block; font-size: 13px; line-height: 1.8; margin-top: 5px; color: var(--muted); }
.cap-index { font-size: 12px; color: var(--muted); }
.cap-tools { font: 12px/1.8 var(--font-body); max-width: 42ch; color: var(--muted); }
.current-models { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; padding-top: 32px; }
.current-models p { font-size: 16px; font-weight: 500; }
.current-models p span { color: #96958c; padding-inline: 10px; }
.current-models > span:last-child { margin-left: auto; color: var(--muted); font-size: 11px; }
.company-grid .company-business { margin-top: 16px; font-size: 13px; color: var(--muted); line-height: 1.8; }
@media (min-width: 1001px) {
  #memory .media-intro { margin-bottom: 30px; }
}
@media (max-width: 1100px) {
  .hero-work-links { gap: 20px; }
  .hero-composition .scene-toolbar { gap: 12px; }
  .hero-composition .scene-toolbar > span { display: none; }
  .supporting-work { gap: 24px; }
  .support-title { display: block; min-height: 125px; }
  .support-title .text-link { display: inline-block; margin-top: 10px; }
  .capabilities-table > a { grid-template-columns: 24px 1.1fr 1fr 12px; gap: 16px; }
}
@media (max-width: 900px) {
  .support-title { min-height: 164px; }
  .hero-composition .organization-scene-caption { max-width: none; }
  .hero-work-links { width: 100%; justify-content: space-between; gap: 16px; padding-block: 0 20px; border-bottom: 1px solid var(--line); }
  .hero-composition .scene-toolbar { flex: 0 1 auto; }
  .hero-composition .scene-toolbar > span { display: none; }
}
@media (max-width: 700px) {
  .product-evidence { grid-template-columns: 1fr; gap: 18px; margin-top: 24px; }
  .product-evidence h3 { font-size: 26px; }
  .product-evidence p { font-size: 13px; }
  .demo-tour-controls { font-size: 11px; }
  .demo-tour-progress { width: 40px; }
  .chapter-line { align-items: start; gap: 12px; margin-bottom: 22px; }
  .chapter-line .eyebrow { max-width: 23ch; font-size: 11px; }
  .project-link { padding: 0; font-size: 12px; }
  .media-intro { margin-bottom: 30px; }
  .media-footnote { display: grid; gap: 12px; font-size: 11px; padding-top: 20px; }
  .media-footnote p:last-child:not(:only-child) { max-width: none; }
  .hero-work-links { gap: 14px; }
  .hero-work-links a { font-size: 10px; }
  .hero-work-links span { font-size: 10px; }
  .hero-composition .organization-scene-caption { font-size: 10px; }
  .hero-composition .scene-toolbar { margin-left: auto; }
  .supporting-work { grid-template-columns: 1fr; gap: 42px; }
  .support-title { min-height: 0; display: flex; align-items: start; }
  .support-title h3 { font-size: 29px; }
  .support-title .text-link { margin-top: 0; }
  .capabilities-table > a { grid-template-columns: 20px 1fr 12px; gap: 8px 12px; padding: 18px 0; }
  .capabilities-table strong { font-size: 16px; }
  .capabilities-table small { font-size: 12px; }
  .cap-tools { grid-column: 2; grid-row: 2; font-size: 11px; }
  .capabilities-table > a > span:last-child { grid-column: 3; grid-row: 1; }
  .current-models { gap: 12px 20px; }
  .current-models > span:last-child { margin-left: 0; }
}
