
/* ComTechSa 0.22.0 — final visual/responsive consolidation layer */
:root{
 --cts-orange:#ff5a0a;--cts-navy:#0b1c29;--cts-text:#17212b;--cts-muted:#59636e;
 --cts-line:#e5e9ed;--cts-gutter:clamp(18px,4vw,56px);--cts-content:1320px;--cts-header-h:84px
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;scroll-padding-top:calc(var(--cts-header-h) + 18px)}
body{margin:0!important;padding-top:var(--cts-header-h)!important;overflow-x:hidden!important}
img,svg{max-width:100%}
.cts-ref-shell{width:100%!important;max-width:none!important}

/* fixed header */
.cts-ref-header-shell{
 position:fixed!important;inset:0 0 auto 0!important;z-index:99990!important;height:var(--cts-header-h)!important;
 background:#fff!important;border-bottom:1px solid var(--cts-line)!important;box-shadow:0 4px 18px rgba(11,28,41,.06)!important
}
.cts-ref-header{
 width:min(100% - (2 * var(--cts-gutter)),var(--cts-content))!important;max-width:var(--cts-content)!important;
 height:100%!important;min-height:0!important;margin:0 auto!important;padding:0!important;
 display:flex!important;align-items:center!important;gap:28px!important
}
.cts-ref-brand{flex:0 0 255px!important;width:255px!important;height:64px!important;background-size:contain!important;background-position:left center!important;background-repeat:no-repeat!important}
.cts-ref-nav{margin-left:auto!important;display:flex!important;align-items:center!important;gap:30px!important}
.cts-ref-nav a,.cts-ref-header-cta{white-space:nowrap!important}
.cts-ref-menu-toggle,.cts-ref-mobile-panel{display:none!important}

/* approved hero: never crop */
.cts-ref-hero-branded{position:relative!important;width:100%!important;height:auto!important;min-height:0!important;overflow:hidden!important;background:var(--cts-navy)!important}
.cts-ref-hero-img{display:block!important;width:100%!important;height:auto!important;max-width:none!important;object-fit:contain!important;object-position:center!important;transform:none!important}
.cts-ref-hero-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* common content width */
.cts-ref-process,.cts-ref-services,.cts-ref-projects,.cts-ref-footer,.cts-subhero-inner,.cts-subpage-inner,.cts-subpage-cta-inner{
 width:min(100% - (2 * var(--cts-gutter)),var(--cts-content))!important;max-width:var(--cts-content)!important;margin-inline:auto!important
}

/* process */
.cts-ref-process{padding-top:30px!important;padding-bottom:32px!important}
.cts-ref-section-title{margin-bottom:22px!important}
.cts-ref-section-title h2{font-size:clamp(1.65rem,2.2vw,2rem)!important;line-height:1.15!important}
.cts-ref-section-title p{font-size:.93rem!important}
.cts-ref-process-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:42px!important}
.cts-ref-process-step,.cts-ref-process-step:last-child{display:grid!important;grid-template-columns:36px minmax(0,1fr) 46px!important;gap:12px!important;align-items:center!important;min-width:0!important}
.cts-ref-step-num{width:34px!important;height:34px!important;font-size:.9rem!important}
.cts-ref-step-copy h3{font-size:1rem!important;margin:0 0 4px!important}
.cts-ref-step-copy p{font-size:.82rem!important;line-height:1.5!important}
.cts-ref-arrow{display:none!important}

/* restrained icon language */
.cts-ref-svg-icon,.cts-ref-service-svg{color:var(--cts-orange)!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important;padding:0!important}
.cts-ref-svg-icon{width:42px!important;height:42px!important}
.cts-ref-service-svg{width:46px!important;height:46px!important;margin:0 auto 12px!important}
.cts-ref-svg-icon svg,.cts-ref-service-svg svg{display:block!important;width:100%!important;height:100%!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important}

