/* Shared project standard: compact editorial overview, honest native history. */
.project-page { --project-ink:var(--ui-ink); --project-gold:var(--ui-yellow); width:min(1120px,calc(100% - 48px))!important; margin:88px auto 48px!important; padding:0!important; color:var(--project-ink); font-family:Montserrat,sans-serif; }
.project-page *, .project-lightbox * { box-sizing:border-box; }
.project-page .project-overview { display:grid!important; grid-template-columns:250px minmax(0,1fr); gap:28px; padding:0!important; margin:0 0 18px!important; background:none!important; }
.project-cover { aspect-ratio:1; width:100%; margin:0!important; overflow:hidden; background:#eaece9; position:relative; }
.project-cover img { width:100%; height:100%; object-fit:cover; display:block; border-radius:0!important; }
.project-empty-cover { height:100%; display:grid; place-content:center; padding:32px; text-align:center; color:#56616a; background:#eef0ee; font-size:16px; line-height:1.7; }
.project-summary { min-width:0; align-self:center; }
.project-eyebrow { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:0 0 10px; color:#5d6670; font-size:14px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.project-status { display:inline-flex!important; align-items:center; padding:5px 9px; border:1px solid #d9c39b; color:#79591e; font-size:14px; line-height:1.3; font-weight:700; border-radius:0!important; }
.project-page h1 { margin:0 0 12px!important; color:var(--project-ink)!important; font:600 clamp(28px,3vw,40px)/1.12 Montserrat,sans-serif!important; letter-spacing:-.025em!important; overflow-wrap:anywhere; }
.project-description { margin:0 0 16px!important; font-size:16px!important; line-height:1.65!important; color:#485461!important; max-width:72ch; }
.project-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 18px; margin:0; padding:14px 0 0; border-top:1px solid #dce0e3; }
.project-facts div { min-width:0; }
.project-facts dt { font-size:14px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:#6a727b; margin-bottom:4px; }
.project-facts dd { margin:0; font-size:14px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.project-page .project-photos { margin:0!important; padding:0!important; background:none!important; }
.project-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; border-top:2px solid var(--project-ink); padding-top:12px; margin:0 0 6px; }
.project-section-heading h2 { margin:0!important; font:600 22px/1.25 Montserrat,sans-serif!important; color:var(--project-ink)!important; }
.project-section-heading > span, .project-stage-meta { font-size:14px; line-height:1.6; color:#68717c; }
.project-stage-meta { margin:0 0 8px!important; }
.project-photos > h3 { margin:8px 0 4px!important; font:600 17px/1.35 Montserrat,sans-serif!important; color:var(--project-ink)!important; }
.project-series-caption { max-width:100ch; margin:0 0 10px!important; font-size:16px!important; line-height:1.55!important; color:#68717c; }
.project-photo-grid { display:grid; grid-template-columns:repeat(6,minmax(0,140px)); gap:10px; }
.project-page [data-project-photo] { appearance:none; display:block; position:relative; width:100%; aspect-ratio:1; margin:0; padding:0!important; border:0!important; border-radius:0!important; overflow:hidden; cursor:zoom-in; background:#e8ebe9; color:var(--project-ink); }
.project-page [data-project-photo] img { width:100%; height:100%; display:block; object-fit:cover; border-radius:0!important; transition:transform .2s; }
.project-page [data-project-photo]:hover img { transform:scale(1.035); }
.project-page [data-project-photo]:focus-visible { outline:3px solid var(--project-gold); outline-offset:3px; }
.project-history, .project-photo-more, .project-description-details { margin:12px 0 0; border-top:1px solid #dce0e3; border-bottom:1px solid #dce0e3; }
.project-page summary { cursor:pointer; padding:12px 0; font-size:14px; line-height:1.5; font-weight:600; color:var(--project-ink); }
.project-page summary:focus-visible { outline:2px solid var(--project-gold); outline-offset:3px; }
.project-history-stage { padding:8px 0 20px; }
.project-history-stage h3 { margin:0 0 6px; font:600 18px/1.4 Montserrat,sans-serif; }
.project-description-details p { font-size:16px; line-height:1.7; }
.project-update { margin:10px 0; font-size:14px; color:#68717c; line-height:1.6; }
.project-empty-gallery { padding:18px 0; margin:0; color:#68717c; font-size:14px; }
.project-lightbox { position:fixed!important; inset:0!important; z-index:100000!important; width:100%!important; height:100dvh!important; max-width:none!important; max-height:none!important; margin:0!important; padding:16px!important; border:0!important; border-radius:0!important; background:#20242a!important; color:#fff!important; overflow:hidden; }
.project-lightbox:not([open]) { display:none!important; }
.project-lightbox[open] { display:grid!important; grid-template-rows:auto minmax(0,1fr) auto; gap:12px; }
.project-lightbox::backdrop { background:#20242a; }
.project-lightbox-toolbar,.project-lightbox-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.project-lightbox button { border:1px solid #64707d; border-radius:0!important; color:#fff; background:#303740; padding:10px 14px; min-height:44px; font:600 13px Montserrat,sans-serif; cursor:pointer; }
.project-lightbox button:hover { background:#414952; }
.project-lightbox button:focus-visible { outline:3px solid #ffba44; outline-offset:2px; }
.project-lightbox-stage { min-height:0; min-width:0; position:relative; display:grid; place-items:center; }
.project-lightbox-image { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; position:absolute; }
.project-lightbox-state { text-align:center; font:14px/1.7 Montserrat,sans-serif; padding:24px; }
.project-lightbox-state button { display:block; margin:12px auto 0; }
.project-lightbox-caption { margin:0; font:14px/1.5 Montserrat,sans-serif; max-width:65ch; }
.project-lightbox-counter { font:12px Montserrat,sans-serif; }
.project-lightbox-navigation { display:flex; gap:8px; flex-shrink:0; }
.project-lightbox [hidden] { display:none!important; }
@media(max-width:900px) { .project-photo-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } .project-page .project-overview { grid-template-columns:250px minmax(0,1fr); gap:24px; } .project-facts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .project-page { width:calc(100% - 32px)!important; margin-top:88px!important; } .project-page .project-overview { grid-template-columns:1fr; gap:20px; } .project-cover { max-width:360px; } .project-page h1 { font-size:30px!important; } .project-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; } .project-description { font-size:16px!important; } .project-lightbox { padding:12px!important; } .project-lightbox-footer { flex-wrap:wrap; } .project-lightbox-caption { width:100%; order:2; font-size:14px; } .project-lightbox-navigation { margin-left:auto; } }
@media(prefers-reduced-motion:reduce) { .project-page [data-project-photo] img { transition:none; } }
.project-thumbnail-unavailable { display:grid; height:100%; place-content:center; padding:12px; font-size:14px; line-height:1.5; text-align:center; }
/* Related disclosures share one row; their contents remain native and accessible. */
.project-gallery-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.project-gallery-actions > details:only-child { grid-column:1 / -1; }
.project-gallery-actions .project-series-caption { font-size:16px!important; line-height:1.6!important; }
.project-gallery-actions .project-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:640px) { .project-gallery-actions { grid-template-columns:1fr; gap:0; } }
/* Short desktop viewports keep the same readable text and compact the photo strip. */
@media(min-width:901px) and (max-height:760px) {
    .project-photos > .project-photo-grid { grid-template-columns:repeat(6,minmax(0,120px)); }
    .project-section-heading { padding-top:8px; }
    .project-page .project-overview { margin-bottom:14px!important; }
}
/* Keep compact project pages connected to the site's gold identity. */
.project-section-heading { border-top-color:var(--ui-yellow); }
.project-status { background:#fff4d9; border-color:var(--ui-yellow); color:var(--ui-ink); }
.project-page a { color:var(--ui-ink); text-decoration-color:var(--ui-yellow); text-underline-offset:3px; }
.project-page a:hover { color:#20242a; }

.project-page summary { font-size:16px; min-height:44px; }
.project-facts dd { font-size:16px; }
.project-photos > h3 { font-size:20px!important; }
.project-lightbox button { font-size:16px; }
.project-page h1 { font-weight:700!important; }
