/* Shared editorial foundation for Pipeline and Studio. */
:is(.pipeline-site,.studio-site) { --gutter:clamp(20px,2vw,40px); }
:is(.pipeline-site,.studio-site) .wrap { max-width:none; }
:is(.pipeline-page,.studio-page) {
  font-family:var(--font-site); font-weight:400;
  --editorial-grid:repeat(12,minmax(0,1fr));
  --editorial-gap:clamp(24px,2vw,40px);
  --editorial-space:clamp(72px,7vw,120px);
  --editorial-line:rgba(32,35,31,.25);
}
:is(.pipeline-grid,.studio-grid) { display:grid; grid-template-columns:var(--editorial-grid); gap:var(--editorial-gap); }
:is(.pipeline-grid,.studio-grid)>* { grid-column:span 6; min-width:0; }
:is(.pipeline-section,.studio-section) { padding-block:var(--editorial-space); }
:is(.pipeline-page,.studio-page) p { font-size:15px; line-height:1.6; }
:is(.pipeline-page,.studio-page) h3,:is(.pipeline-page,.studio-page) .button,:is(.pipeline-page,.studio-page) .eyebrow { font-weight:400; }
:is(.pipeline-page,.studio-page) h1,:is(.pipeline-page,.studio-page) h2 { min-width:0; max-inline-size:100%; overflow-wrap:break-word; font-family:var(--font-site); font-weight:400; letter-spacing:-.052em; line-height:1.015; text-wrap:pretty; }
:is(.pipeline-page,.studio-page) h1 { font-size:clamp(48px,4.4vw,72px); max-width:9ch; }
:is(.pipeline-page,.studio-page) h2 { font-size:clamp(40px,3.8vw,62px); }
:is(.pipeline-page,.studio-page) .button { width:fit-content; min-height:44px; padding:12px 16px; border-radius:var(--radius); font-size:13px; gap:22px; text-align:left; }
:is(.pipeline-page,.studio-page) .button svg { width:17px; height:17px; }
:is(.pipeline-section-label,.studio-section-label) { display:flex; justify-content:space-between; align-items:baseline; gap:24px; border-bottom:1px solid var(--editorial-line); padding-bottom:14px; margin-bottom:20px; }
:is(.pipeline-section-label,.studio-section-label) .eyebrow { font-size:11px; margin:0; letter-spacing:.06em; }
:is(.pipeline-section-label,.studio-section-label) .eyebrow::before { display:none; }
:is(.pipeline-section-label,.studio-section-label)>span { font-size:11px; color:var(--muted); }
:is(.pipeline-photo,.studio-photo) { display:grid; grid-template-rows:minmax(0,1fr) auto; min-width:0; }
:is(.pipeline-photo-frame,.studio-photo-frame) { position:relative; min-height:clamp(520px,45vw,860px); overflow:hidden; background:var(--concrete); }
:is(.pipeline-photo,.studio-photo) img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
:is(.pipeline-photo,.studio-photo) figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; padding-top:12px; color:var(--muted); font-size:11px; line-height:1.5; }
:is(.pipeline-photo,.studio-photo) figcaption>span { font-size:10px; }

