:root{--ink:#071a24;--deep:#03151e;--deep-2:#092430;--deep-3:#0c303d;--cyan:#58cfe9;--cyan-2:#2ba9cb;--pale:#f1f6f8;--muted:#67808c;--line:#d5e2e7;--white:#fff;--max:1280px;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:var(--deep)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;min-width:320px}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.055em}p{line-height:1.65}.wrap{width:min(calc(100% - 64px),var(--max));margin-inline:auto}.skip-link{position:absolute;left:20px;top:-60px;z-index:100;padding:12px 18px;background:var(--cyan);color:var(--deep);font-weight:700}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.utility-bar{background:#021018;border-bottom:1px solid #15313e;color:#a7bdc7;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.utility-inner{min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:24px}.utility-separator{color:var(--cyan);padding:0 8px}.site-header{position:sticky;top:0;z-index:20;background:rgba(21,38,48,.96);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:block;line-height:0;width:280px;height:65px;overflow:hidden;flex:none}.brand img{height:100%;width:100%;object-fit:cover;mix-blend-mode:screen}.site-nav{display:flex;align-items:center;gap:30px;color:#b9cbd1;font-size:.9rem}.site-nav>a:not(.nav-cta){transition:color .2s}.site-nav>a:not(.nav-cta):hover{color:#fff}.nav-cta{border:1px solid #43849a;border-radius:11px;padding:14px 20px;color:#fff;background:rgba(88,207,233,.07);transition:background .2s,border-color .2s}.nav-cta:hover{background:rgba(88,207,233,.16);border-color:var(--cyan)}.menu-toggle{display:none}
.dark-grid{background:radial-gradient(circle at 82% 34%,rgba(25,104,134,.22),transparent 35%),linear-gradient(120deg,#03131b 10%,#031b26 68%,#062537);position:relative;overflow:hidden}.dark-grid:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(93,196,222,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(93,196,222,.035) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(90deg,transparent 10%,black 62%)}.hero-orbit{position:absolute;width:820px;height:820px;right:-290px;top:12px;border-radius:50%;border:1px solid rgba(88,207,233,.05);box-shadow:0 0 0 140px rgba(88,207,233,.025),0 0 0 280px rgba(88,207,233,.018);pointer-events:none}.hero-wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;min-height:700px;padding-block:95px 60px}.hero-copy{position:relative;z-index:1}.eyebrow,.section-kicker,.panel-kicker,.tile-kicker,.number,.service-index,.about-label{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.eyebrow-pill{display:inline-flex;align-items:center;gap:12px;margin-bottom:30px;padding:11px 16px 11px 10px;border:1px solid #1c5365;border-radius:100px;color:#a6d4df;background:#092b39}.eyebrow-pulse{width:22px;height:22px;border-radius:50%;background:#123f50;position:relative}.eyebrow-pulse:after{content:"";position:absolute;inset:8px;border-right:1.5px solid var(--cyan);border-top:1.5px solid var(--cyan);transform:rotate(45deg)}.hero h1{color:#fff;font-size:clamp(3.75rem,5.35vw,5.6rem);line-height:.98;margin-bottom:26px;max-width:740px;font-weight:800}.hero h1 em,.section-intro h2 em,.local-section h2 em{font-style:normal;color:var(--cyan)}.hero-lede{font-size:1.15rem;color:#abc2cb;max-width:590px;margin-bottom:36px;line-height:1.6}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:53px;display:inline-flex;align-items:center;justify-content:center;padding:14px 21px;border-radius:9px;font-size:.91rem;font-weight:750;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button-primary{color:#03151e;background:linear-gradient(135deg,#6bd9ed,#39b9db);box-shadow:0 14px 30px rgba(47,187,219,.15)}.button-primary:hover{background:#8be8f4}.button-ghost{border:1px solid #32505b;color:#f4fcff;background:rgba(255,255,255,.025)}.button-ghost:hover{border-color:var(--cyan);background:rgba(88,207,233,.08)}.hero-proof{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;color:#7896a2;font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em}.hero-proof span:before{content:"✓";color:var(--cyan);padding-right:9px}
.architecture{position:relative;min-height:448px;border:1px solid #24546a;border-radius:24px;background:linear-gradient(150deg,rgba(13,61,78,.8),rgba(1,18,27,.88));box-shadow:0 30px 75px rgba(0,0,0,.16);overflow:hidden}.architecture:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(90,184,207,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(90,184,207,.05) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.architecture-head,.architecture-foot{position:relative;z-index:2;display:flex;align-items:center;gap:14px;padding:22px 24px;color:#7ea1ad;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em}.architecture-version{margin-left:auto;color:var(--cyan)}.signal-lights{display:flex;gap:6px}.signal-lights i{width:7px;height:7px;border-radius:50%;background:#295366}.signal-lights i:last-child{background:var(--cyan);box-shadow:0 0 11px var(--cyan)}.architecture-stage{height:336px;position:relative}.orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(88,207,233,.1);border-radius:50%;transform:translate(-50%,-50%)}.orbit-one{width:230px;height:230px}.orbit-two{width:355px;height:355px;border-style:dashed}.connection-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0}.connection-lines path{fill:none;stroke:#217491;stroke-width:1.2;opacity:.68}.diagram-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:116px;height:116px;border-radius:24px;border:1px solid #3a9dbc;background:#073040;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 14px 45px #041822}.core-mark{font-size:3.5rem;line-height:1;font-weight:900;letter-spacing:-.12em;color:var(--cyan)}.diagram-core small{font-size:.56rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#a6e8f2}.diagram-node{position:absolute;z-index:2;width:158px;min-height:68px;border:1px solid #215266;border-radius:11px;background:rgba(2,23,33,.95);padding:12px 13px;color:#fff;box-shadow:0 12px 25px rgba(0,0,0,.12)}.diagram-node strong{font-size:.72rem}.diagram-node small{display:block;margin-top:6px;color:#7e9fac;font-size:.63rem;line-height:1.25}.node-dot{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 9px var(--cyan)}.node-it{left:5%;top:13%}.node-network{right:5%;top:13%}.node-cameras{left:5%;bottom:12%}.node-voice{right:5%;bottom:12%}.architecture-foot{justify-content:space-between;padding:0 24px 18px;color:#6f9aab}.architecture-foot span:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--cyan);vertical-align:middle;margin-right:8px}.facts-row{position:relative;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #1c3b48;border-bottom:1px solid #1c3b48;margin-bottom:90px}.facts-row div{padding:23px 28px;border-right:1px solid #1c3b48}.facts-row div:first-child{padding-left:0}.facts-row div:last-child{border-right:0}.facts-row strong{display:block;color:#fff;font-size:.96rem;letter-spacing:-.03em;margin-bottom:8px}.facts-row span{display:block;color:#7294a1;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em}
.section-pad{padding-block:112px}.light-section{background:var(--pale)}.dark-section{background:var(--deep);color:#fff}.section-intro{margin-bottom:54px}.split-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}.section-kicker{color:#038eb5;margin-bottom:18px}.dark-section .section-kicker{color:var(--cyan)}.section-intro h2,.local-section h2{font-size:clamp(2.9rem,4.5vw,4.75rem);line-height:1.02;margin-bottom:0}.section-intro>p{max-width:510px;color:#617b87;font-size:1.02rem;margin-bottom:4px}.dark-section .section-intro>p{color:#8ca8b4}.difference-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:18px}.layer-panel{border-radius:22px;background:linear-gradient(145deg,#031e2a,#0b3342);color:#fff;padding:36px;min-height:520px;position:relative;overflow:hidden}.layer-panel:after{content:"D";position:absolute;right:21px;bottom:-30px;color:rgba(88,207,233,.08);font-size:13rem;font-weight:900;pointer-events:none}.panel-kicker{color:#89aebd;margin-bottom:30px}.layer-list{list-style:none;padding:0 0 0 45px;margin:0;position:relative}.layer-list:before{content:"";position:absolute;left:15px;top:28px;bottom:28px;width:1px;background:#23748e}.layer-list li{min-height:72px;margin:0 0 7px;padding:18px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #235366;border-radius:11px;background:rgba(14,56,72,.5);position:relative}.layer-list li:before{content:"";position:absolute;left:-39px;width:14px;height:14px;border:1px solid #329abd;background:#0b3342;border-radius:50%}.layer-list strong{font-size:.84rem}.layer-list span{font-size:.65rem;color:#81a6b5;text-align:right}.benefit-list{display:grid;gap:13px}.benefit-list article{border:1px solid var(--line);border-radius:18px;background:#fff;padding:27px 30px;position:relative;min-height:160px;display:flex;flex-direction:column;justify-content:center}.benefit-list article:before{content:"";position:absolute;width:3px;height:70px;left:-1px;top:26px;background:var(--cyan)}.number{color:#0699bf}.benefit-list h3{font-size:1.48rem;margin:11px 0 6px}.benefit-list p{font-size:.83rem;color:#617b87;margin:0;max-width:520px}
.services{padding-bottom:116px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.service-card{min-height:235px;border:1px solid #213b46;border-radius:16px;padding:27px 28px 26px;display:flex;flex-direction:column;background:linear-gradient(145deg,#0a2531,#051b25);transition:transform .2s,border-color .2s,background .2s}.service-card:hover{transform:translateY(-4px);border-color:#3b8299;background:linear-gradient(145deg,#0d303f,#061e28)}.service-feature{grid-column:span 1}.service-index{color:#648895;font-size:.63rem;margin-bottom:18px}.service-symbol{height:38px;width:38px;border:1px solid #2a6175;color:var(--cyan);border-radius:9px;display:grid;place-items:center;font-size:1.4rem;line-height:1;margin-bottom:auto}.service-card h3{font-size:1.52rem;margin:18px 0 8px;line-height:1.05}.service-card p{font-size:.8rem;color:#89a8b4;margin:0;line-height:1.55;max-width:320px}
.practice-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;grid-template-rows:repeat(2,250px);gap:14px}.practice-feature,.practice-tile{background:linear-gradient(145deg,#072634,#02151e);color:#fff;border-radius:19px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:25px}.practice-feature{grid-row:span 2;padding:30px 32px}.practice-feature h3{max-width:550px;font-size:2.1rem;line-height:1.08;margin:10px 0 0}.practice-tile h3{font-size:1.25rem;line-height:1.13;margin:8px 0 0;max-width:220px}.tile-kicker{color:var(--cyan);font-size:.62rem}.rack-diagram{width:min(75%,420px);height:275px;align-self:center;margin:20px 0;background:linear-gradient(145deg,#092c3b,#041923);border:1px solid #23708b;border-radius:10px;padding:21px;display:flex;flex-direction:column;justify-content:space-between;color:#65b4c8;font-size:.6rem;font-weight:700;letter-spacing:.14em}.rack-diagram div{display:grid;gap:8px}.rack-diagram i{height:19px;background:repeating-linear-gradient(90deg,#194b5d 0 42%,#0d3545 42% 48%,#194b5d 48% 100%);border:1px solid #28677a}.rack-diagram i:nth-child(2){background:linear-gradient(90deg,#25758c 0 62%,#0d3545 62%)}.rack-diagram i:nth-child(4){background:linear-gradient(90deg,#1f6378 0 48%,#0d3545 48%)}.tile-graphic{display:grid;place-items:center;align-self:flex-end;width:98px;height:98px;border:1px solid #35768a;border-radius:50%;color:#5cd2eb;font-size:2.5rem;font-weight:800;letter-spacing:-.09em;box-shadow:0 0 0 20px rgba(88,207,233,.035),inset 0 0 25px rgba(88,207,233,.07)}
.local-section{background:#e9f2f5}.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.local-grid>div:first-child>p:last-child{color:#637d89;max-width:540px;margin:24px 0 0}.about-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:38px;box-shadow:0 20px 45px rgba(18,62,78,.07)}.about-label{color:#079ec1}.about-card p{font-size:1.3rem;line-height:1.48;letter-spacing:-.03em;color:#234452;margin:25px 0 35px}.about-card-bottom{border-top:1px solid #dce8ed;display:flex;justify-content:space-between;gap:20px;padding-top:18px;color:#66818c;font-size:.73rem;text-transform:uppercase;letter-spacing:.1em}.platforms{padding-block:62px}.platform-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:25px}.platform-heading h2{font-size:1.65rem;margin:0}.platform-heading p{color:#718f9b;max-width:350px;font-size:.78rem;margin:0}.platform-inner > ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #1e3d49}.platform-inner > ul > li{min-height:100px;display:flex;align-items:center;justify-content:center;gap:3px;color:#b2c9d2;font-size:1.02rem;font-weight:750;letter-spacing:-.04em;border-right:1px solid #1e3d49}.platform-inner > ul > li:last-child{border:0}.platform-inner b{color:var(--cyan);display:inline;font-weight:800}.process-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:34px;padding:0;margin:65px 0 92px;position:relative}.process-steps:before{content:"";position:absolute;top:0;left:5px;right:5px;border-top:1px solid #bfd8e1}.process-steps li{padding-top:38px;position:relative}.process-steps li:before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border:2px solid #39c6e5;background:var(--pale);border-radius:50%}.process-steps span{color:#0698be;font-size:.67rem;font-weight:800;letter-spacing:.13em}.process-steps h3{font-size:1.18rem;margin:18px 0 8px}.process-steps p{font-size:.79rem;color:#6f8994;line-height:1.5;max-width:220px;margin:0}.contact-banner{scroll-margin-top:110px;border-radius:22px;background:radial-gradient(circle at 80% 10%,#0d3545,#051c27 62%);color:#fff;padding:48px;display:flex;align-items:center;justify-content:space-between;gap:30px;overflow:hidden;position:relative}.contact-banner:after{content:"";position:absolute;right:-130px;top:-260px;width:490px;height:490px;border:1px solid rgba(88,207,233,.14);border-radius:50%;pointer-events:none}.contact-banner .section-kicker{color:var(--cyan);margin-bottom:14px}.contact-banner h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:0 0 10px}.contact-banner p:last-child{color:#8baab6;font-size:.85rem;margin:0}.contact-actions{display:grid;gap:12px;position:relative;z-index:1;text-align:center;flex:none}.contact-actions>a:last-child{font-size:.8rem;color:#a7cad5;text-decoration:underline;text-underline-offset:4px}.contact-actions>a:last-child:hover{color:#fff}
.site-footer{background:#02131c}.footer-main{display:grid;grid-template-columns:1.8fr .7fr .5fr;gap:80px;padding:58px 0 65px}.footer-brand a{display:block;width:330px;height:100px;overflow:hidden}.footer-brand img{width:100%;height:100%;object-fit:cover;mix-blend-mode:screen}.footer-brand p{max-width:500px;font-size:.78rem;color:#6c8d9a;margin:18px 0 0}.footer-main>div:not(:first-child){display:flex;flex-direction:column;gap:10px;color:#a6bdc7;font-size:.84rem}.footer-main h2{color:#6c9aab;font-size:.63rem;text-transform:uppercase;letter-spacing:.16em;margin:3px 0 10px}.footer-main a:hover{color:var(--cyan)}.footer-bottom{border-top:1px solid #1c3743;padding:21px 0 28px;display:flex;justify-content:space-between;gap:20px;color:#5e7f8b;font-size:.7rem}
@media(max-width:1100px){.site-nav{gap:18px}.hero-wrap{gap:25px}.hero h1{font-size:clamp(3.25rem,5.2vw,4.8rem)}.architecture{min-height:418px}.architecture-stage{height:300px}.diagram-node{width:135px}.layer-list li{align-items:flex-start;flex-direction:column;gap:6px}.layer-list span{text-align:left}.practice-grid{grid-template-columns:1.15fr 1fr 1fr}}
@media(max-width:850px){.wrap{width:min(calc(100% - 40px),var(--max))}.utility-inner span:last-child{display:none}.header-inner{height:75px}.brand{width:240px;height:58px}.menu-toggle{display:flex;width:44px;height:44px;border:1px solid #477384;border-radius:9px;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:5px;z-index:22}.menu-toggle span{width:19px;height:2px;background:#d2e9ef}.site-nav{display:none;position:absolute;top:75px;left:0;right:0;background:#102a36;border-top:1px solid #2a4e5d;padding:20px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 28px rgba(0,0,0,.25)}.site-nav.is-open{display:flex}.site-nav a{padding:13px 8px}.site-nav .nav-cta{text-align:center;margin-top:10px}.hero-wrap{grid-template-columns:1fr;padding-block:90px 45px}.hero h1{max-width:720px;font-size:clamp(3.8rem,9vw,5.8rem)}.architecture{max-width:680px;width:100%;justify-self:center}.facts-row{margin-bottom:65px}.split-intro{gap:30px}.difference-grid,.local-grid{grid-template-columns:1fr}.layer-panel{min-height:0}.local-grid{gap:35px}.practice-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}.practice-feature{grid-column:span 2;grid-row:auto;min-height:450px}.practice-tile{min-height:225px}.footer-main{gap:35px;grid-template-columns:1.2fr 1fr 1fr}}
@media(max-width:650px){.utility-bar{font-size:.58rem}.utility-inner{min-height:30px}.header-inner{height:69px}.brand{width:220px;height:52px}.site-nav{top:69px}.hero-wrap{padding-block:65px 35px}.hero h1{font-size:clamp(3.25rem,11vw,4.9rem);line-height:1}.hero-lede{font-size:1rem}.hero-actions{display:grid;grid-template-columns:1fr}.hero-proof{gap:10px 16px;font-size:.59rem}.architecture{min-height:405px;border-radius:18px}.architecture-head{padding:18px;font-size:.52rem}.architecture-stage{height:306px}.architecture-foot{padding:0 15px 15px;font-size:.5rem}.diagram-core{width:82px;height:82px;border-radius:17px}.core-mark{font-size:2.7rem}.diagram-core small{font-size:.42rem}.diagram-node{width:115px;min-height:65px;padding:9px}.diagram-node strong{font-size:.62rem}.diagram-node small{font-size:.52rem}.node-it,.node-cameras{left:3%}.node-network,.node-voice{right:3%}.facts-row{grid-template-columns:repeat(2,1fr);margin-bottom:48px}.facts-row div{padding:18px 12px;border-bottom:1px solid #1c3b48}.facts-row div:first-child{padding-left:12px}.facts-row div:nth-child(2){border-right:0}.facts-row div:nth-child(n+3){border-bottom:0}.facts-row strong{font-size:.86rem}.facts-row span{font-size:.58rem}.section-pad{padding-block:72px}.split-intro{display:block}.section-intro{margin-bottom:35px}.section-intro h2,.local-section h2{font-size:clamp(2.65rem,10vw,4rem)}.section-intro>p{margin:22px 0 0;font-size:.95rem}.layer-panel{padding:24px 18px;border-radius:17px}.layer-list{padding-left:32px}.layer-list:before{left:10px}.layer-list li:before{left:-29px;width:12px;height:12px}.layer-list li{padding:14px;min-height:68px}.layer-list strong{font-size:.78rem}.layer-list span{font-size:.61rem}.benefit-list article{padding:24px;min-height:145px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:210px;padding:20px}.service-card h3{font-size:1.25rem}.service-card p{font-size:.76rem}.practice-grid{gap:10px}.practice-feature{min-height:370px;padding:23px}.rack-diagram{height:200px;width:75%;padding:14px}.practice-feature h3{font-size:1.55rem}.practice-tile{min-height:210px;padding:18px}.practice-tile h3{font-size:1.1rem}.tile-graphic{width:63px;height:63px;font-size:1.7rem}.about-card{padding:26px}.about-card p{font-size:1.15rem}.platforms{padding-block:55px}.platform-heading{display:block}.platform-heading p{margin-top:15px}.platform-inner > ul{grid-template-columns:repeat(2,1fr)}.platform-inner > ul > li{min-height:75px}.platform-inner > ul > li:nth-child(2n){border-right:0}.platform-inner > ul > li:nth-child(-n+4){border-bottom:1px solid #1e3d49}.platform-inner > ul > li:last-child{grid-column:span 2}.process-steps{grid-template-columns:repeat(2,1fr);margin:48px 0 65px;gap:28px}.process-steps:before{display:none}.process-steps li{border-top:1px solid #bfd8e1}.contact-banner{padding:28px;display:block}.contact-banner h2{font-size:1.85rem}.contact-actions{text-align:left;display:flex;align-items:flex-start;flex-direction:column;margin-top:25px}.contact-actions .button{width:100%}.footer-main{grid-template-columns:1fr 1fr;gap:35px;padding:44px 0}.footer-brand{grid-column:span 2}.footer-brand a{width:270px;height:80px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:7px}}
@media(max-width:420px){.wrap{width:calc(100% - 30px)}.hero h1{font-size:3.1rem}.diagram-node{width:105px}.diagram-node small{font-size:.47rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:180px}.practice-grid{grid-template-columns:1fr}.practice-feature{grid-column:auto}.rack-diagram{width:90%}.practice-tile{min-height:180px}.about-card-bottom{font-size:.62rem}.process-steps{gap:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.portal-menu{position:relative;color:#b9cbd1}.portal-menu summary{list-style:none;cursor:pointer;padding:13px 0;white-space:nowrap;transition:color .2s}.portal-menu summary::-webkit-details-marker{display:none}.portal-menu summary:after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}.portal-menu[open] summary:after{transform:rotate(225deg);margin-bottom:0}.portal-menu summary:hover,.portal-menu[open] summary{color:#fff}.portal-menu summary:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}.portal-submenu{position:absolute;top:100%;right:-18px;z-index:25;width:245px;padding:9px;border:1px solid #315b6d;border-radius:12px;background:#102b38;box-shadow:0 18px 32px rgba(0,0,0,.28)}.portal-submenu a{display:block;padding:12px 13px;border-radius:7px;color:#c4d7de;font-size:.86rem;white-space:nowrap}.portal-submenu a:hover,.portal-submenu a:focus-visible{background:#1c4555;color:#fff}.footer-main{grid-template-columns:1.7fr 1fr 1fr .65fr;gap:42px}
@media(max-width:1000px){.header-inner{gap:18px}.site-nav{gap:17px}.brand{width:250px;height:60px}.footer-main{gap:25px}}
@media(max-width:850px){.portal-menu{width:100%}.portal-menu summary{padding:13px 8px}.portal-submenu{position:static;width:100%;box-shadow:none;margin:2px 0 10px}.portal-submenu a{padding:12px 14px}.footer-main{grid-template-columns:1.25fr 1fr 1fr;gap:25px}.footer-main>div:last-child{grid-column:2/4}}
@media(max-width:650px){.footer-main{grid-template-columns:repeat(2,1fr);gap:35px}.footer-main>div:last-child{grid-column:auto}.footer-brand{grid-column:span 2}}
.platform-inner > ul > li{padding:20px 15px;background:linear-gradient(145deg,#092530,#051a24)}.platform-inner > ul > li img{display:block;width:100%;max-width:165px;height:58px;object-fit:contain;object-position:center}.platform-inner > ul > li img.logo-square{max-width:54px}.platform-inner > ul > li img.logo-wide{max-width:185px}
.logo-light-chip{display:flex;align-items:center;justify-content:center;position:relative;width:min(100%,190px);height:70px;padding:10px 12px;overflow:hidden;border-radius:8px;background:#fff}.platform-inner .logo-light-chip img{width:100%;max-width:170px;height:auto;max-height:48px;object-fit:contain}.platform-inner .m365-window img{position:absolute;left:50%;top:50%;width:600px;height:120px;max-width:none;max-height:none;transform:translate(-50%,-50%) scale(2.05)}
.brand img,.footer-brand img{object-fit:contain;mix-blend-mode:normal}.core-logo-icon{display:block;width:89px;height:78px;overflow:hidden}.core-logo-icon img{display:block;width:auto;height:78px;max-width:none}.layer-panel:after{content:"";width:176px;height:154px;right:20px;bottom:0;color:transparent;font-size:0;background:url('/assets/dynamic-logo-transparent.webp') left center / auto 154px no-repeat;opacity:.16}.platform-logo-crop{display:block;position:relative;width:min(100%,185px);height:65px;overflow:hidden}.platform-inner .platform-logo-crop .m365-logo{position:absolute;left:50%;top:50%;display:block;width:130%;height:auto;max-width:none;max-height:none;object-fit:contain;transform:translate(-50%,-50%)}.platform-inner > ul > li .bitdefender-logo{max-width:185px;height:auto;filter:brightness(0) invert(1)}
.platform-logo-crop{background:transparent}
.partner-strip{margin-top:24px;padding:20px 24px 16px;background:#e9f2f5;border-radius:12px;color:#264653}.partner-strip h3{margin:0 0 10px;font-size:.67rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#537481}.partner-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.partner-list li{min-width:0;height:74px;display:grid;place-items:center}.partner-list .partner-layered{width:100%;height:100%;display:grid;place-items:center}.partner-list img{display:block;width:100%;height:74px;max-width:180px;object-fit:contain}
@media(max-width:850px){.partner-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px}}
@media(max-width:480px){.partner-strip{padding:18px 15px 12px}.partner-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}.partner-list li,.partner-list img{height:68px}}
.hero-kicker{color:#81b7c6;margin-bottom:27px}.diagram-node{width:168px;height:76px;min-height:0;padding:10px 12px;display:grid;grid-template-columns:7px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;align-content:center}.diagram-node .node-dot{grid-column:1;grid-row:1;margin:0}.diagram-node strong{grid-column:2;grid-row:1;line-height:1.2}.diagram-node small{grid-column:1/-1;grid-row:2;margin-top:6px}.node-it,.node-network{top:8%}.node-cameras,.node-voice{bottom:8%}.layer-panel:after{opacity:.06}
@media(max-width:650px){.diagram-node{width:112px;height:70px;padding:8px 9px;column-gap:5px}.diagram-node strong{font-size:.6rem}.diagram-node small{font-size:.5rem;margin-top:4px}}
@media(max-width:420px){.diagram-node{width:105px;padding:7px}}
html{scroll-padding-top:88px}
@media(max-width:850px){html{scroll-padding-top:75px}}
@media(max-width:650px){html{scroll-padding-top:69px}}
.layer-panel{background:radial-gradient(circle at 100% 92%,rgba(24,111,137,.2),transparent 48%),linear-gradient(145deg,#031e2a,#092f3e)}.layer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.layer-header .panel-kicker{margin:0;color:#9adbe9}.layer-header>span{color:#648fa0;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap}.layer-list{padding:0;margin:0;display:grid;gap:8px}.layer-list:before,.layer-list li:before{display:none}.layer-list li{min-height:68px;margin:0;padding:11px 16px;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:14px;border:1px solid #2b6679;border-left:3px solid #55c9e3;background:linear-gradient(90deg,rgba(26,87,106,.78),rgba(8,42,56,.72));box-shadow:0 7px 20px rgba(0,13,20,.12)}.layer-list .layer-index{display:grid;place-items:center;width:34px;height:34px;border:1px solid #42849a;border-radius:9px;background:#0d4254;color:#8fe6f4;font-size:.65rem;font-weight:800;text-align:center}.layer-copy{min-width:0}.layer-list .layer-copy strong{display:block;font-size:.88rem;line-height:1.2}.layer-list .layer-copy span{display:block;margin-top:4px;color:#a1c0ca;font-size:.68rem;line-height:1.3;text-align:left}
@media(max-width:650px){.layer-panel{padding:26px 20px}.layer-header{margin-bottom:18px}.layer-list li{min-height:66px;padding:10px 12px;grid-template-columns:31px minmax(0,1fr);gap:11px}.layer-list .layer-index{width:29px;height:29px}.layer-list .layer-copy span{font-size:.63rem}}
.layer-list .layer-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #42849a;border-radius:9px;background:#0d4254;color:#8fe6f4;text-align:center}.layer-icon svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.benefit-kicker{color:#0699bf;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em}
.partner-strip{background:linear-gradient(135deg,#0c2e3c,#082633);border:1px solid #244a59;color:#dcecf0}.partner-strip h3{color:#89b7c4}.partner-list{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.partner-list img{max-width:160px;filter:brightness(0) invert(1);opacity:.82;transition:opacity .2s,transform .2s}.partner-list li:nth-child(2) img{filter:grayscale(1) brightness(1.8);opacity:.94}.partner-list li:nth-child(6) img,.partner-list .huntress-logo{filter:none;opacity:1}
@media(max-width:850px){.partner-list{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-list li:last-child{grid-column:2}}
@media(max-width:650px){.layer-list .layer-icon{width:29px;height:29px}.layer-icon svg{width:18px;height:18px}}
@media(max-width:480px){.partner-list{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-list li:last-child{grid-column:1/-1}}

/* Keep the complete opening section in view on landscape and desktop screens. */
@media(min-width:851px){
  .hero-wrap{min-height:0;padding-block:clamp(34px,5.2vh,70px) clamp(22px,3vh,36px)}
  .facts-row{margin-bottom:clamp(30px,4vh,56px)}
}
@media(min-width:851px) and (max-height:900px){
  .hero h1{font-size:clamp(3.5rem,4.8vw,5rem);margin-bottom:20px}
  .hero-kicker{margin-bottom:20px}
  .hero-lede{margin-bottom:24px}
  .hero-proof{margin-top:20px}
}

/* Logos share the dark surface; light wordmarks retain their colored marks. */
.partner-strip{padding:20px 24px 22px}
.partner-strip h3{margin-bottom:14px}
.partner-list{gap:22px;padding-top:12px;border-top:1px solid #244a59}
.partner-list li,.partner-list li:last-child{height:64px;padding:0;border:0;border-radius:0;background:transparent}
.partner-list .partner-layered{position:relative}
.partner-list img,.partner-list .huntress-logo{width:auto;height:54px;max-width:min(100%,128px);filter:none;opacity:1}
.partner-list li img.partner-light{filter:brightness(0) invert(1);opacity:.85}
.partner-list li img.partner-affiliated{filter:brightness(1.8);opacity:1}
.partner-list .partner-base{filter:brightness(0) invert(1);opacity:.88}
.partner-list .partner-color{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);filter:none;opacity:1;pointer-events:none}
.partner-intermedia .partner-color{clip-path:inset(0 0 50% 0)}
.partner-google .partner-color{clip-path:inset(0 0 44% 0)}
.partner-resideo .partner-base{clip-path:inset(0 0 0 32%)}
.partner-resideo .partner-color{clip-path:inset(0 68% 0 0)}
@media(min-width:851px) and (max-width:1000px){.partner-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.partner-list{gap:14px}}
@media(max-width:480px){.partner-list{gap:12px}.partner-list li{height:60px}.partner-list img{height:48px}}

/* Present the platform and partner marks as one continuous brand group. */
.platforms{padding-block:70px}
.platform-heading{align-items:baseline;margin-bottom:22px}
.platform-heading h2{font-size:clamp(1.7rem,2.4vw,2.15rem);line-height:1.15}
.platform-heading p{font-size:.9rem;color:#94b6c2}
.platform-inner>ul{border:1px solid #214454;border-radius:14px 14px 0 0;overflow:hidden;background:#082633}
.partner-strip{margin-top:0;padding:23px 24px 25px;border:1px solid #214454;border-top:0;border-radius:0 0 14px 14px;background:#082633}
.partner-strip h3{font-size:.77rem;letter-spacing:.1em;text-transform:none;color:#b2d2db;margin-bottom:11px}
.partner-list{border-top:1px solid #214454;padding-top:17px;gap:18px}
.service-page-intro h1#page-title{max-width:650px;font-size:clamp(2.9rem,4.35vw,4.45rem);line-height:1.08;letter-spacing:-.045em}
@media(max-width:850px){.platform-heading{display:block}.platform-heading p{margin:10px 0 0}.partner-list{gap:12px}}
@media(max-width:480px){.partner-strip{padding:20px 16px 22px}.partner-list{gap:10px}}

/* Dedicated services page and links from the home page. */
.site-nav a[aria-current="page"]{color:#fff}
.service-card-link{display:inline-block;align-self:flex-start;margin-top:16px;color:#72d9ef;font-size:.83rem;font-weight:750;border-bottom:1px solid rgba(114,217,239,.55);padding-bottom:3px}
.service-card:hover .service-card-link,.service-card:focus-visible .service-card-link{color:#fff;border-color:#fff}
.diagram-node{transition:border-color .2s,background .2s}
.diagram-node:hover,.diagram-node:focus-visible{border-color:#5fd2e9;background:#0b3545}
.practice-feature,.practice-tile{transition:transform .2s,box-shadow .2s}
.practice-feature:hover,.practice-tile:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(7,26,36,.18)}
.service-page-hero{color:#fff;padding-block:88px 96px}
.service-page-hero-grid{position:relative;display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:80px}
.service-page-intro h1{font-size:clamp(3.2rem,5.2vw,5.4rem);line-height:1.02;max-width:690px;margin:0 0 25px}
.service-page-intro>p:not(.eyebrow){max-width:615px;color:#adc5ce;font-size:1.1rem;line-height:1.62;margin-bottom:30px}
.service-directory{border:1px solid #2b6174;border-radius:22px;background:linear-gradient(145deg,rgba(13,58,74,.95),rgba(3,26,38,.96));padding:30px;box-shadow:0 25px 55px rgba(0,0,0,.18)}
.service-directory .panel-kicker{margin:0 0 20px;color:#93c3d0}
.service-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.service-directory-grid a{min-height:58px;display:flex;align-items:center;padding:13px 15px;border:1px solid #285669;border-radius:9px;background:rgba(5,34,47,.8);color:#e2f1f5;font-size:.9rem;font-weight:700;line-height:1.25;transition:border-color .2s,background .2s}
.service-directory-grid a:hover,.service-directory-grid a:focus-visible{border-color:#69d6e9;background:#12495c}
.service-details{padding-block:92px 108px}
.service-details-heading{max-width:700px;margin-bottom:42px}
.service-details-heading h2{font-size:clamp(2.4rem,4vw,3.7rem);line-height:1.05;margin:0 0 15px}
.service-details-heading>p:last-child{color:#617b87;font-size:1.02rem;margin:0}
.service-details-list{display:grid;gap:18px}
.service-detail{display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:center;padding:43px 48px;border:1px solid #d5e3e8;border-left:4px solid #42c4df;border-radius:17px;background:#fff;scroll-margin-top:110px}
.service-detail-copy h2{font-size:clamp(2rem,3vw,2.65rem);line-height:1.06;margin:9px 0 17px}
.service-detail-copy>p:last-child{max-width:610px;color:#516d79;font-size:1rem;line-height:1.65;margin:0}
.detail-category{color:#068cab;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;margin:0}
.detail-scope{padding:23px 27px;border:1px solid #d8e8ed;border-radius:12px;background:#eef6f8}
.detail-scope h3{font-size:1rem;letter-spacing:-.02em;margin:0 0 14px}
.detail-scope ul{margin:0;padding-left:20px;color:#415f6c;font-size:.91rem;line-height:1.5}
.detail-scope li+li{margin-top:9px}
.detail-scope li::marker{color:#0a9bbd}
.service-endcap{display:flex;align-items:center;justify-content:space-between;gap:48px;margin-top:34px;padding:42px 47px;border-radius:18px;background:radial-gradient(circle at 87% 10%,#124759,#062431 65%);color:#fff}
.service-endcap .section-kicker{color:#6bd6e9;margin-bottom:10px}
.service-endcap h2{font-size:clamp(1.9rem,3vw,2.6rem);margin:0 0 12px}
.service-endcap p:last-child{max-width:670px;color:#a5c1cc;font-size:.96rem;margin:0}
.service-endcap-actions{display:grid;justify-items:center;gap:13px;flex:none}
.service-endcap-actions>a:last-child{color:#a7cbd5;font-size:.84rem;text-decoration:underline;text-underline-offset:4px}
.service-endcap-actions>a:last-child:hover{color:#fff}
@media(max-width:1000px){.service-page-hero-grid{gap:40px}.service-detail{gap:38px}}
@media(max-width:850px){.service-page-hero{padding-block:68px 72px}.service-page-hero-grid{grid-template-columns:1fr;gap:45px}.service-page-intro h1{max-width:720px}.service-directory{max-width:720px}.service-detail{gap:26px;padding:34px}.service-endcap{padding:34px;gap:25px}}
@media(max-width:650px){.service-page-hero{padding-block:55px 60px}.service-page-intro h1{font-size:clamp(2.8rem,10vw,4.6rem)}.service-page-intro>p:not(.eyebrow){font-size:1rem}.service-directory{padding:22px}.service-directory-grid a{min-height:56px;padding:10px 12px}.service-details{padding-block:70px 75px}.service-details-heading{margin-bottom:30px}.service-detail{grid-template-columns:1fr;padding:27px 23px;gap:22px}.service-detail-copy h2{font-size:2rem}.detail-scope{padding:19px 21px}.service-endcap{display:block;padding:30px 24px}.service-endcap-actions{justify-items:stretch;margin-top:25px}.service-endcap-actions .button{width:100%}.service-endcap-actions>a:last-child{text-align:center}}
@media(max-width:480px){.service-directory-grid{grid-template-columns:1fr}}

/* The Services menu keeps the overview and individual pages together. */
.services-menu{position:relative;color:#b9cbd1}
.services-menu summary{list-style:none;cursor:pointer;padding:13px 0;white-space:nowrap;transition:color .2s}
.services-menu summary::-webkit-details-marker{display:none}
.services-menu summary:after{content:"";display:inline-block;width:6px;height:6px;margin:0 0 3px 9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.services-menu[open] summary:after{transform:rotate(225deg);margin-bottom:0}
.services-menu summary:hover,.services-menu[open] summary,.services-page .services-menu summary{color:#fff}
.services-menu summary:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}
.services-submenu{position:absolute;top:100%;left:-17px;z-index:25;width:510px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:11px;border:1px solid #315b6d;border-radius:12px;background:#102b38;box-shadow:0 18px 32px rgba(0,0,0,.28)}
.services-submenu a{display:block;padding:11px 12px;border-radius:7px;color:#c4d7de;font-size:.86rem;line-height:1.3}
.services-submenu a:hover,.services-submenu a:focus-visible,.services-submenu a[aria-current="page"]{background:#1c4555;color:#fff}
.services-submenu .services-menu-all{grid-column:1/-1;color:#86dced;font-weight:750;border-bottom:1px solid #315b6d;border-radius:6px 6px 0 0}
.service-detail-copy>p:last-of-type{max-width:610px;color:#516d79;font-size:1rem;line-height:1.65;margin:0}
.detail-link{display:inline-block;margin-top:18px;color:#087e9e;font-size:.91rem;font-weight:750;text-decoration:underline;text-underline-offset:5px}
.detail-link:hover{color:#005875}

/* Individual service pages. */
.service-topic-hero{color:#fff}
.service-breadcrumb{position:relative;display:flex;align-items:center;gap:11px;padding-top:30px;color:#8aaebc;font-size:.78rem;font-weight:650}
.service-breadcrumb a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.service-breadcrumb span[aria-current]{color:#d4e8ee}
.service-topic-hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:center;padding-block:63px 93px}
.service-topic-intro h1{color:#fff;font-size:clamp(3.7rem,6.4vw,6rem);line-height:1;margin:0 0 22px}
.service-topic-intro>p:not(.eyebrow){max-width:610px;color:#afc8d1;font-size:1.1rem;line-height:1.65;margin-bottom:29px}
.service-when{padding:33px 37px;border:1px solid #2b6376;border-radius:20px;background:linear-gradient(145deg,rgba(13,60,77,.93),rgba(2,27,39,.96));box-shadow:0 24px 50px rgba(0,0,0,.15)}
.service-when .panel-kicker{margin:0 0 18px;color:#8dd9e9}
.service-when ul{list-style:none;padding:0;margin:0}
.service-when li{position:relative;padding:16px 0 16px 25px;color:#d1e7ed;font-size:.96rem;line-height:1.5;border-top:1px solid #28576a}
.service-when li:before{content:"";position:absolute;left:0;top:25px;width:8px;height:8px;border-radius:50%;background:#5bd0e7}
.service-topic-body{padding-block:94px 110px}
.service-topic-heading{display:grid;grid-template-columns:1.06fr .94fr;gap:70px;align-items:end;margin-bottom:38px}
.service-topic-heading h2{font-size:clamp(2.65rem,4.3vw,4.25rem);line-height:1.04;margin:0;max-width:690px}
.service-topic-heading>p{color:#5d7985;font-size:1.03rem;line-height:1.65;margin:0 0 4px}
.service-topic-work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.service-topic-work article{min-height:170px;padding:28px 30px;border:1px solid #d5e2e7;border-top:3px solid #4ac8e2;border-radius:13px;background:#fff}
.service-topic-work h3{font-size:1.27rem;margin:0 0 10px}
.service-topic-work p{color:#58727e;font-size:.92rem;line-height:1.58;margin:0}
.service-topic-note{display:grid;grid-template-columns:205px 1fr;gap:35px;align-items:start;margin-top:20px;padding:34px 38px;border:1px solid #b7d7e0;border-radius:14px;background:#e0eef2}
.service-topic-note>span{color:#087f9d;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;padding-top:7px}
.service-topic-note h2{font-size:1.66rem;margin:0 0 8px}
.service-topic-note p{max-width:850px;color:#496875;font-size:.96rem;margin:0}
.service-related{margin-top:65px}
.service-related h2{font-size:1.55rem;margin:0 0 18px}
.service-related>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.service-related a{display:flex;flex-direction:column;gap:8px;min-height:132px;padding:24px 27px;border:1px solid #d0e0e6;border-radius:13px;background:#fff;transition:border-color .2s,transform .2s}
.service-related a:hover{border-color:#27a7c7;transform:translateY(-2px)}
.service-related span{color:#078cab;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.service-related strong{font-size:1.23rem}
.service-related small{margin-top:auto;color:#087e9e;font-size:.82rem;font-weight:750}
.service-topic-body .service-endcap{margin-top:64px}
@media(min-width:851px) and (max-width:1050px){.header-inner{gap:12px}.brand{width:225px;height:55px}.site-nav{gap:12px;font-size:.78rem}.nav-cta{padding:10px 12px}}
@media(max-width:1000px){.service-topic-hero-grid{gap:45px}.service-topic-heading{gap:38px}}
@media(max-width:850px){.services-menu{width:100%}.services-menu summary{padding:13px 8px}.services-submenu{position:static;width:100%;box-shadow:none;margin:2px 0 10px}.site-nav{max-height:calc(100svh - 75px);overflow-y:auto}.service-topic-hero-grid{grid-template-columns:1fr;gap:35px;padding-block:45px 70px}.service-when{max-width:720px}.service-topic-heading{display:block}.service-topic-heading>p{margin-top:20px}.service-topic-note{grid-template-columns:1fr;gap:12px}}
@media(max-width:650px){.site-nav{max-height:calc(100svh - 69px)}.services-submenu{grid-template-columns:1fr}.services-submenu .services-menu-all{grid-column:auto}.service-breadcrumb{font-size:.72rem;flex-wrap:wrap;padding-top:23px}.service-topic-hero-grid{padding-block:39px 57px}.service-topic-intro h1{font-size:clamp(3rem,11vw,4.8rem)}.service-topic-intro>p:not(.eyebrow){font-size:1rem}.service-when{padding:25px 23px}.service-topic-body{padding-block:72px 78px}.service-topic-heading h2{font-size:clamp(2.45rem,9vw,3.5rem)}.service-topic-work{grid-template-columns:1fr}.service-topic-work article{min-height:0;padding:23px}.service-topic-note{padding:26px 24px}.service-related{margin-top:50px}.service-related>div{grid-template-columns:1fr}.service-topic-body .service-endcap{margin-top:51px}}

.reviews-preview{padding:55px 0;border-top:1px solid #d3e2e7;border-bottom:1px solid #d3e2e7}
.reviews-preview-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.reviews-preview .section-kicker{margin-bottom:10px}
.reviews-preview h2{font-size:clamp(2rem,3vw,3rem);line-height:1.08;margin-bottom:12px}
.reviews-preview p:last-child{color:#5d7985;font-size:1rem;margin:0}
.reviews-preview .button{flex:none}
.reviews-page-hero{padding:95px 0 100px;color:#fff}
.reviews-page-inner{position:relative}
.reviews-page-hero .section-kicker{color:#69d4e9}
.reviews-page-hero h1{font-size:clamp(3.2rem,6vw,5.5rem);line-height:1.02;margin:0 0 22px}
.reviews-page-hero p:last-child{max-width:650px;color:#a8c4ce;font-size:1.12rem;margin:0}
.reviews-page-body{padding:95px 0 110px}
.reviews-source{display:flex;align-items:center;justify-content:space-between;gap:55px;padding:42px 48px;background:#fff;border:1px solid #d2e1e7;border-left:4px solid #42c4df;border-radius:16px}
.reviews-source h2{font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.08;margin:0 0 13px}
.reviews-source p:last-child{color:#5d7985;font-size:1rem;margin:0}
.reviews-source .button{flex:none}
@media(max-width:650px){.reviews-preview-inner,.reviews-source{display:block}.reviews-preview .button,.reviews-source .button{margin-top:25px}.reviews-page-hero{padding:65px 0 70px}.reviews-page-body{padding:60px 0 75px}.reviews-source{padding:30px 26px}}

.platform-group-label{margin:0 0 12px;color:#a6cbd5;font-size:.84rem;font-weight:700;letter-spacing:0}

.reviews-page-body{padding:92px 0 30px}
.reviews-list-heading{margin-bottom:34px}
.reviews-list-heading h2{font-size:clamp(2.35rem,4vw,3.7rem);line-height:1.08;margin:0}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.review-card{display:flex;flex-direction:column;justify-content:space-between;gap:25px;padding:32px 34px;background:#fff;border:1px solid #d2e1e7;border-top:3px solid #46c4df;border-radius:14px}
.review-card blockquote{margin:0;color:#244756;font-size:1rem;line-height:1.68}
.review-card blockquote p{margin:0 0 17px}
.review-card blockquote p:last-child{margin-bottom:0}
.review-author{display:inline-flex;align-self:flex-start;flex-direction:column;gap:3px;color:#087d9b;font-size:.98rem;font-weight:800;border-bottom:1px solid transparent}
.review-author span{color:#66818c;font-size:.77rem;font-weight:600}
.review-author:hover{border-color:#087d9b}
.reviews-more{padding:25px 0 110px}
@media(max-width:750px){.review-grid{grid-template-columns:1fr}.review-card{padding:28px 25px}.reviews-page-body{padding:65px 0 20px}.reviews-more{padding-bottom:75px}}

/* Keep the four system cards clear of the center mark at every width. */
.architecture-stage{height:360px}
.diagram-node{width:clamp(112px,29%,168px);height:76px}
.node-it,.node-network{top:8%}
.node-cameras,.node-voice{bottom:8%}
.diagram-core{width:100px;height:100px}
.diagram-core .core-logo-icon{width:76px;height:66px}
.diagram-core .core-logo-icon img{height:66px}
.orbit-two{width:min(70%,310px);height:auto;aspect-ratio:1}
.orbit-one{width:min(50%,220px);height:auto;aspect-ratio:1}
.tile-graphic svg{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:650px){.architecture-stage{height:320px}.diagram-node{width:clamp(105px,28%,125px);height:70px}.diagram-core{width:80px;height:80px}.diagram-core .core-logo-icon{width:58px;height:50px}.diagram-core .core-logo-icon img{height:50px}.tile-graphic svg{width:31px;height:31px}}
@media(max-width:480px){.architecture-stage{height:auto;min-height:215px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.architecture-stage .orbit,.architecture-stage .diagram-core,.architecture-stage .connection-lines{display:none}.architecture-stage .diagram-node{position:static;width:auto;height:auto;min-height:86px}.architecture-foot{padding-top:8px}}

.google-rating{display:flex;align-items:center;gap:12px;margin:0 0 14px;color:#284854;font-size:.97rem}
.rating-stars{color:#e7a91d;white-space:nowrap;letter-spacing:.09em;font-size:1.35rem;line-height:1}
.google-rating strong{font-size:1.18rem;color:#102e3a}
.google-rating-dark{color:#b8d1d9;margin:0 0 22px}
.google-rating-dark strong{color:#fff}
.review-card{justify-content:flex-start;gap:20px}
.review-card .review-author{margin-top:auto}
.review-stars .rating-stars{font-size:1.2rem}

/* Fill the opening viewport after the utility bar and sticky header. */
.hero{min-height:calc(100vh - 125px);min-height:calc(100dvh - 125px);display:flex;flex-direction:column}
.hero .hero-wrap{flex:1}
.hero .facts-row{margin-bottom:0}
@media(max-width:850px){.hero{min-height:calc(100vh - 111px);min-height:calc(100dvh - 111px)}}
@media(max-width:650px){.hero{min-height:calc(100vh - 99px);min-height:calc(100dvh - 99px)}}

.help-hero{color:#fff;padding:88px 0 94px}
.help-hero-inner{position:relative}
.help-hero .section-kicker{color:#70d7e9}
.help-hero h1{font-size:clamp(3rem,5vw,5.1rem);line-height:1.04;margin:0 0 20px}
.help-hero p:last-child{max-width:690px;color:#b0cbd5;font-size:1.08rem;margin:0}
.help-downloads{padding:85px 0 105px}
.help-section-head{margin-bottom:30px}
.help-section-head h2{font-size:clamp(2.2rem,3.8vw,3.5rem);margin:0}
.help-download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.help-download-grid article{display:flex;flex-direction:column;align-items:flex-start;padding:32px;border:1px solid #d0e0e6;border-top:3px solid #40c3df;border-radius:14px;background:#fff}
.help-os{color:#0786a6;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.help-download-grid h3{font-size:1.6rem;margin:15px 0 8px}
.help-download-grid p{color:#5c7884;font-size:.98rem;margin:0 0 30px}
.help-download-grid .button{margin-top:auto}
.help-more{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:22px;padding:34px 40px;border-radius:14px;background:#092a38;color:#fff}
.help-more .section-kicker{color:#75d6e8;margin-bottom:9px}
.help-more h2{font-size:1.6rem;margin:0 0 8px}
.help-more p:last-child{color:#aac4ce;font-size:.93rem;margin:0}
.help-more .button{flex:none}
@media(max-width:850px){.help-download-grid{grid-template-columns:1fr}.help-download-grid article{min-height:0}.help-more{display:block}.help-more .button{margin-top:24px}}
@media(max-width:650px){.help-hero{padding:62px 0 70px}.help-downloads{padding:65px 0 75px}.help-download-grid article{padding:27px}.help-more{padding:27px}}

/* Keep the phone layout legible and give navigation comfortable tap targets. */
@media(max-width:480px){
  .hero h1{font-size:clamp(2.65rem,12vw,3.1rem);overflow-wrap:normal}
  .hero-proof{font-size:.7rem;line-height:1.45;letter-spacing:.06em}
  .architecture-head,.architecture-foot{font-size:.66rem;letter-spacing:.08em;flex-wrap:wrap}
  .architecture-stage .diagram-node{min-height:94px;padding:12px;align-content:center}
  .architecture-stage .diagram-node strong{font-size:.8rem}
  .architecture-stage .diagram-node small{font-size:.7rem;line-height:1.35}
  .site-nav a,.portal-menu summary,.services-menu summary{min-height:44px}
  .review-card{overflow-wrap:anywhere}
}
@media(max-width:360px){
  .brand{width:195px;height:48px}
  .hero h1{font-size:2.55rem}
  .architecture-stage{gap:9px;padding:12px}
  .architecture-stage .diagram-node{padding:9px}
  .architecture-stage .diagram-node strong{font-size:.75rem}
  .architecture-stage .diagram-node small{font-size:.67rem}
}

/* Scale the four system cards with the hero panel. */
@media(min-width:651px){
  .diagram-node{width:clamp(125px,34%,200px);height:94px;padding:14px 16px}
  .diagram-node strong{font-size:.86rem}
  .diagram-node small{font-size:.72rem;line-height:1.3}
  .diagram-core{width:clamp(85px,20%,120px);height:clamp(85px,20vw,120px)}
  .diagram-core .core-logo-icon{width:86px;height:75px}
  .diagram-core .core-logo-icon img{height:75px}
  .node-it,.node-network{top:5%}
  .node-cameras,.node-voice{bottom:5%}
}

/* Use the same dark cell treatment for every platform and partner mark. */
.platform-inner>ul{border-bottom:0}
.platform-inner>ul>li,.partner-list li,.partner-list li:last-child{
  min-width:0;height:100px;min-height:100px;padding:14px;
  border:1px solid #244b5c;border-radius:0;
  background:linear-gradient(145deg,#092530,#051a24)
}
.platform-inner>ul>li{border-top:0;border-left:0}
.platform-inner>ul>li:last-child{border-right:0}
.partner-strip{padding:22px 24px 24px}
.partner-list{gap:10px;padding-top:17px}
.partner-list img,.partner-list .huntress-logo{max-width:100%;max-height:66px;height:66px;object-fit:contain}
.partner-list li img.partner-affiliated{filter:brightness(1.8)}
@media(max-width:850px){.partner-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){
  .platform-inner>ul>li,.partner-list li,.partner-list li:last-child{height:86px;min-height:86px;padding:10px}
  .partner-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .partner-list li:last-child{grid-column:1/-1}
  .partner-list img,.partner-list .huntress-logo{height:60px;max-height:60px}
}

/* Separate the review invitation from the pale process section. */
.reviews-preview{background:#103342;color:#fff;border-color:#285367}
.reviews-preview .section-kicker{color:#74d7eb}
.reviews-preview p:last-child,.reviews-preview .google-rating{color:#b9d1da}
.reviews-preview .google-rating strong{color:#fff}

/* Keep the system diagram's lettering and center mark in proportion to its cards. */
.diagram-core .core-logo-icon{width:79%;height:79%;overflow:hidden}
.diagram-core .core-logo-icon img{display:block;width:auto;max-width:none;height:100%}
@media(min-width:651px){
  .diagram-node strong{font-size:1rem;line-height:1.15}
  .diagram-node small{font-size:.8rem;line-height:1.35}
}

/* Align the four project tile captions at the same vertical position. */
.practice-tile>div:last-child{min-height:94px;display:flex;flex-direction:column;justify-content:flex-start}
.practice-tile .tile-kicker{display:block;line-height:1.3;min-height:22px}
.practice-tile h3{max-width:290px;margin-top:7px}
@media(max-width:650px){.practice-tile>div:last-child{min-height:88px}}

/* The label is descriptive, while the four service families below are links. */
.architecture-head{justify-content:center;text-align:center}
@media(min-width:1251px){
  .architecture-stage{height:390px}
  .diagram-node{height:auto;min-height:116px;padding:15px 16px}
  .diagram-node small{font-size:.76rem;line-height:1.35}
}
@media(max-width:1250px){
  .architecture{min-height:0}
  .architecture-stage{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}
  .architecture-stage .orbit,.architecture-stage .diagram-core,.architecture-stage .connection-lines{display:none}
  .architecture-stage .diagram-node{position:static;width:auto;height:auto;min-height:118px;padding:17px;align-content:center}
  .architecture-stage .diagram-node strong{font-size:1rem}
  .architecture-stage .diagram-node small{font-size:.79rem;line-height:1.4}
  .architecture-foot{padding-top:8px}
}
@media(max-width:480px){
  .architecture-stage{padding:12px;gap:10px}
  .architecture-stage .diagram-node{min-height:128px;padding:12px}
  .architecture-stage .diagram-node strong{font-size:.88rem}
  .architecture-stage .diagram-node small{font-size:.76rem}
}
@media(max-width:360px){
  .architecture-stage{grid-template-columns:1fr}
  .architecture-stage .diagram-node{min-height:88px}
}

/* Keep the service diagram's four boxes equally sized and easy to scan. */
.architecture-head{
  height:88px;
  min-height:0;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:.86rem;
  line-height:1.25;
  letter-spacing:.105em;
}
/* The heading occupies the space above the cards without moving the diagram. */
@media(min-width:1251px){.architecture-head{margin-bottom:-24px}}
@media(max-width:1250px){.architecture-head{height:82px}.architecture-stage{padding-top:0}}
@media(max-width:480px){.architecture-head{height:76px}.architecture-stage{padding-top:0}}
.architecture-stage .diagram-node{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.architecture-stage .diagram-node strong{font-size:.9rem;line-height:1.2}
.architecture-stage .diagram-node small{font-size:.76rem;line-height:1.3;margin-top:7px}
.architecture-stage .diagram-node small span{display:block}
@media(min-width:1251px){
  .architecture-stage .diagram-node{width:clamp(150px,32%,188px);height:104px;min-height:104px;padding:10px 12px}
  .architecture-stage .node-it,.architecture-stage .node-network{top:6%}
  .architecture-stage .node-cameras,.architecture-stage .node-voice{bottom:6%}
}
@media(max-width:1250px){
  .architecture-stage .diagram-node{min-height:106px;padding:14px 12px}
}
@media(max-width:480px){
  .architecture-head{font-size:.75rem;letter-spacing:.08em}
  .architecture-stage .diagram-node{min-height:120px;padding:12px 8px}
  .architecture-stage .diagram-node strong{font-size:.84rem}
  .architecture-stage .diagram-node small{font-size:.73rem}
}

/* Give both logo groups the same separated cell pattern and surface. */
.platform-inner>ul{gap:10px;border:0;border-radius:0;overflow:visible;background:transparent}
.platform-inner>ul>li,.platform-inner>ul>li:last-child,
.platform-inner>ul>li:nth-child(2n),.platform-inner>ul>li:nth-child(-n+4),
.partner-list li,.partner-list li:last-child{
  border:1px solid #244b5c;border-radius:3px;
  background:linear-gradient(145deg,#092530,#051a24)
}
.partner-strip{border:0;border-radius:0;background:transparent;padding:25px 0 0}
.partner-list{border:0;padding-top:0}
.partner-strip h3{margin-bottom:14px}
@media(max-width:480px){.partner-strip{padding:22px 0 0}}
.platform-inner > ul > li img.unifi-logo{max-width:140px;height:46px}

/* Match the nearby light section, then introduce a distinct review band. */
.local-section{background:var(--pale)}
.reviews-preview{background:linear-gradient(115deg,#c5e7f0,#e0f2f5 62%,#b9dce7);color:#082b39;border:0}
.reviews-preview .section-kicker{color:#087d9b}
.reviews-preview p:last-child,.reviews-preview .google-rating{color:#355a69}
.reviews-preview .google-rating strong{color:#082b39}
.reviews-preview .button-primary{background:#073343;color:#fff;box-shadow:none}
.reviews-preview .button-primary:hover{background:#10536a}

/* The source logo's symbol is wider than it is tall; preserve that crop. */
.diagram-core .core-logo-icon{width:82%;height:auto;aspect-ratio:362/312;overflow:hidden}
.diagram-core .core-logo-icon img{display:block;width:auto;max-width:none;height:100%;mix-blend-mode:screen}

/* Editorial pages: projects, support, about and inquiry. */
.inline-link{display:inline-flex;gap:8px;align-items:center;margin-top:25px;color:#087d9b;font-weight:750;text-decoration:underline;text-underline-offset:5px}
.inline-link:hover{color:#03546a}
.project-more{margin-top:28px}
.editorial-hero{color:#fff}
.editorial-hero-inner{position:relative;padding-block:90px 105px}
.editorial-hero .section-kicker{color:#70d7e9}
.editorial-hero h1{font-size:clamp(3.5rem,6.2vw,6.1rem);line-height:.99;margin:0 0 26px;max-width:1050px}
.editorial-hero h1 em{font-style:normal;color:var(--cyan)}
.editorial-hero-inner>p:last-child{max-width:770px;color:#b1cbd4;font-size:1.13rem;line-height:1.65;margin:0}
.editorial-body{padding-block:90px 105px}
.editorial-intro{max-width:800px;margin-bottom:40px}
.editorial-intro h2,.about-story h2,.about-local h2{font-size:clamp(2.6rem,4.2vw,4.2rem);line-height:1.05;margin:0 0 18px}
.editorial-intro>p:last-child{font-size:1rem;color:#526e79;max-width:700px;margin:0}
.project-list{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;align-items:stretch}
.project-card{display:flex;flex:0 1 calc((100% - 32px)/3);flex-direction:column;min-width:0;overflow:hidden;border:1px solid #d2e1e7;border-top:3px solid #48c5df;border-radius:15px;background:#fff}
.project-photo-slot{position:relative;flex:none;width:100%;aspect-ratio:16/9;overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(88,207,233,.26),transparent 33%),linear-gradient(135deg,#092b3b,#134f63 54%,#092b3b)}
.project-photo-slot:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(139,217,233,.09) 1px,transparent 1px),linear-gradient(rgba(139,217,233,.09) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(100deg,transparent,black 70%)}
.project-photo-slot:after{content:"";position:absolute;right:-9%;bottom:-80%;width:68%;aspect-ratio:1;border:1px solid rgba(139,217,233,.3);border-radius:50%;box-shadow:0 0 0 44px rgba(139,217,233,.035),0 0 0 88px rgba(139,217,233,.025)}
.project-photo-slot img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover}
.project-copy{flex:1;padding:31px;display:flex;flex-direction:column;align-items:flex-start}
.project-copy .section-kicker{margin-bottom:15px}
.project-copy h3{font-size:clamp(1.65rem,2.2vw,2.15rem);line-height:1.12;margin:0 0 15px}
.project-copy>p:not(.section-kicker){font-size:1rem;color:#516d79;margin:0 0 15px}
.project-copy ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:0 0 24px}
.project-copy li{padding:7px 10px;border:1px solid #d3e3e8;border-radius:6px;background:#f2f8fa;color:#3c6574;font-size:.78rem;font-weight:700}
.project-copy>a,.inquiry-side a:not(.button){margin-top:auto;color:#087d9b;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.editorial-callout{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:65px;padding:42px;border-radius:18px;background:#082b3a;color:#fff}
.editorial-callout .section-kicker{color:#70d7e9;margin-bottom:12px}
.editorial-callout h2{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.1;margin:0 0 9px}
.editorial-callout p:last-child{color:#acc7d0;margin:0;max-width:650px}
.editorial-callout .button{flex:none}
.support-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.support-actions article,.support-grid article{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #d2e1e7;border-radius:14px;background:#fff;padding:29px}
.support-actions article{border-top:3px solid #51c8e2;min-height:290px}
.support-actions span,.about-principles span{color:#0789a8;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.support-actions h3,.support-grid h3{font-size:1.5rem;line-height:1.16;margin:19px 0 11px}
.support-actions p,.support-grid p{font-size:1rem;color:#58727e;margin:0 0 20px}
.support-actions .button{margin-top:auto}
.button-outline{border:1px solid #80b2c1;background:#fff;color:#0b5269}
.support-lower{margin-top:75px}
.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.support-grid article{min-height:150px}
.support-grid h3{margin:0 0 10px}
.support-grid p{margin:0}
.editorial-intro .support-hours{margin-top:18px;padding:12px 16px;border-left:3px solid #29b7d5;background:#e4f2f6;color:#1a4c60;font-size:.95rem}
.support-hours strong{color:#0a394a}
.support-onboarding article{border-top:3px solid #51c8e2}
.support-onboarding h3{margin:0 0 14px}
.support-onboarding p{line-height:1.65}
.privacy-copy{max-width:850px}
.privacy-copy h2{font-size:clamp(1.7rem,2.5vw,2.3rem);margin:38px 0 12px}
.privacy-copy h2:first-child{margin-top:0}
.privacy-copy p,.privacy-copy li{font-size:1rem;line-height:1.7;color:#4c6875}
.privacy-copy ul{padding-left:22px}
.privacy-copy a{color:#087d9b;text-decoration:underline;text-underline-offset:3px}
.about-story{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;margin-bottom:75px}
.about-story>div:last-child p{font-size:1.1rem;color:#4d6b78;margin-bottom:18px}
.about-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.about-principles article{padding:31px;border-top:3px solid #48c5df;border-radius:12px;background:#fff}
.about-principles h3{font-size:1.6rem;margin:25px 0 10px}
.about-principles p{color:#56727d;font-size:1rem;margin:0}
.about-local{display:grid;grid-template-columns:1.2fr .8fr;gap:75px;align-items:center;margin-top:75px;padding:45px;border:1px solid #b9d8e1;border-radius:18px;background:#e3f0f4}
.about-local p:last-child{color:#4f6f7b;font-size:1rem;margin:0}
.about-local>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:10px 15px}
.about-local strong{font-size:1.1rem;color:#0a4356}
.about-local span{color:#557580;font-size:.86rem}
.inquiry-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:60px;align-items:start}
.inquiry-main h2{font-size:clamp(2.4rem,4vw,3.6rem);margin:0 0 12px}
.inquiry-note{font-size:1rem;color:#516d79;margin-bottom:28px}
.project-form{display:grid;gap:20px}
.form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.project-form label{display:flex;flex-direction:column;gap:8px;font-size:.9rem;font-weight:750;color:#173b4a}
.project-form label span{color:#0a8eaa}
.project-form input,.project-form select,.project-form textarea{width:100%;min-height:49px;padding:12px 14px;border:1px solid #b6ced7;border-radius:8px;background:#fff;color:#0a2b39;font:inherit;font-size:1rem;font-weight:400}
.project-form .form-honey{display:none}
.project-form textarea{min-height:150px;resize:vertical}
.project-form :is(input,select,textarea):focus-visible{outline:3px solid #57c9df;outline-offset:2px}
.form-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.copy-request{border:0;background:none;color:#087d9b;text-decoration:underline;text-underline-offset:4px;font-weight:750;padding:12px}
.form-status{min-height:24px;font-size:.92rem;color:#20586b;margin:0}
.form-disclosure{font-size:.84rem;line-height:1.5;color:#58727e;margin:-4px 0 0}
.form-disclosure a{color:#087d9b;text-decoration:underline;text-underline-offset:3px}
.thank-you-panel{max-width:780px;padding:clamp(30px,5vw,70px);border:1px solid #c4dce4;border-top:3px solid #48c5df;border-radius:16px;background:#fff}
.thank-you-panel h2{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.08;margin:0 0 18px}
.thank-you-panel p:not(.section-kicker){font-size:1.05rem;color:#516d79;max-width:590px;margin:0 0 26px}
.thank-you-panel .button{margin-top:5px}
.inquiry-side{display:grid;gap:15px}
.inquiry-side>div{display:flex;flex-direction:column;align-items:flex-start;padding:30px;border:1px solid #d2e1e7;border-radius:14px;background:#fff}
.inquiry-side h3{font-size:1.5rem;line-height:1.2;margin:0 0 18px}
.inquiry-side a{margin-bottom:10px}
.inquiry-side p:last-child{color:#5b7782;font-size:.92rem;margin:12px 0 0}
@media(max-width:1000px){.project-card{flex-basis:100%}.project-photo-slot{aspect-ratio:16/6}.inquiry-layout{gap:30px}.support-actions{grid-template-columns:1fr 1fr}.support-actions article:last-child{grid-column:1/-1;min-height:0}.about-story{gap:40px}}
@media(max-width:750px){.editorial-hero-inner{padding-block:65px 70px}.editorial-hero h1{font-size:clamp(3rem,9vw,4.6rem)}.editorial-body{padding-block:65px 80px}.about-story,.about-local,.inquiry-layout{grid-template-columns:1fr}.project-copy{padding:30px}.editorial-callout{display:block;padding:30px}.editorial-callout .button{margin-top:24px}.about-story{gap:15px}.about-principles{grid-template-columns:1fr}.about-local{gap:30px;margin-top:55px;padding:30px}.inquiry-side{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.support-actions,.support-grid,.inquiry-side,.form-pair{grid-template-columns:1fr}.support-actions article:last-child{grid-column:auto}.support-actions article{min-height:0}.editorial-hero h1{font-size:clamp(2.7rem,11vw,3.8rem)}.editorial-hero-inner>p:last-child{font-size:1rem}.project-photo-slot{aspect-ratio:16/9}.project-copy{padding:26px}.about-local>div:last-child{grid-template-columns:1fr}.about-local span{margin-bottom:8px}.inquiry-layout{gap:35px}}

/* About page closing statement. */
.about-credo{position:relative;overflow:hidden;margin-top:75px;padding:clamp(42px,6vw,82px);border:1px solid #28677d;border-radius:20px;background:radial-gradient(circle at 87% 10%,rgba(48,160,190,.22),transparent 42%),linear-gradient(135deg,#031a25,#0a3445);color:#fff}
.about-credo:after{content:"";position:absolute;right:-120px;bottom:-230px;width:480px;height:480px;border:1px solid rgba(91,207,232,.16);border-radius:50%;pointer-events:none}
.about-credo .section-kicker{color:#7bd8ea;margin-bottom:28px}
.about-credo h2{position:relative;z-index:1;font-size:clamp(2.7rem,5.5vw,5.5rem);line-height:1.08;letter-spacing:-.055em;margin:0 0 28px}
.about-credo h2 span{display:block}
.about-credo h2 span:last-child{color:var(--cyan)}
.about-credo>p:not(.section-kicker){position:relative;z-index:1;max-width:680px;color:#b6d0d9;font-size:1.08rem;margin:0 0 28px}
.about-credo .button{position:relative;z-index:1}
@media(max-width:600px){.about-credo{margin-top:55px;padding:34px 25px}.about-credo h2{font-size:clamp(2.4rem,10vw,3.3rem)}.about-credo>p:not(.section-kicker){font-size:1rem}}

/* The home page now tells its story in one services section. */
.services{padding-bottom:88px;background:#fff;color:var(--ink)}
.services .section-intro h2 em{color:#087e9e}
.statement-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(42px,7vw,105px);align-items:center}
.statement-intro>p{max-width:590px;margin:0;padding-left:30px;border-left:3px solid #2ba9cb;color:#274957;font-size:clamp(1.35rem,2.1vw,1.7rem);font-weight:500;line-height:1.4;letter-spacing:-.025em}
.service-topic-heading.statement-intro>p{font-size:clamp(1.2rem,1.9vw,1.5rem)}
.services .service-card{color:#fff}
.services .service-index{color:#9ebbc5}
.services .service-card p{font-size:.88rem;line-height:1.5;color:#a9c2cc}
.platforms{border-top:1px solid #205165;background:#082633}
.home-contact{padding-block:70px}
@media(max-width:650px){.services{padding-bottom:70px}.home-contact{padding-block:52px}}

/* Homepage: four service groups retain direct links to all nine specialties. */
.home-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home-service-card{min-height:225px;display:flex;flex-direction:column;padding:28px 30px;border:1px solid #244554;border-radius:16px;background:linear-gradient(145deg,#0a2b39,#051b26);color:#fff}
.home-service-card h3{font-size:1.6rem;line-height:1.15;margin:0 0 10px}
.home-service-card p{max-width:470px;color:#b0c8d0;font-size:.91rem;line-height:1.55;margin:0 0 24px}
.home-service-card ul{display:flex;flex-wrap:wrap;gap:9px 20px;list-style:none;border-top:1px solid #2b4e5c;margin:auto 0 0;padding:16px 0 0}
.home-service-card li{margin:0}
.home-service-card li a{color:#85deef;font-size:.86rem;font-weight:750;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}
.home-service-card li a:hover,.home-service-card li a:focus-visible{text-decoration-color:currentColor;color:#fff}
.home-services-all{margin-top:24px}

/* A readable customer quote beside the Google rating. */
.reviews-preview{padding:64px 0}
.reviews-preview-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(28px,5vw,72px)}
.reviews-preview-intro .google-rating{margin-bottom:20px}
.home-review-card{margin:0;padding:28px 32px;border:1px solid rgba(22,88,105,.17);border-radius:16px;background:rgba(255,255,255,.64);box-shadow:0 12px 28px rgba(12,58,73,.07)}
.home-review-card .review-stars{margin-bottom:12px}
.home-review-card blockquote{margin:0}
.reviews-preview .home-review-card blockquote p{color:#163b49;font-size:1.1rem;line-height:1.55;margin:0}
.home-review-card figcaption{display:flex;flex-wrap:wrap;gap:5px 12px;align-items:baseline;margin-top:16px;color:#537281;font-size:.82rem}
.home-review-card figcaption a{color:#0b536b;font-weight:800;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.home-review-card figcaption a:hover,.home-review-card figcaption a:focus-visible{text-decoration-color:currentColor}
@media(max-width:700px){
  .home-service-grid{grid-template-columns:1fr}
  .home-service-card{min-height:0;padding:25px}
  .home-service-card p{margin-bottom:22px}
  .reviews-preview-inner{grid-template-columns:1fr;gap:28px}
  .home-review-card{padding:25px}
}
@media(max-width:850px){
  .statement-intro{grid-template-columns:1fr;gap:25px}
  .statement-intro>p,.service-topic-heading.statement-intro>p{padding-left:22px;font-size:clamp(1.2rem,3vw,1.45rem)}
}

/* Keep introductory copy consistent across the interior page headers. */
.editorial-hero-inner>p:last-child,
.reviews-page-inner>p:last-child,
.help-hero-inner>p:last-child,
.service-page-intro>p:not(.eyebrow),
.service-topic-intro>p:not(.eyebrow){
  max-width:770px;padding-left:22px;border-left:3px solid #2ba9cb;
  color:#bfd5dd;font-size:clamp(1.17rem,1.6vw,1.34rem);line-height:1.5
}
.about-story>div:last-child{padding-left:30px;border-left:3px solid #2ba9cb}
.about-story>div:last-child p:first-child{font-size:1.2rem;color:#274957}
.service-details-heading>p:last-child,
.editorial-intro>p:not(.section-kicker):not(.support-hours),
.inquiry-main>.inquiry-note,
.about-local>div:first-child>p:last-child{
  max-width:700px;padding-left:22px;border-left:3px solid #2ba9cb;
  color:#274957;font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.5
}
@media(max-width:750px){.about-story>div:last-child{padding-left:22px}}
@media(max-width:600px){
  .editorial-hero-inner>p:last-child,
  .reviews-page-inner>p:last-child,
  .help-hero-inner>p:last-child,
  .service-page-intro>p:not(.eyebrow),
  .service-topic-intro>p:not(.eyebrow){font-size:1.1rem;padding-left:18px}
}

/* Keep support hours legible in the narrow footer contact column. */
.footer-hours{display:block;line-height:1.45}
.footer-hours strong,.footer-hours span{display:block}
.footer-hours strong{color:#e0eff3;font-weight:700;margin-bottom:3px}
.footer-main a{overflow-wrap:anywhere}
.footer-bottom{flex-wrap:wrap;align-items:center}

/* Keep the service overview compact; full scopes live on each service page. */
.service-details-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.service-detail{display:flex;flex-direction:column;align-items:stretch;min-height:250px;padding:30px;gap:0}
.service-detail-copy{display:flex;flex-direction:column;flex:1}
.service-detail-copy h2{font-size:clamp(1.55rem,2.1vw,1.95rem);margin:10px 0 13px}
.service-detail-copy>p:last-of-type{font-size:.96rem;line-height:1.55}
.service-detail-copy .detail-link{margin-top:auto;padding-top:22px}

/* Four site types with a photo space ready for each future project image. */
.project-card{flex-basis:calc((100% - 16px)/2)}

/* Make support, exploration and social links distinct in the footer. */
.footer-main{grid-template-columns:minmax(0,1.55fr) minmax(0,1.1fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,.6fr);gap:clamp(16px,2vw,32px)}
@media(max-width:1000px){
  .service-details-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-card{flex-basis:100%}
  .footer-main{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-brand{grid-column:span 3}
  .footer-main>div:last-child{grid-column:auto}
}
@media(max-width:650px){
  .service-details-list{grid-template-columns:1fr}
  .service-detail{min-height:0;padding:27px 23px}
  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-brand{grid-column:span 2}
  .footer-main>div:last-child{grid-column:auto}
}

/* Give the longer About statement room without crowding smaller screens. */
.about-hero h1{font-size:clamp(3.2rem,5vw,5.4rem);max-width:1220px}
@media(max-width:650px){.about-hero h1{font-size:clamp(2.7rem,10vw,3.6rem)}}

/* A quiet place for unsolicited resumes on the About page. */
.about-careers{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:28px;padding:36px 42px;border:1px solid #c7dbe2;border-radius:16px;background:#fff;scroll-margin-top:110px}
.about-careers .section-kicker{margin-bottom:10px}
.about-careers h2{margin:0 0 12px;font-size:clamp(1.8rem,2.5vw,2.5rem)}
.about-careers p:not(.section-kicker){max-width:710px;margin:0;line-height:1.65;color:#4b6571}
.about-careers .button{flex:none;white-space:nowrap}
@media(max-width:760px){.about-careers{display:block;padding:29px 26px}.about-careers .button{display:inline-flex;margin-top:23px;white-space:normal}}

/* Keep the footer compact while scaling the logo within its own column. */
@media(max-width:1250px){
  .footer-main{grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,.6fr);gap:16px;padding:42px 0 45px}
  .footer-brand{grid-column:auto}
  .footer-brand a{width:min(100%,260px);height:78px}
  .footer-brand img{display:block}
  .footer-brand p{margin-top:9px}
  .footer-main>div:last-child{grid-column:auto}
}
@media(max-width:950px){
  .footer-main{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:26px;row-gap:24px}
}
@media(max-width:650px){
  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:25px}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:480px){
  .footer-main{grid-template-columns:1fr;row-gap:30px}
  .footer-brand{grid-column:auto}
}

/* Keep the Microsoft wordmark legible and balance the square partner badge. */
.platform-inner .platform-logo-crop .m365-logo{filter:brightness(1.55)}
.partner-list li.partner-butterfly img{width:auto;height:70px;max-height:70px;max-width:100%;transform:scale(1.08)}
@media(max-width:480px){.partner-list li.partner-butterfly img{height:60px;max-height:60px}}

/* Make the two ways to request support primary; remote access follows separately. */
.support-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.support-primary-actions article:last-child{grid-column:auto}
.support-primary-actions .support-text-link{color:#087d9b;text-decoration:underline;text-underline-offset:3px}
.support-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.support-card-actions .button{margin-top:0}
.support-remote{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:15px;padding:25px 29px;border:1px solid #d2e1e7;border-radius:14px;background:#f8fbfc}
.support-remote .section-kicker{margin:0 0 8px}
.support-remote h3{font-size:1.35rem;line-height:1.2;margin:0 0 6px}
.support-remote p:last-child{color:#58727e;margin:0}
.support-remote .button{flex:none}
@media(max-width:600px){.support-primary-actions{grid-template-columns:1fr}.support-remote{display:block;padding:25px}.support-remote .button{margin-top:20px;width:100%}}
