@import url('https://fonts.googleapis.com/css2?family=League+Gothic&family=Barlow+Condensed:wght@600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{--bg:#030404;--text:#efeee9;--muted:#a0aaa9;--purple:#9476d5;--teal:#32c6a0;--blue:#649bb9;--line:#283333}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.7 'IBM Plex Mono',monospace}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--teal);outline-offset:6px}header{height:105px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:20px}.brand{width:275px;height:85px;overflow:hidden;position:relative;display:block}.brand img{position:absolute;width:290px;max-width:none;left:-7px;top:-47px}nav{display:flex;align-items:center;gap:35px;font-size:12px;text-transform:uppercase;letter-spacing:1px}nav a:hover,footer a:hover{color:var(--teal)}.nav-contact{border:1px solid var(--teal);padding:10px 18px}.nav-contact span{margin-left:24px}.hero{max-width:1500px;margin:auto;min-height:660px;padding:80px 5% 70px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:65px}.eyebrow{color:var(--teal);font-size:11px;letter-spacing:1.7px;font-weight:500}.dot{display:inline-block;width:7px;height:7px;background:var(--teal);border-radius:50%;margin-right:8px;box-shadow:0 0 14px #32c6a060}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;line-height:1.02;margin:0;font-weight:700}h1{font-size:clamp(68px,7.8vw,120px);letter-spacing:-2px;margin:27px 0}h1 span,.contact h2 span{background:linear-gradient(100deg,var(--purple),var(--blue) 50%,var(--teal));background-clip:text;color:transparent}.intro{font-size:15px;color:#bec6c3;line-height:1.9;margin:0 0 32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--teal);color:#001b15;padding:15px 20px;font-size:12px;font-weight:600;box-shadow:4px 4px 0 #163d35;transition:background .15s,transform .15s}.button:hover{background:#7de2c8;transform:translateY(-2px)}.micro{font-size:9px;letter-spacing:1.4px;color:#83918b;margin-top:25px}.signal{border:1px solid #45616a;background:repeating-linear-gradient(0deg,transparent,transparent 3px,#88bad008 4px),radial-gradient(ellipse at center,#122229 0%,#030404 70%);position:relative}.signal-top,.signal-bottom{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;font-size:9px;letter-spacing:1px;color:var(--blue)}.signal-top{border-bottom:1px solid var(--line)}.signal-bottom{border-top:1px solid var(--line);color:var(--teal)}.emblem{position:relative;min-height:340px;display:flex;align-items:center;justify-content:center;overflow:hidden}.emblem img{width:95%;position:relative;filter:drop-shadow(0 0 20px #538b9b20)}.orbit{position:absolute;inset:13%;border:1px solid #53727f35;border-radius:50%}.orbit:before,.orbit:after{content:'';position:absolute;background:#53727f25}.orbit:before{width:150%;height:1px;top:50%;left:-25%}.orbit:after{height:150%;width:1px;left:50%;top:-25%}.bars{letter-spacing:1px}.ticker{display:flex;justify-content:space-around;align-items:center;gap:20px;padding:22px 5%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;letter-spacing:1px;color:#b2bdb8}.ticker b{color:var(--purple)}.section{max-width:1500px;margin:auto;padding:85px 5%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}h2{font-size:clamp(38px,4vw,58px)}.section-heading>p{font-size:12px;color:var(--muted);margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}article{border:1px solid var(--line);padding:26px 25px 22px;background:linear-gradient(145deg,#0d1011,#040606);display:flex;flex-direction:column;transition:border-color .2s}article:hover{border-color:var(--teal)}.card-top{display:flex;justify-content:space-between;align-items:center;color:var(--purple);font-size:10px;letter-spacing:1px;margin-bottom:26px}.card-top span+span{font-size:24px;line-height:1}h3{font-size:32px}article p{font-size:12px;color:var(--muted);margin:18px 0 27px;flex:1}.tag{font-size:9px;letter-spacing:.7px;border-top:1px solid var(--line);padding-top:16px;color:#abb6b1}.approach{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:65px}.round-wrap{overflow:hidden}.round-wrap img{width:145%;max-width:none;margin-left:-22.5%;display:block}.approach p:not(.eyebrow){color:var(--muted);font-size:13px;max-width:630px}.approach .philosophy{color:#dce1dd!important;font-size:16px!important;line-height:1.9;margin:25px 0}.contact{border-top:1px solid var(--line);position:relative;background:radial-gradient(ellipse at 90% 95%,#14332d60,transparent 60%)}.contact h2{font-size:clamp(60px,7vw,94px);margin:23px 0}.contact>p:not(.eyebrow){color:var(--muted)}.contact-note{display:inline-block;border:1px solid var(--line);padding:14px 19px;margin-top:20px;font-size:12px;color:#bac6c0}footer{border-top:1px solid var(--line);padding:28px 5%;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:1px;color:#85948d}@media(min-width:1600px){header,footer{padding-left:max(5%,calc((100vw - 1350px)/2));padding-right:max(5%,calc((100vw - 1350px)/2))}}@media(max-width:900px){.hero{gap:25px;padding-top:55px;min-height:570px}.signal-top span:last-child{display:none}.emblem{min-height:260px}.cards{grid-template-columns:repeat(2,1fr)}.approach{gap:25px}.ticker{font-size:9px}.section-heading{align-items:start}nav{gap:20px}}@media(max-width:640px){header{height:auto;min-height:110px;flex-wrap:wrap;gap:0;padding-bottom:15px}.brand{width:235px;height:72px}.brand img{width:250px;top:-40px}nav{width:100%;justify-content:space-between;font-size:10px}.nav-contact{padding:6px 10px}.hero{grid-template-columns:1fr;padding:40px 6%}.hero h1{font-size:76px}.intro{font-size:13px}.signal{margin-top:18px}.emblem{min-height:280px;max-height:350px}.ticker{flex-wrap:wrap;justify-content:center;gap:12px}.ticker b{display:none}.ticker span{width:44%;font-size:8px;text-align:center}.section{padding:55px 6%}.section-heading{display:block}.section-heading>p{margin-top:20px}.cards{grid-template-columns:1fr}article{padding:25px}.approach{grid-template-columns:1fr}.round-wrap{max-width:290px;margin:auto}.approach>div:last-child{grid-row:1}footer{flex-wrap:wrap;font-size:8px}footer span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.brand{flex-shrink:0}nav a{white-space:nowrap}@media(min-width:641px) and (max-width:760px){header{padding:0 4%;gap:12px}.brand{width:220px}.brand img{width:230px;top:-33px}nav{gap:12px;font-size:9px}.nav-contact{padding:8px}.nav-contact span{margin-left:7px}.hero{grid-template-columns:1fr}.signal{max-width:480px;width:100%;margin:auto}.hero h1{font-size:90px}}

/* Angular display lettering echoes the logo; body copy stays easy to read. */
h1,h2{font-family:'League Gothic','Arial Narrow',sans-serif;font-style:normal;font-weight:400;text-transform:uppercase;letter-spacing:-.04em;line-height:1.12}
h1{font-size:clamp(42px,5vw,76px)}h2{font-size:clamp(28px,3vw,44px)}
.contact h2{font-size:clamp(38px,5vw,72px)}
.cursor{display:inline-block;width:.6em;height:1em;margin-left:.65em;background:var(--teal);vertical-align:-.1em;animation:cursor-blink 1.3s step-end infinite;box-shadow:0 0 8px #32c6a030}
@keyframes cursor-blink{0%,49%{opacity:1}50%,100%{opacity:0}}
.contact-details{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;gap:20px 30px}.contact-name{flex-basis:100%;font-size:20px;color:var(--text);margin:0}.contact-name span{display:block;font-size:12px;color:var(--purple);margin-top:4px;letter-spacing:1px}.phone{font-size:18px;border-bottom:1px solid var(--teal);padding:8px 0}.phone:hover{color:var(--teal)}
@media(max-width:760px){.hero h1{font-size:clamp(32px,7.5vw,57px)}.approach h2{font-size:clamp(26px,5vw,38px)}}
@media(prefers-reduced-motion:reduce){.cursor{animation:none}}

.automation-brand{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.automation-brand img{display:block;width:120px;height:auto;object-fit:contain}

/* Banner-matched display type across the four major headings. */
h1,h2{letter-spacing:.01em;line-height:1.05}h1{font-size:clamp(64px,7.8vw,116px)}h2{font-size:clamp(38px,4.5vw,64px)}.contact h2{font-size:clamp(58px,7vw,96px)}@media(max-width:760px){.hero h1{font-size:clamp(52px,11vw,84px)}.approach h2{font-size:clamp(36px,7vw,52px)}}

@font-face{font-family:"The Brown";src:url("assets/the-brown.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap}h1,h2{font-family:"The Brown","League Gothic",sans-serif;font-weight:400}

.cursor-thin{width:1px;height:1.1em;margin-left:.25em;box-shadow:none;background:currentColor;vertical-align:-.16em}
.lifestyle{border-top:1px solid var(--line)}.lifestyle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.lifestyle figure{margin:0;border:1px solid var(--line);background:#080c0c;overflow:hidden}.lifestyle img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.lifestyle figcaption{padding:17px 18px;font-size:11px;color:#bac8c2;line-height:1.6}.lifestyle figure:nth-child(3) img{object-fit:contain;background:#eee}@media(max-width:900px){.lifestyle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.lifestyle-grid{grid-template-columns:1fr}}

.emblem.slideshow{height:auto;min-height:0;max-height:none;aspect-ratio:3/2;display:block;position:relative;background:#030707}
.emblem.slideshow .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease;filter:none;pointer-events:none}
.emblem.slideshow .slide.active{opacity:1}.emblem.slideshow .icon-slide{object-fit:contain;padding:14px}.emblem.slideshow .product-slide{object-fit:contain;background:#ececec}
.slide-controls{display:flex;justify-content:center;align-items:center;gap:18px;padding:8px;border-top:1px solid var(--line);font-size:10px;color:var(--blue)}.slide-controls button{background:transparent;border:1px solid var(--line);color:var(--teal);font:inherit;padding:6px 12px;cursor:pointer;min-height:34px}.slide-controls button:hover{border-color:var(--teal)}.slide-controls button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.emblem.slideshow .slide{transition:none}}

/* Match prose to the Systems label and service titles to the brand headings. */
.intro,.section-heading>p,article p,.approach p:not(.eyebrow),.contact>p:not(.eyebrow){font-family:"IBM Plex Mono",monospace;font-weight:500}
h3{font-family:"The Brown","League Gothic",sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1.12}

/* Prose uses the complete section-label treatment requested by the owner. */
.intro,.section-heading>p,article p,.approach p:not(.eyebrow),.approach .philosophy,.contact>p:not(.eyebrow){font-family:"IBM Plex Mono",monospace;font-size:11px!important;font-weight:500;letter-spacing:1.7px;line-height:1.7;text-transform:uppercase;color:var(--teal)!important}

.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}
.about-copy>p,.contact-name span{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:500;letter-spacing:1.7px;line-height:1.7;text-transform:uppercase;color:var(--teal)}
.about-copy>p{margin:22px 0}.about-copy>.eyebrow{margin-top:0}.about-copy>.about-role{color:var(--purple)}
.portrait-placeholder{aspect-ratio:4/5;border:1px solid var(--line);background:linear-gradient(145deg,#101018,#040b09);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--purple);font-size:11px;letter-spacing:1.7px;text-transform:uppercase}.portrait-placeholder span+span{color:var(--teal)}
@media(max-width:900px){header{height:auto;min-height:105px;flex-wrap:wrap;padding-top:8px;padding-bottom:15px}nav{width:100%;justify-content:space-between;gap:10px}.about{grid-template-columns:1fr;gap:30px}.portrait-placeholder{width:100%;max-width:320px;justify-self:center}}

.speaker-logos{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:20px}.speaker-logos img{display:block;width:95px;height:32px;object-fit:contain;filter:brightness(0) invert(1)}.speaker-logos img+img{width:125px}

/* Keep the headshot flush with its border at its natural proportions. */
.portrait-placeholder{aspect-ratio:auto;display:block;overflow:hidden}

.partner-logos{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:20px}.partner-logos img{display:block;object-fit:contain;max-width:100%}.araknis-logo{width:128px;height:37px}.ubiquiti-brand{display:flex;align-items:center;gap:9px;font:20px Arial,sans-serif;color:#fff;letter-spacing:0}.ubiquiti-brand img{width:36px;height:36px;border-radius:5px}.lux-brand{display:flex;align-items:center;gap:12px}.lux-brand img{width:100px;height:auto}.lux-brand span{font:24px Arial,sans-serif;letter-spacing:3px;color:#fff}.radiora-logo{width:210px;height:auto}.lighting-logos{align-items:flex-start;flex-direction:column}

.av-logos img,.security-logos img{width:125px;height:36px;object-fit:contain;filter:brightness(0) invert(1)}
.av-logos img[src*="yamaha.svg"]{height:auto}

/* Shared label sizes remain readable across desktop and mobile layouts. */
.signal-top,.slide-count{font-size:11px;color:var(--purple)}
.ticker,.ticker span{font-size:11px;color:var(--text)}
.ticker{flex-wrap:wrap}
.card-top{font-size:11px;gap:12px}.card-top>span:first-child{min-width:0}.card-top>span+span,.card-top>svg{flex-shrink:0}
.hue-logo{width:100px;height:auto}
