

:root { --font-body:"Segoe UI",Arial,sans-serif; --font-display:"Segoe UI",Arial,sans-serif; --navy:#135d96; --ink:#0b1726; --blue:#2176ff; --cyan:#67e8f9; --paper:#f4f7fa; --line:#d9e1e8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:var(--font-body),sans-serif; }
a { color:inherit; text-decoration:none; }
.header { position:absolute; z-index:20; top:0; left:0; right:0; height:122px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; color:#fff; border-bottom:1px solid rgba(255,255,255,.18); }
.brand { display:inline-flex; align-items:center; gap:13px; letter-spacing:.12em; }
.brandLogo { width:92px; height:92px; display:block; flex:0 0 auto; border-radius:50%; object-fit:contain; image-rendering:auto; background:#fff; box-shadow:0 10px 34px rgba(0,0,0,.2); }
.brand strong { display:block; font-family:var(--font-display); font-size:23px; line-height:1; }
.brand small { display:block; margin-top:5px; font-size:8px; letter-spacing:.2em; opacity:.7; }
.nav { display:flex; align-items:center; gap:32px; font-size:14px; font-weight:700; }
.nav a { opacity:.82; transition:.2s; }
.nav a:hover { opacity:1; }
.navCta { padding:13px 20px; border:1px solid rgba(255,255,255,.5); border-radius:999px; }
.menuButton { display:none; background:none; border:0; padding:10px; }
.menuButton span { display:block; width:25px; height:2px; margin:6px; background:#fff; }
.hero { height:800px; min-height:720px; position:relative; overflow:hidden; background:var(--navy); color:#fff; }
.slide { position:absolute; inset:0; opacity:0; transform:scale(1.03); transition:opacity .8s, transform 6.5s; background-size:cover; background-position:center; pointer-events:none; }
.slide.active { opacity:1; transform:scale(1); pointer-events:auto; }
.heroContent { width:min(760px,90vw); margin-left:8vw; padding-top:225px; }
.eyebrow { margin:0 0 22px; color:var(--cyan); text-transform:uppercase; letter-spacing:.22em; font-size:12px; font-weight:800; }
h1,h2,h3 { font-family:var(--font-display),sans-serif; }
h1 { margin:0; font-size:clamp(52px,6.2vw,92px); line-height:.98; letter-spacing:-.055em; max-width:850px; }
.heroText { max-width:590px; font-size:20px; line-height:1.6; color:#d7e2ee; margin:30px 0 36px; }
.heroActions { display:flex; gap:14px; flex-wrap:wrap; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-width:220px; padding:17px 22px; border-radius:4px; font-weight:800; font-size:14px; }
.button.primary { background:var(--blue); color:#fff; }
.button.ghost { border:1px solid rgba(255,255,255,.5); }
.slideNav { position:absolute; right:5vw; top:50%; display:grid; gap:12px; z-index:4; }
.slideNav button { width:28px; height:3px; padding:0; border:0; background:rgba(255,255,255,.35); cursor:pointer; transition:.3s; }
.slideNav button.active { width:52px; background:#fff; }
.heroProof { position:absolute; left:0; right:0; bottom:0; min-height:85px; display:flex; align-items:center; justify-content:center; gap:5vw; border-top:1px solid rgba(255,255,255,.18); background:rgba(15,79,130,.68); backdrop-filter:blur(10px); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.heroProof span:before { content:""; display:inline-block; width:7px; height:7px; margin-right:12px; border-radius:50%; background:var(--cyan); box-shadow:0 0 12px var(--cyan); }
.section { padding:120px 8vw; }
.intro { display:grid; grid-template-columns:1.2fr .8fr; gap:10vw; align-items:end; padding-bottom:72px; }
.eyebrow.dark { color:#2472dd; }
h2 { margin:0; font-size:clamp(42px,5vw,72px); letter-spacing:-.045em; line-height:1.04; }
.lead { margin:0; color:#5c6977; font-size:18px; line-height:1.75; }
.services { display:grid; grid-template-columns:repeat(3,1fr); padding:0 8vw 130px; }
.serviceCard { min-height:310px; padding:34px; border-top:1px solid var(--line); border-right:1px solid var(--line); transition:.25s; }
.serviceCard:nth-child(3n+1) { border-left:1px solid var(--line); }
.serviceCard:nth-last-child(-n+3) { border-bottom:1px solid var(--line); }
.serviceCard:hover { background:var(--navy); color:#fff; transform:translateY(-5px); }
.serviceTop { display:flex; justify-content:space-between; color:#82909e; font-size:12px; }
.serviceTop b { color:var(--blue); font-size:20px; }
.serviceCard h3 { margin:65px 0 16px; font-size:24px; }
.serviceCard p { color:#657281; line-height:1.65; font-size:14px; }
.serviceCard:hover p { color:#b9c7d5; }
.strategy { display:grid; grid-template-columns:1fr 1fr; background:var(--navy); color:#fff; }
.strategyVisual { min-height:680px; display:flex; align-items:center; justify-content:center; flex-direction:column; overflow:hidden; background:radial-gradient(circle at center,#2684bf,transparent 55%),linear-gradient(135deg,#0e4f82,#1670ad); }
.orbit { width:310px; height:310px; border:1px solid rgba(103,232,249,.25); border-radius:50%; display:grid; place-items:center; position:relative; }
.orbit:before,.orbit:after { content:""; position:absolute; inset:45px; border:1px solid rgba(103,232,249,.2); border-radius:50%; transform:rotate(50deg) scaleX(1.6); }
.orbit:after { transform:rotate(-50deg) scaleX(1.6); }
.orbit span { width:120px; height:120px; border-radius:50%; background:var(--blue); display:grid; place-items:center; font-family:var(--font-display); font-size:38px; font-weight:800; box-shadow:0 0 70px rgba(33,118,255,.55); }
.strategyVisual p { margin-top:46px; text-align:center; text-transform:uppercase; letter-spacing:.16em; line-height:1.7; font-size:11px; color:#9fb3c8; }
.strategyContent { padding:110px 8vw 90px 6vw; }
.strategyContent>p:not(.eyebrow) { margin:30px 0 42px; color:#aebccc; line-height:1.7; font-size:17px; }
.tagGrid { display:grid; grid-template-columns:1fr 1fr; }
.tagGrid span { padding:18px 0; border-top:1px solid rgba(255,255,255,.15); font-size:13px; }
.tagGrid span:before { content:"+"; color:var(--cyan); margin-right:12px; }
.support { background:var(--paper); }
.sectionHeading { max-width:900px; }
.sectionHeading .lead { margin-top:30px; max-width:720px; }
.supportGrid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:70px; }
.supportGrid article { padding:44px; background:#fff; border-left:3px solid var(--blue); }
.supportGrid span { color:var(--blue); font-size:12px; font-weight:800; }
.supportGrid h3 { font-size:27px; margin:40px 0 16px; }
.supportGrid p { color:#657281; line-height:1.7; }
.process { padding:120px 8vw; background:#185f96; color:#fff; display:grid; grid-template-columns:.75fr 1.25fr; gap:10vw; }
.processHeading p:last-child { color:#aebccc; line-height:1.7; margin-top:30px; }
.process ol { margin:0; padding:0; list-style:none; }
.process li { display:grid; grid-template-columns:70px 1fr; gap:20px; padding:30px 0; border-top:1px solid rgba(255,255,255,.16); }
.process li:last-child { border-bottom:1px solid rgba(255,255,255,.16); }
.process li>b { color:var(--cyan); }
.process li h3 { margin:0 0 8px; font-size:22px; }
.process li p { margin:0; color:#9fb0c2; line-height:1.55; font-size:14px; }
.serviceDesk { display:grid; grid-template-columns:1.1fr .9fr; gap:10vw; align-items:center; }
.serviceDesk .lead { margin-top:30px; max-width:700px; }
.deskButton { background:var(--blue); color:#fff; min-height:180px; padding:38px; display:flex; align-items:flex-end; justify-content:space-between; font-family:var(--font-display); font-size:23px; font-weight:700; transition:.2s; }
.deskButton:hover { transform:translateY(-5px); box-shadow:0 22px 40px rgba(33,118,255,.22); }
.deskButton b { font-size:36px; }
.contact { padding:120px 8vw; display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; align-items:start; background:linear-gradient(120deg,#185ed7,#278aff); color:#fff; }
.contact .eyebrow { color:#c7f4ff; }
.contact h2 { font-size:clamp(42px,4.5vw,68px); }
.contactIntro>p:not(.eyebrow) { margin:28px 0 38px; font-size:18px; max-width:650px; line-height:1.7; color:#dfeaff; }
.contactDetails { display:grid; gap:0; border-top:1px solid rgba(255,255,255,.28); }
.contactDetails>a,.contactDetails address,.contactPhones { display:grid; gap:6px; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.28); font-style:normal; }
.contactDetails small { color:#c7e7ff; text-transform:uppercase; letter-spacing:.16em; font-size:9px; }
.contactDetails strong { font-size:14px; line-height:1.6; }
.contactForm { padding:44px; background:#fff; color:var(--ink); box-shadow:0 26px 70px rgba(3,35,85,.23); text-align:left; }
.fieldRow { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contactForm label { display:grid; gap:9px; margin-bottom:18px; color:#3e4e5f; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; }
.contactForm input,.contactForm textarea { width:100%; border:1px solid #cbd6df; border-radius:2px; background:#f8fafc; padding:14px; color:var(--ink); font:500 15px var(--font-body); outline:none; resize:vertical; }
.contactForm input:focus,.contactForm textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(33,118,255,.12); }
.formButton { width:100%; display:flex; align-items:center; justify-content:space-between; padding:17px 20px; border:0; border-radius:3px; background:var(--navy); color:#fff; font:800 14px var(--font-body); cursor:pointer; }
.formButton:hover { background:#102d4c; }
.formNote { display:block; margin-top:13px; color:#758391; font-size:10px; line-height:1.5; text-transform:none; letter-spacing:0; }
.button.light { margin:auto; background:#fff; color:#145ac9; width:max-content; }
footer { background:#124d7d; color:#fff; padding:60px 8vw; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:30px; }
.footerBrand { grid-row:span 2; }
.footerLogo { width:118px; height:118px; }
footer>p { margin:0; color:#92a2b4; text-align:right; }
footer>div { display:flex; justify-content:flex-end; gap:24px; color:#7e8fa1; font-size:12px; flex-wrap:wrap; }

@media (max-width:900px) {
  .header { height:92px; }
  .menuButton { display:block; z-index:3; }
  .nav { position:absolute; top:0; left:0; right:0; padding:100px 7vw 35px; background:#155c91; display:none; flex-direction:column; align-items:flex-start; }
  .nav.open { display:flex; }
  .hero { height:760px; }
  .heroContent { padding-top:160px; margin-left:6vw; }
  .heroProof { padding:20px 6vw; flex-wrap:wrap; justify-content:flex-start; gap:15px 25px; }
  .intro,.strategy,.process,.serviceDesk { grid-template-columns:1fr; }
  .contact { grid-template-columns:1fr; }
  .services { grid-template-columns:1fr 1fr; }
  .serviceCard:nth-child(n) { border-left:1px solid var(--line); border-bottom:0; }
  .serviceCard:last-child,.serviceCard:nth-last-child(2) { border-bottom:1px solid var(--line); }
  .strategyVisual { min-height:520px; }
  .process { gap:70px; }
}
@media (max-width:620px) {
  .brand small { display:none; }
  .brandLogo { width:68px; height:68px; }
  h1 { font-size:49px; }
  h2 { font-size:40px; }
  .heroText { font-size:17px; }
  .heroActions,.button { width:100%; }
  .heroProof span:last-child { display:none; }
  .section,.contact { padding:88px 6vw; }
  .intro { gap:30px; padding-bottom:55px; }
  .services { grid-template-columns:1fr; padding:0 6vw 90px; }
  .serviceCard:nth-child(n) { border:1px solid var(--line); border-bottom:0; min-height:265px; }
  .serviceCard:last-child { border-bottom:1px solid var(--line); }
  .serviceCard h3 { margin-top:45px; }
  .strategyContent { padding:85px 6vw; }
  .orbit { width:240px; height:240px; }
  .supportGrid,.tagGrid { grid-template-columns:1fr; }
  .supportGrid article { padding:34px; }
  .process { padding:90px 6vw; }
  .serviceDesk { gap:50px; }
  .contactForm { padding:28px 22px; }
  .fieldRow { grid-template-columns:1fr; gap:0; }
  footer { grid-template-columns:1fr; }
  .footerBrand { grid-row:auto; }
  footer>p,footer>div { text-align:left; justify-content:flex-start; }
}


.hpField {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}
.captchaWrap { margin: 4px 0 20px; min-height: 65px; }
.statusPage {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px;
  background: linear-gradient(135deg, #0e4f82, #2176ff);
}
.statusCard {
  width: min(620px, 100%);
  padding: 48px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(3, 35, 85, .28);
  text-align: center;
}
.statusCard h1 { margin: 0 0 18px; color: #135d96; font-size: clamp(36px, 6vw, 58px); }
.statusCard p { color: #5c6977; font-size: 18px; line-height: 1.7; }
.statusCard a {
  display: inline-block;
  margin-top: 20px;
  padding: 15px 24px;
  border-radius: 4px;
  background: #2176ff;
  color: #fff;
  font-weight: 800;
}
