.projects-catalogue{padding:64px 0 76px;background:#ffffff}
.projects-intro{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:30px}
.projects-intro h2{font-size:clamp(1.55rem,2.5vw,2.1rem);line-height:1.28;font-weight:600;color:#010e3b;margin:12px 0}
.projects-intro>div>p:last-child{color:#080808;opacity:.7;font-size:.94rem;line-height:1.7;margin:0}
.projects-count{display:flex;align-items:center;gap:16px;padding:16px 22px;border-left:2px solid #79ee01;color:#010e3b}
.projects-count strong{font-size:2.3rem;font-weight:500;line-height:1}.projects-count span{max-width:90px;font-size:.8rem;line-height:1.6}
.project-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.project-filter{border:1px solid #010e3b20;border-radius:9px;padding:10px 13px;background:#ffffff;color:#010e3b;display:flex;gap:10px;align-items:center;font:inherit;font-size:.78rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.project-filter span{font-size:.68rem;opacity:.7}.project-filter:hover{background:#79ee01;border-color:#79ee01;color:#010e3b}.project-filter.is-active{background:#010e3b;border-color:#010e3b;color:#ffffff}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.project-card{min-width:0;background:#ffffff;border:1px solid #010e3b18;border-radius:16px;overflow:hidden;transition:transform .28s,border-color .28s,box-shadow .28s}
.project-card[hidden]{display:none}.project-card:hover,.project-card:focus-within{transform:translateY(-5px);border-color:#79ee01;box-shadow:0 14px 34px #010e3b14,0 0 20px #79ee011c}
.project-card-button{display:block;text-align:left;width:100%;height:100%;background:transparent;border:0;padding:0;cursor:pointer;font:inherit;color:#010e3b}
.project-card-media{aspect-ratio:1.65;position:relative;overflow:hidden;background:#010e3b}
.project-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#010e3b35,transparent 45%,#010e3b80);pointer-events:none}
.project-card-media>img{width:100%;height:100%;object-fit:cover;transition:transform .65s,filter .4s}
.project-card:hover .project-card-media>img,.project-card:focus-within .project-card-media>img{transform:scale(1.06);filter:contrast(1.04)}
.project-number,.project-category,.project-image-label{position:absolute;z-index:1}.project-number{top:15px;left:15px;width:36px;height:36px;display:grid;place-items:center;background:#ffffff;color:#010e3b;border-radius:8px;font-size:.75rem;font-weight:600}.project-category{right:14px;top:18px;background:#010e3be6;color:#ffffff;border:1px solid #ffffff30;border-radius:6px;padding:5px 9px;font-size:.66rem;letter-spacing:.03em}.project-image-label{bottom:12px;left:16px;color:#ffffff;font-size:.64rem;letter-spacing:.04em}
.project-image-open{position:absolute;right:15px;bottom:14px;z-index:1;display:grid;place-items:center;width:34px;height:34px;background:#79ee01;color:#010e3b;border-radius:50%;transition:box-shadow .25s}.project-card:hover .project-image-open{box-shadow:0 0 0 6px #79ee0130}
.project-card-copy{padding:22px 23px 0}.project-location{display:flex;gap:7px;align-items:center;font-size:.72rem;color:#010e3b;opacity:.7}.project-location .icon{width:14px;height:14px}.project-card-copy h3{font-size:1.04rem;font-weight:600;line-height:1.5;min-height:3.12rem;margin:10px 0}
.project-card-scope{font-size:.8rem;line-height:1.75;color:#080808;opacity:.7;min-height:4.2rem;margin:0 0 17px}
.project-card-bottom{border-top:1px solid #010e3b16;display:flex;align-items:center;justify-content:space-between;margin:0 -23px;padding:14px 23px;font-size:.78rem;font-weight:600;transition:background .25s,color .25s}.project-card-bottom>.icon{width:19px;height:19px;transform:rotate(45deg)}.project-card:hover .project-card-bottom,.project-card:focus-within .project-card-bottom{background:#79ee01;color:#010e3b}
.project-photo-note{display:flex;gap:9px;align-items:center;margin-top:24px;color:#010e3b;opacity:.65}.project-photo-note>.icon{width:16px;height:16px;flex:none}.project-photo-note p{margin:0;font-size:.72rem;line-height:1.7}
.project-dialog .dialog-frame{max-width:980px}.project-dialog .dialog-content{max-height:calc(100svh - 40px);overflow:auto;border-radius:16px;background:#ffffff;color:#010e3b}.project-dialog .dialog-header{position:sticky;top:0;background:#ffffff;z-index:2;border-bottom:1px solid #010e3b18;padding:22px 28px;align-items:flex-start;gap:20px}.project-dialog .dialog-title{font-size:clamp(1.1rem,2.2vw,1.55rem);font-weight:600;line-height:1.4}.project-dialog .dialog-header .eyebrow{font-size:.64rem;margin-bottom:6px}.project-dialog .dialog-header .icon-btn{flex:none;background:#010e3b;color:#ffffff}.project-dialog .dialog-header .icon-btn:hover{background:#79ee01;color:#010e3b}.project-dialog .dialog-body{padding:28px}
.project-popup-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:30px;align-items:start}.project-popup-photo{margin:0;min-width:0}.project-popup-photo>img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;border-radius:10px}.project-popup-photo figcaption{font-size:.68rem;line-height:1.7;margin-top:12px;color:#080808}.project-popup-photo figcaption p{margin:0 0 8px;opacity:.65}.project-popup-photo figcaption a{display:inline-flex;align-items:center;gap:6px;color:#010e3b;text-decoration:underline;text-underline-offset:3px}.project-popup-photo figcaption a:hover{background:#79ee01}.project-popup-photo figcaption .icon{width:12px;height:12px;transform:rotate(45deg)}
.project-detail-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 20px}.project-detail-meta>span{display:flex;gap:5px;align-items:center;background:#010e3b08;border:1px solid #010e3b12;border-radius:6px;padding:6px 9px;font-size:.68rem}.project-detail-meta .icon{width:13px;height:13px}.project-popup-copy h3{font-weight:600;font-size:1rem;margin:0 0 12px}.project-system-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}.project-system-list a{display:flex;align-items:center;gap:11px;border:1px solid #010e3b15;border-radius:8px;padding:11px 13px;text-decoration:none;font-size:.79rem;color:#010e3b;transition:background .2s,border-color .2s}.project-system-list a:hover{background:#79ee01;border-color:#79ee01}.project-system-list .icon{width:18px;height:18px;flex:none}.project-system-list a>span{flex:1}.project-system-list a>.icon:last-child{transform:rotate(45deg);width:14px;height:14px}.project-enquiry{margin-top:21px;font-size:.78rem;width:100%;justify-content:center}
.project-popup-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #010e3b15;margin-top:26px;padding-top:18px}.project-nav-button{display:flex;align-items:center;gap:6px;font:inherit;font-size:.76rem;background:#ffffff;color:#010e3b;border:1px solid #010e3b25;border-radius:7px;padding:9px 12px;cursor:pointer;transition:background .2s,border-color .2s}.project-nav-button:hover{background:#79ee01;border-color:#79ee01}.project-nav-button .icon{width:16px;height:16px}#projectDetailPosition{font-size:.75rem;letter-spacing:.14em}
.project-card-button:focus-visible,.project-filter:focus-visible,.project-nav-button:focus-visible{outline:3px solid #79ee01;outline-offset:-3px}.project-dialog a:focus-visible{outline:2px solid #010e3b;outline-offset:3px}
@media(max-width:1023.98px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.projects-catalogue{padding:50px 0 60px}}
@media(max-width:639.98px){.projects-catalogue{padding:36px 0 48px}.projects-intro{gap:14px;align-items:flex-start;margin-bottom:23px}.projects-count{padding:10px 0 10px 14px;gap:8px}.projects-count strong{font-size:1.6rem}.projects-count span{font-size:.65rem;max-width:64px}.projects-intro>div>p:last-child{font-size:.8rem}.project-filters{flex-wrap:nowrap;overflow-x:auto;gap:7px;padding-bottom:8px;margin-bottom:18px}.project-filter{flex:none;padding:9px 11px;font-size:.72rem}.project-grid{grid-template-columns:minmax(0,1fr);gap:22px}.project-card-copy h3{min-height:0;font-size:1.03rem}.project-card-scope{min-height:0;font-size:.8rem}.project-card-media{aspect-ratio:1.7}.project-popup-layout{grid-template-columns:minmax(0,1fr);gap:22px}.project-dialog .dialog-body{padding:19px}.project-dialog .dialog-header{padding:18px 19px}.project-dialog .dialog-frame{margin:12px auto;width:calc(100% - 24px)}.project-dialog .dialog-content{max-height:calc(100svh - 24px)}.project-popup-photo>img{aspect-ratio:1.65}.project-photo-note{align-items:flex-start}.project-popup-nav{margin-top:21px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-card-media>img,.project-card-bottom,.project-image-open{transition:none}.project-card:hover,.project-card:focus-within{transform:none}.project-card:hover .project-card-media>img,.project-card:focus-within .project-card-media>img{transform:none}}
