/* Executed projects: photographic timeline and compact technical case pages. */
.projects-section{padding:85px 0;border-top:1px solid #294034;background:#050c09}.projects-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:32px}.projects-heading h2{font-size:clamp(34px,4vw,60px);line-height:1.02;margin:12px 0}.projects-heading p{max-width:620px;color:#b7cabe;line-height:1.7}.projects-heading .mono,.project-eyebrow{font:10px/1.6 monospace;letter-spacing:.12em;color:#a7edce}.project-controls{display:flex;gap:9px;align-items:center;flex-shrink:0}.project-controls button{width:45px;height:45px;background:transparent;border:1px solid #6b917d;color:#d9eee3;font-size:23px;cursor:pointer}.project-controls button:hover{background:#143323;border-color:#a7edce}.project-controls button:disabled{opacity:.3;cursor:default}.project-controls output{min-width:64px;text-align:center;font:11px monospace;color:#a7c3b2}.project-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0;overscroll-behavior-x:contain;padding:22px 0 20px;scrollbar-width:thin;scrollbar-color:#6ca58a #14251b}.project-track:focus-visible{outline:1px solid #a7edce;outline-offset:4px}.project-card{flex:0 0 clamp(290px,30vw,390px);min-width:0;scroll-snap-align:start;position:relative;padding-top:23px;border-top:1px solid #58816c;display:flex;flex-direction:column}.project-card:before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;background:#a7edce;border-radius:50%}.project-card .project-era{font:12px monospace;color:#a7edce;margin:0 0 16px}.project-card>a{display:flex;flex:1;flex-direction:column;background:#0a1510;border:1px solid #2d4638;transition:border-color .2s}.project-card>a:hover{border-color:#a7edce}.project-card img{width:100%;height:205px;object-fit:cover;display:block}.project-card-copy{padding:22px;display:flex;flex-direction:column;flex:1;gap:12px}.project-card-copy small{font:10px/1.6 monospace;color:#a5c4b2}.project-card h3{font:600 25px/1.15 'Barlow Condensed',Arial,sans-serif;letter-spacing:0;text-transform:none;margin:0}.project-card-copy p{font-size:13px;line-height:1.6;color:#bdcfc3;margin:0}.project-card-copy .project-more{margin-top:auto;padding-top:15px;color:#a7edce;font:10px monospace;letter-spacing:.08em}.projects-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:25px}.projects-footer p{font-size:11px;line-height:1.6;color:#8ea99a;max-width:680px}.projects-footer>a{font-size:12px;white-space:nowrap;border-bottom:1px solid #80aa93;padding-bottom:8px}.projects-hero{padding:175px 0 50px;background:radial-gradient(ellipse at 100% 0,#102d25,transparent 65%)}.projects-hero h1{font-size:clamp(48px,6vw,88px);line-height:1.02;max-width:1050px;margin:25px 0}.projects-hero>div>p{max-width:780px;line-height:1.8;color:#bfd1c7}.projects-crumb{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:#b6d0c1;margin-bottom:35px}.project-detail{padding:170px 0 75px}.project-detail-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);gap:55px;align-items:start}.project-visual{margin:0;background:#111a15;border:1px solid #2b4435}.project-visual img{display:block;width:100%;height:520px;object-fit:contain}.project-visual figcaption{font-size:11px;line-height:1.6;padding:12px 18px;color:#9ab5a5;border-top:1px solid #2b4435}.project-detail h1{font-size:clamp(35px,3.6vw,57px);line-height:1.05;text-transform:none;margin:20px 0 26px}.project-scope{font-size:17px;line-height:1.8;color:#c7d9cd}.project-facts{margin:28px 0;display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #365440}.project-facts div{padding:16px 12px 16px 0;border-bottom:1px solid #365440;min-width:0}.project-facts dt{font:9px monospace;letter-spacing:.1em;text-transform:uppercase;color:#97b9a5;margin-bottom:8px}.project-facts dd{margin:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere}.project-services{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.project-services a{border:1px solid #45644f;padding:9px 12px;font-size:11px;color:#bde8cf}.project-services a:hover{background:#153423}.project-technical{padding:55px 0;border-block:1px solid #2b4435}.project-technical h2{font-size:32px;margin-bottom:25px}.project-technical details{padding:20px 0;border-bottom:1px solid #2b4435}.project-technical summary{font-size:17px;cursor:pointer}.project-technical details p{max-width:850px;color:#bed0c4;line-height:1.8;margin-top:16px}.project-pagination{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:45px 0}.project-pagination a{padding:20px 0;border-top:1px solid #466752;font-size:17px;line-height:1.5}.project-pagination small{display:block;color:#a7edce;font:10px monospace;margin-bottom:12px}.project-experience-link{display:inline-flex;gap:12px;align-items:center;margin-top:22px;padding-bottom:9px;border-bottom:1px solid #8cbc9f;font-size:13px}.projects-page a:focus-visible,.projects-section a:focus-visible,.projects-section button:focus-visible{outline:2px solid #a7edce;outline-offset:4px}
@media(max-width:800px){.projects-section{padding:55px 0}.projects-heading{align-items:flex-start;flex-direction:column;gap:18px}.projects-heading h2{font-size:39px}.project-card{flex-basis:min(82vw,360px)}.project-card img{height:190px}.projects-footer{align-items:flex-start;flex-direction:column;gap:15px}.projects-hero{padding-top:145px}.project-detail{padding:135px 0 45px}.project-detail-grid{grid-template-columns:1fr;gap:28px}.project-visual img{height:360px}.project-detail h1{font-size:39px}.project-scope{font-size:16px}.project-pagination{gap:20px}.project-pagination a{font-size:15px}.project-facts{margin-top:24px}.project-technical{padding:35px 0}.projects-crumb{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){.project-track{scroll-behavior:auto}}

.project-card h3{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

.projects-page .projects-section{padding-top:35px}.projects-page .projects-heading h2{font-size:clamp(30px,3vw,43px)}

.project-customer-line{font-size:14px;line-height:1.7;color:#a7edce;margin:0 0 18px}
