
:root{--brand:#345f7c;--ink:#1c3854;--muted:#536779;--paper:#f5f8fa;--line:#dce5eb;--accent:#bfdae5}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{font-family:Arial,"Helvetica Neue",sans-serif;color:var(--ink);font-size:16px;line-height:1.65;overflow-wrap:break-word}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.2;letter-spacing:-.025em}
h1{font-weight:700}h2{font-size:clamp(1.75rem,2.7vw,2.7rem);font-weight:700}
h3{font-size:1.35rem;font-weight:700}h4{font-size:1.02rem;font-weight:700}
a{color:#245675;text-underline-offset:.2em}a:hover{color:#17394f}
a:focus-visible,button:focus-visible{outline:3px solid #e2a82e;outline-offset:4px}
img{max-width:100%;height:auto}
.btn{font-weight:700;border-radius:8px;padding:.8rem 1.3rem;line-height:1.4;font-size:.96rem}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover{background:#274961;border-color:#274961;color:#fff}
.skip-link{position:fixed;left:20px;top:-100px;background:#fff;color:var(--ink);padding:12px 20px;z-index:10000}
.skip-link:focus{top:10px}
.site-header{background:#e5edf2;border-bottom:1px solid #cbd9e3;position:relative;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px}
.site-brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);flex:none}
.site-brand img{width:53px;height:68px;object-fit:contain}
.brand-caption{font-weight:800;font-size:17px;line-height:1.3;letter-spacing:.04em}
.brand-caption>span{display:block;font-size:10px;letter-spacing:0;font-weight:400;margin-top:5px}
.site-navigation ul{display:flex;gap:22px;align-items:center;list-style:none;padding:0;margin:0}
.site-navigation a{font-size:14px;text-decoration:none;color:var(--ink);font-weight:600;white-space:nowrap;padding:10px 0;display:block}
.site-navigation a:hover,.site-navigation a[aria-current=page]{color:#164c71;text-decoration:underline;text-decoration-thickness:2px}
.menu-toggle{display:none;align-items:center;gap:9px;border:1px solid #a5b8c6;background:transparent;padding:10px 12px;border-radius:6px;color:var(--ink);font:inherit;font-size:14px}
.menu-lines{display:block;width:18px;height:12px;border-top:2px solid;border-bottom:2px solid;position:relative}
.menu-lines:after{content:"";position:absolute;top:3px;left:0;width:18px;border-top:2px solid}
.eyebrow{color:var(--brand);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin-bottom:16px}
.page-intro{background:var(--ink);color:#fff;padding:38px 0 58px}
.page-intro .eyebrow{color:#bad6e6;margin-top:30px}
.page-intro h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.12;margin-bottom:22px;max-width:1000px}
.page-lead{max-width:830px;color:#d9e6ee;font-size:1.12rem;line-height:1.7;margin:0}
.breadcrumbs{display:flex;gap:12px;align-items:center;font-size:.84rem;color:#c2d5e1;flex-wrap:wrap}
.breadcrumbs a{color:#dce9f1}
.section-pad{padding:70px 0}
.section-small{padding:32px 0}
.section-tint{background:var(--paper)}
.content-wide{max-width:1140px}
.section-heading{max-width:890px;margin-bottom:30px}
.section-heading p:last-child{margin-bottom:0}
.section-heading h2{margin-bottom:16px}
.intro-copy{font-size:1.18rem;max-width:970px}
.section-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.section-links a{border:1px solid var(--line);border-radius:7px;padding:9px 14px;text-decoration:none;font-size:.9rem;background:#fff}
.info-table{width:100%;border-collapse:collapse;text-align:left}
.info-table th,.info-table td{padding:21px 24px;vertical-align:top;border-bottom:1px solid var(--line);background:transparent}
.info-table thead{background:var(--ink);color:#fff}
.info-table thead th{font-size:.85rem;font-weight:600}
.info-table tbody th{font-weight:600}
.info-table tbody tr:nth-child(even){background:#f7fafb}
.info-table tbody tr:last-child th,.info-table tbody tr:last-child td{border-bottom:1px solid #bbcdd9}
.info-table a{text-decoration:none}
.info-table a:hover{text-decoration:underline}
.codes-table th:first-child{width:112px}
.codes-table td p{margin:7px 0 0}
.code-badge{display:inline-block;color:var(--brand);font-size:1.15rem;font-weight:700;border:1px solid #c6d9e4;padding:5px 12px;border-radius:6px;background:#fff}
.price-table th:first-child{width:48%}
.price-table td:nth-child(2){width:28%;color:var(--muted)}
.price-table td.price-value{width:24%;font-size:1.22rem;font-weight:700;white-space:nowrap;color:var(--ink)}
.table-meta{display:flex;justify-content:space-between;gap:20px;margin-bottom:16px;font-size:.83rem;color:var(--muted)}
.table-meta>span:first-child{font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.terms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.terms-grid h3{font-size:1.18rem}
.terms-grid p{color:var(--muted)}
.text-note{padding:20px 24px;background:#f1f6f9;border-left:3px solid #739bb3;font-size:.92rem;color:#465d70;margin-top:24px}
.text-note p:last-child{margin:0}
.service-detail{border:1px solid var(--line);padding:32px;margin:28px 0;border-radius:12px;background:#fff;scroll-margin-top:30px}
.service-detail-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.service-detail-top h2,.service-detail-top h3{font-size:1.6rem;max-width:680px;margin-bottom:18px}
.service-detail-top .eyebrow{font-size:.67rem;margin-bottom:12px}
.service-price{font-size:1.1rem;white-space:nowrap;font-weight:700;padding:8px 13px;border-radius:7px;background:#e9f1f6;margin:0}
.service-intro{max-width:970px;font-size:1.05rem}
.service-detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;margin-top:26px}
.service-detail-grid ul{padding-left:19px;margin-bottom:0}
.service-detail-grid li{padding-left:5px;margin-bottom:10px}
.result-panel{border-left:1px solid var(--line);padding-left:30px}
.result-panel p{font-size:.94rem;color:var(--muted)}
.result-panel p:last-child{margin-bottom:0}
.details-list,.technology-list{margin:0}
.details-list>div,.technology-list>div{display:grid;grid-template-columns:32% 68%;border-bottom:1px solid var(--line);padding:18px 0;gap:0}
.details-list dt,.technology-list dt{font-weight:600;color:var(--muted);padding-right:24px}
.details-list dd,.technology-list dd{margin:0;overflow-wrap:anywhere}
.technology-list>div{grid-template-columns:35% 65%;padding:21px 0}
.technology-list dd{font-weight:600}
.bank-value{font-variant-numeric:tabular-nums;letter-spacing:.025em}
.source-link{font-size:.86rem;margin-top:22px}
.action-panel{padding:32px;background:#e8f0f5;border-radius:10px;display:flex;gap:30px;align-items:center;justify-content:space-between;margin-top:45px}
.action-panel h2{font-size:1.7rem}
.action-panel p{margin:0}
.action-panel .btn{flex:none}
.service-overview{display:grid;grid-template-columns:1fr 1.2fr;gap:44px;align-items:center;margin-bottom:50px}
.service-overview img{border-radius:10px}
.home-hero{padding:35px 0 !important}
.home-hero>.bg-dark{background:var(--ink)!important}
.home-hero .hero-copy{padding:50px 45px 50px 38px}
.home-hero h1{font-size:clamp(2.1rem,3.4vw,3.45rem);line-height:1.09;margin-bottom:24px!important;letter-spacing:-.035em}
.home-hero .lead{font-size:1.08rem;color:#e0e9f0;line-height:1.75;max-width:560px}
.home-hero .hero-eyebrow{color:#bed9e9;font-size:.68rem}
.home-hero .btn-outline-light{margin-left:12px}
.hero-link{margin-top:24px;font-size:.88rem;margin-bottom:0}
.hero-link a{color:#d9e9f4}
.hero-image-col{align-self:stretch}
.hero-image-col img{width:100%;height:100%;object-fit:cover}
.homepage main>div>svg,.homepage main>svg{height:65px}
.identity-strip{padding:18px 0;background:#f5f8fa;border-bottom:1px solid var(--line)}
.identity-strip .container{display:flex;flex-wrap:wrap;gap:10px 30px;justify-content:space-between;font-size:.81rem}
.homepage main>section>.container{padding-top:22px!important;padding-bottom:22px!important}
.homepage #services>.container>.row:first-child>.col-lg-7{width:85%}
.homepage #services h2{font-size:clamp(1.8rem,3vw,2.7rem)}
.homepage #services h4{font-size:1.3rem}
.homepage #services svg{width:45px;height:45px}
.homepage [id="1C"],.homepage #programing{color:var(--ink)}
.homepage [id="1C"] img,.homepage #programing img,.homepage #hardware img{border-radius:10px}
.homepage [id="1C"] .border,.homepage #programing .border,.homepage #hardware .border{border-color:rgba(28,56,84,.24)!important;border-radius:8px}
.homepage [id="1C"] h4,.homepage #programing h4,.homepage #hardware h4{font-size:1.14rem}
.homepage #hardware .border{border-color:rgba(255,255,255,.24)!important}
.homepage #hardware h2,.homepage #hardware h4{color:#f7df95!important}
.homepage #hardware a:not(.btn){color:#dbe9f3}
.homepage #hardware .scope-caption{color:#dbe9f3}
.service-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:25px 0 5px}
.service-summary-grid>div{padding:25px;border:1px solid rgba(28,56,84,.2);border-radius:9px;background:rgba(255,255,255,.25)}
.service-summary-grid h3{font-size:1.3rem}
.service-summary-grid p:last-child{margin-bottom:0}
#hardware .service-summary-grid>div{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.25)}
.rate-highlight{font-size:1.8rem;font-weight:700;margin-bottom:12px}
.scope-caption{font-size:.86rem;margin-top:16px}
.homepage #analytics h2{font-size:clamp(2rem,4vw,3.5rem)}
.homepage #analytics .lead{line-height:1.65}
.homepage #analytics-details img,.homepage #analytics-case img{border:1px solid #a9c5c5;border-radius:6px}
.homepage #analytics-details li,.homepage #analytics-case li{margin-bottom:8px}
.homepage #analytics-case .container{max-width:1140px}
.project-note{padding:25px;border:1px solid #90b5b2;border-radius:9px;margin-top:35px}
.project-note h3{font-size:1.3rem}
.project-note p{margin:0}
.home-prices{background:#fff!important}
.principles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.principle-card{border-top:2px solid #83a7be;padding:24px 0}
.principle-card p{margin:0}
.official-panel{background:#edf3f7}
.official-links{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:16px;margin-top:28px}
.official-links a{border:1px solid #c9dbe6;padding:22px;border-radius:9px;display:flex;gap:20px;align-items:center;justify-content:space-between;text-decoration:none;background:#fff;font-weight:600}
.contact-section{background:#e5edf2;padding:55px 0;color:var(--ink)}
.contact-intro h2{font-size:clamp(1.7rem,2.7vw,2.5rem)}
.contact-intro{margin-bottom:35px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:32px}
.contact-grid h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.07em;color:#526b7f;margin-bottom:14px}
.contact-grid p{font-size:.96rem;line-height:1.6;margin:0}
.contact-link{font-size:1.1rem;font-weight:700;text-decoration:none}
.site-footer{background:#172e43;color:#e7eef3}
.footer-bottom{padding-top:35px;padding-bottom:20px;display:grid;grid-template-columns:2fr 1fr;gap:15px 50px}
.footer-company p{font-size:.83rem;margin-bottom:7px;color:#c2d2de}
.footer-company .footer-name{font-weight:600;font-size:.95rem;color:#fff;margin-bottom:13px}
.footer-nav{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.footer-nav a{color:#e7eef3;font-size:.89rem;text-decoration:none}
.footer-nav a:hover{text-decoration:underline}
.footer-legal{grid-column:1/-1;border-top:1px solid #3e5365;margin-top:15px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#bacbd8;font-size:.75rem}
@media(min-width:1400px){.container{max-width:1240px}.content-wide{max-width:1140px}}
@media(max-width:1199px){.site-navigation ul{gap:16px}.site-navigation a{font-size:13px}.brand-caption{display:none}.header-inner{gap:22px}.home-hero .hero-copy{padding:35px 24px}.home-hero h1{font-size:2.8rem}.home-hero .btn{font-size:.86rem;padding:.75rem .8rem}.home-hero .btn-outline-light{margin-left:7px}}
@media(max-width:991px){
.header-inner{flex-wrap:wrap;padding-top:10px;padding-bottom:10px;min-height:82px}
.brand-caption{display:block}.site-brand img{height:60px;width:47px}
.site-header.nav-ready .menu-toggle{display:flex}
.site-navigation{width:100%}.site-navigation ul{flex-wrap:wrap;justify-content:flex-start;gap:2px 24px}
.site-header.nav-ready .site-navigation{display:none}.site-header.nav-ready .site-navigation.is-open{display:block}
.site-navigation a{font-size:15px;padding:10px 0}
.home-hero .hero-copy{padding:38px 28px}.home-hero h1{font-size:clamp(2.1rem,5.7vw,3rem)}
.home-hero .hero-image-col{display:none}
.home-hero .lead{max-width:none}.home-hero .container-xxl{max-width:720px}
.homepage #services>.container>.row:first-child>.col-lg-7{width:100%}
.service-detail-top{flex-direction:column;gap:4px}
.service-detail-top h2,.service-detail-top h3{margin-bottom:12px}
.service-price{margin-bottom:15px}
.official-links{grid-template-columns:1fr}
.contact-grid{grid-template-columns:1fr 1fr}.contact-grid>div:last-child{grid-column:1/-1}
.price-table th:first-child{width:45%}.price-table td.price-value{width:29%}
.price-table th,.price-table td{padding:18px}
.service-overview{gap:30px}
}
@media(max-width:767px){
body{font-size:15px;line-height:1.65}
.container{padding-left:20px;padding-right:20px}
.section-pad{padding:45px 0}.section-small{padding:25px 0}
.page-intro{padding:24px 0 38px}.page-intro h1{font-size:2.05rem}.page-intro h1 br{display:none}
.page-intro .eyebrow{margin-top:25px}.page-lead{font-size:1.02rem}
h2{font-size:1.8rem}h2 br{display:none}
.home-hero{padding:18px 0!important}.home-hero .container-xxl{padding:0 20px}
.home-hero .hero-copy{padding:30px 4px}.home-hero .lead{font-size:1rem}
.homepage main>div>svg,.homepage main>svg{height:38px}
.homepage main>section{padding-top:35px!important;padding-bottom:35px!important}
.homepage main>section>.container{padding-top:0!important;padding-bottom:0!important}
.homepage #services h2{font-size:1.85rem}
.homepage #services .mb-5{margin-bottom:15px!important}
.homepage #services .row.justify-content-center{margin-top:25px}
.homepage #analytics>section>.container-xxl>.row>div:first-child{display:none}
.homepage #analytics h2{font-size:2rem}
.identity-strip .container{display:grid;gap:5px;font-size:.76rem}
.section-links{gap:8px}.section-links a{font-size:.84rem;padding:8px 10px}
.details-list>div,.technology-list>div{grid-template-columns:1fr;gap:6px;padding:16px 0}
.details-list dt,.technology-list dt{font-size:.86rem}
.details-list dd,.technology-list dd{font-size:.96rem}
.info-table th,.info-table td{padding:16px 12px}
.codes-table th:first-child{width:85px}
.code-badge{padding:4px 8px;font-size:1rem}
.codes-table td{font-size:.91rem}
.price-table{display:block}.price-table caption{display:block}
.price-table thead{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
.price-table tbody{display:block}
.price-table tr{display:block;padding:19px 18px;border:1px solid var(--line);margin-bottom:12px;border-radius:8px}
.price-table tbody th{display:block;width:100%!important;border:0;padding:0 0 12px;font-size:1rem}
.price-table td{display:flex!important;justify-content:space-between;align-items:flex-start;gap:18px;width:100%!important;border:0!important;padding:6px 0;font-size:.92rem;text-align:right}
.price-table td:before{content:attr(data-label);font-size:.82rem;font-weight:400;color:var(--muted);text-align:left;flex:0 0 42%}
.price-table td.price-value{font-size:1.12rem}
.price-table tbody tr:last-child th{border:0}
.table-meta{font-size:.74rem;align-items:flex-start;flex-direction:column;gap:5px}
.terms-grid{grid-template-columns:1fr;gap:12px}
.terms-grid p{margin-bottom:10px}
.text-note{padding:18px;font-size:.87rem}
.service-detail{padding:23px 18px;border-radius:8px;margin:22px 0}
.service-detail-top h2,.service-detail-top h3{font-size:1.35rem}
.service-detail-top .eyebrow{font-size:.62rem}
.service-detail-grid{grid-template-columns:1fr;gap:18px;margin-top:22px}
.result-panel{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}
.service-detail-grid li{font-size:.92rem}
.service-intro{font-size:1rem}
.service-summary-grid{grid-template-columns:1fr;gap:14px}
.service-summary-grid>div{padding:22px}
.service-summary-grid h3{font-size:1.2rem}.rate-highlight{font-size:1.5rem}
.action-panel{padding:25px;flex-direction:column;align-items:flex-start}
.action-panel h2{font-size:1.4rem}
.service-overview{grid-template-columns:1fr}.service-overview img{max-height:280px;object-fit:cover;width:100%}
.principles-grid{grid-template-columns:1fr;gap:10px}
.official-links a{padding:18px;font-size:.93rem}
.contact-section{padding:40px 0}
.contact-grid{grid-template-columns:1fr;gap:24px}.contact-grid>div:last-child{grid-column:auto}
.contact-link{font-size:1.05rem}.contact-grid h3{margin-bottom:8px}
.footer-bottom{grid-template-columns:1fr;gap:20px;padding-top:28px}
.footer-legal{grid-column:auto;flex-direction:column;gap:5px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{
.site-header,.menu-toggle,.skip-link,.footer-nav,.btn,.hero-image-col,.homepage main>div>svg,.homepage main>svg{display:none!important}
body{color:#000;font-size:11pt}
.page-intro,.section-tint,.contact-section,.site-footer,.official-panel{background:#fff!important;color:#000!important}
.page-intro .eyebrow,.page-lead,.breadcrumbs,.footer-company p,.footer-legal{color:#000!important}
.page-intro{padding:15px 0}.section-pad{padding:15px 0}
a{color:#000;text-decoration:none}.service-detail{break-inside:avoid}.info-table thead{background:#eee;color:#000}
}

/* Retain the original warm service accents with readable text contrast. */
.homepage [id="1C"]{background-color:#fff5d9!important}
.homepage #programing{background-color:#f8eceb!important}
.homepage main>div>svg.bg-warning{background-color:#fff5d9!important}
.homepage main>div>svg.text-warning{color:#fff5d9!important}
.homepage main>div>svg.bg-danger{background-color:#f8eceb!important}
.homepage main>div>svg.text-danger{color:#f8eceb!important}
.homepage #hardware .text-primary{color:#bed8e8!important}

.skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;white-space:nowrap}
