:root{--navy:#07192f;--navy2:#102d4d;--blue:#0878f9;--cyan:#50c9f6;--ink:#172d45;--muted:#607187;--border:#e3eaf2;--pale:#f4f8fc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%}.wrap{max-width:1190px;margin:auto;padding:0 28px}h1,h2,h3{font-family:'Space Grotesk',sans-serif;letter-spacing:-.04em}h1,h2,h3,p{margin-top:0}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:15px;z-index:99;background:#fff;padding:10px}.site-header{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.1)}.header-inner{min-height:83px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand img{max-height:47px;max-width:190px;object-fit:contain}.brand-fallback,.footer-brand{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.13em;color:#fff}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{color:#d4e2ef;font-size:13px;font-weight:700}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:#fff}.nav-contact{border:1px solid #46617c;padding:11px 17px;border-radius:5px}.site-header nav a.lang{color:#7fd5ff}.hero{background:radial-gradient(circle at 76% 52%,#123a66 0%,var(--navy) 53%);color:#fff;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;min-height:490px;gap:60px}.hero-copy{padding:75px 0 85px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#8ed8ff;display:flex;align-items:center;gap:11px}.dot{width:8px;height:8px;border-radius:50%;background:#54d5ff;box-shadow:0 0 0 5px rgba(84,213,255,.12)}.hero h1{font-size:clamp(43px,5.2vw,73px);line-height:1.07;margin:26px 0 22px;max-width:710px}.hero h1 em{font-style:normal;color:#68cfff}.hero p{font-size:17px;line-height:1.85;max-width:570px;color:#bfd0df;margin-bottom:31px}.button{display:inline-flex;align-items:center;gap:28px;border-radius:5px;padding:16px 22px;font-weight:700;font-size:13px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:#fff}.button-primary:hover{background:#2692ff}.hero-graphic{height:350px;position:relative;display:grid;place-items:center}.orbit{border:1px solid rgba(124,190,238,.22);border-radius:50%;position:absolute;inset:10px 12px;transform:rotate(-26deg)}.orbit-two{inset:50px 65px;transform:rotate(28deg);border-style:dashed}.chip{height:155px;width:155px;border:2px solid #419ad5;background:linear-gradient(135deg,#133d66,#071b36);box-shadow:0 0 70px rgba(14,137,237,.18),inset 0 0 30px rgba(11,135,234,.13);border-radius:22px;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-12deg);z-index:1}.chip span{font:700 64px 'Space Grotesk';letter-spacing:-.08em;color:#c9efff}.chip small{letter-spacing:.21em;font-size:9px;color:#76bfe8}.node{position:absolute;width:11px;height:11px;border-radius:50%;background:#55c8ff;box-shadow:0 0 25px #55c8ff}.n1{left:8%;top:30%}.n2{right:12%;top:22%}.n3{right:19%;bottom:14%}.section{padding:88px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.eyebrow-blue{color:#0875e2}.section-number{font-size:11px;letter-spacing:.1em;color:#91a1b0}.featured-section{background:#fff}.featured-card{border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;box-shadow:0 18px 45px rgba(16,42,67,.06)}.featured-media{position:relative;background:#e8f0f6;min-height:420px;display:flex;align-items:center;justify-content:center;padding:28px}.featured-media img{width:100%;height:100%;max-height:440px;object-fit:contain}.media-caption{position:absolute;bottom:18px;left:22px;color:#385d7d;font-size:10px;letter-spacing:.15em;font-weight:700;background:rgba(255,255,255,.9);padding:9px 11px}.featured-content{padding:58px 51px;display:flex;flex-direction:column;align-items:flex-start}.type-label{color:#0878f9;font-size:10px;font-weight:800;letter-spacing:.13em}.featured-content h2{font-size:clamp(29px,3vw,43px);line-height:1.18;margin:20px 0}.featured-content p,.section-intro p,.capability-layout p{color:var(--muted);line-height:1.85;font-size:15px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}.tags span{font-size:11px;font-weight:700;color:#42617e;background:#edf4fa;padding:8px 11px;border-radius:4px}.text-link{color:#0878f9;font-weight:800;font-size:14px;margin-top:auto;border-bottom:1px solid #b7d9fc;padding-bottom:8px}.text-link span{margin-left:20px}.research-note{font-size:11px;color:#8b99a8;margin:15px 0 0}.work-section{background:var(--pale)}.section-intro{max-width:680px;margin-bottom:38px}.section-intro h2,.capability-layout h2{font-size:clamp(32px,3.4vw,47px);line-height:1.18;margin-bottom:16px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.project-card{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(16,42,67,.03)}.project-visual{height:226px;position:relative;display:grid;place-items:center;overflow:hidden}.visual-hub{background:radial-gradient(circle,#174b71,#0a253f)}.visual-poe{background:radial-gradient(circle,#195b73,#0b2c45)}.visual-thermo{background:radial-gradient(circle,#344f75,#112440)}.visual-index{position:absolute;top:18px;left:19px;color:#a8d2e9;font-size:10px;font-weight:700;letter-spacing:.15em}.pcb,.controller{width:190px;height:125px;border:2px solid #4aafbd;border-radius:7px;background:repeating-linear-gradient(90deg,transparent 0 25px,rgba(103,212,208,.09) 26px 27px),#12616c;box-shadow:0 20px 40px rgba(0,0,0,.3);transform:rotate(-10deg);position:relative;display:flex;align-items:center;justify-content:center}.pcb-chip,.controller-chip{width:76px;height:58px;background:#183044;color:#b2e5e8;border:1px solid #8abcc2;border-radius:4px;display:grid;place-items:center;font-size:12px;font-weight:700}.pcb-pins{position:absolute;inset:8px;border-top:5px dotted #a4c8b9;border-bottom:5px dotted #a4c8b9}.pcb-ports{position:absolute;right:5px;top:12px;height:90px;border-right:10px dotted #d1b56c}.controller{background:#175769;transform:rotate(8deg)}.ethernet-port{position:absolute;top:12px;left:10px;background:#d2dde5;border:5px solid #7e9bab;border-radius:3px;width:42px;height:38px;color:#405363;font-size:9px;text-align:center;padding-top:8px}.terminal-block{position:absolute;bottom:6px;left:10px;right:10px;height:18px;background:repeating-linear-gradient(90deg,#207e53 0 13px,#104b34 13px 16px)}.thermostat{height:170px;width:142px;border-radius:21px;background:#eef5fa;border:7px solid #c7d5df;box-shadow:0 18px 35px rgba(0,0,0,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-7deg)}.thermo-screen{height:94px;width:111px;background:#173c5c;color:#fff;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center}.thermo-screen span{font:600 31px 'Space Grotesk'}.thermo-screen small{font-size:8px;letter-spacing:.12em;color:#96c5e5}.thermo-controls{color:#658ca7;font-size:11px;padding-top:13px}.project-body{padding:28px 25px 25px;display:flex;flex-direction:column;flex:1}.project-body h3{font-size:25px;margin:12px 0}.project-body p{color:var(--muted);font-size:14px;line-height:1.8;flex:1}.tags-small{margin:12px 0 24px}.tags-small span{font-size:10px;padding:7px 8px}.coming-soon{border-top:1px solid var(--border);padding-top:17px;color:#72859a;font-size:12px;font-weight:700}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a2b4c5;margin-right:8px}.capability-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.capability-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.capability-list span{border:1px solid var(--border);border-radius:6px;padding:18px;font-size:13px;font-weight:700;color:#36546f;background:#f9fbfe}.capability-list span:before{content:'↗';color:#0878f9;margin-right:10px}.cta-section{background:linear-gradient(110deg,#0b2a4c,#07508e);color:#fff;padding:75px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-inner h2{font-size:clamp(32px,3.5vw,46px);max-width:650px;line-height:1.2;margin:18px 0}.cta-inner p{color:#b9d8ef;line-height:1.7;max-width:570px;margin-bottom:0}.button-light{background:#fff;color:#10446e;white-space:nowrap}.footer{background:#061629;color:#8196a9;padding:27px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}@media(max-width:1000px){.hero-inner{gap:10px}.featured-content{padding:36px 30px}.project-grid{gap:14px}.project-body{padding:23px 18px}.capability-layout{gap:35px}}@media(max-width:760px){.wrap{padding:0 20px}.header-inner{min-height:74px}.brand img{max-width:135px}.site-header nav{gap:15px}.site-header nav a{font-size:12px}.nav-contact{padding:9px}.hero-inner{grid-template-columns:1fr;min-height:0}.hero-copy{padding:78px 0}.hero-graphic{display:none}.hero h1{font-size:clamp(41px,9vw,62px)}.section{padding:65px 0}.featured-card{grid-template-columns:1fr}.featured-media{min-height:270px}.featured-content{padding:35px 26px}.project-grid{grid-template-columns:1fr}.project-visual{height:220px}.capability-layout{grid-template-columns:1fr}.cta-inner{align-items:flex-start;flex-direction:column}.footer-inner{flex-wrap:wrap}.section-intro h2{font-size:35px}}@media(max-width:420px){.site-header nav{gap:10px}.site-header nav a:first-child{display:none}.nav-contact{padding:8px}.hero p{font-size:15px}.capability-list{grid-template-columns:1fr}.featured-media{min-height:220px}.featured-content h2{font-size:30px}}

/* HA Box portfolio card */
.visual-ha{background:radial-gradient(circle at 70% 25%,#27619b,#091d35 75%);display:flex;align-items:center;justify-content:center;min-height:240px;position:relative}.ha-box-visual{width:185px;height:155px;border-radius:24px;background:linear-gradient(145deg,#263e57,#0c1829);border:2px solid #52718c;box-shadow:14px 20px 35px #0006,inset 0 0 0 5px #14283e;display:flex;align-items:center;justify-content:center;flex-direction:column;color:white;transform:rotate(-7deg);position:relative}.ha-box-visual strong{font-size:40px;letter-spacing:-4px}.ha-box-visual small{letter-spacing:5px;font-size:12px}.ha-box-visual span{position:absolute;bottom:13px;font-size:8px;letter-spacing:1px;color:#a4d7ed}.ha-box-led{position:absolute;right:20px;top:18px;background:#52e5b0;width:7px;height:7px;border-radius:50%;box-shadow:0 0 12px #52e5b0}
