/* Project media is intentionally dark, while the CV keeps its editorial palette. */
.project-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}
.gallery-item a{background:#182321;border-color:#34433e;border-radius:8px}
.gallery-item img{height:155px;padding:12px;transition:opacity .18s}
.gallery-item.cover img{height:420px;padding:22px}
.gallery-item a:hover img{opacity:.85}
.gallery-item a>span{width:auto;min-width:38px;padding:0 12px;border-radius:4px;background:#edf4ec;color:#182321;font:12px/1.2 system-ui}
.gallery-item figcaption{line-height:1.6}
.project-description{font-size:17px;line-height:1.8;max-width:850px;margin:16px 0 22px;white-space:pre-line;overflow-wrap:anywhere}
.project-highlights{margin:20px 0;padding:18px 0;border-block:1px solid var(--hairline);line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
.architecture{margin:28px 0 8px;background:#111d1c;border-radius:10px;overflow:hidden;color:#e7f1ee}
.architecture-heading{padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #30413c}
.architecture-heading h4{font-size:18px;margin:0}.architecture-heading a{font:12px/1.5 system-ui;color:#bde5d4;text-decoration:underline}
.architecture .gallery-item a{border:0;border-radius:0}.architecture .gallery-item img{height:auto;width:100%;padding:0}
.architecture figcaption{color:#bdcec8;padding:14px 26px 20px;font-size:12px;line-height:1.7}
#lightbox.media-viewer{box-sizing:border-box;position:fixed;inset:0;width:calc(100vw - 40px);height:calc(100dvh - 40px);max-width:1600px;max-height:none;margin:auto;padding:0;border:1px solid #42534c;border-radius:12px;background:#101816;color:#edf5ef;font:14px/1.5 system-ui,-apple-system,sans-serif;overflow:hidden}
#lightbox.media-viewer[open]{display:flex;flex-direction:column}
#lightbox::backdrop{background:#080e0ced;backdrop-filter:blur(6px)}
#lightbox *{box-sizing:border-box}
#lightbox button,#lightbox .viewer-tools a{font:12px/1.4 system-ui;min-height:44px;cursor:pointer;color:#eaf3ee;background:#24332c;border:1px solid #526257;border-radius:5px;padding:10px 14px;text-decoration:none}
#lightbox button:hover,#lightbox .viewer-tools a:hover{background:#3b4e40}
#lightbox button:disabled{opacity:.35;cursor:default}
#lightbox :focus-visible{outline:2px solid #c3e4ad;outline-offset:3px}
#lightbox .viewer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid #304138;flex:none}
#lightbox .viewer-header>div:first-child{min-width:0}
#lightbox .viewer-eyebrow{font:11px/1.5 monospace;color:#b7cca9}
#lightbox h2{font:500 19px/1.4 system-ui;letter-spacing:-.3px;margin:4px 0 0;overflow-wrap:anywhere;color:inherit;max-height:3em;overflow:auto}
#lightbox .viewer-tools{display:flex;gap:8px;flex-shrink:0;align-items:center}
#lightbox .viewer-stage{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;gap:12px;align-items:center;padding:18px;flex:1;min-height:0}
#lightbox .viewer-canvas{height:100%;overflow:auto;position:relative;display:grid;place-items:center;min-width:0;background:#151f1b;touch-action:pan-y}
#lightbox #lightboxImage{width:100%;height:100%;max-height:100%;object-fit:contain;padding:0;cursor:zoom-in}
#lightbox .viewer-canvas.is-zoomed{display:block;touch-action:auto}
#lightbox .is-zoomed #lightboxImage{width:200%;max-width:none;height:auto;max-height:none;cursor:zoom-out}
#lightbox #viewerStatus{padding:24px;color:#d4e1d6;text-align:center}
#lightbox [hidden]{display:none!important}
#lightbox .viewer-footer{display:block;flex:none;padding:0 24px 15px;border-top:1px solid #304138;background:transparent}
#lightbox .viewer-description{display:flex;align-items:baseline;gap:20px;padding:12px 0}
#lightbox #viewerCount{font:12px/1.5 monospace;color:#c8e3b5;white-space:nowrap}
#lightbox #lightboxCaption{font:13px/1.5 system-ui;margin:0;max-height:3em;overflow:auto;overflow-wrap:anywhere;color:#e0e9e1}
#lightbox .viewer-thumbs{display:flex;gap:9px;overflow-x:auto;padding:4px 3px 8px;scrollbar-width:thin;scrollbar-color:#6d8167 transparent}
#lightbox .viewer-thumbs button{padding:3px;width:84px;height:58px;min-width:84px;background:#1b2821;border:2px solid transparent}
#lightbox .viewer-thumbs button[aria-current=true]{border-color:#c8e3b5;background:#334936}
#lightbox .viewer-thumbs img{width:100%;height:100%;object-fit:contain;margin:0;padding:0}
#lightbox .viewer-hint{font:11px/1.5 monospace;color:#a8bbac;margin:3px 0 0}
@media(max-width:700px){.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item.cover img{height:260px;padding:10px}.gallery-item img{height:130px;padding:7px}.architecture-heading{padding:18px;flex-wrap:wrap}.architecture figcaption{padding:12px 18px}#lightbox.media-viewer{width:100vw;height:100dvh;border:0;border-radius:0}#lightbox .viewer-header{padding:14px;display:block}#lightbox h2{font-size:16px}#lightbox .viewer-tools{margin-top:12px;justify-content:space-between}#lightbox button,#lightbox .viewer-tools a{padding:9px;font-size:11px}#lightbox .viewer-stage{padding:10px 0;gap:3px;grid-template-columns:36px minmax(0,1fr) 36px}#lightbox .viewer-arrow{padding:4px;border:0;background:transparent}#lightbox .viewer-footer{padding:0 14px 14px}#lightbox .viewer-thumbs button{width:65px;min-width:65px;height:48px}#lightbox .viewer-hint{display:none}}
@media(prefers-reduced-motion:reduce){.gallery-item img{transition:none}}
@media print{#lightbox.media-viewer,.architecture{display:none!important}.print-images .architecture{display:block!important;break-inside:avoid}.architecture-heading a{display:none}.print-images .architecture img{height:auto}.project-description,.project-highlights{font-size:8pt;line-height:1.5;margin:8px 0}}
