:root{--ink:#142838;--navy:#101e2c;--muted:#5e6e79;--teal:#087f80;--mint:#72e1c4;--paper:#f7f8f5;--line:#dce3df;--white:#fff;--header:80px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 18px)}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15}h1,h2{font-weight:500;letter-spacing:-.055em}h2{font-size:clamp(32px,3.4vw,46px)}h3{font-size:19px;letter-spacing:-.025em}.container{width:min(1180px,calc(100% - 80px));margin-inline:auto}.section{padding:88px 0;scroll-margin-top:8px}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--teal);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:23px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:48px;padding:12px 21px;background:var(--teal);color:white;border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#066b6c;transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.button-small{min-height:42px;padding:9px 15px;gap:18px}.text-link{font-weight:600;font-size:12px;display:inline-flex;align-items:center;gap:12px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:10px 18px;z-index:100}.skip-link:focus{top:10px}.site-header{height:var(--header);position:sticky;top:0;z-index:30;background:rgba(247,248,245,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;flex-shrink:0;width:132px}.brand img{width:100%;height:auto}nav{display:flex;align-items:center;gap:26px}nav>a{font-size:12px;font-weight:600}nav>a:not(.button){position:relative;padding-block:12px}nav>a:not(.button)::after{content:"";position:absolute;bottom:4px;left:0;height:2px;width:0;background:var(--teal);transition:width .2s}nav>a:hover::after,nav>a[aria-current]::after{width:100%}.menu-toggle{display:none}
.hero{overflow:hidden;position:relative;background:radial-gradient(ellipse at 90% 15%,#e5eee8 0,transparent 56%)}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:35px;padding-block:60px 46px}.hero h1{font-size:clamp(48px,5.1vw,68px);line-height:1.02}.hero h1>span{color:var(--teal)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #087f800d}.hero-description{font-size:15px;max-width:430px;margin:25px 0;color:var(--muted)}.hero-note{margin-top:29px;font-size:10px;color:var(--muted)}.hero-note span{padding-inline:9px;color:#9eaaa9}.hero-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.hero-bottom a{color:var(--ink)}.hero-bottom a span{margin-left:24px}.ecosystem{position:relative;height:420px;isolation:isolate;background-image:radial-gradient(#94adae5c .7px,transparent .7px);background-size:20px 20px;border-radius:50%}.diagram-label{position:absolute;top:12px;left:0;right:0;text-align:center;letter-spacing:.16em;font-size:9px;color:var(--muted)}.orbit{position:absolute;border:1px solid #a6c6bd59;border-radius:50%;z-index:-1;will-change:transform}.orbit-one{inset:15px 30px}.orbit-two{inset:65px 78px;background:radial-gradient(#cee6dc70,transparent 70%)}.connections{position:absolute;width:100%;height:100%;color:#94bfb5}.core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:146px;height:146px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--navy);color:white;border:8px solid #e9f0e9;box-shadow:0 0 0 1px #aac5bb,0 20px 40px #1428381a}.core>span{font-size:37px;letter-spacing:-.08em}.core-dot{color:var(--mint)}.core small{font-size:6px;letter-spacing:.16em;margin-top:3px}.node{position:absolute;display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid #d1ddd6;background:#fcfdfb;border-radius:6px;box-shadow:0 6px 18px #112d2505;font-size:11px;font-weight:600}.node small{display:block;font-size:8px;color:var(--muted);font-weight:400;margin-top:2px}.node-icon{font-size:22px;color:var(--teal)}.node-process{left:6%;top:15%}.node-cloud{right:4%;top:17%}.node-it{left:0;top:46%}.node-security{right:-2%;top:47%}.node-ot{left:4%;bottom:11%}.node-voice{right:4%;bottom:12%}.diagram-caption{position:absolute;bottom:0;left:0;width:100%;font-size:9px;text-align:center;color:var(--muted)}.diagram-caption i{display:inline-block;width:5px;height:5px;background:var(--teal);border-radius:50%;margin-right:5px}
.solutions{background:white}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:end;margin-bottom:40px}.section-heading>p,.section-heading>div>p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:400px}.section-heading>div>p+p{margin-top:14px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.service{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:23px 24px 0;transition:border-color .2s}.service:hover{border-color:#88ada4}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.service-icon{font-size:24px;line-height:1;color:var(--teal)}.service-number{font-size:10px;color:#8d9c9d;font-variant-numeric:tabular-nums}.service h3{font-size:17px;min-height:40px;max-width:250px}.service>p{font-size:12px;color:var(--muted);margin:12px 0 20px;min-height:59px}.service details{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;gap:12px;padding:15px 0}summary::-webkit-details-marker{display:none}summary>span{font-size:19px;font-weight:400;transition:transform .2s}details[open]>summary>span{transform:rotate(45deg)}.service-content{font-size:12px;color:var(--muted);padding-bottom:20px}.service-content ul{padding-left:17px;margin:0 0 18px}.service-content li+li{margin-top:7px}.service-content a{color:var(--teal)}.section-footnote{display:flex;justify-content:center;gap:12px;font-size:11px;margin-top:28px;color:var(--muted)}.section-footnote a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.hub-section{background:var(--navy);color:white;position:relative;overflow:hidden;isolation:isolate}.hub-glow{position:absolute;right:-100px;top:-200px;width:750px;height:950px;background:radial-gradient(ellipse,#14574e66,transparent 65%);z-index:-1;will-change:transform}.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.hub-section .eyebrow{color:var(--mint)}.hub-wordmark{display:flex;align-items:baseline;font-size:22px;font-weight:700;letter-spacing:-.06em;margin-bottom:20px;gap:4px}.hub-wordmark>span{font-weight:400;color:var(--mint)}.hub-wordmark i{width:5px;height:5px;border-radius:50%;background:var(--mint)}.hub-wordmark small{font-size:9px;font-weight:400;letter-spacing:0;color:#b1c6cc;border:1px solid #68888655;padding:2px 8px;border-radius:3px;margin-left:14px}.hub-copy>p:not(.eyebrow){font-size:13px;color:#aebfc8;max-width:405px;margin-top:20px}.hub-copy .button{margin-top:29px}.button-light{background:var(--mint);color:var(--navy)}.button-light:hover{background:#95ecd4}.hub-flow{border:1px solid #68888655;border-radius:6px;background:#ffffff03}.hub-flow-heading{display:flex;justify-content:space-between;padding:19px 25px;border-bottom:1px solid #68888655;font-size:9px;letter-spacing:.13em;color:#aebfc8}.hub-flow ol{list-style:none;padding:5px 25px;margin:0}.hub-flow li{display:flex;gap:20px;padding:22px 0;align-items:start}.hub-flow li+li{border-top:1px solid #68888633}.flow-index{color:var(--mint);font-size:10px;padding-top:3px}.hub-flow h3{font-size:17px;font-weight:500}.hub-flow p{font-size:12px;color:#aebfc8;margin-top:7px}.hub-flow-footer{padding:15px 25px;font-size:10px;color:var(--mint);background:#72e1c408}.hub-modules-heading{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-bottom:17px;border-bottom:1px solid #68888655}.hub-modules-heading h3{font-size:15px;font-weight:500}.hub-modules-heading>span{font-size:10px;color:#aebfc8}.hub-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;align-items:start}.hub-modules details{border-bottom:1px solid #68888655}.hub-modules summary{font-size:12px;padding:17px 0}.hub-modules p{font-size:12px;color:#aebfc8;padding-bottom:18px}.hub-section a:focus-visible,.hub-section summary:focus-visible{outline-color:var(--mint)}
.about .section-heading{align-items:start}.approach{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:0;margin:50px 0}.approach li{border-top:1px solid #bfcfc8;padding-top:21px}.approach span{font-size:9px;letter-spacing:.1em;color:var(--teal);font-weight:600}.approach h3{font-size:17px;margin:15px 0 10px}.approach p{font-size:12px;color:var(--muted);max-width:320px}.technology{border-top:1px solid var(--line);padding-top:30px;display:flex;align-items:center;gap:45px}.technology>p{font-size:10px;color:var(--muted);max-width:115px}.technology-logos{flex:1;display:flex;gap:35px;align-items:center;justify-content:space-between}.technology-logos img{object-fit:contain;max-width:100px;max-height:32px;filter:grayscale(1);opacity:.72}
.residential{background:#edf1ec;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.residential-intro{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:center}.residential-image{height:270px;border-radius:5px;overflow:hidden}.residential-image img{width:100%;height:100%;object-fit:cover}.residential-intro h2{font-size:36px}.residential-intro p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:490px;margin:20px 0}.residential-note{display:block;font-size:9px;color:var(--muted);margin-top:11px}.private-services{margin-top:38px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 25px;align-items:start}.private-services details{border-bottom:1px solid #cbd7cf}.private-services summary{font-size:12px;padding:13px 0}.private-services .private-content{font-size:12px;color:var(--muted);padding:3px 0 20px}.private-content h3{font-size:14px;margin-bottom:10px}.private-content ul{padding-left:17px}.private-content a{color:var(--teal)}.contact{background:white}.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:100px;align-items:center}.contact h2{font-size:40px}.contact-grid>div>p:not(.eyebrow){color:var(--muted);font-size:13px;margin:20px 0 26px}.contact-links>a{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line);padding:20px 0;gap:4px}.contact-links>a span{font-size:10px;color:var(--muted)}.contact-links>a strong{font-size:21px;font-weight:400;grid-row:2}.contact-links>a b{grid-column:2;grid-row:1/3;align-self:center;color:var(--teal);font-weight:400;font-size:22px}.contact-links small{font-size:9px;color:var(--muted)}.contact-links p{font-size:11px!important}.contact-links p a{color:var(--teal);display:block}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:20px;font-size:10px;color:var(--muted)}footer .brand{width:104px}.footer-inner small{font-size:9px}
@media(min-width:1450px){.hero-grid{padding-block:75px 65px}}
@media(max-width:1050px){.container{width:calc(100% - 48px)}nav{gap:17px}.hero-grid{gap:18px}.node{padding:10px;gap:6px}.node small{font-size:7px}.section-heading{gap:45px}.hub-grid{gap:55px}.contact-grid{gap:55px}.technology{gap:25px}.technology-logos{gap:20px}.technology-logos img{max-width:85px}.residential-intro{gap:40px}}
@media(max-width:800px){:root{--header:70px}.brand{width:116px}.menu-toggle{display:flex;align-items:center;gap:14px;background:transparent;border:1px solid #cbd7cf;padding:7px 12px;border-radius:4px;font-size:12px}.menu-toggle span{font-size:17px}nav{display:none;position:absolute;top:69px;left:0;right:0;padding:22px 24px;background:var(--paper);box-shadow:0 15px 20px #102c3910;border-bottom:1px solid var(--line);align-items:stretch}nav.open{display:flex;flex-direction:column;gap:9px}nav>a{font-size:14px}.hero-grid{grid-template-columns:1fr;gap:30px;padding:45px 0 30px}.hero-copy{max-width:580px}.hero h1{font-size:58px}.hero-description{max-width:490px}.ecosystem{width:min(500px,100%);height:365px;margin:0 auto}.node-security{right:0}.diagram-label{top:0}.node small{font-size:8px}.hero-bottom{font-size:10px}.section{padding:60px 0}.section-heading{gap:25px;grid-template-columns:1fr;margin-bottom:30px}.section-heading>p,.section-heading>div>p:not(.eyebrow){max-width:550px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-grid{gap:35px}.hub-flow-heading{padding-inline:18px}.hub-flow ol{padding-inline:18px}.hub-flow li{gap:12px}.hub-flow-footer{padding-inline:18px}.hub-flow h3{font-size:15px}.hub-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.approach{gap:20px}.technology{align-items:start;flex-direction:column;gap:22px}.technology>p{max-width:none}.technology-logos{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:25px 35px}.residential-intro{gap:30px}.residential-image{height:250px}.residential-intro h2{font-size:30px}.private-services{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{gap:35px}.contact h2{font-size:32px}.contact-links>a strong{font-size:18px}.footer-inner{flex-wrap:wrap}.footer-inner p{flex:1}.footer-inner small{width:100%}}
@media(max-width:540px){.container{width:calc(100% - 36px)}.hero-grid{padding-top:35px}.eyebrow{font-size:9px;margin-bottom:20px}.hero h1{font-size:49px}.hero-description{font-size:14px;margin-block:22px}.actions{gap:19px}.hero-note{font-size:9px;line-height:1.8}.hero-note span{padding-inline:5px}.ecosystem{height:315px;margin-top:5px}.core{width:115px;height:115px}.core>span{font-size:29px}.core small{font-size:5px}.node{font-size:9px;padding:8px;gap:6px}.node small{font-size:6px}.node-icon{font-size:17px}.node-process{left:1%;top:15%}.node-cloud{right:1%;top:15%}.node-it{left:0;top:45%}.node-security{right:0;top:45%}.node-ot{left:1%;bottom:12%}.node-voice{right:1%;bottom:12%}.orbit-one{inset:15px 5px}.orbit-two{inset:55px 48px}.diagram-label{font-size:8px}.diagram-caption{font-size:8px}.hero-bottom{display:block;padding-block:16px}.hero-bottom>span{display:none}.hero-bottom a{display:flex;justify-content:space-between;font-size:9px}.section{padding:48px 0}h2{font-size:32px}.service-grid{grid-template-columns:1fr;gap:12px}.service{padding:20px 20px 0}.service-top{margin-bottom:15px}.service h3{min-height:0;max-width:none}.service>p{min-height:0;font-size:13px;margin-bottom:16px}.service-content{font-size:13px}.section-footnote{flex-direction:column;gap:4px;text-align:center}.hub-grid{grid-template-columns:1fr;gap:32px}.hub-flow li{padding-block:19px}.hub-copy>p:not(.eyebrow){font-size:14px}.hub-modules{grid-template-columns:1fr}.hub-modules-heading>span{display:none}.approach{grid-template-columns:1fr;gap:25px;margin-block:32px}.approach p{max-width:none;font-size:13px}.technology-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;align-items:center;justify-items:center}.technology-logos img{max-width:80px}.residential-intro{grid-template-columns:1fr;gap:25px}.residential-image{height:190px}.residential-intro h2{font-size:32px}.private-services{grid-template-columns:1fr;margin-top:28px}.private-services summary{font-size:13px}.contact-grid{grid-template-columns:1fr;gap:18px}.contact-links>a strong{font-size:21px}.contact-links p{margin-bottom:0!important}.footer-inner{gap:16px}.footer-inner p{flex:auto;width:calc(100% - 120px);font-size:9px}.footer-inner small{width:auto;margin-left:auto}}
@media(max-width:360px){.hero h1{font-size:40px}.ecosystem{height:280px}.node small{display:none}.core{width:100px;height:100px}.node{font-size:8px}.hub-wordmark small{margin-left:7px}.button{gap:16px;padding-inline:16px}.hero-note{font-size:8px}.technology-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.technology-logos img{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.orbit,.hub-glow{transform:none!important;will-change:auto}}

/* Shared blue identity and comfortable reading sizes across all pages. */
:root{--teal:#0056b8;--mint:#8dccff;--navy:#051c43;--ink:#102e51;--muted:#52677f;--paper:#f5f8fc;--line:#d9e3ef;--header:88px}
body{font-size:16px}.container{width:min(1240px,calc(100% - 64px))}p,li{line-height:1.65}.eyebrow{font-size:13px;letter-spacing:.1em}.button,.button-small,.text-link{font-size:16px;min-height:48px}.text-link{min-height:44px}.button:hover{background:#004391}.button-light:hover{background:#b4dfff}.brand{width:160px}.header-inner{gap:20px}#navigation{gap:22px}#navigation>a{font-size:15px}h3{font-size:22px}.hero{background:radial-gradient(ellipse at 90% 15%,#deebfc,transparent 65%)}.hero-description{font-size:18px;max-width:500px}.hero-note,.hero-bottom{font-size:14px}.hero-note span{padding-inline:5px}.hero-grid{grid-template-columns:1fr 1fr;gap:40px}.hero h1{font-size:clamp(46px,4.5vw,66px)}.actions{gap:16px}.status-dot{box-shadow:0 0 0 4px #0056b810}.ecosystem{background-image:radial-gradient(#8aacd777 .8px,transparent .8px);height:450px}.core{width:174px;height:174px;background:white;border-color:#e4effc;box-shadow:0 0 0 1px #9abbeb,0 20px 40px #163a6720}.core img{width:164px;height:76px;object-fit:contain}.core small{font-size:10px;color:#064b95;letter-spacing:.08em;margin-top:0;font-weight:bold}.node{font-size:14px;padding:12px;background:white;border-color:#c8d9ee}.node small{font-size:11px}.node-icon{font-size:22px}.node-it{left:-2%}.node-security{right:-3%}.node-process{left:0}.node-cloud{right:0}.node-ot{left:0}.node-voice{right:0}.diagram-label,.diagram-caption{font-size:11px}.connections{color:#91b5df}.orbit{border-color:#9fbee166}.orbit-two{background:radial-gradient(#c6e0ff77,transparent 70%)}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:17px;max-width:500px}.section-heading{gap:60px}.service-grid{gap:22px}.service{padding:0 24px;background:white;overflow:hidden;border-color:var(--line);scroll-margin-top:110px}.service-art{position:relative;margin:0 -24px 22px;height:145px;background:linear-gradient(120deg,#edf4ff,#deecff);overflow:hidden;isolation:isolate;color:#1262bd}.service-art svg{display:block;width:100%;height:112px;position:relative;z-index:1}.service-art>span{display:block;text-align:right;padding-right:18px;font-size:10px;letter-spacing:.13em;color:#466f9f}.art-orbit{position:absolute;inset:-80px 30px;border:1px solid #7aaae24d;border-radius:50%;background:radial-gradient(#fff8,transparent 65%);will-change:transform}.service-top{margin-bottom:15px}.service-icon{display:none}.service-number{font-size:13px;color:var(--teal)}.service h3{font-size:21px;max-width:none;min-height:50px}.service>p{font-size:16px;min-height:80px;margin:16px 0 20px}.service-content{font-size:16px}.service summary{font-size:16px;min-height:54px}.service-more{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:17px 0;font-size:16px;color:var(--teal);font-weight:600}.service-more:hover{text-decoration:underline}.section-footnote{font-size:15px}.hub-copy>p:not(.eyebrow){font-size:17px}.hub-wordmark{font-size:30px}.hub-wordmark small{font-size:13px}.hub-flow-heading{font-size:12px}.hub-flow h3{font-size:22px}.hub-flow p,.hub-modules p{font-size:16px}.flow-index{font-size:14px}.hub-flow-footer{font-size:14px}.hub-modules-heading h3{font-size:20px}.hub-modules-heading>span{font-size:14px}.hub-modules summary{font-size:16px}.hub-glow{background:radial-gradient(ellipse,#1457bd88,transparent 65%)}.hub-flow,.hub-flow-heading,.hub-modules details,.hub-modules-heading{border-color:#5884b655}.hub-flow li+li{border-color:#5884b633}.hub-flow-footer{background:#72b1ff08}.approach span{font-size:13px}.approach h3{font-size:21px}.approach p{font-size:16px}.technology>p{font-size:14px;max-width:180px}.residential{background:#eaf1fb}.residential-intro p:not(.eyebrow){font-size:17px}.residential-note{font-size:13px}.contact-grid>div>p:not(.eyebrow){font-size:17px}.contact-links>a span,.contact-links small{font-size:14px}.contact-links p{font-size:16px!important}.contact-links>a strong{font-size:24px}.footer-inner{font-size:14px}.footer-inner small{font-size:13px}.footer-inner p{font-size:14px}.technology-logos img{opacity:.85}.approach li{border-color:var(--line)}
.page-hero,.connection-band{position:relative;isolation:isolate;overflow:hidden;padding:72px 0;background:var(--navy);color:white}.page-hero .eyebrow,.connection-band .eyebrow{color:#9acfff}.page-hero h1{font-size:clamp(38px,4.5vw,60px);max-width:850px}.page-intro{max-width:720px;font-size:19px;color:#c3d6ef;margin-top:24px}.page-lines{position:absolute;inset:-180px -100px;background:repeating-radial-gradient(ellipse at 90% 45%,transparent 0 54px,#669feb24 55px 56px,transparent 57px 110px);z-index:-1;will-change:transform}.connection-band h2{margin-bottom:28px}.private-jump{display:flex;position:static;flex-wrap:wrap;gap:10px;margin-bottom:45px;padding:0;background:none;box-shadow:none;border:0}.private-jump a{font-size:15px;padding:9px 16px;background:#e5effc;border:1px solid #c8dbf3;border-radius:4px;min-height:44px}.private-jump a:hover{background:#d0e3fb}.residential-service{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:55px 0;border-top:1px solid var(--line);scroll-margin-top:110px;align-items:center}.residential-service h2{font-size:34px}.residential-service-copy>p:not(.eyebrow){margin-top:20px;font-size:17px}.residential-service ul{padding-left:20px;margin-block:22px}.residential-service li{font-size:16px;margin-top:7px}.private-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.private-gallery a{overflow:hidden;border-radius:6px;min-width:0}.private-gallery img{width:100%;height:165px;object-fit:cover;transition:transform .3s}.private-gallery a:hover img{transform:scale(1.04)}.private-gallery small{grid-column:1/-1;font-size:13px;color:var(--muted)}.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.editorial-card{border:1px solid var(--line);border-radius:6px;background:white;overflow:hidden}.editorial-card .service-art{margin:0}.editorial-card>div:not(.service-art){padding:24px}.editorial-card h2{font-size:27px;line-height:1.2;letter-spacing:-.03em}.editorial-card p:not(.eyebrow){margin:18px 0;color:var(--muted);font-size:16px}.case-section{background:#e8f0fc}.case-section p:not(.eyebrow){max-width:620px;font-size:18px;margin:20px 0 25px}.reading-column{max-width:800px}.blog-article{scroll-margin-top:115px;border-bottom:1px solid var(--line);padding:30px 0 65px;margin-bottom:40px}.blog-article h2{font-size:38px}.blog-article h3{font-size:23px;margin:30px 0 12px}.blog-article p{font-size:18px;margin-bottom:18px}.blog-article .article-lead{color:var(--muted);font-size:20px;margin-top:22px}.blog-article .text-link{margin-top:15px}
@media(max-width:1100px){#navigation{gap:15px}#navigation>a{font-size:14px}.brand{width:135px}.header-inner{gap:15px}.hero-grid{gap:25px}.node small{display:none}.node{font-size:13px}.hub-grid{gap:45px}.service{padding-inline:20px}.service-art{margin-inline:-20px}.service h3{font-size:20px}.service>p{min-height:106px}.hero-note{font-size:13px}.section-heading{gap:35px}}
@media(max-width:960px){:root{--header:76px}.menu-toggle{display:flex;align-items:center;gap:14px;background:transparent;border:1px solid #c0d4ee;padding:8px 14px;border-radius:4px;font-size:16px;min-height:44px}#navigation{display:none;position:absolute;top:75px;left:0;right:0;padding:20px 25px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #102c3910;align-items:stretch}#navigation.open{display:flex;flex-direction:column;gap:8px}#navigation>a{font-size:16px;min-height:44px}.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:650px}.hero-description{max-width:620px}.ecosystem{width:min(560px,100%);margin-inline:auto;height:430px}.node small{display:block;font-size:11px}.node-it,.node-process,.node-ot{left:0}.node-security,.node-cloud,.node-voice{right:0}.service-grid,.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service>p{min-height:80px}.hub-grid{gap:35px}.residential-service{gap:30px}.footer-inner{flex-wrap:wrap}.footer-inner small{width:auto}.hero-bottom{font-size:13px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.hub-grid,.contact-grid,.residential-intro,.residential-service{grid-template-columns:1fr}.section-heading{grid-template-columns:1fr;gap:22px}.hero h1{font-size:48px}.hero-grid{padding-block:40px 25px}.hero-description{font-size:18px}.hero-note{font-size:13px}.hub-modules{grid-template-columns:1fr}.approach{grid-template-columns:1fr;gap:25px}.approach p{max-width:none}.section{padding-block:55px}.residential-intro h2,.contact h2{font-size:34px}.private-gallery img{height:180px}.residential-service{padding-block:40px}.private-jump{margin-bottom:30px}.page-hero,.connection-band{padding-block:55px}.page-intro{font-size:18px}.hero-bottom>span{display:none}.hero-bottom a{font-size:13px}.section-footnote{display:block;text-align:left}.section-footnote a{display:block;margin-top:8px}.hub-wordmark small{font-size:12px}.technology>p{max-width:none}.footer-inner p{font-size:14px}.technology-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.technology-logos img{max-width:100%}.blog-article h2{font-size:32px}.blog-article p{font-size:17px}}
@media(max-width:540px){.service-grid,.editorial-grid{grid-template-columns:1fr}.service h3,.service>p{min-height:0}.service h3{font-size:22px}.service>p{font-size:16px}.service-art{height:135px}.service-art svg{height:103px}.ecosystem{height:330px}.core{width:140px;height:140px}.core img{width:138px;height:65px}.core small{font-size:9px}.node small{display:none}.node{font-size:12px;padding:8px;gap:5px}.node-icon{font-size:17px}.node-it,.node-security{top:47%}.node-process,.node-cloud{top:15%}.node-ot,.node-voice{bottom:12%}.diagram-label,.diagram-caption{font-size:10px}.hero h1{font-size:44px}.hero-note{font-size:12px}.hero-note span{padding-inline:3px}.button{font-size:16px;padding-inline:17px;gap:14px}.hero-bottom a{font-size:12px}.eyebrow{font-size:12px}.private-gallery img{height:130px}.residential-service h2{font-size:30px}.private-jump{gap:8px}.private-jump a{font-size:14px;padding-inline:12px}.hub-modules-heading h3{font-size:20px}.contact-links>a strong{font-size:23px}.footer-inner p{width:100%;order:2}.footer-inner small{margin-left:0}.hub-wordmark{flex-wrap:wrap}.service-content li{font-size:16px}.service-content a{font-size:16px}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.hero h1{font-size:38px}.ecosystem{height:310px}.core{width:116px;height:116px}.core img{width:113px;height:56px}.core small{font-size:8px}.node{font-size:10px;padding:7px}.node-icon{font-size:14px}.diagram-label,.diagram-caption{font-size:9px}.hero-note{font-size:12px}.private-gallery{gap:8px}.private-gallery img{height:115px}}
@media(prefers-reduced-motion:reduce){.page-lines,.art-orbit{transform:none!important;will-change:auto}.private-gallery img{transition:none}}

/* Larger brand, interactive diagram and compact site map. */
.site-header .brand{width:220px;margin-left:-14px}
.site-header .brand img{width:220px;max-width:none;height:86px;object-fit:contain}
.node{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;transform-origin:center;cursor:pointer}
.node-process,.node-it,.node-ot{transform-origin:left center}
.node-cloud,.node-security,.node-voice{transform-origin:right center}
.node:focus-visible{transform:scale(1.18);z-index:5;box-shadow:0 12px 30px #0b43882b;border-color:#498fda}
@media(hover:hover) and (pointer:fine){.node:hover{transform:scale(1.18);z-index:5;box-shadow:0 12px 30px #0b43882b;border-color:#498fda}}
.site-footer{background:#081727;color:#bdd0e6;border-top:2px solid #1b5b9b}
.footer-grid{display:grid;grid-template-columns:1.15fr 1fr .9fr .95fr;gap:35px;padding-block:28px 22px}
.footer-brand{display:inline-block;background:#f5f8fc;border-radius:4px;width:170px;height:66px;overflow:hidden}
.footer-brand img{width:170px;height:75px;object-fit:contain;margin-top:-4px}
.footer-about p{font-size:14px;margin-top:10px;line-height:1.6}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.footer-column h2{font-size:15px;letter-spacing:0;font-weight:600;color:white;margin-bottom:9px}
.footer-column a{font-size:14px;line-height:1.65;padding-block:1px}
.footer-column>span{font-size:12px;color:#91aac6;margin-bottom:5px}
.site-footer a:hover{color:white;text-decoration:underline;text-underline-offset:4px}
.site-footer a:focus-visible{outline-color:#8dccff}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ffffff18;padding-block:13px;font-size:13px}
.footer-bottom small{font-size:13px}
.image-viewer{border:0;padding:16px;background:transparent;color:white;max-width:96vw;max-height:96dvh;overflow:auto;width:fit-content}
.image-viewer::backdrop{background:#020e20eF;backdrop-filter:blur(5px)}
.image-viewer-shell{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:1120px}
.image-viewer-close{align-self:flex-end;display:flex;align-items:center;gap:12px;background:#fff;color:#102e51;border:0;border-radius:5px;padding:8px 15px;min-height:44px;cursor:pointer;font-size:16px}
.image-viewer-close span{font-size:26px;line-height:1}
.image-viewer-image{max-height:75dvh;max-width:100%;width:auto;height:auto;object-fit:contain;border-radius:4px}
.image-viewer-status{font-size:16px;max-width:600px;text-align:center}
#image-viewer-caption{font-size:15px;text-align:center;margin:0}
body.image-viewer-open{overflow:hidden}
@media(max-width:1100px){.site-header .brand,.site-header .brand img{width:190px}.footer-grid{gap:22px}}
@media(max-width:960px){.site-header .brand,.site-header .brand img{width:200px}.site-header .brand img{height:74px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 35px}}
@media(max-width:540px){.site-header .brand,.site-header .brand img{width:190px}.site-header .brand{margin-left:-12px}.footer-grid{gap:26px 18px}.footer-about,.footer-column:nth-child(2){grid-column:1/-1}.footer-column a{min-height:36px;display:flex;align-items:center}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.image-viewer{padding:8px;max-width:100vw}.image-viewer-image{max-height:70dvh}.footer-brand{width:155px}.footer-brand img{width:155px}}
@media(max-width:360px){.site-header .brand,.site-header .brand img{width:170px}}
@media(prefers-reduced-motion:reduce){.node{transition:none}}

/* Brand accents: navy and turquoise, preserving every section background. */
:root{--cta:#029899;--cta-hover:#007576;--accent-text:#007576}
.button,.button-light{background:var(--cta);color:#001b35;border-color:var(--cta)}
.button:hover,.button-light:hover{background:var(--cta-hover);border-color:var(--cta-hover);color:#fff}
.hero h1>span,.eyebrow,.text-link,.service-more,.service-content a,.approach span,.contact-links p a{color:var(--accent-text)}
.node-icon,.service-art svg,.contact-links>a b{color:var(--cta)}
.node:hover,.node:focus-visible{border-color:var(--cta)}
.hero .status-dot,.diagram-caption i{background:var(--cta)}
.hub-section .eyebrow,.page-hero .eyebrow,.connection-band .eyebrow,.flow-index,.hub-wordmark>span,.hub-flow-footer{color:#029899}
.site-footer a:hover{color:#029899}