/* services */
.cts-ref-services{padding-top:28px!important;padding-bottom:34px!important}
.cts-ref-services-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important}
.cts-ref-service{min-width:0!important;min-height:190px!important;padding:22px 14px!important;border:1px solid var(--cts-line)!important;border-radius:10px!important;background:#fff!important;box-shadow:0 8px 24px rgba(11,28,41,.035)!important;text-align:center!important}
.cts-ref-service h3{font-size:.9rem!important;line-height:1.25!important;margin:0 0 8px!important}
.cts-ref-service p{font-size:.76rem!important;line-height:1.48!important;margin:0!important}

/* underpages */
.cts-subhero{overflow:hidden!important}
.cts-subhero-inner{padding-top:54px!important;padding-bottom:54px!important}
.cts-subhero h1{font-size:clamp(2.35rem,4.2vw,4.5rem)!important;line-height:1.03!important;max-width:900px!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
.cts-subhero-lead{font-size:clamp(1rem,1.35vw,1.2rem)!important;line-height:1.55!important;max-width:850px!important}
.cts-subpage-inner{padding-top:42px!important;padding-bottom:48px!important}
.cts-ref-footer{padding-left:0!important;padding-right:0!important}

@media (max-width:1100px) and (min-width:901px){
 .cts-ref-nav{gap:18px!important}.cts-ref-brand{flex-basis:220px!important;width:220px!important}
 .cts-ref-services-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cts-ref-service{min-height:170px!important}
}

@media (max-width:900px){
 :root{--cts-header-h:68px;--cts-gutter:18px}
 html{scroll-padding-top:82px!important} body{padding-top:var(--cts-header-h)!important}
 .cts-ref-header-shell{height:var(--cts-header-h)!important}
 .cts-ref-header{width:100%!important;max-width:none!important;padding:0 14px!important;gap:10px!important}
 .cts-ref-brand{flex:0 1 220px!important;width:min(220px,calc(100vw - 76px))!important;height:50px!important}
 .cts-ref-nav,.cts-ref-header-cta{display:none!important}
 .cts-ref-menu-toggle{display:flex!important;flex:0 0 42px!important;width:42px!important;height:42px!important;margin-left:auto!important;align-items:center!important;justify-content:center!important}

 .cts-ref-mobile-panel{
  position:fixed!important;display:block!important;top:var(--cts-header-h)!important;left:0!important;right:0!important;bottom:0!important;
  z-index:99980!important;background:rgba(255,255,255,.985)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transform:translateY(-8px)!important;transition:opacity .16s ease,transform .16s ease,visibility .16s!important;overflow:auto!important
 }
 .cts-ref-mobile-panel.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
 .cts-ref-mobile-nav{width:100%!important;padding:10px 18px 22px!important;display:flex!important;flex-direction:column!important}
 .cts-ref-mobile-nav a{display:block!important;padding:12px 4px!important;font-size:.96rem!important;line-height:1.2!important;border-bottom:1px solid var(--cts-line)!important}
 .cts-ref-mobile-nav .cts-ref-mobile-cta{margin-top:14px!important;padding:12px 14px!important;border:0!important;text-align:center!important}
 html.cts-mobile-menu-open,body.cts-mobile-menu-open{overflow:hidden!important}

 .cts-ref-hero-branded{width:100%!important;height:auto!important;min-height:0!important}
 .cts-ref-hero-img{width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important}

 .cts-ref-process,.cts-ref-services,.cts-ref-projects{width:100%!important;max-width:none!important;padding-left:18px!important;padding-right:18px!important}
 .cts-ref-process{padding-top:22px!important;padding-bottom:24px!important}.cts-ref-services{padding-top:22px!important;padding-bottom:26px!important}
 .cts-ref-section-title{margin-bottom:16px!important}.cts-ref-section-title h2{font-size:clamp(1.45rem,6vw,1.8rem)!important;text-align:left!important}
 .cts-ref-section-title p{font-size:.84rem!important;line-height:1.45!important;text-align:left!important}

 .cts-ref-process-grid{grid-template-columns:1fr!important;gap:16px!important}
 .cts-ref-process-step,.cts-ref-process-step:last-child{grid-template-columns:32px minmax(0,1fr) 38px!important;gap:10px!important}
 .cts-ref-step-num{width:30px!important;height:30px!important;font-size:.8rem!important}.cts-ref-step-copy h3{font-size:.95rem!important}
 .cts-ref-step-copy p{font-size:.8rem!important;line-height:1.42!important}.cts-ref-svg-icon{width:36px!important;height:36px!important}

 .cts-ref-services-grid{grid-template-columns:1fr!important;gap:10px!important}
 .cts-ref-service{min-height:0!important;padding:13px!important;display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:3px 11px!important;text-align:left!important;border-radius:9px!important}
 .cts-ref-service-svg{grid-row:1 / 3!important;width:38px!important;height:38px!important;margin:0!important;align-self:center!important}
 .cts-ref-service h3{font-size:.92rem!important;margin:0!important;align-self:end!important}.cts-ref-service p{font-size:.77rem!important;line-height:1.38!important;margin:0!important}
 .cts-ref-projects-grid{grid-template-columns:1fr!important;gap:16px!important}

 .cts-subhero-inner,.cts-subpage-inner,.cts-subpage-cta-inner{width:calc(100% - 36px)!important;max-width:none!important;margin-inline:auto!important}
 .cts-subhero-inner{padding-top:30px!important;padding-bottom:32px!important}
 .cts-subhero h1{font-size:clamp(1.8rem,8vw,2.45rem)!important;line-height:1.08!important;margin-bottom:10px!important;max-width:100%!important}
 .cts-subhero-lead{font-size:.92rem!important;line-height:1.48!important;max-width:100%!important}
 .cts-subpage-inner{padding-top:24px!important;padding-bottom:30px!important}
 .cts-detail-grid,.cts-about-page-grid,.cts-about-values-grid,.cts-contact-page-grid{grid-template-columns:1fr!important;gap:12px!important}
 .cts-detail-card,.cts-contact-channel,.cts-legal-approved,.cts-contact-topics-approved,.cts-project-brief,.cts-about-page-note{padding:15px!important}
}
@media (max-width:420px){
 :root{--cts-header-h:62px;--cts-gutter:15px}
 .cts-ref-header{padding:0 12px!important}.cts-ref-brand{flex-basis:195px!important;width:min(195px,calc(100vw - 68px))!important;height:45px!important}
 .cts-ref-menu-toggle{flex-basis:38px!important;width:38px!important;height:38px!important}.cts-ref-mobile-nav{padding-left:15px!important;padding-right:15px!important}
 .cts-ref-process,.cts-ref-services,.cts-ref-projects{padding-left:15px!important;padding-right:15px!important}
 .cts-subhero-inner,.cts-subpage-inner,.cts-subpage-cta-inner{width:calc(100% - 30px)!important}
 .cts-ref-section-title h2{font-size:1.4rem!important}.cts-subhero h1{font-size:1.85rem!important}
}
@media (min-width:783px){.admin-bar .cts-ref-header-shell{top:32px!important}.admin-bar .cts-ref-mobile-panel{top:calc(var(--cts-header-h) + 32px)!important}}
@media (max-width:782px){.admin-bar .cts-ref-header-shell{top:46px!important}.admin-bar .cts-ref-mobile-panel{top:calc(var(--cts-header-h) + 46px)!important}}
