/* Project records use the established ELE Tech type, colours and icon system. */
.project-section-heading h2,.project-card h3,.project-bottom-cta h2{font-weight:700}
.project-summary:empty{display:none}
/* Original workshop photos, grouped separately from named client records. */
.workshop-gallery{padding-block:34px 46px}.work-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 18px}.work-photo-card{margin:0;min-width:0}.work-photo{display:block;position:relative;width:100%;height:280px;padding:0;overflow:hidden;border:1px solid #789b8a30;border-radius:17px;background:#132b2c;cursor:zoom-in}.work-photo-image{display:block;width:100%;height:100%;object-fit:contain}.work-photo-open{position:absolute;right:13px;bottom:13px;display:grid;place-items:center;width:34px;height:34px;background:#102b29c9;color:#cff4df;border:1px solid #a7ddbd4d;border-radius:10px;font-size:13px;pointer-events:none}.work-photo-card figcaption{font-size:12px;font-weight:600;color:#426954;padding:11px 2px 0;line-height:1.6}.full-gallery .work-photo-card:first-child{grid-column:span 2}.full-gallery .work-photo-card:first-child .work-photo-image{object-fit:cover;object-position:50% 43%}.compact-gallery .work-photo{height:235px}.compact-gallery .work-photo-card:first-child .work-photo-image,.compact-gallery .work-photo-card:last-child .work-photo-image{object-fit:cover;object-position:50% 45%}.photo-dialog{inset:0;margin:auto;width:min(1120px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:94dvh;overflow:auto;background:#10262b;color:#e0f5e7;border:1px solid #91b8a146;border-radius:20px;padding:0;box-shadow:0 30px 100px #00171d77}.photo-dialog::backdrop{background:#041418df}.photo-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 18px;border-bottom:1px solid #91b8a125}.photo-dialog-head>span{font-size:11px;color:#aecab9}.photo-dialog button{display:grid;place-items:center;width:40px;height:40px;border:1px solid #9ed7b635;background:#25483b;color:#daf8e5;border-radius:12px;font-size:16px}.photo-dialog figure{margin:0;padding:15px}.photo-dialog img{display:block;width:100%;height:70dvh;object-fit:contain}.photo-dialog figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 2px 2px;font-size:13px}.photo-dialog-nav{display:flex;gap:9px}.photo-dialog-open{overflow:hidden}
@media(hover:hover) and (pointer:fine){.work-photo-image{transition:transform 240ms var(--ease-out)}.work-photo:hover .work-photo-image{transform:scale(1.015)}.work-photo:hover{border-color:#4cad77}}
@media(max-width:800px){.work-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-gallery .work-photo-card:last-child{grid-column:1/-1}.work-photo{height:260px}}
@media(max-width:650px){.workshop-gallery{padding-block:27px 35px}.work-gallery-grid{gap:17px 12px}.work-photo{height:225px;border-radius:13px}.work-photo-card figcaption{font-size:11px;padding-top:8px}.full-gallery .work-photo-card:first-child .work-photo{height:240px}.compact-gallery .work-photo-card:first-child{grid-column:1/-1}.compact-gallery .work-photo-card:last-child{grid-column:auto}.compact-gallery .work-photo{height:205px}.compact-gallery .work-photo-card:first-child .work-photo{height:240px}.work-photo-open{right:8px;bottom:8px;width:29px;height:29px;border-radius:9px;font-size:11px}.photo-dialog img{height:65dvh}.photo-dialog figure{padding:9px}.photo-dialog figcaption{font-size:12px;gap:10px}.photo-dialog-head{padding:11px 13px}.photo-dialog button{width:37px;height:37px}.photo-dialog-nav{gap:6px}}
@media(prefers-reduced-motion:reduce){.work-photo-image{transition:none}.work-photo:hover .work-photo-image{transform:none}}
.project-featured{padding-block:42px 48px}.project-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.project-section-heading h2{font-family:inherit;font-size:32px;line-height:1.15;letter-spacing:-.9px;margin:9px 0 0;color:#142c30}.project-section-heading>p{font-size:14px;color:#587168;margin:0}.project-eyebrow{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:600;letter-spacing:.4px;color:#12824c;margin:0}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.project-card{position:relative;padding:24px;background:#fbfdfc;border:1px solid #d8e8df;border-radius:18px;box-shadow:0 14px 27px -23px #244f3d50;min-width:0;display:flex;flex-direction:column;min-height:310px}.project-card-top{display:flex;align-items:center;gap:10px;margin-bottom:22px}.project-sector-icon{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:linear-gradient(140deg,#e7faf0,#d6efdf);color:#0a8a4b;border:1px solid #bce6cd;border-radius:11px;font-size:18px}.project-sector{font-size:11px;font-weight:600;color:#547667}.project-number{font-size:11px;color:#8ca599;margin-left:auto;font-variant-numeric:tabular-nums}.project-card h3{font-family:inherit;font-size:23px;line-height:1.25;letter-spacing:-.5px;margin:0 0 11px;color:#183c32}.project-scope{font-size:11px;font-weight:600;color:#09874d;margin:0 0 15px;line-height:1.5}.project-summary{font-size:13px;line-height:1.8;color:#51685f;margin:0 0 22px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-open{display:flex;align-items:center;justify-content:space-between;gap:15px;border:0;border-top:1px solid #deebe2;background:transparent;color:#087f42;font-size:12px;font-weight:600;padding:15px 0 0;margin-top:auto;text-align:left;width:100%;min-height:44px}.project-open>i{font-size:11px}.projects-hero{background:radial-gradient(ellipse at 90% 100%,#1a554132,transparent 55%),linear-gradient(125deg,#102329,#183330);color:#eff9f2;padding:40px max(6vw,calc((100vw - 1260px)/2)) 56px}.projects-hero-inner{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:80px}.project-back{display:inline-flex;gap:9px;align-items:center;font-size:11px;color:#bad6c5;margin-bottom:42px}.projects-hero .project-eyebrow{color:#8be6b0}.projects-hero h1{font-family:inherit;font-size:clamp(44px,5.3vw,76px);font-weight:700;letter-spacing:-2.7px;line-height:1.05;margin:18px 0 24px}.projects-hero h1 em{font-style:normal;color:#68dea0}.projects-hero-copy{color:#bdd2c7;font-size:14px;line-height:1.8;max-width:52ch;margin:0}.project-ledger{border-block:1px solid #a8c8b72c}.project-ledger>div{display:flex;align-items:center;gap:17px;padding:23px 0;border-bottom:1px solid #a8c8b72c;font-size:14px;color:#dfede5}.project-ledger>div:last-child{border:0}.project-ledger i{font-size:22px;color:#8de1b0;width:28px;text-align:center}.project-ledger strong{margin-left:auto;font-size:11px;font-weight:400;color:#789e88}.project-catalog{padding-top:42px;padding-bottom:45px}.project-toolbar{display:flex;align-items:center;gap:16px;padding:18px 0;border-block:1px solid #d7e4db}.project-search{display:flex;align-items:center;gap:12px;border:1px solid #cbded0;background:#fff;border-radius:12px;padding:0 15px;min-height:48px;flex:1;color:#68907b}.project-search input{width:100%;min-width:0;padding:12px 0;border:0;background:transparent;font-size:14px;color:#1e4733;outline:none}.project-search:focus-within{outline:2px solid #16874e;outline-offset:2px}.project-sector-filter{display:flex;align-items:center;gap:10px;position:relative;flex:0 0 270px;background:#e4efe7;border:1px solid #d0e3d6;border-radius:12px;padding:0 13px;min-height:48px;color:#50755b}.project-sector-filter>span{font-size:11px}.project-sector-filter select{appearance:none;border:0;background:transparent;padding:12px 22px 12px 4px;flex:1;min-width:0;font-size:13px;color:#284f35}.project-sector-filter i{position:absolute;right:14px;pointer-events:none;font-size:10px}.project-results{font-size:12px;color:#527463;margin:17px 0 20px}.project-load-more{margin:26px auto 0;display:flex}.project-empty{text-align:center;background:#f7fcf8;border:1px solid #d9e9dd;border-radius:16px;padding:35px}.project-empty i{font-size:26px;color:#3a9f67}.project-empty h3{font-family:inherit;font-size:23px;margin:15px 0 6px}.project-empty p{font-size:14px}.project-empty button{background:#147a45;color:#fff;border:0;border-radius:10px;padding:11px 17px}.project-bottom-cta{max-width:1260px;margin:0 auto 40px;padding:32px 38px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#e0eee5;border-radius:20px}.project-bottom-cta h2{font-family:inherit;font-size:29px;letter-spacing:-.7px;line-height:1.2;margin:8px 0 10px;color:#164334}.project-bottom-cta p{font-size:13px;margin:0;color:#516d5c}.project-dialog{position:fixed;inset:0;margin:auto;width:min(720px,calc(100vw - 32px));max-height:85dvh;background:#f8fcf9;color:#244b38;border:1px solid #d3e7d8;border-radius:22px;padding:0;box-shadow:0 30px 100px #001e234d;overscroll-behavior:contain}.project-dialog::backdrop{background:#051d27ac}.project-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 25px;border-bottom:1px solid #d9e8de;position:sticky;top:0;background:#f8fcf9;z-index:2}.project-dialog-head span{font-size:11px;font-weight:600;color:#4b8a63}.project-dialog-close{width:38px;height:38px;border:0;border-radius:11px;background:#e0eee3;color:#265e3c;display:grid;place-items:center;font-size:18px}.project-dialog-body{padding:28px 30px 32px}.project-dialog-body h2{font-family:inherit;font-size:35px;line-height:1.2;letter-spacing:-1px;color:#143b2e;margin:0 0 14px}.project-dialog-body .project-scope{font-size:12px;margin-bottom:25px}.project-dialog-body p:not(.project-scope){font-size:15px;line-height:1.9;margin-bottom:18px}.project-dialog-body .catalog-button{font-size:12px;margin-top:10px}.project-dialog-open{overflow:hidden}
@media(hover:hover) and (pointer:fine){.project-card{transition:transform 200ms var(--ease-out)}.project-card:hover{transform:translateY(-3px);border-color:#acd6b9}.project-open:hover{color:#035a30}.project-open i{transition:transform 200ms var(--ease-out)}.project-open:hover i{transform:translate(2px,-2px)}}
@media(max-width:1000px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-featured .project-card:last-child{grid-column:1/-1;min-height:240px}.projects-hero-inner{gap:30px}.project-bottom-cta{margin-inline:5%}}
@media(max-width:650px){.project-featured{padding-block:30px}.project-section-heading{align-items:start;gap:20px;flex-wrap:wrap}.project-section-heading h2{font-size:27px}.project-section-heading>p{font-size:13px}.project-section-heading .ref-light-button{font-size:11px}.project-grid{grid-template-columns:1fr;gap:14px}.project-card{padding:22px;min-height:280px}.project-featured .project-card:last-child{min-height:280px;grid-column:auto}.project-card h3{font-size:24px}.project-summary{font-size:14px}.projects-hero{padding:25px 6% 33px}.projects-hero-inner{grid-template-columns:1fr;gap:28px}.project-back{margin-bottom:29px}.projects-hero h1{font-size:51px;letter-spacing:-1.7px}.projects-hero-copy{font-size:14px}.project-ledger>div{padding:15px 0;font-size:12px}.project-ledger i{font-size:18px}.project-catalog{padding-block:30px}.project-toolbar{flex-direction:column;align-items:stretch;gap:10px}.project-search input{font-size:16px}.project-sector-filter{flex:auto}.project-sector-filter select{font-size:16px}.project-bottom-cta{flex-direction:column;align-items:start;padding:25px}.project-bottom-cta h2{font-size:26px}.project-dialog-body{padding:24px 21px}.project-dialog-body h2{font-size:29px}.project-dialog-head{padding:15px 20px}}
@media(prefers-reduced-motion:reduce){.project-card,.project-open i{transition:none}.project-card:hover,.project-open:hover i{transform:none}}
