:root{--ink:#071a2b;--ink-soft:#112e45;--cyan:#55b5cf;--cyan-bright:#76d4e7;--paper:#f4f8fa;--line:#d7e3e8;--muted:#587083}
html{scroll-behavior:smooth;scroll-padding-top:84px}body{color:var(--ink);background:#fff;font-family:Inter,"Segoe UI",Arial,sans-serif;overflow-x:hidden}a{color:#167b99}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--cyan-bright);outline-offset:3px}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:2000;background:#fff;color:var(--ink);padding:.75rem 1rem;border-radius:.5rem}.skip-link:focus{top:1rem}
#mainNav{padding:.75rem 0;background:rgba(7,26,43,.96);border-bottom:1px solid rgba(255,255,255,.1);transition:.25s ease}#mainNav.scrolled{box-shadow:0 12px 32px rgba(4,17,29,.2)}
#mainNav .navbar-brand img{width:168px;height:auto}#mainNav .nav-link{color:rgba(255,255,255,.82);font-size:.9rem;font-weight:600;padding:.65rem .7rem}#mainNav .nav-link:hover,#mainNav .nav-link:focus,#mainNav .nav-link.active{color:#fff}
.navbar-toggler{width:46px;height:42px;border:1px solid rgba(255,255,255,.3);display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 11px}.navbar-toggler span{height:2px;width:100%;background:#fff;display:block}
.btn-brand{background:var(--cyan);border:1px solid var(--cyan);color:var(--ink);font-weight:750;border-radius:.35rem}.btn-brand:hover,.btn-brand:focus{background:var(--cyan-bright);border-color:var(--cyan-bright);color:var(--ink);transform:translateY(-1px)}
.hero{min-height:760px;padding:10.5rem 0 7rem;display:flex;align-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 76% 28%,#194766 0,transparent 34%),linear-gradient(135deg,#061827,#0c2a40 65%,#0b3448);color:#fff}
.hero-grid{position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(118,212,231,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(118,212,231,.45) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent,#000 55%,#000)}
.eyebrow,.section-kicker{margin:0 0 1rem;color:var(--cyan-bright);font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero h1{max-width:850px;font-size:clamp(2.8rem,6vw,5.4rem);line-height:.99;letter-spacing:-.045em;margin-bottom:1.75rem}
.hero-copy{max-width:760px;color:rgba(255,255,255,.78);font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.7;margin-bottom:2.2rem}.hero .btn{padding:.9rem 1.35rem}
.systems-visual{position:relative;min-height:430px;border:1px solid rgba(118,212,231,.32);border-radius:1rem;background:rgba(4,17,29,.64);box-shadow:0 35px 90px rgba(0,0,0,.36);backdrop-filter:blur(10px);overflow:hidden}
.systems-visual:before,.systems-visual:after{content:"";position:absolute;border:1px solid rgba(118,212,231,.22);border-radius:50%;width:330px;height:330px;left:50%;top:53%;transform:translate(-50%,-50%)}.systems-visual:after{width:220px;height:220px}
.visual-topline{height:46px;border-bottom:1px solid rgba(255,255,255,.12);padding:18px;display:flex;gap:7px}.visual-topline span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3)}
.visual-core{position:absolute;width:148px;height:148px;border-radius:50%;left:50%;top:53%;transform:translate(-50%,-50%);background:var(--cyan);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2;box-shadow:0 0 60px rgba(85,181,207,.32)}
.visual-core span{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.visual-core strong{width:100px;line-height:1.15}
.visual-node{position:absolute;z-index:3;width:122px;padding:.85rem;border-radius:.55rem;border:1px solid rgba(255,255,255,.15);background:#102f46;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:.55rem}.visual-node small{color:rgba(255,255,255,.67)}.visual-node b{color:var(--cyan-bright);font-size:.78rem}
.node-a{left:9%;top:22%}.node-b{right:8%;top:28%}.node-c{left:8%;bottom:12%}.node-d{right:9%;bottom:16%}
.section{padding:7rem 0}.section-light{background:var(--paper)}.section h2,.coverage h2{font-size:clamp(2.1rem,4vw,3.7rem);letter-spacing:-.04em;line-height:1.05}.section p{color:var(--muted);line-height:1.75}.section .lead{color:var(--ink-soft);font-size:1.25rem}.section-heading{max-width:760px;margin-bottom:3.5rem}
.capability-card{height:100%;padding:2.2rem;border:1px solid var(--line);border-radius:.7rem;background:#fff;box-shadow:0 12px 40px rgba(10,42,63,.06);position:relative}.capability-card:hover{border-color:#9ecbd8;transform:translateY(-3px);transition:.25s ease}
.capability-card h3{max-width:520px;font-size:1.5rem;margin:.5rem 0 1rem}.capability-number{color:#258ca9;font-size:.75rem;letter-spacing:.12em;font-weight:800}
.service-list{margin:1.5rem 0 0;padding:1.25rem 0 0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.25rem;border-top:1px solid var(--line)}.service-list li{color:#345267;font-size:.9rem;padding-left:1rem;position:relative}.service-list li:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--cyan);position:absolute;left:0;top:.5rem}
.integration-section{background:var(--ink);color:#fff}.integration-section h2{color:#fff}.integration-section p{color:rgba(255,255,255,.7)}
.process-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.12)}.process-flow li{background:var(--ink);min-height:130px;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between}.process-flow span{color:var(--cyan-bright);font-size:.75rem;letter-spacing:.12em}.process-flow strong{max-width:210px;font-size:1.1rem}
.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.sector-grid div{min-height:145px;padding:1.3rem;border:1px solid var(--line);border-radius:.5rem;display:flex;align-items:end;font-weight:700;color:var(--ink-soft);background:linear-gradient(145deg,#fff,#f1f7f9)}.sector-grid div:first-child{grid-column:span 2}
.coverage{padding:0 0 7rem}.coverage-panel{padding:4rem;border-radius:.8rem;background:linear-gradient(120deg,#dff3f7,#f4f8fa);border-left:5px solid var(--cyan)}.coverage-panel p:last-child{max-width:880px;color:#36566b;font-size:1.08rem;line-height:1.7}
.contact-section{background:#eef5f7}.contact-email{font-size:1.25rem;font-weight:750;text-decoration:none}.contact-location{margin-top:1.2rem;font-size:.92rem}.contact-form{background:#fff;border:1px solid var(--line);border-radius:.8rem;padding:2rem;box-shadow:0 18px 50px rgba(10,42,63,.08)}
.contact-form label{color:var(--ink-soft);font-size:.86rem;font-weight:700;margin-bottom:.45rem}.contact-form label span{color:var(--muted);font-weight:400}.contact-form .form-control{border-color:#bdcdd5;border-radius:.3rem;padding:.8rem}.contact-form .form-control:focus{border-color:#268eaa;box-shadow:0 0 0 .2rem rgba(85,181,207,.2)}
.form-check{display:flex;gap:.7rem;align-items:flex-start}.form-check-input{flex:0 0 auto;margin-top:.2rem}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-status{color:#2d596c;font-weight:650}.form-status.error{color:#a62929}.form-status.success{color:#217344}
footer{background:#04131f;color:rgba(255,255,255,.72);padding:3.5rem 0 1.5rem}.footer-main{display:flex;justify-content:space-between;gap:2rem;padding-bottom:2.2rem}.footer-main img{height:auto;margin-bottom:.8rem}.footer-main p{margin:0}.footer-links{display:flex;flex-direction:column;gap:.65rem;align-items:end}.footer-links a{color:rgba(255,255,255,.78);text-decoration:none}.footer-links a:hover{color:#fff}.footer-bottom{padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.11);font-size:.82rem}
.legal-page,.error-page{min-height:100vh;background:var(--ink);color:#fff;padding:4rem 0}.legal-page article{max-width:820px;margin-top:4rem;padding:3rem;border-radius:.8rem;background:#fff;color:var(--ink)}.legal-page article p{color:var(--muted);line-height:1.75}.legal-page article h1{font-size:clamp(2.3rem,5vw,4rem)}.legal-page article h2{font-size:1.3rem;margin-top:2rem}.error-page{display:grid;place-items:center;text-align:center}.error-page main{max-width:620px;padding:2rem}.error-page img{margin-bottom:3rem}.error-page h1{font-size:clamp(2.5rem,6vw,4.5rem)}.error-page p{color:rgba(255,255,255,.7)}
@media(max-width:991.98px){#mainNav .navbar-collapse{padding:1rem 0}#mainNav .nav-item{width:100%}#mainNav .btn{margin-top:.5rem;width:100%}.hero{padding-top:9rem}.systems-visual{min-height:380px;max-width:620px;margin:0 auto}.sector-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575.98px){.row.g-5{--bs-gutter-x:1.5rem;--bs-gutter-y:3rem}.hero{min-height:auto;padding:8rem 0 5rem}.hero .row>*{min-width:0}.hero h1{font-size:2.65rem;overflow-wrap:break-word}.hero .d-flex .btn{width:100%;max-width:100%}.systems-visual{width:100%;max-width:100%;min-height:350px}.visual-node{width:104px;padding:.65rem}.visual-node small{font-size:.66rem}.node-a{left:4%}.node-b{right:4%}.node-c{left:4%}.node-d{right:4%}.section{padding:5rem 0}.capability-card,.contact-form{padding:1.35rem}.service-list,.process-flow,.sector-grid{grid-template-columns:1fr}.sector-grid div:first-child{grid-column:auto}.coverage-panel{padding:2rem}.footer-main{flex-direction:column}.footer-links{align-items:start}.legal-page article{padding:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
