:root{--black:#0b0b0c;--graphite:#2b2b2b;--silver:#c9c9c9;--white:#fff;--bg:#0b0b0c;--muted:#aeb7bd;--line:rgba(255,255,255,.18);--max:1380px}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;color:var(--white);background:linear-gradient(180deg,#0b0b0c,#0b0b0c);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.top{min-height:78px;border-bottom:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:330px 1fr auto;align-items:center;padding:0 4vw;gap:28px}.brand{display:flex;align-items:center;min-width:0;font-size:12px;letter-spacing:.18em;color:var(--silver);text-decoration:none;text-transform:uppercase}.route-brand-lockup{display:block;width:238px;height:auto;max-height:58px;object-fit:contain;object-position:left center}.nav{display:flex;justify-content:center;gap:28px;flex-wrap:wrap}.nav a,.utility a{color:#fff;text-decoration:none;font-size:12px}.utility{display:flex;gap:18px;align-items:center}.route-knx-credential{display:flex;align-items:center;padding-left:16px;margin-left:4px;border-left:1px solid rgba(255,255,255,.18);min-height:32px}.route-knx-mark{display:block;width:52px;height:auto;max-height:34px;object-fit:contain}.page-hero{min-height:520px;padding:92px 4vw 66px;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 30%,rgba(201,201,201,.14),transparent 27%),linear-gradient(135deg,#0b0b0c 0%,#2b2b2b 62%,#0b0b0c 100%)}.page-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,transparent,black)}.hero-inner{position:relative;z-index:2;max-width:var(--max);margin:auto}.eyebrow{font-size:11px;letter-spacing:.32em;color:var(--silver);text-transform:uppercase}.page-hero h1{font-size:clamp(54px,7vw,112px);line-height:.9;font-weight:300;letter-spacing:-.04em;margin:22px 0;max-width:1000px}.page-hero p{max-width:720px;color:#d7dde1;font-size:19px;line-height:1.55}.cta{display:inline-flex;border:1px solid rgba(255,255,255,.48);padding:15px 20px;margin-top:20px;color:#fff;text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.content{max-width:var(--max);margin:auto;padding:64px 4vw 78px}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding-bottom:54px;border-bottom:1px solid var(--line)}.intro h2,.section h2{font-size:clamp(32px,4vw,58px);font-weight:300;line-height:1.02;margin:0}.intro p{color:#c7d0d5;font-size:17px;line-height:1.65;margin:0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.card{min-height:235px;border:1px solid var(--line);padding:26px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.005))}.card .no{color:var(--silver);font-size:12px;letter-spacing:.18em}.card h3{font-size:25px;font-weight:400;line-height:1.1;margin:34px 0 18px}.card p{font-size:14px;line-height:1.55;color:#b7c0c6}.section{padding-top:64px}.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 4vw;display:flex;justify-content:space-between;gap:30px;align-items:center}.band strong{font-size:28px;font-weight:300}.band span{color:var(--silver);font-size:12px;letter-spacing:.08em}.footer{padding:34px 4vw 54px;display:grid;grid-template-columns:1fr auto;gap:30px;color:#aab2b7;font-size:12px}.footer a{color:#fff;text-decoration:none}.status{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8f9aa1;margin-top:24px}.evidence-note{border-left:2px solid var(--silver);padding-left:18px;color:#cbd2d6}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.step{border-top:1px solid var(--silver);padding-top:20px}.step:before{counter-increment:step;content:"0" counter(step);display:block;color:#879198;font-size:11px;letter-spacing:.16em;margin-bottom:24px}.step h3{font-size:23px;font-weight:400}.step p{color:#b9c2c7;line-height:1.55;font-size:14px}@media(max-width:900px){.top{grid-template-columns:1fr auto;padding:0 20px}.nav{display:none}.route-brand-lockup{width:210px;max-height:52px}.route-knx-credential{padding-left:10px}.route-knx-mark{width:44px}.page-hero{min-height:450px;padding-top:72px}.intro{grid-template-columns:1fr;gap:24px}.grid,.steps{grid-template-columns:1fr}.band{align-items:flex-start;flex-direction:column}.footer{grid-template-columns:1fr}}@media(max-width:560px){.top{grid-template-columns:1fr auto;gap:10px}.route-brand-lockup{width:180px;max-height:46px}.route-knx-credential{display:none}.utility{gap:8px}}
/* Search leaves reference source content and attribution untouched. */
.reference-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:32px;padding:24px;border:1px solid #555;border-radius:12px}
.reference-search label,.reference-search p{grid-column:1/-1}
.reference-search label{font-size:18px;color:#fff}
.reference-search input,.reference-search button{min-height:44px;padding:12px;border:1px solid #777;border-radius:6px;font:inherit;color:#fff;background:#171717}
.reference-search input{width:100%;min-width:0}.reference-search input::placeholder{color:#c9c9c9}
.reference-search button{cursor:pointer}.reference-search :focus-visible{outline:2px solid #fff;outline-offset:4px}
.portfolio-content [hidden]{display:none!important}
@media(max-width:600px){.reference-search{grid-template-columns:1fr;padding:18px}}
