@import url("https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700;800&display=swap");

:root{--ink:#202630;--blue:#096fb5;--navy:#062844;--cyan:#31b6c8;--orange:#f58220;--pale:#f4f9fb;--line:#dce6ec;--muted:#64717c;--radius:16px}html{scroll-behavior:smooth}body{margin:0;font-family:Figtree,Arial,sans-serif;color:var(--ink);line-height:1.55;overflow-x:hidden}a{text-decoration:none;color:inherit}.wrap{width:min(1190px,calc(100% - 48px));margin:auto}.top{height:40px;background:#06263f;color:#eff8ff;font-size:12px;display:flex;align-items:center}.top .wrap{display:flex;justify-content:space-between}.top span+span{margin-left:22px}.nav{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #ebf0f2}.nav .wrap{min-height:78px;display:flex;align-items:center;gap:30px}.logo{display:inline-flex;align-items:center;line-height:1;text-decoration:none}.logo img{display:block;height:36px;width:auto;max-width:100%}.navlinks{margin-left:auto;display:flex;gap:25px;font-size:14px;font-weight:600}.navlinks a:hover{color:var(--blue)}.quote{border:0;background:var(--orange);padding:12px 18px;color:#fff;font-weight:700;border-radius:4px;cursor:pointer}.hero{background:linear-gradient(110deg,#075d99,#0b90ba);color:white;min-height:580px;display:grid;align-items:center;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 58%,rgba(0,39,71,.18))}.hero .wrap{position:relative;z-index:1}.eyebrow{font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--orange);margin-bottom:14px}.hero .eyebrow{color:#fff}.hero h1{font-size:clamp(40px,5vw,66px);line-height:1.08;max-width:720px;margin:0 0 22px;letter-spacing:-2px}.hero p{font-size:18px;max-width:710px;color:#e5f7fc}.primary{display:inline-block;background:var(--orange);color:#fff;padding:15px 26px;border-radius:4px;font-weight:700;margin-top:15px}.brands{background:#fff;border-bottom:1px solid var(--line);padding:22px 0}.brands .wrap{display:flex;align-items:center;gap:35px;color:#6d7b86;font-size:13px;font-weight:700}.brandlist{display:flex;gap:45px;align-items:center;color:#9ba6ad;font-size:18px;letter-spacing:1px}.section{padding:88px 0}.section.soft{background:var(--pale)}.section h2{font-size:clamp(30px,3.3vw,44px);line-height:1.15;letter-spacing:-1px;margin:0 0 22px;max-width:680px}.lead{font-size:17px;color:var(--muted);max-width:680px}.intro{display:grid;grid-template-columns:260px 1fr;gap:64px;align-items:start;margin-bottom:46px}.years{font-size:65px;font-weight:800;color:#0b79ba;line-height:.85}.years span{display:block;font-size:16px;color:var(--ink);line-height:1.35;margin-top:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff}.card:hover{box-shadow:0 14px 30px rgba(18,71,103,.1);transform:translateY(-3px)}.card{transition:.2s}.icon{width:48px;height:48px;border-radius:12px;background:#e4f4f8;color:#0675b5;display:grid;place-items:center;font-size:22px;margin-bottom:18px}.card h3{font-size:21px;margin:0 0 10px}.card p{font-size:14px;color:var(--muted);margin:0 0 16px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{font-size:12px;background:#f2f6f7;padding:5px 8px;border-radius:4px;color:#46606f}.arrow{font-weight:700;color:#0876b7;font-size:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:84px;align-items:center}.picture{min-height:410px;border-radius:20px;background:linear-gradient(rgba(0,51,90,.08),rgba(0,51,90,.08)),url('https://images.unsplash.com/photo-1522071820081-009f0129c71c?auto=format&fit=crop&w=1000&q=85') center/cover}.checks{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0}.check{font-weight:600;font-size:14px}.check:before{content:'✓';color:#fff;background:#0d87be;width:20px;height:20px;border-radius:50%;display:inline-grid;place-items:center;margin-right:9px}.stats{background:#063d62;color:#fff;padding:58px 0}.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}.number{font-size:47px;font-weight:800;color:#fff}.stat{color:#b7d5e6;font-size:14px}.service-hero,.inner-hero{padding:106px 0 76px;background:#eff8fb;text-align:center;border-bottom:1px solid var(--line)}.inner-hero h1{font-size:52px;letter-spacing:-1.7px;margin:0 0 13px}.inner-hero p{color:var(--muted);font-size:18px;max-width:690px;margin:auto}.page-grid{display:grid;grid-template-columns:260px 1fr;gap:42px}.side{border:1px solid var(--line);border-radius:12px;padding:15px;height:max-content}.side a{display:block;padding:12px 10px;font-size:14px;border-bottom:1px solid #edf1f3}.side a:last-child{border:0}.side a:first-child{color:var(--blue);font-weight:700}.article h2{max-width:none}.article p{color:var(--muted);font-size:16px}.technology{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.technology div{padding:21px 15px;border:1px solid var(--line);border-radius:12px;text-align:center;font-weight:700;background:#fff}.industry{display:grid;grid-template-columns:1fr 1fr;gap:27px}.industry .card{padding:0;overflow:hidden}.industry img{width:100%;height:180px;object-fit:cover}.industry .inside{padding:22px}.form{padding:32px;border:1px solid var(--line);border-radius:16px;background:#fff}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{font-size:13px;font-weight:700;display:block;margin-bottom:5px}.form input,.form select,.form textarea{width:100%;box-sizing:border-box;border:1px solid #cdd9df;border-radius:5px;padding:12px;font:inherit}.form textarea{min-height:130px}.form button{border:0;width:100%;margin-top:20px}.contactinfo{padding:25px;background:#073a60;color:#fff;border-radius:16px}.contactinfo p{color:#c2dce9}.footer{background:#06263f;color:#e4eff5;padding:60px 0 25px}.footergrid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:35px}.footer h4{margin:0 0 15px}.footer a{display:block;color:#b9d0dc;font-size:14px;margin:8px 0}.copy{border-top:1px solid rgba(255,255,255,.13);margin-top:40px;padding-top:20px;font-size:13px;color:#93b1c1}.mobile{display:none;background:none;border:0;font-size:23px;margin-left:auto}@media(max-width:850px){.top{display:none}.nav .wrap{min-height:65px}.navlinks,.nav .quote{display:none}.mobile{display:block}.navlinks.open{display:flex;position:absolute;top:65px;left:0;right:0;flex-direction:column;background:#fff;padding:18px 24px;gap:15px;border-bottom:1px solid var(--line)}.hero{min-height:500px}.intro,.split,.page-grid{grid-template-columns:1fr;gap:30px}.grid3{grid-template-columns:1fr 1fr}.technology{grid-template-columns:repeat(2,1fr)}.industry{grid-template-columns:1fr}.stats .wrap{grid-template-columns:1fr 1fr}.footergrid{grid-template-columns:1fr 1fr}.brands .wrap{display:block}.brandlist{margin-top:12px;gap:20px;flex-wrap:wrap}.inner-hero{padding:75px 0 55px}.inner-hero h1{font-size:40px}}@media(max-width:520px){.wrap{width:min(100% - 32px,1190px)}.grid3,.formgrid{grid-template-columns:1fr}.section{padding:60px 0}.hero h1{letter-spacing:-1px}.footergrid{grid-template-columns:1fr}.checks{grid-template-columns:1fr}}

/* Fix for dark backgrounds contradicting font color */
[style*="background-color: #0"], [style*="background-color:#0"],
[style*="background: #0"], [style*="background:#0"],
[style*="background-color: #1"], [style*="background-color:#1"],
[style*="background: #1"], [style*="background:#1"],
[style*="background-color: var(--navy)"], [style*="background: var(--navy)"],
[style*="background-color: var(--ink)"], [style*="background: var(--ink)"],
.dark-section, .bg-dark, .bg-navy {
    color: #fff !important;
}
[style*="background"] h2, [style*="background"] h3, [style*="background"] .lead,
[class*="dark"] h2, [class*="dark"] h3, [class*="dark"] .lead {
    color: inherit !important;
}

/* Force .section.soft to be dark to fix contrast */
.section.soft { background: var(--navy); color: #fff; }
.section.soft h2 { color: #fff !important; }
.section.soft p.lead, .section.soft .article p, .section.soft p { color: #b7d5e6 !important; }
.section.soft .card, .section.soft .contactinfo, .section.soft .form { background: rgba(255,255,255,0.05) !important; border-color: rgba(255,255,255,0.1) !important; color: #fff !important; }
.section.soft .card h3 { color: #fff !important; }
.section.soft .card p { color: #b7d5e6 !important; }
.section.soft .form label { color: #fff !important; }
.section.soft .form input, .section.soft .form select, .section.soft .form textarea { background: rgba(255,255,255,0.1) !important; color: #fff !important; border-color: rgba(255,255,255,0.2) !important; }

/* Restore dark sections and fix contrast globally */
.section { background: var(--navy); color: #fff; }
.section.soft { background: var(--ink); color: #fff; }

.section h1, .section h2, .section h3, .section h4, .section h5, .section h6,
.section.soft h1, .section.soft h2, .section.soft h3, .section.soft h4, .section.soft h5, .section.soft h6 { 
    color: #fff !important; 
}
.section p.lead, .section p, .section span,
.section.soft p.lead, .section.soft p, .section.soft span { 
    color: #b7d5e6 !important; 
}
.section .card, .section.soft .card, .section .contactinfo, .section.soft .contactinfo, .section .form, .section.soft .form { 
    background: rgba(255,255,255,0.05) !important; 
    border-color: rgba(255,255,255,0.1) !important; 
}
.section .technology div, .section.soft .technology div {
    background: rgba(255,255,255,0.05) !important; 
    border-color: rgba(255,255,255,0.1) !important; 
    color: #fff !important;
}
.section .form label, .section.soft .form label { color: #fff !important; }
.section .form input, .section .form select, .section .form textarea,
.section.soft .form input, .section.soft .form select, .section.soft .form textarea { 
    background: rgba(255,255,255,0.1) !important; 
    color: #fff !important; 
    border-color: rgba(255,255,255,0.2) !important; 
}
.section .check::before, .section.soft .check::before {
    color: #fff !important;
}
.section .icon { background: rgba(255,255,255,0.1) !important; }
.section .years { color: var(--cyan) !important; }
.section .years span span { color: #b7d5e6 !important; }
.section .side a { color: #b7d5e6 !important; border-color: rgba(255,255,255,0.1) !important; }
.section .side a:first-child { color: var(--cyan) !important; }
.section .tags span { background: rgba(255,255,255,0.1) !important; color: #fff !important; }
.section .arrow { color: var(--cyan) !important; }

/* Interactive Technology Cards & Dedicated Page Components */
.technology a {
  padding: 21px 15px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  text-align: center;
  font-weight: 700;
  background: rgba(255,255,255,0.05);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s ease;
}
.technology a:hover {
  background: rgba(255,255,255,0.12);
  border-color: var(--cyan);
  color: var(--cyan);
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.25);
}
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 18px;
  color: #8da7b8;
}
.breadcrumb a {
  color: var(--cyan);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.breadcrumb a:hover {
  color: #fff;
}
.article-body {
  line-height: 1.75;
}
.article-body h2 {
  font-size: 28px;
  margin: 32px 0 16px;
  letter-spacing: -0.5px;
}
.article-body h3 {
  font-size: 21px;
  margin: 24px 0 12px;
}
.article-body p {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 18px;
  color: #b7d5e6;
}
.article-body ul {
  padding-left: 20px;
  margin-bottom: 22px;
}
.article-body li {
  margin-bottom: 10px;
  color: #b7d5e6;
  line-height: 1.6;
}
.article-body li strong {
  color: #fff;
}
.cta-banner {
  margin-top: 48px;
  padding: 32px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(9,111,181,0.25), rgba(49,182,200,0.15));
  border: 1px solid rgba(49,182,200,0.3);
  text-align: center;
}
.cta-banner h3 {
  font-size: 24px;
  margin: 0 0 12px;
  color: #fff;
}
.cta-banner p {
  color: #c9e4f2;
  max-width: 620px;
  margin: 0 auto 20px;
  font-size: 15px;
}
.grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 24px 0;
}
@media(max-width:768px){
  .grid2 { grid-template-columns: 1fr; }
}
