/* Project details only: independent of the approved overview. */
.project-detail{background:var(--paper);padding-bottom:68px}
.project-back{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:24px;font-size:.82rem}
.project-back a{font-weight:700;padding-block:8px;display:inline-flex;align-items:center;gap:14px}
.project-back a:hover,.project-afterword a:hover{color:var(--red)}
.project-back>span{color:var(--muted)}
.project-presentation{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);background:var(--ink);color:white}
.project-gallery{min-width:0;display:flex;flex-direction:column;background:#e1e6e6}
/* The container receives focus on arrival; individual controls keep their focus indicators. */
.project-gallery[tabindex="-1"]:focus{outline:none}
.project-stage{position:relative;flex:1;min-height:430px}
.project-open{display:block;width:100%;height:100%;min-height:430px}
.project-open>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.project-open:focus-visible{outline-offset:-5px;outline-color:white}
.project-enlarge{position:absolute;right:18px;bottom:18px;background:#142126eb;color:white;display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:.77rem;min-height:44px}
.project-enlarge>span{font-size:1.3rem;line-height:1}
.project-open:hover .project-enlarge{background:var(--red)}
.project-summary{padding:clamp(26px,3.1vw,46px);display:flex;flex-direction:column;min-width:0}
.project-summary .eyebrow{font-size:.65rem;line-height:1.55;letter-spacing:.12em;margin-bottom:24px;color:#d4dee1;align-items:start}
.project-summary .eyebrow:before{flex:0 0 22px;margin-top:7px}
.project-summary h1{font-size:clamp(2rem,3vw,3rem);line-height:1.06;overflow-wrap:anywhere;margin-bottom:22px}
.project-description{color:#c6d2d6;font-size:.9rem;line-height:1.65;margin-bottom:30px}
.project-keyfacts{border-top:1px solid #ffffff35;margin:0;padding-top:24px;display:grid;gap:22px}
.project-keyfacts dt{color:#c6d2d6;font-size:.75rem;margin-bottom:6px}
.project-keyfacts dd{margin:0;font-weight:600;font-size:.95rem;line-height:1.4}
.project-keyfacts .project-tonnage dd{font-size:2.7rem;line-height:1.05;font-weight:700;letter-spacing:-.04em}
.project-inquiry{margin-top:32px;padding-top:22px;border-top:1px solid #ffffff35;font-size:.83rem;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:52px}
.project-inquiry:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.project-inquiry span{font-size:1.3rem}
.project-thumbnails{background:#101c21;padding:12px;display:flex;gap:10px;overflow-x:auto}
.project-thumbnails a{display:block;flex:0 0 90px;height:60px;opacity:.65;border:2px solid transparent}
.project-thumbnails img{width:100%;height:100%;object-fit:cover}
.project-thumbnails a[aria-current=true]{opacity:1;border-color:white}
.project-thumbnails a:hover{opacity:1}
.project-image-controls{position:absolute;left:18px;bottom:18px;display:flex;align-items:center;gap:4px;background:#142126eb;color:white}
.project-image-controls button{background:transparent;border:0;color:inherit;width:44px;height:44px;font-size:1.2rem}
.project-image-controls button:hover{background:var(--red)}
.project-image-controls>span{font-size:.78rem;min-width:47px;text-align:center;font-variant-numeric:tabular-nums}
.project-afterword{display:flex;justify-content:space-between;gap:30px;padding-top:20px;align-items:start}
.project-afterword p{color:var(--muted);font-size:.75rem;max-width:580px;margin:0}
.project-afterword a{font-size:.8rem;font-weight:700;white-space:nowrap}
.project-related{padding-top:72px}
.project-related h2{font-size:clamp(1.9rem,3vw,2.8rem)}
.project-related .eyebrow{font-size:.7rem;margin-bottom:14px}
.project-related .section-heading{margin-bottom:30px}
.project-viewer{position:fixed;inset:0;margin:auto;width:96vw;max-width:1800px;height:94vh;height:94dvh;max-height:96dvh;max-width:min(1800px,96vw);padding:0;border:1px solid #ffffff30;background:#101c21;color:white;overflow:hidden}
.project-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.project-viewer::backdrop{background:#060b10ed}
.project-viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 22px;border-bottom:1px solid #ffffff25}
.project-viewer-bar p{font-size:.9rem;font-weight:600;line-height:1.3;margin:0;overflow-wrap:anywhere}
.project-viewer button{background:#142126ed;color:white;border:1px solid #ffffff55;min-width:44px;min-height:44px}
.project-viewer-bar button{padding:8px 14px;font-size:.8rem;white-space:nowrap}
.project-viewer button:hover{background:var(--red)}
.project-viewer-stage{position:relative;min-height:0;display:grid;place-items:center;padding:18px 70px;touch-action:pan-y}
.project-viewer-stage img{height:100%;width:100%;min-height:0;object-fit:contain}
.project-viewer-stage button{position:absolute;top:50%;transform:translateY(-50%);font-size:1.4rem}
.project-viewer-stage [data-viewer-prev]{left:12px}
.project-viewer-stage [data-viewer-next]{right:12px}
.project-viewer-caption{font-size:.78rem;text-align:center;margin:0;padding:10px 20px 16px;color:#c6d2d6}
@media(max-width:900px){.project-enlarge{display:none}.project-open{cursor:default;pointer-events:none}}
@media(max-width:1100px){.project-summary{padding:28px}.project-summary h1{font-size:2.15rem}}
@media(max-width:900px){.project-presentation{grid-template-columns:1fr}.project-summary{order:-1;padding:26px 28px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0 28px}.project-summary .eyebrow,.project-summary h1,.project-description{grid-column:1}.project-summary h1{font-size:2.4rem;margin-bottom:12px}.project-summary .eyebrow{margin-bottom:14px}.project-description{margin:0}.project-keyfacts{grid-column:2;grid-row:1/4;padding:8px 0 0 26px;border-top:0;border-left:1px solid #ffffff35;align-content:center;gap:20px}.project-inquiry{grid-column:1/-1;margin-top:22px;padding-top:14px}.project-stage,.project-open{min-height:0;aspect-ratio:1.6}.project-afterword{flex-direction:column;gap:12px}.project-related{padding-top:48px}}
@media(max-width:540px){.project-back{padding-block:14px}.project-back>span{display:none}.project-summary{display:block;padding:25px 22px}.project-summary h1{font-size:2.2rem}.project-description{font-size:.85rem}.project-keyfacts{display:flex;flex-wrap:wrap;gap:18px 26px;border-left:0;border-top:1px solid #ffffff35;padding:20px 0 0;margin-top:20px}.project-keyfacts .project-tonnage dd{font-size:1.9rem}.project-keyfacts dd{font-size:.8rem}.project-inquiry{margin-top:20px;padding-top:14px}.project-enlarge{right:10px;bottom:10px;padding:8px 10px;font-size:.7rem}.project-enlarge>span{display:none}.project-image-controls{left:10px;bottom:10px;gap:0}.project-image-controls>span{min-width:36px}.project-thumbnails a{flex-basis:78px;height:52px}.project-stage,.project-open{aspect-ratio:1.3}.project-viewer-bar{padding:9px 12px;gap:12px}.project-viewer-stage{padding:8px}.project-viewer-stage [data-viewer-prev]{left:8px}.project-viewer-stage [data-viewer-next]{right:8px}.project-detail{padding-bottom:45px}}
/* Related project cards: quiet labels, image-only hover feedback. */
.project-related .project-card{color:inherit;text-decoration:none}
.project-related .project-image{overflow:hidden}
.project-related .project-card img{transform:scale(1);transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.project-related .project-card h3{font-weight:700;margin-top:16px;margin-bottom:7px;text-decoration:none}
.project-related .project-card:hover{color:inherit;text-decoration:none}
.project-related .project-card:hover h3{font-weight:700;text-decoration:none}
@media(hover:hover) and (pointer:fine){
 .project-related .project-card:hover img{transform:scale(1.045)}
}
@media(prefers-reduced-motion:reduce){
 .project-related .project-card img,.project-related .project-card:hover img{transform:none;transition:none}
}
