[hidden]{display:none!important}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.project-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);cursor:pointer;list-style:none}.project-card::-webkit-details-marker{display:none}.project-card::marker{content:''}.project-cover{width:100%;height:390px;object-fit:cover;object-position:center 56%}.project-card-copy{padding:clamp(1.5rem,3vw,3rem);align-self:center;display:block}.project-card-copy h3{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.3;margin:.75rem 0 1rem}.project-teaser,.project-status,.project-disclosure{display:block}.project-open{display:inline-flex;align-items:center;min-height:48px;margin-top:1.25rem;border-bottom:1px solid var(--accent);font-weight:600}.project-entry:not([open]) .when-open,.project-entry[open] .when-closed{display:none}.project-entry[open] .project-cover{height:290px}.project-entry+.project-entry{margin-top:2rem}.project-detail{padding:2rem 0 0}.project-mission{margin-bottom:1.25rem}.project-stages{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.project-detail button,.project-lightbox button{border:1px solid var(--rule);background:var(--page);color:var(--ink);padding:.65rem 1rem;min-height:48px;font-size:.875rem}.project-stages button[aria-pressed=true]{background:var(--ink);color:var(--page);border-color:var(--ink)}.project-stage h4{font:600 1.2rem Cinzel,serif;margin:0 0 .75rem}.project-description{max-width:75ch;margin-bottom:1rem}.project-disclosure{font-size:.875rem;line-height:1.6;color:var(--accent);margin:.75rem 0 1rem}.project-photo{width:100%;height:clamp(280px,54vw,590px);object-fit:contain;background:color-mix(in srgb,var(--ink) 5%,var(--page))}.project-stage figcaption{font-size:.875rem;line-height:1.65;margin:.75rem 0}.project-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.project-count{font-size:.875rem}.project-controls{display:flex;gap:.5rem;flex-wrap:wrap}.project-thumbnails{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.project-thumbnails button{padding:3px;border:2px solid transparent}.project-thumbnails button[aria-pressed=true]{border-color:var(--accent)}.project-thumbnails img{width:80px;height:60px;object-fit:cover}.project-lightbox{width:min(1200px,96vw);max-height:94dvh;padding:1rem;border:1px solid var(--rule);background:var(--page);color:var(--ink)}.project-lightbox::backdrop{background:rgba(0,0,0,.85)}.project-lightbox-bar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.project-lightbox img{width:100%;height:70dvh;object-fit:contain}.project-lightbox figcaption{font-size:.875rem;margin-top:1rem}.lightbox-open{overflow:hidden}.nav-wrapped{scroll-padding-top:12rem}.site-header nav a[aria-current]{text-decoration:underline}.contact-direct{display:flex;flex-direction:column;align-items:flex-start}.contact-direct .button{margin-top:1.25rem}.project-photos figure+figure{margin-top:1.5rem}.project-photos figure[hidden]+figure{margin-top:0}
@media(max-width:700px){.project-card{grid-template-columns:1fr}.project-cover,.project-entry[open] .project-cover{height:290px}.project-card-copy{padding:1.5rem}.project-card-copy h3{font-size:1.65rem}.project-controls{gap:.4rem}.project-detail button{padding:.6rem .75rem}.project-lightbox{padding:.75rem}.project-lightbox img{height:62dvh}.project-photo{height:370px}.project-description{font-size:1rem}.project-gallery-controls{gap:.5rem}}
@media(max-width:380px){.site-header{flex-direction:column;align-items:center}.site-header nav{width:100%}.hero-content{padding-left:1rem;padding-right:1rem}.section{padding-left:1rem;padding-right:1rem}.project-card-copy{padding:1.25rem}.project-photo{height:310px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}

/* Preserve photograph proportions and avoid enlarging beyond native pixels. */
.project-cover,.project-entry[open] .project-cover{object-fit:contain;background:color-mix(in srgb,var(--ink) 5%,var(--page));height:clamp(300px,38vw,460px)}
.project-photo{width:auto;height:auto;max-width:100%;max-height:720px;margin-inline:auto;object-fit:contain}.project-photos figure{background:color-mix(in srgb,var(--ink) 3%,var(--page));padding:0}.project-stage figcaption{background:var(--page);padding-top:.5rem}.project-lightbox img{width:auto;height:auto;max-width:100%;max-height:72dvh;margin-inline:auto}.project-thumbnails img{width:96px;height:72px}
@media(max-width:700px){.project-cover,.project-entry[open] .project-cover{height:360px}.project-photo{height:auto;max-height:75svh}.project-lightbox img{height:auto;max-height:72dvh}}
