@charset "UTF-8";
:root{color-scheme:light;--bg:#f4f6f8;--surface:#e9eef3;--card:#ffffff;--ink:#182536;--muted:#3d4d63;--line:#718399;--accent:#164d8f;--button-ink:#ffffff;--grid:#d7e0e9;--header:#f4f6f8;--error:#922820;--input:#ffffff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font:16px/1.65 Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--accent);color:var(--button-ink)}.container{width:min(1280px,calc(100% - 96px));margin-inline:auto}.header{position:sticky;top:0;z-index:20;background:var(--header);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:26px;min-height:94px}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0;font-size:19px;letter-spacing:1px;font-weight:700;line-height:1.4}.brand small{display:block;font-size:18px;font-weight:400;letter-spacing:.5px;color:var(--muted);margin-top:5px}.brand .brand-systems{color:var(--accent);font-size:14px;font-weight:700;letter-spacing:1px}.header nav{display:flex;gap:24px;margin-left:auto;align-items:center;font-size:18px}.header nav a{padding-block:34px;white-space:nowrap;border-bottom:2px solid transparent}.header nav a:hover,.header nav a[aria-current]{color:var(--accent);border-color:var(--accent)}.menu-toggle{border:1px solid var(--line);color:var(--ink);background:transparent;border-radius:4px;min-width:40px;min-height:40px}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--accent);color:var(--button-ink);padding:12px}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding-block:83px 75px}.eyebrow{display:block;font:15px/1.7 "Courier New",monospace;letter-spacing:1.8px;color:var(--accent);font-weight:bold}.eyebrow i,.diagram-top i,.diagram-bottom i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:9px;vertical-align:middle}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,4.2vw,62px);line-height:1.1;letter-spacing:-2px;margin-block:25px 24px;font-weight:600}h2{font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-1.3px;font-weight:500;margin-block:17px 30px}h3{font-size:21px;font-weight:500;line-height:1.35;letter-spacing:-.4px}.accent{color:var(--accent)}.lead{font-size:17px;line-height:1.8;color:var(--muted);max-width:680px}.hero .lead{max-width:520px}.actions{display:flex;gap:12px;margin-top:31px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:13px 20px;background:var(--accent);border:1px solid var(--accent);border-radius:3px;color:var(--button-ink);font-size:13px;font-weight:600;transition:transform .15s,filter .15s}.button:hover{filter:none;transform:translateY(-2px);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.button span{font-size:20px;line-height:1}.button.secondary{color:var(--ink);background:transparent;border-color:var(--line)}.hero-foot{font-size:18px;line-height:1.6;color:var(--muted);margin-top:29px;padding-left:14px;border-left:2px solid var(--line)}.hero-visual{padding-top:29px;min-width:0}.diagram{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 25px 65px #00000012;overflow:hidden}.diagram-top,.diagram-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 20px;color:var(--muted);font:13.5px/1.5 "Courier New",monospace;letter-spacing:.7px}.diagram-top{border-bottom:1px solid var(--line)}.diagram-top span:first-child{color:var(--ink)}.diagram-bottom{border-top:1px solid var(--line);font-size:13.5px;letter-spacing:0}.process-svg{display:block;width:100%;height:auto}.grid-dot{fill:var(--grid)}.pipe{fill:none;stroke:var(--line);stroke-width:3}.pipe .flow{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:5 8;animation:flow 12s linear infinite}.node{fill:var(--card);stroke:var(--muted);stroke-width:1}.svg-muted{fill:var(--muted)}.svg-text{fill:var(--ink)}.equipment{fill:none;stroke:var(--accent);stroke-width:1.4}.equipment .led{fill:var(--accent)}.visual-caption{display:flex;justify-content:space-between;font:13.5px "Courier New",monospace;letter-spacing:1px;color:var(--muted);margin-top:20px}.domain-strip{border-block:1px solid var(--line)}.domain-strip .container{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:25px;color:var(--muted);font-size:18px}.domain-strip span:first-child{font:13.5px "Courier New",monospace;color:var(--accent);letter-spacing:1.2px}.section{padding-block:86px}.section.compact{padding-top:20px}.surface{background:var(--surface);border-block:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.text-link{font-size:13px;color:var(--accent);font-weight:600;display:inline-block}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:28px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:background .2s}.service-card:hover{background:var(--surface)}.card-top{display:flex;justify-content:space-between;margin-bottom:27px}.number{font:18px "Courier New",monospace;color:var(--accent)}.arrow{color:var(--muted)}.service-card p{color:var(--muted);font-size:14px;line-height:1.8}.service-card h3{max-width:300px}.tech-label{font:15px/1.8 "Courier New",monospace;color:var(--accent);margin-top:auto;padding-top:24px}.custom-card{background:var(--surface);justify-content:center}.custom-card h3{font-size:26px;margin-top:24px}.heading-note{font-size:13px;color:var(--muted);margin-bottom:3px}.solution-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.solution-tile{padding:26px;background:var(--bg);border:1px solid var(--line);border-radius:4px}.solution-tile:hover{border-color:var(--accent)}.tile-drawing{height:130px;display:flex;align-items:center;justify-content:center;color:var(--accent);font:40px monospace;letter-spacing:8px;background-image:radial-gradient(var(--grid) 1px,transparent 1px);background-size:16px 16px;margin-block:18px 27px}.solution-tile p{font-size:14px;color:var(--muted)}.all-link{margin-top:30px}.stack{display:grid;grid-template-columns:repeat(6,1fr);border-block:1px solid var(--line);padding-block:28px;gap:20px}.stack span{font-size:19px;font-weight:500}.stack small{font-size:18px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 30px;margin:45px 0 30px}.steps div{border-top:1px solid var(--line);padding-top:18px}.steps span{font:18px "Courier New",monospace;color:var(--accent)}.steps h3{font-size:17px;margin-top:17px}.muted{color:var(--muted)}.small{font-size:18px}.advantages{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:40px}.advantages article>span{color:var(--accent);font-size:25px}.advantages h3{margin-top:20px}.advantages p{color:var(--muted);font-size:14px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.contact-grid h2{font-size:46px}.contact-grid .lead{font-size:15px}.contact-note{display:flex;gap:18px;align-items:start;border-top:1px solid var(--line);padding-top:25px;margin-top:36px}.contact-note p{font-size:13px;color:var(--muted)}.mini-mark{color:var(--accent);font-size:24px}.form-panel{min-width:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:20px}.field label{display:block;font-size:18px;margin-bottom:8px}.field label span,.consent span{color:var(--accent)}.field input,.field textarea{width:100%;background:var(--input);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:12px;font-size:14px;min-height:46px}.field textarea{resize:vertical}.field small{display:block;color:var(--muted);font-size:16.5px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--error)}.consent{display:flex;align-items:start;gap:10px;margin-bottom:25px;font-size:16.5px;color:var(--muted)}.consent input{accent-color:var(--accent);min-width:18px;min-height:18px;margin:0;margin-top:2px}.consent a{text-decoration:underline;text-underline-offset:3px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.errorlist{list-style:none;padding:0;margin:6px 0;color:var(--error);font-size:18px}.form-errors,.success,.notice{border:1px solid var(--line);border-left:3px solid var(--accent);padding:18px 20px;background:var(--surface);font-size:14px;margin-bottom:24px}.form-errors{border-left-color:var(--error)}.success strong{color:var(--accent)}.form-panel .button{min-width:230px}.form-panel form>.small{margin-top:12px}.footer{padding-block:42px 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:35px}.footer-top p{font-size:18px;color:var(--muted);margin:0}.footer-bottom{display:flex;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:15px}.footer-bottom span{margin-right:auto}.footer-bottom a:hover{color:var(--accent)}.page-head{padding-block:70px 45px}.page-head h1{font-size:clamp(36px,4.5vw,60px);max-width:1000px}.page-head .lead{max-width:780px}.page-head .notice{max-width:900px;margin-top:30px}.service-detail{display:grid;grid-template-columns:110px 1fr;gap:35px;padding:45px 0;border-top:1px solid var(--line);scroll-margin-top:100px}.service-detail>.number{padding-top:23px;font-size:20px}.service-detail h2{font-size:32px}.service-detail p{max-width:850px;color:var(--muted)}.tag{display:inline-block;border:1px solid var(--line);padding:7px 12px;font:16.5px/1.7 "Courier New",monospace;color:var(--accent);margin-top:15px}.solution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.solution-card{padding:32px;border:1px solid var(--line);background:var(--surface);border-radius:4px}.solution-card h2{font-size:29px}.solution-card p,.solution-card dd{color:var(--muted);font-size:14px}.solution-card dt{font-size:18px;font-weight:bold;margin-top:20px}.solution-card dd{margin:5px 0 0}.tech-layout,.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.tech-layout .diagram{position:sticky;top:120px}.tech-levels article{border-top:1px solid var(--line);padding-block:26px}.tech-levels h2{font-size:23px;margin-bottom:14px}.tech-levels p{color:var(--muted);font-size:14px}.statement{border:1px solid var(--line);background:var(--surface);padding:40px}.statement p{font-size:32px;line-height:1.5;letter-spacing:-.7px;margin-top:30px}.prose h2{font-size:25px;margin-top:35px}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:var(--muted);font-size:15px}.prose a{color:var(--accent);text-decoration:underline}.legal{max-width:840px;margin:auto;padding-bottom:85px}.legal dl{border:1px solid var(--line);padding:25px}.legal dt{font-weight:bold}.legal dd{margin:0 0 18px;color:var(--muted)}.cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:48px}.cta h2{font-size:30px;margin-bottom:0}.captcha{max-width:280px}@keyframes flow{to{stroke-dashoffset:-156}}
@media(min-width:1500px){.hero{padding-block:105px}.hero h1{font-size:68px}}
@media(max-width:1150px){.container{width:calc(100% - 56px)}.header-inner{gap:17px}.header nav{gap:14px;font-size:18px}.brand{font-size:18px}.brand small{font-size:18px}.hero{gap:25px}.hero h1{font-size:51px}.contact-grid{gap:45px}.stack{grid-template-columns:repeat(3,1fr)}.hero .button{gap:15px;font-size:18px;padding-inline:14px}.service-card{padding:24px}.tech-layout,.about-grid{gap:35px}}
@media(max-width:1050px){.header-inner{flex-wrap:wrap;min-height:78px;padding-block:16px}.menu-toggle{display:block;margin-left:auto;padding-inline:12px;font-size:13px}.header nav{width:100%;order:4;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 25px}.js .header nav{display:none}.js .header nav.open{display:flex}.header nav a{padding:8px 0}.hero{grid-template-columns:1fr;padding-block:55px}.hero h1{font-size:60px}.hero-visual{padding-top:0;max-width:650px;width:100%}.domain-strip .container{flex-wrap:wrap;justify-content:start;gap:15px 25px}.service-grid{grid-template-columns:repeat(2,1fr)}.solution-preview{gap:12px}.solution-tile{padding:18px}.solution-tile h3{font-size:18px}.contact-grid{gap:35px}.contact-grid h2{font-size:37px}.form-row{grid-template-columns:1fr;gap:0}.tech-layout,.about-grid{grid-template-columns:1fr}.tech-layout .diagram{max-width:650px}.advantages{gap:25px}.footer-top{flex-wrap:wrap}.diagram-bottom{font-size:15px}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.header-inner{gap:12px}.brand{font-size:17px;gap:9px}.brand small{font-size:16.5px;letter-spacing:.3px}.brand .brand-systems{font-size:13px}.hero{padding-block:40px;gap:30px}.hero h1{font-size:46px;letter-spacing:-1.7px}.eyebrow{font-size:13.5px;letter-spacing:1.25px}.hero .lead{font-size:15px}.actions{display:grid;grid-template-columns:1fr;width:100%}.actions .button{padding:14px 18px;font-size:13px}.hero-foot{margin-top:25px}.diagram-top,.diagram-bottom{padding:12px;font-size:12px}.visual-caption{font-size:12px;letter-spacing:0}.domain-strip .container{font-size:16.5px;gap:10px 18px;padding-block:20px}.domain-strip span:first-child{width:100%}.section{padding-block:54px}.section-heading{display:block}.section-heading .text-link,.section-heading .heading-note{margin-top:20px}.section-heading h2{font-size:31px}.service-grid,.solution-preview,.solution-grid,.contact-grid{grid-template-columns:1fr}.service-card{padding:24px}.card-top{margin-bottom:20px}.service-card h3{max-width:none}.service-card .tech-label{padding-top:14px}.solution-tile{padding:24px}.tile-drawing{height:110px}.stack{grid-template-columns:repeat(2,1fr);gap:22px}.stack span{font-size:18px}.steps{grid-template-columns:repeat(2,1fr);gap:20px}.steps h3{font-size:15px}.advantages{grid-template-columns:1fr;gap:20px}.advantages article{border-bottom:1px solid var(--line);padding-bottom:15px}.advantages h3{margin-block:12px}.contact-grid{gap:25px}.form-row{grid-template-columns:1fr}.contact-grid h2{font-size:38px}.footer-top{display:block}.footer-top p{margin-block:25px}.footer-bottom{display:grid;gap:12px}.page-head{padding-block:45px 30px}.page-head h1{font-size:37px;letter-spacing:-1.2px}.page-head .lead{font-size:15px}.service-detail{grid-template-columns:1fr;gap:0;padding-block:30px}.service-detail>.number{padding-top:0}.service-detail h2{font-size:28px}.solution-card{padding:24px}.solution-card h2{font-size:26px}.cta{display:block;padding-block:35px}.cta h2{font-size:26px;margin-bottom:25px}.statement{padding:28px}.statement p{font-size:26px}.legal{width:calc(100% - 36px)}.legal .container{width:100%}.legal h2{font-size:23px}}
h1,h2,h3,.tag,.tech-label{overflow-wrap:anywhere}
@media(max-width:360px){.hero h1{font-size:38px}.page-head h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Allow enlarged captions and branding to wrap on narrow screens. */
.brand{flex-shrink:1;min-width:0}.brand small{overflow-wrap:anywhere}.diagram-top,.diagram-bottom,.visual-caption,.domain-strip .container{flex-wrap:wrap}.diagram-top>span,.diagram-bottom>span,.visual-caption>span{min-width:0;overflow-wrap:anywhere}.stack{grid-template-columns:repeat(6,minmax(0,1fr))}.stack small{overflow-wrap:anywhere}
@media(min-width:1051px) and (max-width:1250px){.header-inner{flex-wrap:wrap;padding-block:12px}.header nav{order:4;width:100%;margin:0;justify-content:center;flex-wrap:wrap}.header nav a{padding-block:8px}}
@media(max-width:1150px){.stack{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.stack{grid-template-columns:repeat(2,minmax(0,1fr))}.header .brand{flex:1 1 calc(100% - 52px)}.header .menu-toggle{order:3;margin-left:0}.header nav{font-size:18px}}

/* Opaque backgrounds and explicit placeholder colours preserve contrast. */
.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}.field input:hover,.field textarea:hover{border-color:var(--accent)}

.service-featured{background:var(--surface);border-left:3px solid var(--accent);padding-inline:24px}.service-featured h2{margin-top:14px}

/* Concise service descriptions and a direct route to the contact form. */
.service-detail:not(.service-featured){grid-template-columns:1fr;padding-block:30px}
.service-detail:not(.service-featured) h2{margin-top:0;margin-bottom:18px}
.service-detail:not(.service-featured) .tag{border:0;padding:0;font-family:Arial,Helvetica,sans-serif;margin-top:0}
.page-head>.eyebrow{font-family:Arial,Helvetica,sans-serif;font-size:16px;letter-spacing:0}
.contact-head,.contact-content{max-width:900px}
.contact-head{padding-block:40px 10px}
.contact-head h1{margin-top:0}
.contact-head .lead{font-size:17px;margin-bottom:0}
.form-guidance{font-size:16px;margin:0 0 20px}
.form-panel .button{font-size:16px}
@media(max-width:600px){
  .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding-block:10px}
  .header .brand{grid-column:1;grid-row:1/3}
  .header .menu-toggle{grid-column:2;grid-row:1;margin:0;font-size:16px}
  .header nav{grid-column:1/-1;grid-row:3}
  .contact-head{padding-block:28px 8px}
  .contact-head h1{font-size:36px;margin-bottom:16px}
}
