:root{--ink:#262626;--night:#1c1c1c;--teal:#76ded1;--muted:#7c7c7c;--line:#dce7e5}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.7 'Segoe UI',Arial,sans-serif;background:#fafcfa}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #098c83;outline-offset:5px}.brand{font-size:30px;letter-spacing:-2px;font-weight:800}.brand span{color:#22aaa0}header{padding:22px max(24px,calc((100vw - 1200px)/2));display:flex;gap:40px;justify-content:space-between;align-items:center;background:var(--night);color:white}nav{display:flex;gap:28px;font-size:12px}nav a:hover{color:var(--teal)}main{max-width:1200px;padding:0 28px 85px;margin:auto}.breadcrumbs{font-size:11px;color:var(--muted);padding:30px 0;overflow-wrap:anywhere}.breadcrumbs a:hover{text-decoration:underline}h1{font-size:clamp(36px,5.5vw,68px);letter-spacing:-.055em;line-height:1.1;margin:20px 0 27px;overflow-wrap:anywhere}h2{line-height:1.3;letter-spacing:-.03em}.intro{padding:35px 0 30px}.intro p{max-width:600px;color:var(--muted)}small{font-size:10px;letter-spacing:.13em;color:#16877d}.filters{display:flex;gap:18px;padding:24px;background:#eef4f2;align-items:end;margin:20px 0}label{font-size:11px;font-weight:600;flex:1}input,select,button{font:inherit}input,select{width:100%;display:block;background:white;border:1px solid #ceddd9;padding:12px;margin-top:7px;color:var(--ink);min-width:0}button,.button{display:inline-block;padding:13px 22px;background:var(--night);color:white;border:0;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.filters>a{font-size:12px;padding-bottom:12px}.count{font-size:12px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:white;border:1px solid var(--line);min-width:0}.cover{height:220px;background:radial-gradient(ellipse at center,#fff,#e6eeeb);display:grid;place-items:center;overflow:hidden;position:relative}.cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.card:hover img{transform:scale(1.04)}.card-body{padding:25px}.card h2{font-size:22px;margin:10px 0;overflow-wrap:anywhere}.card p{font-size:13px;color:var(--muted);white-space:pre-line}.more{display:block;color:#0b877d;font-size:11px;margin-top:23px;font-weight:700}.light-art{display:block;width:65%;height:22px;background:linear-gradient(#e9eeee,#949494 40%,#363636 42%,#b9d7d1 78%,#fff 81%);box-shadow:0 24px 18px #3e3e3e22;transform:rotate(-25deg)}.placeholder{position:absolute;bottom:15px;font-size:9px;color:var(--muted)}.detail{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding:30px 0 65px}.detail-image{min-height:420px;background:radial-gradient(ellipse at center,#fff,#e6eeeb);display:flex;align-items:center;justify-content:center;position:relative}.detail-image img{width:100%;max-height:550px;object-fit:contain}.detail h1{font-size:clamp(35px,4vw,56px)}.description{white-space:pre-line;color:var(--muted);margin-bottom:28px}.back{font-size:11px;display:block;margin-top:20px;color:var(--muted)}.sample{font-size:12px;padding:15px;background:#f7f2e7;color:#877333}.panel{padding:35px 0;border-top:1px solid var(--line)}.panel h2,.related h2{font-size:29px}.panel pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:#eef4f2;padding:26px;max-width:750px}.panel p{color:var(--muted);font-size:13px}.download{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}.download small{display:block;letter-spacing:0;color:var(--muted);margin-top:5px}.download b{font-size:12px;color:#14867d;white-space:nowrap}.related{margin-top:45px}.empty{grid-column:1/-1;padding:50px;text-align:center;background:#eef4f2;color:var(--muted)}footer{background:var(--night);padding:40px max(28px,calc((100vw - 1144px)/2));color:white}footer p,footer>a:last-child{font-size:11px;color:#b5b5b5}@media(max-width:760px){header{align-items:start;gap:20px}nav{flex-wrap:wrap;gap:8px 16px;justify-content:end;font-size:11px}.brand{font-size:25px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{flex-wrap:wrap;gap:12px}.filters label{flex:1 1 200px}.detail{grid-template-columns:1fr;gap:30px;padding-top:5px}.detail-image{min-height:280px}.detail h1{margin-top:12px}.card-body{padding:16px}.card h2{font-size:18px}.cover{height:170px}main{padding:0 20px 50px}}@media(max-width:460px){.cards{grid-template-columns:1fr}.cover{height:220px}.filters label{flex-basis:100%}}
.resource-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}.resource-row h2{font-size:23px;margin:8px 0}.resource-row p,.service-card p{font-size:13px;color:var(--muted)}.resource-row .more{margin-top:10px}.resource-row .button{flex-shrink:0}.service-card{border:1px solid var(--line);padding:30px;background:white}.service-card h2{font-size:25px}.elco-panel a{margin:0}.elco-panel form{width:100%}@media(max-width:600px){.resource-row{align-items:start;flex-direction:column;gap:15px}}
.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.project-facts div{border-top:1px solid var(--line);padding-top:12px}.project-facts dt{font-size:10px;color:var(--muted)}.project-facts dd{margin:4px 0 0;font-size:14px;overflow-wrap:anywhere}
/* Shared borderless dropdowns and filter fields throughout the public site. */
:root body select,:root body select:focus,:root body select:focus-visible,
:root body .filters input,:root body .technical-filters input,:root body .elco-search input,
:root body .filters input:focus,:root body .technical-filters input:focus,:root body .elco-search input:focus,
:root body .filters input:focus-visible,:root body .technical-filters input:focus-visible,:root body .elco-search input:focus-visible,
:root body summary:focus,:root body summary:focus-visible,
:root body .official-facets input:focus,:root body .official-facets input:focus-visible{border:0;outline:0;box-shadow:none}
:root body select:focus-visible{text-decoration:underline;text-underline-offset:4px}
:root body summary:focus-visible{text-decoration:underline;text-underline-offset:5px}
:root body .official-facets label:has(input:focus-visible){text-decoration:underline;text-underline-offset:4px}
/* ELcoled monochrome palette, shared by every public page. */
:root{--elco-blue:#000000;--elco-blue-hover:#222222;--elco-on-blue:#fff;--elco-ink:#282828;--elco-surface:#f6f6f6;--elco-line:#e0e0e0}
body{--night:var(--elco-blue);--accent:var(--elco-blue);--line:var(--elco-line)}
