/* Shared project-detail layout used by every portfolio project page. */
.project-layout-refinement .project-detail-controls{display:flex;justify-content:flex-end;margin:0 0 10px}
.project-layout-refinement .project-main-photograph{margin:0}
.project-layout-refinement .project-main-photograph figure{display:flex;flex-direction:column;align-items:center}
.project-layout-refinement .project-main-photograph img{width:auto;height:auto;max-width:100%;max-height:48vh;aspect-ratio:auto;object-fit:contain;display:block}
.project-introduction{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:clamp(40px,4vw,50px);padding:20px 0 36px;align-items:start}
.project-information{margin:0;display:grid;gap:30px}
.project-information dt{font-size:11px;line-height:1.5;letter-spacing:1.5px;font-weight:400;color:#66716a;margin:0 0 8px}
.project-information dd{margin:0;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.project-introduction-copy{min-width:0}
.project-descriptor{font-size:12px;font-weight:400;letter-spacing:2px;text-transform:uppercase;line-height:1.5;margin:0 0 30px;color:var(--ink)}
.seo-main .project-introduction h1,#gallery .project-introduction h2{font-size:clamp(30px,3.3vw,48px);font-weight:400;line-height:1.16;letter-spacing:-.035em;margin:0;overflow-wrap:anywhere}
.project-summary{font-size:18px;line-height:1.75;max-width:660px;margin:30px 0 0;color:var(--ink)}
.project-introduction-copy>p:last-child:not(.project-summary):not(.project-descriptor){font-size:13px;line-height:1.7;color:#66716a;margin:28px 0 0}
.project-introduction-copy strong{font-weight:400}
@media(max-width:750px){.project-layout-refinement .project-main-photograph img{max-height:50vh;max-height:50svh}.project-introduction{grid-template-columns:minmax(0,1fr);gap:28px;padding:28px 0 40px}.project-information{gap:22px}.project-descriptor{margin-bottom:18px}.seo-main .project-introduction h1,#gallery .project-introduction h2{font-size:clamp(24px,5.2vw,34px);letter-spacing:-.03em}.project-summary{font-size:16px;margin-top:20px}.project-layout-refinement .project-detail-controls{margin-bottom:8px}}

/* Project overlays reuse the shared information block and retain compact toolbar controls. */
#gallery.has-project-introduction .gallery-heading>p,#gallery.has-project-introduction #gallery-title{display:none}
#gallery.has-project-introduction .gallery-heading{margin:0 0 10px}
#gallery.has-project-introduction .gallery-heading .project-title-row{justify-content:flex-end}
#gallery.has-project-introduction .project-introduction{grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:44px;padding:18px 0 24px}
#gallery.has-project-introduction .project-information{gap:14px}
#gallery.has-project-introduction .project-information dt{margin-bottom:3px}
#gallery.has-project-introduction .project-information dd{font-size:14px;line-height:1.4}
#gallery.has-project-introduction .project-descriptor{margin-bottom:12px}
#gallery .project-introduction h2{font-size:clamp(30px,3.3vw,48px);font-weight:400;line-height:1.16;letter-spacing:-.035em;margin:0}
#gallery .project-information dt,#gallery .project-descriptor{font-size:var(--type-label);line-height:1.6;letter-spacing:.16em;font-weight:400}
#gallery .project-summary{font-size:var(--type-body);line-height:1.65;margin-top:14px}
@media(max-width:750px){#gallery .project-introduction{grid-template-columns:minmax(0,1fr);gap:24px;padding:18px 0 24px}#gallery .project-introduction h2{font-size:clamp(24px,5.2vw,34px)}}

/* Original project narratives use native, keyboard-accessible disclosure. */
.project-narrative{margin:20px 0 0;min-width:0}
.project-narrative>summary{display:list-item;list-style:disclosure-closed;cursor:pointer;width:fit-content;padding:10px 0;color:var(--secondary-ink);font-family:inherit;font-size:12px;line-height:1.5;letter-spacing:.08em;text-underline-offset:4px}
.project-narrative[open]>summary{list-style:disclosure-open}
.project-narrative>summary:hover{text-decoration:underline}
.project-narrative>summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.project-narrative .read-less-label,.project-narrative[open] .read-more-label{display:none}
.project-narrative[open] .read-less-label{display:inline}
.narrative-context{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body .project-narrative .narrative-text p{font-size:var(--type-body);line-height:1.75;letter-spacing:normal;margin:0 0 var(--paragraph-space);overflow-wrap:break-word}
body .project-narrative .narrative-text strong{font-weight:500}
.project-narrative .narrative-text{padding-top:14px;max-width:100%}
@media(prefers-reduced-motion:reduce){.project-narrative{scroll-behavior:auto}}
@media(max-width:750px){#gallery.has-project-introduction .project-introduction:has(.project-narrative){grid-template-columns:minmax(0,1fr);gap:24px}}
