.project-page { min-height:100vh; min-height:100svh; color:var(--site-fg); background:var(--site-bg); }
.project-page .project-site-header { justify-content:flex-start; color:var(--site-fg); border-color:var(--site-line); background:var(--site-bg-96); }
.project-main { min-height:100vh; min-height:100svh; }
.project-main > article { width:100%; }
.project-hero { width:min(100%,82rem); margin-inline:auto; padding:clamp(9rem,14vw,13rem) var(--pad) clamp(4rem,7vw,6rem); }
.project-eyebrow,.project-index { margin:0; color:var(--site-muted); font-size:.56rem; letter-spacing:.2em; line-height:1.5; text-transform:uppercase; }
.project-hero h1 { max-width:none; margin:clamp(2.25rem,4vw,3.5rem) 0 0; font-size:clamp(5rem,12vw,11rem); font-weight:300; line-height:.78; letter-spacing:-.075em; }
.project-lead { max-width:57rem; margin:clamp(3rem,6vw,5rem) 0 0; font-family:Georgia,serif; font-size:clamp(1.15rem,2.15vw,1.65rem); line-height:1.65; }
.project-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:clamp(3.5rem,7vw,6rem) 0 0; border-top:1px solid var(--site-line); }
.project-facts div { padding:1.1rem 1rem 0 0; }
.project-facts dt { margin-bottom:.45rem; color:var(--site-muted); font-size:.52rem; letter-spacing:.18em; text-transform:uppercase; }
.project-facts dd { margin:0; font-size:.72rem; line-height:1.5; }
.project-cover { width:min(calc(100% - (var(--pad) * 2)),90rem); margin:0 auto; }
.project-cover picture,.project-frame-media picture { display:block; width:100%; }
.project-cover img,.project-frame-media img { display:block; width:100%; height:auto; }
.project-cover img { border:1px solid var(--site-line); border-radius:.85rem; }
.project-cover figcaption,.project-gallery figcaption { display:grid; grid-template-columns:auto 1fr; gap:1rem; padding:1rem 0 0; border:0; color:var(--site-muted); font-size:.52rem; letter-spacing:.15em; text-align:left; text-transform:uppercase; }
.project-intro,.project-sections,.project-gallery,.project-disclaimer,.project-end { width:min(calc(100% - (var(--pad) * 2)),76rem); margin-inline:auto; }
.project-intro { display:grid; grid-template-columns:minmax(8rem,.35fr) minmax(0,1.65fr); gap:clamp(2rem,7vw,8rem); padding:clamp(6rem,11vw,10rem) 0; }
.project-intro h2,.project-gallery-head h2 { max-width:12ch; margin:0 0 1.5rem; font-size:clamp(3.2rem,7vw,7rem); font-weight:300; line-height:.9; letter-spacing:-.06em; }
.project-intro div > p { max-width:43rem; margin:0; color:var(--site-muted); font-family:Georgia,serif; font-size:clamp(1rem,1.35vw,1.16rem); line-height:1.8; }
.project-sections { border-top:1px solid var(--site-line); }
.project-sections > section { display:grid; grid-template-columns:minmax(8rem,.35fr) minmax(12rem,.65fr) minmax(0,1fr); gap:clamp(1.5rem,4vw,4rem); padding:clamp(3rem,5vw,4.5rem) 0; border-bottom:1px solid var(--site-line); }
.project-sections h2 { max-width:13ch; margin:0; font-size:clamp(1.8rem,3.1vw,3.25rem); font-weight:300; line-height:1; letter-spacing:-.045em; }
.project-section-copy { color:var(--site-muted); font-family:Georgia,serif; font-size:1rem; line-height:1.8; }
.project-section-copy p { margin:0 0 1rem; }
.project-section-copy p:last-child { margin-bottom:0; }
.project-gallery { padding:clamp(6rem,11vw,10rem) 0 0; }
.project-gallery-head { display:grid; grid-template-columns:minmax(8rem,.35fr) minmax(0,1.65fr); gap:clamp(2rem,7vw,8rem); align-items:end; margin-bottom:clamp(2rem,4vw,3.5rem); }
.project-gallery-head h2 { margin-bottom:0; }
.project-gallery-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(1rem,2vw,2rem); }
.project-gallery figure { grid-column:span 6; min-width:0; margin:0; }
.project-gallery figure:first-child { grid-column:1 / -1; }
.project-frame-media { overflow:hidden; border:1px solid var(--site-line); border-radius:.7rem; background:#f7f7f8; }
.project-frame-media img { aspect-ratio:16/9; object-fit:cover; }
.project-gallery figcaption { padding-bottom:1.5rem; }
.project-gallery figcaption b { display:block; margin-bottom:.3rem; color:var(--site-fg); font-size:.63rem; font-weight:600; }
.project-gallery figcaption small { display:block; color:var(--site-muted); font-size:.74rem; letter-spacing:0; line-height:1.5; text-transform:none; }
.project-disclaimer { margin-top:clamp(4rem,8vw,7rem); padding-top:1.5rem; border-top:1px solid var(--site-line); color:var(--site-muted); font-size:.58rem; letter-spacing:.04em; line-height:1.6; }
.project-end { padding:clamp(4rem,8vw,7rem) 0 clamp(5rem,10vw,9rem); }
.project-end a { color:var(--site-fg); font-size:.62rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; }

@media (max-width:900px) {
  .project-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-facts div { padding-bottom:1rem; border-bottom:1px solid var(--site-line); }
  .project-intro,.project-gallery-head { grid-template-columns:1fr; gap:1.5rem; }
  .project-sections > section { grid-template-columns:1fr; gap:1.25rem; }
  .project-section-copy { max-width:42rem; }
}
@media (max-width:620px) {
  .project-page .project-site-header { padding-inline:1rem; }
  .project-hero { padding-top:7.5rem; }
  .project-hero h1 { font-size:clamp(4.4rem,23vw,7rem); }
  .project-lead { font-size:1.08rem; }
  .project-facts { grid-template-columns:1fr; }
  .project-intro h2,.project-gallery-head h2 { font-size:clamp(3rem,15vw,4.5rem); }
  .project-gallery-grid { grid-template-columns:1fr; }
  .project-gallery figure,.project-gallery figure:first-child { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { .project-page * { scroll-behavior:auto !important; } }
