/* Project page (Overheard): same tokens as the home page, its own composition */
.bar {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: var(--m) var(--m) 0;
}
.bar nav { display: flex; gap: 24px; align-items: center; }
.bar a { font: 700 var(--step-small)/1 var(--display); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.bar a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .25em; }
.wordmark { font-size: var(--step-body) !important; letter-spacing: -0.02em; }

.p-hero { padding: clamp(24px, 3vw, 40px) var(--m) 0; }
.p-hero h1 { font-size: var(--step-display); line-height: .85; text-transform: uppercase; letter-spacing: -0.045em; }
.p-hero-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; margin-top: clamp(24px, 3vw, 44px); align-items: start; }
.p-hero-copy { grid-column: 1 / span 4; }
.p-hero-copy .lead { font-size: var(--step-lead); line-height: 1.4; }
.p-hero-copy .note { margin-top: 20px; color: var(--muted); font-size: var(--step-small); }
.p-hero-video { grid-column: 5 / span 8; margin: 0; }
.p-hero-video video, .built-video video { width: 100%; height: auto; background: #111; }
figcaption { font-size: var(--step-small); color: var(--muted); margin-top: 10px; line-height: 1.4; }

.how h2, .built h2 { font-size: var(--step-head); }
.how h3 { font-size: var(--step-lead); letter-spacing: -0.02em; line-height: 1.15; margin-bottom: 16px; }
.how-a, .how-b { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: center; margin-top: clamp(48px, 6vw, 96px); }
.how-a .how-text { grid-column: 1 / span 4; }
.how-a .how-pic { grid-column: 6 / span 7; margin: 0; }
.how-b .how-pair { grid-column: 1 / span 7; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.how-b .how-text { grid-column: 9 / span 4; }
.how-pic img, .how-pair img { width: 100%; height: auto; }

.built { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; align-items: start; background: var(--surface); }
.built-video { grid-column: 1 / span 4; margin: 0; position: sticky; top: 6svh; }
.built-video video { max-height: 86svh; width: auto; max-width: 100%; }
.built-text { grid-column: 6 / span 7; }
.built .rows { margin-top: 40px; }
.built .row h3 { margin-bottom: 4px; }
.back { margin-top: 48px; }

@media (max-width: 1024px) {
  .p-hero-copy, .p-hero-video { grid-column: 1 / -1; }
  .how-a .how-text, .how-a .how-pic, .how-b .how-pair, .how-b .how-text { grid-column: 1 / -1; }
  .how-b .how-text { order: -1; }
  .built-video { grid-column: 1 / span 5; position: static; }
  .built-text { grid-column: 6 / span 7; }
}
@media (max-width: 640px) {
  .bar nav a { display: none; }
  .p-hero h1 { font-size: 14vw; }
  .built-video, .built-text { grid-column: 1 / -1; }
  .built-video { order: 2; }
  .built-video video { width: 100%; max-height: none; }
}
