/* Portfolio home and shared project navigation. */
.gallery-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:0 0 22px}.gallery-navigation span{font-size:12px;color:var(--muted);margin-left:auto;max-width:390px}.image-view-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;font-size:12px}.image-view-controls button{background:var(--white);border:1px solid var(--line);color:var(--ink);padding:8px 13px;cursor:pointer}.image-view-controls button[aria-pressed=true]{background:var(--ink);color:var(--white)}.image-view-controls a{margin-left:auto}.dialog-image-wrap[data-view=original]{display:block;max-height:60vh;overflow:auto;overscroll-behavior:contain}.dialog-image-wrap[data-view=original] img{display:block;width:auto;height:auto;max-width:none;max-height:none}.dialog-image-wrap[data-view=fit]{max-height:60vh}.dialog-image-wrap[data-view=fit] img{max-height:60vh}.video-chapters{grid-template-columns:repeat(3,minmax(0,1fr))}.dialog-image-wrap:focus-visible{outline:3px solid #9e5c20;outline-offset:2px}
@media(max-width:760px){.gallery-navigation span{margin-left:0;flex-basis:100%}.image-view-controls{gap:8px}.image-view-controls a{margin-left:0;padding:6px 0}.video-chapters{grid-template-columns:repeat(2,minmax(0,1fr))}#image-dialog{max-height:94vh;overflow:auto}}
.portfolio-intro{display:grid;grid-template-columns:1.4fr .65fr;align-items:end;gap:100px;padding-top:88px;padding-bottom:76px}
.portfolio-intro h1{font-size:clamp(48px,5.5vw,80px);letter-spacing:-3.5px;line-height:1.05;margin-bottom:28px}
.portfolio-lede{max-width:550px;font-size:20px;line-height:1.65;color:var(--muted);margin:0 0 27px}
.intro-note{border-left:1px solid #b8c3b5;padding:3px 0 3px 26px;margin-bottom:7px}
.intro-note .micro{color:var(--muted)}
.intro-note p{font-size:14px;color:var(--muted);line-height:1.85;margin:16px 0}
.project-collection{padding-top:36px;border-top:1px solid var(--line)}
.project-collection .section-heading{margin-bottom:28px}
.project-collection h2{font-size:34px}
.project-list{display:grid;gap:30px}
.featured-project{background:var(--ink);color:var(--white);display:grid;grid-template-columns:1fr 1.15fr;overflow:hidden}
.project-copy{padding:42px 38px 37px;min-width:0}
.project-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:16px;color:#c5d4c3}
.project-status{display:inline-flex;align-items:center;gap:7px;font-size:11px}
.project-status .status-dot{width:5px;height:5px}
.project-copy h3{font-size:clamp(38px,4vw,57px);line-height:1.06;letter-spacing:-2px;font-weight:500;margin:30px 0 22px}
.project-copy p{font-size:14px;color:#c8d5c8;line-height:1.8;max-width:420px}
.project-copy .project-description{font-size:20px;color:var(--white);margin-bottom:12px;line-height:1.45}
.project-topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}
.project-topics span{border:1px solid #567065;padding:4px 8px;font:10px/1.6 var(--mono);color:#d3dfd0}
.project-actions{display:flex;align-items:flex-start;flex-direction:column;gap:17px;margin-top:30px}
.project-actions .button{background:var(--lime);color:var(--ink);gap:16px}
.project-actions .button:hover{background:#e5f6b4}
.project-actions .text-link{color:#e5efdc}
.project-visual{min-width:0;margin:0;padding:42px 30px 26px 0;display:flex;flex-direction:column;justify-content:center}
.project-visual a{display:block;box-shadow:12px 12px 0 #ffffff0b;border:1px solid #577063}
.project-visual img{display:block;width:100%;height:auto}
.project-visual figcaption{color:#c5d4c3;font-size:11px;margin-top:24px}
.project-footnote{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 25px;border-top:1px solid #3f594e;padding:17px 38px;font-size:12px;color:#c5d4c3}
.collection-note{font-size:12px;color:var(--muted);margin:20px 0 0}
.portfolio-role{padding-top:86px;padding-bottom:80px}
.portfolio-contact{background:#e7ecdf;border:1px solid #ccd6c3;padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:75px}
.portfolio-contact .eyebrow{margin-bottom:17px}
.portfolio-contact h2{font-size:30px}
.portfolio-contact p:not(.eyebrow){max-width:610px;font-size:14px;color:var(--muted);margin:18px 0 0}
.portfolio-contact .button{flex-shrink:0}
.project-navigation{display:flex;gap:28px;align-items:center;border-bottom:1px solid var(--line);padding-top:18px;padding-bottom:18px}
.project-navigation>span{font:10px var(--mono);color:var(--muted);letter-spacing:.8px}
.project-navigation nav{gap:24px;font-size:12px;flex-wrap:wrap}
.project-navigation a[aria-current=page],.header a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
@media(max-width:1050px){.portfolio-intro{gap:48px}.project-copy{padding:30px 26px}.project-visual{padding:30px 24px 22px 0}.portfolio-contact{align-items:flex-start;flex-direction:column;gap:24px}}
@media(max-width:760px){.portfolio-intro{grid-template-columns:1fr;gap:32px;padding-top:48px;padding-bottom:43px}.portfolio-intro h1{font-size:52px;letter-spacing:-2.5px}.portfolio-lede{font-size:18px}.intro-note{max-width:560px}.featured-project{grid-template-columns:1fr}.project-copy{padding:28px}.project-copy h3{font-size:47px}.project-visual{padding:0 28px 25px}.project-footnote{padding:18px 28px}.portfolio-role{padding-top:56px;padding-bottom:50px}.portfolio-contact{padding:27px;margin-bottom:50px}.project-navigation{align-items:flex-start;flex-direction:column;gap:12px}.project-navigation nav{gap:22px}.project-collection .section-heading{align-items:flex-start;flex-direction:column;gap:18px}.project-collection h2{font-size:30px}}
@media(max-width:380px){.portfolio-intro h1{font-size:43px;letter-spacing:-2px}.project-copy{padding:23px}.project-copy h3{font-size:41px}.project-visual{padding:0 23px 23px}.project-footnote{padding:16px 23px}.project-actions .button{font-size:12px;padding:12px;gap:10px}.portfolio-contact{padding:22px}.portfolio-contact .button{font-size:12px;gap:10px}.project-navigation nav{gap:18px}}
