.tech-heading { padding-block: 38px 26px; }
.tech-featured { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 56px; padding-block: 12px 64px; }
.tech-project-cover { display: block; position: relative; aspect-ratio: 1; background: #090a0b; }
.tech-project-cover img { width: 100%; height: 100%; object-fit: contain; }
.tech-project-copy h2 { margin-bottom: 18px; font-size: 34px; }
.tech-project-copy p { max-width: 560px; color: var(--muted); }
.tech-project-copy .eyebrow { color: var(--accent); }
.tech-project-tools { font-size: 13px; }
.tech-action { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 11px 16px; border: 1px solid var(--line); color: var(--ink); font-size: 14px; line-height: 1.5; text-decoration: none; }
.tech-action:hover { border-color: var(--accent); background: var(--band); }
.tech-action svg, .terrain-back svg { width: 16px; height: 16px; flex-shrink: 0; }
.terrain-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-bottom: 18px; color: var(--accent); font-size: 13px; text-decoration: none; }
.terrain-back:hover { text-decoration: underline; }
.terrain-heading h1 { max-width: 950px; }
.terrain-intro { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(230px, 1fr); gap: 64px; padding-block: 36px 0; }
.terrain-intro > p { max-width: 720px; color: var(--muted); font-size: 18px; }
.terrain-facts { margin: 0; border-left: 1px solid var(--line); padding-left: 28px; }
.terrain-facts div + div { margin-top: 18px; }
.terrain-result, .terrain-overview { max-width: 1120px; }
.terrain-result .image-link, .terrain-overview .image-link { background: #050506; }
.terrain-result img, .terrain-overview img { width: 100%; height: auto; }
.terrain-overview { margin-top: 48px; }
.terrain-example { max-width: 1120px; margin-top: 48px; }
.terrain-example .section-intro { margin-bottom: 22px; }
.terrain-example video { display: block; width: 100%; height: auto; aspect-ratio: 1280 / 698; background: #050506; }
.terrain-example video:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
.terrain-copy { max-width: 800px; }
.terrain-contribution { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--line); }
.terrain-workflow { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 64px; align-items: start; }
.terrain-steps { margin: 0; padding: 0; list-style: none; }
.terrain-steps li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; margin-bottom: 28px; }
.terrain-steps li:last-child { margin-bottom: 0; }
.terrain-step-icon { display: block; width: 44px; height: 44px; color: var(--accent); }
.terrain-steps h3 { font-size: 19px; margin-bottom: 8px; }
.terrain-steps p { margin: 0; color: var(--muted); font-size: 15px; }
.terrain-channel-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 14px; }
.terrain-channel-table caption { margin-bottom: 14px; text-align: left; font-size: 18px; font-weight: 700; }
.terrain-channel-table th, .terrain-channel-table td { padding: 15px 12px; border-bottom: 1px solid var(--line); line-height: 1.6; }
.terrain-channel-table th { color: var(--muted); font-size: 12px; font-weight: 400; }
.terrain-channel-table td:first-child { font-weight: 700; }
.terrain-channel-label { display: inline-flex; align-items: center; gap: 9px; white-space: nowrap; }
.terrain-channel-dot { width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; }
.terrain-channel-dot-red { background: #f06464; }
.terrain-channel-dot-green { background: #5edb8b; }
.terrain-channel-dot-blue { background: #66a8ff; }
.terrain-code-details { margin-top: 36px; }
.terrain-code-details > summary { display: flex; align-items: center; gap: 14px; min-height: 72px; list-style: none; }
.terrain-code-details > summary::-webkit-details-marker { display: none; }
.terrain-code-details > summary > span { flex: 1; min-width: 0; line-height: 1.5; }
.terrain-code-details > summary::after { content: "+"; display: grid; place-items: center; width: 20px; height: 20px; flex: 0 0 20px; border: 1px solid var(--line); color: var(--muted); font: 16px/1 monospace; }
.terrain-code-details[open] > summary::after { content: "−"; color: var(--accent); }
.terrain-retro-icon { display: block; width: 40px; height: 40px; flex: 0 0 40px; }
.terrain-retro-terminal { color: #a8d2b4; }
.terrain-terminal-dots { display: none; }
.terrain-code-details[open] > summary .terrain-terminal-prompt { display: none; }
.terrain-code-details[open] > summary .terrain-terminal-dots { display: inline; }
.terrain-retro-disk { color: #d8b78b; }
.terrain-retro-chip { color: #b8aed7; }
.terrain-code-details > summary:hover .terrain-retro-icon, .terrain-code-details > summary:focus-visible .terrain-retro-icon { filter: drop-shadow(0 0 4px currentColor); }
.terrain-code-details > summary:hover::after { border-color: var(--accent); color: var(--accent); }
.terrain-editor-architecture { margin-top: 36px; }
.terrain-scatter { margin-top: 40px; }
.terrain-scatter .terrain-copy p { color: var(--muted); }
.terrain-scatter-gallery { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 32px; align-items: start; margin-top: 26px; }
.terrain-mask-frames { display: grid; gap: 20px; }
.terrain-mask-demo.is-enhanced .terrain-mask-frames { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #090a0b; }
.terrain-mask-demo.is-enhanced .terrain-mask-frame { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity 900ms ease; }
.terrain-mask-demo.is-enhanced .terrain-mask-frame.is-active { opacity: 1; pointer-events: auto; z-index: 1; }
.terrain-mask-demo.is-enhanced .terrain-mask-frame img { width: 100%; height: 100%; object-fit: contain; }
.terrain-mask-controls { display: flex; justify-content: space-between; align-items: start; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.terrain-mask-controls[hidden] { display: none; }
.terrain-mask-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.terrain-mask-controls button { min-height: 44px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--muted); font-size: 12px; line-height: 1.5; cursor: pointer; }
.terrain-mask-controls button:hover { color: var(--ink); border-color: var(--accent); }
.terrain-mask-controls button[aria-pressed="true"] { color: var(--ink); border-color: var(--accent); background: var(--paper); }
.terrain-packed-mask { max-width: 440px; }
.terrain-packed-mask .image-link { background: #050506; }
.terrain-packed-mask img { width: 100%; height: auto; }
.terrain-final-demo { max-width: 948px; margin-inline: auto; }
.terrain-final-demo.is-enhanced .terrain-mask-frames { aspect-ratio: 948 / 607; }
.terrain-final-demo .terrain-mask-choices button { min-width: 44px; }
.terrain-function-image { max-width: 848px; margin: 18px auto 0; }
.terrain-code-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: start; padding-top: 12px; }
.terrain-code-grid .image-link { display: grid; place-items: center; min-height: 300px; background: #151617; }
.terrain-code-grid img { width: 100%; height: auto; }
.terrain-graph { margin-top: 28px; }
.terrain-return { padding-block: 32px 48px; }
@media (max-width: 900px) {
  .tech-featured { gap: 32px; }
  .tech-project-copy h2 { font-size: 29px; }
  .terrain-intro, .terrain-workflow { gap: 36px; }
}
@media (max-width: 700px) {
  .tech-heading { padding-block: 30px 22px; }
  .tech-featured { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-bottom: 42px; }
  .tech-project-copy h2 { font-size: 27px; }
  .terrain-intro, .terrain-workflow, .terrain-code-grid, .terrain-scatter-gallery { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .terrain-intro { padding-bottom: 26px; }
  .terrain-intro > p { margin: 0; font-size: 17px; }
  .terrain-facts { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .terrain-code-grid .image-link { min-height: 0; }
  .terrain-channel-table th, .terrain-channel-table td { padding-inline: 8px; }
  .terrain-back { margin-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .terrain-mask-demo.is-enhanced .terrain-mask-frame { transition: none; }
}
