/* Reading pages share the portfolio's fonts and quiet dark palette. */
.project-page { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
.project-page a { color:inherit; text-underline-offset:5px; }
.project-page a:hover { color:var(--orange-ink); }
.project-page a:focus-visible { outline:3px solid var(--orange-ink); outline-offset:5px; }
.project-nav,.project-page main,.project-footer { width:min(1120px,calc(100% - 64px)); margin-inline:auto; }
.project-nav { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:24px; border-bottom:1px solid var(--line); }
.project-nav div,.project-actions { display:flex; flex-wrap:wrap; gap:10px 24px; }
.project-nav a,.project-actions a,.project-footer a { display:inline-flex; align-items:center; min-height:44px; }
.project-nav > a { font-weight:600; text-decoration:none; }
.project-nav div { font-size:14px; }
.project-intro { max-width:840px; padding:80px 0 56px; }
.project-intro h1 { font-size:clamp(64px,9vw,128px); letter-spacing:-.065em; line-height:.95; font-weight:400; margin:24px 0 32px; }
.project-intro p { max-width:660px; color:var(--ink-2); font-size:18px; line-height:1.65; }
.project-intro .kicker,.project-entry .kicker,.project-details .kicker { font:12px/1.5 var(--mono); letter-spacing:.07em; text-transform:uppercase; color:var(--ink-2); }
.project-intro .project-deck { font-size:clamp(24px,4vw,40px); line-height:1.2; color:var(--ink); }
.project-index { padding-bottom:60px; }
.project-entry { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:48px 0; border-top:1px solid var(--line); scroll-margin-top:20px; }
.project-entry__image { display:block; align-self:start; text-decoration:none; }
.project-entry__image img { display:block; width:100%; aspect-ratio:16/10; object-fit:contain; background:var(--paper-2); }
.project-entry__image span { display:block; padding-block:12px; font:12px/1.5 var(--mono); color:var(--ink-2); }
.project-entry h2 { font-size:clamp(32px,4vw,52px); line-height:1.05; letter-spacing:-.04em; font-weight:400; margin:10px 0 22px; }
.project-entry h2 a { text-decoration:none; }
.project-entry p,.project-notes p,.project-details p { line-height:1.65; color:var(--ink-2); }
.project-proof { font-size:14px; }
.project-actions { margin-top:24px; }
.project-primary { padding:8px 20px; background:var(--ink); color:var(--paper) !important; text-decoration:none; }
.project-primary:hover { background:var(--ink-2); }
.project-hero-image { margin:0 0 64px; }
.project-hero-image img { width:100%; height:auto; display:block; }
.project-hero-image figcaption { color:var(--ink-2); padding-top:12px; font-size:13px; }
.project-details article { display:grid; grid-template-columns:40px 1fr 1.2fr; gap:24px; border-top:1px solid var(--line); padding:28px 0; }
.project-details h2,.project-notes h2 { font-size:28px; line-height:1.2; font-weight:400; letter-spacing:-.025em; }
.project-notes { max-width:700px; margin:64px 0 100px; }
.project-notes h2 { margin-top:36px; }
.project-footer { display:flex; flex-wrap:wrap; gap:12px 32px; padding:28px 0; border-top:1px solid var(--line); font-size:14px; }
.project-footer p { flex-basis:100%; color:var(--ink-2); }
@media(max-width:700px) {
 .project-nav,.project-page main,.project-footer { width:calc(100% - 40px); }
 .project-nav { align-items:flex-start; flex-direction:column; gap:4px; }
 .project-nav div { gap:8px 20px; }
 .project-intro { padding:48px 0 36px; }
 .project-entry { grid-template-columns:1fr; gap:12px; padding:32px 0; }
 .project-details article { grid-template-columns:1fr; gap:0; }
 .project-intro p { font-size:17px; }
}
