:root {
  --ink: #08131f;
  --ink-soft: #132536;
  --paper: #f7f9fc;
  --white: #fff;
  --muted: #5e6b78;
  --line: #dce4ec;
  --blue: #1356a2;
  --cyan: #00a6bd;
  --magenta: #cb2a86;
  --orange: #f18a2b;
  --green: #6da643;
  --shadow: 0 24px 70px rgba(8, 19, 31, .13);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font: 400 16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000; background: #fff; padding: .75rem 1rem; border-radius: 8px; }
.skip-link:focus { top: 1rem; }
.eyebrow { color: var(--magenta); font-weight: 800; letter-spacing: .11em; text-transform: uppercase; font-size: .77rem; }
h1, h2, h3 { line-height: 1.08; letter-spacing: -.035em; margin: 0 0 1rem; }
h1 { font-size: clamp(2.65rem, 6vw, 5.65rem); }
h2 { font-size: clamp(2rem, 4vw, 3.55rem); }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1rem; }
.lead { color: #d3dfeb; font-size: clamp(1.05rem, 2vw, 1.25rem); max-width: 670px; }
.section-lead { color: var(--muted); font-size: 1.1rem; max-width: 720px; }
.gradient-text { background: linear-gradient(100deg, #ffaf34, #ee4f91 47%, #4bb5e5); -webkit-background-clip: text; background-clip: text; color: transparent; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(220,228,236,.85); backdrop-filter: blur(18px); }
.nav-wrap { min-height: 78px; display: flex; align-items: center; gap: 24px; }
.brand { display: inline-flex; align-items: center; text-decoration: none; flex: 0 0 auto; }
.brand img { width: 184px; height: 57px; object-fit: contain; }
.nav-toggle { display: none; margin-left: auto; border: 1px solid var(--line); background: #fff; border-radius: 10px; padding: .58rem .75rem; }
.primary-nav { margin-left: auto; display: flex; align-items: center; gap: 5px; }
.primary-nav a, .nav-group > button { text-decoration: none; font-weight: 700; font-size: .91rem; padding: .62rem .7rem; border: 0; background: none; color: #203040; cursor: pointer; }
.primary-nav a:hover, .primary-nav a[aria-current="page"], .nav-group > button:hover { color: var(--magenta); }
.nav-group { position: relative; }
.nav-group > button::after { content: "⌄"; padding-left: .3rem; }
.mega-menu { position: absolute; top: calc(100% + 16px); right: 0; width: min(660px, 88vw); background: #fff; box-shadow: var(--shadow); border: 1px solid var(--line); border-radius: 18px; padding: 18px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; visibility: hidden; opacity: 0; transform: translateY(-8px); transition: .18s ease; }
.nav-group:hover .mega-menu, .nav-group:focus-within .mega-menu, .nav-group.open .mega-menu { visibility: visible; opacity: 1; transform: none; }
.mega-menu a { padding: .85rem; border-radius: 12px; }
.mega-menu a:hover { background: #f4f7fa; }
.nav-cta { background: var(--ink) !important; color: #fff !important; border-radius: 999px; padding-inline: 1rem !important; }

.hero { position: relative; overflow: hidden; background: var(--ink); color: #fff; padding: clamp(75px, 10vw, 135px) 0 95px; }
.hero::before { content: ""; position: absolute; inset: -30%; background: radial-gradient(circle at 72% 38%, rgba(25,109,191,.35), transparent 24%), radial-gradient(circle at 85% 72%, rgba(203,42,134,.22), transparent 20%); }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; gap: 70px; align-items: center; }
.hero h1 { max-width: 780px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid transparent; border-radius: 999px; padding: .84rem 1.25rem; text-decoration: none; font-weight: 800; transition: transform .18s ease, box-shadow .18s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: linear-gradient(100deg, #cb2a86, #7c3cb6); box-shadow: 0 12px 35px rgba(203,42,134,.28); }
.btn-light { color: #fff; border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.06); }
.btn-dark { color: #fff; background: var(--ink); }
.trust-strip { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 36px; color: #bdd0df; font-size: .88rem; font-weight: 700; }
.trust-strip span::before { content: "✓"; color: #51cf88; margin-right: .42rem; }

.ops-panel { position: relative; min-height: 470px; padding: 25px; border: 1px solid rgba(255,255,255,.14); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.035)); box-shadow: 0 40px 90px rgba(0,0,0,.35); backdrop-filter: blur(18px); }
.ops-top { display: flex; justify-content: space-between; align-items: center; font-size: .82rem; color: #bdd0df; }
.live { color: #72df9f; font-weight: 800; }
.live::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 7px; background: currentColor; border-radius: 50%; box-shadow: 0 0 0 6px rgba(114,223,159,.12); animation: pulse 1.8s infinite; }
.ops-score { margin: 35px 0 26px; display: flex; align-items: end; gap: 12px; }
.ops-score strong { font-size: 4rem; line-height: .9; }
.ops-score span { color: #9fb2c4; }
.ops-bars { display: grid; gap: 16px; }
.metric { display: grid; grid-template-columns: 96px 1fr 36px; align-items: center; gap: 10px; font-size: .82rem; }
.bar { height: 8px; background: rgba(255,255,255,.1); border-radius: 99px; overflow: hidden; }
.bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cyan), var(--magenta)); animation: load 1.4s ease both; }
.event-stream { margin-top: 30px; display: grid; gap: 9px; }
.event { display: flex; align-items: center; gap: 10px; border-radius: 10px; background: rgba(2,8,15,.42); padding: 10px 12px; color: #c3d1de; font-size: .78rem; }
.event b { color: #fff; margin-left: auto; }

.section { padding: clamp(72px, 9vw, 118px) 0; }
.section-soft { background: var(--paper); }
.section-dark { color: #fff; background: var(--ink); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.section-head > div { max-width: 780px; }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.service-card { position: relative; overflow: hidden; min-height: 265px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; text-decoration: none; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.service-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); border-color: transparent; }
.service-card .icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 42px; color: #fff; background: var(--ink); border-radius: 14px; font-size: 1.3rem; }
.service-card p { color: var(--muted); }
.service-card .arrow { position: absolute; right: 26px; bottom: 22px; font-weight: 900; color: var(--magenta); }
.service-card.accent { color: #fff; background: linear-gradient(145deg, #152b3d, #08131f); border-color: #294153; }
.service-card.accent p { color: #b9c9d8; }
.service-card.accent .icon { background: linear-gradient(135deg, var(--orange), var(--magenta)); }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.stat { padding: 28px; border-right: 1px solid var(--line); }
.stat:last-child { border: 0; }
.stat strong { display: block; font-size: clamp(1.7rem, 4vw, 3rem); line-height: 1; margin-bottom: 10px; }
.stat span { color: var(--muted); }

.split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 75px; align-items: center; }
.feature-list { display: grid; gap: 14px; padding: 0; list-style: none; }
.feature-list li { position: relative; padding: 16px 18px 16px 48px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.feature-list li::before { content: "✓"; position: absolute; left: 17px; color: var(--green); font-weight: 900; }
.steps { counter-reset: steps; display: grid; gap: 12px; }
.step { counter-increment: steps; display: grid; grid-template-columns: 52px 1fr; gap: 18px; padding: 20px; border-bottom: 1px solid rgba(255,255,255,.13); }
.step::before { content: "0" counter(steps); width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.08); color: #f09ac8; font-weight: 900; }
.step p { color: #acbdcb; }

.page-hero { color: #fff; background: var(--ink); padding: 84px 0 74px; overflow: hidden; position: relative; }
.page-hero::after { content: ""; position: absolute; right: -10%; top: -60%; width: 600px; height: 600px; background: radial-gradient(circle, rgba(203,42,134,.3), transparent 62%); }
.page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { font-size: clamp(2.5rem, 6vw, 4.7rem); max-width: 900px; }
.breadcrumbs { color: #9fb2c4; margin-bottom: 24px; font-size: .88rem; }
.breadcrumbs a { color: #fff; text-decoration: none; }
.pill-row { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 30px; }
.pill { border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.06); border-radius: 999px; padding: .48rem .75rem; color: #c9d7e2; font-size: .83rem; font-weight: 700; }

.content-grid { display: grid; grid-template-columns: 1fr 340px; gap: 54px; align-items: start; }
.content-block + .content-block { margin-top: 56px; }
.detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.detail { border: 1px solid var(--line); border-radius: 16px; padding: 20px; background: #fff; }
.detail p { color: var(--muted); font-size: .94rem; }
.side-card { position: sticky; top: 102px; border-radius: var(--radius); padding: 28px; color: #fff; background: linear-gradient(155deg, #1a3448, #08131f); }
.side-card p { color: #bed0de; }
.side-card .btn { width: 100%; margin-top: 10px; }
.check-columns { columns: 2; column-gap: 28px; padding: 0; list-style: none; }
.check-columns li { break-inside: avoid; margin-bottom: 11px; padding-left: 24px; position: relative; }
.check-columns li::before { content: "✓"; color: var(--green); position: absolute; left: 0; font-weight: 900; }

.job-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.job-card { border: 1px solid var(--line); padding: 25px; border-radius: 18px; }
.job-card span { color: var(--magenta); font-size: .82rem; font-weight: 800; }
.form-card { padding: clamp(24px, 5vw, 46px); border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.field.full { grid-column: 1 / -1; }
label { display: block; font-weight: 800; font-size: .87rem; margin-bottom: 7px; }
input, select, textarea { width: 100%; border: 1px solid #cfd9e2; border-radius: 11px; background: #fff; padding: .83rem .9rem; color: var(--ink); }
textarea { min-height: 135px; resize: vertical; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(19,86,162,.14); border-color: var(--blue); }
.form-note { color: var(--muted); font-size: .82rem; }
.hp-field { position: absolute !important; left: -9999px !important; }

.cta-band { margin: 0 auto 90px; padding: 48px; border-radius: 28px; color: #fff; background: linear-gradient(105deg, #11283a, #441947 100%); display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.cta-band p { color: #c8d5df; }
.cta-band .btn { flex: 0 0 auto; }
.site-footer { background: #050c13; color: #c2d0dc; padding: 65px 0 25px; }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 38px; }
.footer-brand img { width: 210px; background: #fff; border-radius: 12px; padding: 7px; margin-bottom: 18px; }
.site-footer h3 { color: #fff; font-size: 1rem; letter-spacing: 0; }
.site-footer a { display: block; color: #c2d0dc; text-decoration: none; margin: .42rem 0; }
.site-footer a:hover { color: #fff; }
.footer-bottom { border-top: 1px solid #20303d; margin-top: 45px; padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; font-size: .82rem; }
.floating-wa { position: fixed; right: 20px; bottom: 20px; z-index: 40; width: 55px; height: 55px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #20b65a; text-decoration: none; font-weight: 900; box-shadow: 0 12px 30px rgba(12,90,44,.3); }
.reveal { opacity: 0; transform: translateY(18px); transition: .6s ease; }
.reveal.visible { opacity: 1; transform: none; }

@keyframes pulse { 50% { box-shadow: 0 0 0 12px rgba(114,223,159,0); } }
@keyframes load { from { width: 0 !important; } }

@media (max-width: 1100px) {
  .nav-toggle { display: block; }
  .primary-nav { display: none; position: absolute; left: 20px; right: 20px; top: 72px; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 12px; box-shadow: var(--shadow); align-items: stretch; flex-direction: column; }
  .primary-nav.open { display: flex; }
  .primary-nav a, .nav-group > button { display: block; width: 100%; text-align: left; padding: .8rem; }
  .nav-group { width: 100%; }
  .mega-menu { position: static; display: none; width: 100%; grid-template-columns: 1fr; box-shadow: none; margin-top: 6px; visibility: visible; opacity: 1; transform: none; }
  .nav-group.open .mega-menu { display: grid; }
  .hero-grid, .split, .content-grid { grid-template-columns: 1fr; }
  .hero-grid { gap: 50px; }
  .card-grid { grid-template-columns: repeat(2, 1fr); }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .stat:nth-child(2) { border-right: 0; }
  .stat:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .side-card { position: static; }
  .job-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 650px) {
  .container { width: min(100% - 26px, 1180px); }
  .brand img { width: 155px; height: 50px; }
  .hero { padding-top: 64px; }
  .ops-panel { min-height: 420px; padding: 19px; }
  .section-head, .cta-band, .footer-bottom { align-items: flex-start; flex-direction: column; }
  .card-grid, .detail-grid, .job-grid, .form-grid, .footer-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .check-columns { columns: 1; }
  .cta-band { padding: 30px; margin-bottom: 60px; }
  .metric { grid-template-columns: 76px 1fr 30px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Revision 2: clearer contrast, animated cloud flow and operations graphics. */
.hero h1,.page-hero h1,.section-dark h2,.ops-panel {color:#f7fbff}
.hero .eyebrow,.page-hero .eyebrow,.section-dark .eyebrow {color:#ff9bce}
.gradient-text {color:#81d7ff;background:none;-webkit-text-fill-color:currentColor}
.service-card:not(.accent) h3,.detail h2 {color:#123a66}
.cloud-provider {background:linear-gradient(135deg,#102c45,#19243e);border-color:#35516d;color:#fff;min-height:245px}
.cloud-provider h3 {color:#fff!important;margin-top:24px}
.cloud-provider p {color:#d5e3ef}
.cloud-provider .eyebrow,.cloud-provider a {color:#91e2ff}
.product-detail h2 {font-size:1.55rem;line-height:1.25}
.cloud-flow {display:flex;align-items:center;justify-content:center;gap:18px;margin:28px 0 35px;padding:28px;background:#0a192c;border-radius:20px;color:#e9f8ff;overflow:hidden}
.cloud-flow span {font-size:.86rem;font-weight:800}
.cloud-flow strong {border:1px solid #60c8f2;padding:14px;border-radius:50%;animation:node-glow 3s ease-in-out infinite}
.cloud-flow i {position:relative;height:2px;background:#3d617b;flex:1;max-width:140px;overflow:hidden}
.cloud-flow i::after {content:'';position:absolute;width:35%;height:100%;background:#8fe5ff;animation:packet-flow 2s linear infinite}
.ops-panel {padding-top:58px;animation:panel-float 7s ease-in-out infinite}
.motion-toggle {position:absolute;right:20px;top:14px;color:#d3eaf8;background:#132e46;border:1px solid #456078;border-radius:20px;font-size:.72rem;padding:5px 10px;cursor:pointer}
.ops-panel::after {content:'';pointer-events:none;position:absolute;left:0;right:0;top:15%;height:2px;background:linear-gradient(90deg,transparent,#66d9ff,transparent);opacity:.25;animation:scan-line 6s linear infinite}
.ops-bars .bar i {animation:metric-breathe 4s ease-in-out infinite;transform-origin:left}
.ops-bars .metric:nth-child(2) i {animation-delay:-1.4s}
.ops-bars .metric:nth-child(3) i {animation-delay:-2.8s}
.event {animation:event-highlight 6s ease-in-out infinite}
.event:nth-child(2) {animation-delay:-2s}.event:nth-child(3) {animation-delay:-4s}
.demo-label {font-size:.7rem;color:#b7cad9;margin:15px 0 0}
.hero::before {animation:ambient-drift 16s ease-in-out infinite alternate}
.reveal {opacity:1;transform:none}
.motion-paused *, .motion-paused *::before, .motion-paused *::after {animation-play-state:paused!important}
@keyframes panel-float {50%{transform:translateY(-9px)}}
@keyframes scan-line {from{top:15%}to{top:94%}}
@keyframes metric-breathe {50%{transform:scaleX(.87)}}
@keyframes event-highlight {0%,70%,100%{border-left:2px solid transparent}25%{border-left:2px solid #78dbec;background:#183448}}
@keyframes ambient-drift {to{transform:translate(3%,4%) scale(1.06)}}
@keyframes packet-flow {from{left:-35%}to{left:100%}}
@keyframes node-glow {50%{box-shadow:0 0 24px #40c9eb55}}
@media(max-width:650px){.cloud-flow{gap:8px;padding:18px 10px}.cloud-flow span{font-size:.7rem}.cloud-flow strong{font-size:.85rem;padding:10px}.cloud-flow i{min-width:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.cloud-motion {position:static;margin-top:18px}

/* Revision 3: restore typography from the supplied original GXcel source. */
h1,h2,h3,h4,h5,h6 {font-family:inherit;font-weight:500;letter-spacing:normal;line-height:1.2}
h1,.page-hero h1 {font-size:clamp(2rem,4vw,3.5rem)}
h2 {font-size:clamp(1.7rem,3vw,2.4rem)}
h3 {font-size:1.4rem}
p,.lead,.section-lead,.service-card p,.detail p {font-size:18px;line-height:1.5;font-weight:400;letter-spacing:normal}
.primary-nav a,.nav-group > button {font-weight:500;font-size:1rem}
.btn,label {font-weight:600}
.eyebrow {font-weight:600;letter-spacing:.035em;font-size:.85rem}
.stat strong,.ops-score strong {font-weight:600}
.form-note {font-size:.875rem}
.demo-label {font-size:.75rem}
@media(max-width:650px){p,.lead,.section-lead,.service-card p,.detail p {font-size:16px}.demo-label{font-size:.75rem}.form-note{font-size:.875rem}}

/* Revision 4: white and pale-blue surfaces across the whole website. */
.hero,.page-hero {background:linear-gradient(120deg,#f8fcff,#e8f3fc);color:#193c59}
.hero::before {background:radial-gradient(circle at 72% 38%,#b4e2ff66,transparent 28%),radial-gradient(circle at 85% 72%,#f5c9e955,transparent 24%)}
.page-hero::after {background:radial-gradient(circle,#bbdbf755,transparent 62%)}
.hero h1,.page-hero h1,.section-dark h2,.ops-panel {color:#193c59}
.hero .eyebrow,.page-hero .eyebrow,.section-dark .eyebrow,.side-card .eyebrow {color:#a71c67}
.gradient-text {color:#1356a2}
.lead,.trust-strip,.ops-top,.ops-score span,.event,.step p,.side-card p,.cta-band p,.breadcrumbs {color:#425e73}
.breadcrumbs a {color:#1356a2}
.nav-cta {background:#1356a2!important;color:#fff!important}
.btn-dark {background:#1356a2;color:#fff}
.btn-light {background:#fff;border-color:#8aacc7;color:#1356a2}
.ops-panel {background:linear-gradient(145deg,#fff,#edf7ff);border-color:#b9d3e8;box-shadow:0 24px 55px #32658d20}
.live {color:#187d47}
.bar {background:#dbe7f0}
.event {background:#f5faff;border:1px solid #d8e6f2}
.event b {color:#18673e}
.demo-label {color:#4a6174}
.section-dark {background:#f0f7fd;color:#193c59}
.step {border-bottom-color:#caddeb}
.step::before {background:#deebf8;color:#1356a2}
.service-card.accent {background:linear-gradient(135deg,#edf6ff,#fff);color:#193c59;border-color:#bed8ee}
.service-card.accent p {color:#425e73}
.service-card .icon {background:#1356a2}
.side-card,.cta-band {background:linear-gradient(125deg,#e8f3ff,#f7f0fa);color:#193c59;border:1px solid #c5daea}
.pill {background:#fff;border-color:#bbd2e4;color:#244965}
.site-footer {background:#eef5fa;color:#3a5367;border-top:1px solid #d1e0eb}
.site-footer h3 {color:#193c59}
.site-footer a {color:#245378}
.site-footer a:hover {color:#a71c67}
.footer-bottom {border-top-color:#c5d7e5}
.cloud-provider {background:linear-gradient(145deg,#f0f8ff,#fff);color:#193c59;border-color:#bed8ee}
.cloud-provider h3 {color:#1356a2!important}
.cloud-provider p {color:#425e73}
.cloud-provider .eyebrow,.cloud-provider a {color:#1356a2}
.cloud-flow {background:#eef7ff;color:#214760;border:1px solid #c7deef}
.cloud-flow i {background:#accfe5}
.cloud-flow i::after {background:#1975b8}
.cloud-flow strong {border-color:#559bc8;background:#fff}
.motion-toggle {background:#fff;color:#245378;border-color:#b3ccdf}
@keyframes event-highlight {0%,70%,100%{border-left:2px solid transparent}25%{border-left:2px solid #2586be;background:#e3f2fc}}
.job-card {background:#fff}
.job-card .btn {margin-top:12px}
#career-application {scroll-margin-top:110px}

/* Revision 5: extend the approved About layout to all page types. */
.hero {padding:84px 0 74px}
.hero-grid {grid-template-columns:.9fr 1.1fr;gap:75px}
.card-grid,.job-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.service-card,.job-card {padding:20px;border-radius:16px;background:#fff;border-color:var(--line)}
.service-card.accent {background:#fff;color:var(--ink);border-color:var(--line)}
.service-card.accent p {color:var(--muted)}
.service-card .icon {margin-bottom:24px}
.job-card {display:flex;flex-direction:column;align-items:flex-start}
.job-card .btn {margin-top:auto}
.job-card p:last-of-type {margin-bottom:24px}
.service-card,.job-card,.detail,.split > *,.hero-grid > * {min-width:0;overflow-wrap:break-word}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr;gap:50px}}
@media(max-width:650px){.hero{padding-top:64px}.card-grid,.job-grid{grid-template-columns:1fr}}

/* Bold primary navigation labels on desktop and mobile. */
.primary-nav > a:not(.nav-cta), .primary-nav > .nav-group > button {font-weight:700}

/* Revision 7: one About-based page layout, including Home and Contact. */
.page-hero .gradient-text {background:none;color:inherit;-webkit-background-clip:initial;background-clip:initial}
.contact-details .detail + .detail {margin-top:15px}
.contact-details a {overflow-wrap:anywhere}
.section-head {display:block}
.section-head > .btn {margin-top:20px}
.section .lead {color:var(--muted)}

/* Revision 9: bold page content and original animated service illustrations. */
body {font-weight:700}
h1,h2,h3,h4,h5,h6,p,.lead,.section-lead,.service-card p,.detail p,
.eyebrow,.btn,label,.primary-nav a,.nav-group > button,
.feature-list li,.check-columns li,.breadcrumbs,.trust-strip,.pill {font-weight:700}
input,select,textarea {font-weight:500}
.page-hero-grid {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:48px}
.page-hero-copy {min-width:0}
.page-hero-copy h1 {font-size:clamp(2rem,3.1vw,3.1rem);overflow-wrap:break-word}
.page-art {margin:0;min-width:0;width:100%}
.page-art svg {display:block;width:100%;height:auto;overflow:visible}
.page-art figcaption {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;color:#425e73;font-size:.75rem}
.page-art .art-motion {position:static;font-size:.75rem;padding:7px 12px;cursor:pointer}
.art-core {animation:art-float 7s ease-in-out infinite;transform-origin:300px 120px}
.art-card {animation:art-float 8s ease-in-out infinite}
.art-flow {animation:art-packets 3s linear infinite}
.art-light {animation:art-pulse 4s ease-in-out infinite}
.art-delay-1 {animation-delay:-2s}.art-delay-2 {animation-delay:-4s}
@keyframes art-float {0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes art-packets {to{stroke-dashoffset:-56}}
@keyframes art-pulse {0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:1100px){.page-hero-grid{grid-template-columns:1fr;gap:32px}.page-art{max-width:600px;margin-inline:auto}}
@media(max-width:650px){.page-hero{padding:48px 0}.page-hero-copy h1{font-size:2rem}.page-art figcaption{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){.page-art *{animation:none!important}}

main strong,main b,.stat strong,.ops-score strong {font-weight:700}
/* Technology ecosystem and assistance panel. */
.partner-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-top:30px}
.partner-card{min-width:0;background:white;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:10px;min-height:104px}
.partner-card img{width:100%;height:84px;object-fit:contain}
.partner-sprite{display:block;width:100%;aspect-ratio:176/96;background-image:url('../images/partners/vendor-grid.png');background-size:695.45455% 542.70833%;background-repeat:no-repeat}
.partner-wordmark{text-align:center;font-size:1.15rem;color:#193c59;font-weight:800}
.assistant-launcher{position:fixed;right:20px;bottom:88px;z-index:70;border:0;border-radius:28px;padding:14px 20px;background:#1356a2;color:white;font-weight:700;box-shadow:0 6px 24px #193c5930;cursor:pointer}
.assistant-panel{position:fixed;right:20px;bottom:150px;z-index:75;width:min(400px,calc(100vw - 24px));max-height:calc(100dvh - 175px);display:flex;flex-direction:column;border:1px solid #b8cfdf;border-radius:20px;background:white;box-shadow:0 14px 50px #193c5933;overflow:hidden;color:#193c59}
.assistant-panel[hidden]{display:none}
.assistant-header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#eaf4ff;flex-shrink:0}
.assistant-header h2{font-size:1.05rem;margin:0 0 4px}
.assistant-header p,.assistant-panel .assistant-note{font-size:.75rem;line-height:1.4;margin:0}
.assistant-close{border:0;background:white;color:#193c59;font-size:1.5rem;border-radius:50%;width:36px;height:36px;cursor:pointer}
.assistant-messages{overflow-y:auto;min-height:90px;max-height:280px;padding:16px;overscroll-behavior:contain}
.assistant-messages p{font-size:.9rem;line-height:1.5;padding:12px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.assistant-reply{background:#eff5fa;margin-right:16px}
.assistant-user{background:#dceafb;margin-left:16px}
.assistant-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}
.assistant-suggestions button{background:white;border:1px solid #b8cfdf;border-radius:18px;padding:7px 9px;color:#1356a2;font-size:.75rem;cursor:pointer}
.assistant-form{padding:0 14px 10px}.assistant-form label{font-size:.75rem;margin-bottom:5px}
.assistant-form>div{display:flex;gap:6px}.assistant-form input{min-width:0;padding:10px;font-size:16px}
.assistant-form button{border:0;border-radius:9px;background:#1356a2;color:white;padding:10px;cursor:pointer}
.assistant-form button:disabled{opacity:.55}.assistant-panel .assistant-note{padding:0 14px 10px;color:#526a7a}
.assistant-links{display:flex;gap:15px;padding:10px 14px;border-top:1px solid #dce4ec;font-size:.78rem;flex-shrink:0}
@media(max-width:1100px){.partner-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assistant-launcher{right:12px;bottom:84px}.assistant-panel{right:12px;bottom:140px;max-height:calc(100dvh - 155px)}.assistant-messages{max-height:210px}}

/* Revision 11: photographic imagery, separate Cloud navigation and animated brand. */
.page-photo,.operations-photo {margin:0;overflow:hidden;border-radius:24px;background:#eaf3fb;border:1px solid #d4e3ef;box-shadow:0 18px 45px #193c5918}
.page-photo img,.operations-photo img {display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.page-photo {animation:photo-arrive .9s ease-out both}
.brand {position:relative;overflow:hidden;padding:4px 0;isolation:isolate}
.brand img {animation:logo-arrive 3.6s ease-out backwards;transition:transform .3s ease;transform-origin:center}
.brand::after {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,#ffffffbb 48%,transparent 66%);transform:translateX(-150%);animation:logo-sheen 3.6s ease-out 1}
.brand:hover img,.brand:focus-visible img {transform:translateY(-2px) scale(1.035)}
.brand:hover::after,.brand:focus-visible::after {animation:logo-hover .8s ease-out 1}
.nav-wrap {gap:12px}.primary-nav {gap:0}.primary-nav>a,.nav-group>button {padding-inline:.55rem}
@keyframes photo-arrive {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes logo-arrive {0%{opacity:.4;transform:translateY(5px) scale(.96)}30%{opacity:1;transform:translateY(-2px) scale(1.025)}65%,100%{opacity:1;transform:none}}
@keyframes logo-sheen {0%,40%{transform:translateX(-150%)}85%,100%{transform:translateX(150%)}}
@keyframes logo-hover {from{transform:translateX(-150%)}to{transform:translateX(150%)}}
@media(prefers-reduced-motion:reduce){.brand img,.brand::after,.page-photo{animation:none!important;transition:none!important}.brand:hover img,.brand:focus-visible img{transform:none}}
/* Company metrics, locations and case studies. */
.metrics-banner{position:relative;overflow:hidden;border:1px solid #d5e5f0;border-radius:26px;min-height:300px;background:#edf6ff}
.metrics-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}
.metrics-overlay{position:relative;padding:48px 32px;background:linear-gradient(90deg,#f9fcfff2,#f9fcff80)}
.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.metric-tile{padding:24px;border-radius:18px;background:#ffffffeb;border:1px solid #d2e3f1}
.metric-tile strong{display:block;color:#1356a2;font-size:clamp(2rem,4vw,3.5rem);font-variant-numeric:tabular-nums}
.metric-tile span{display:block;color:#244762;font-size:1rem}
.metrics-banner.in-view>img{animation:metrics-image 4s ease-out both}
@keyframes metrics-image{from{transform:scale(1.06)}to{transform:scale(1)}}
.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0;list-style:none}
.location-grid li{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;font-size:1.25rem;color:#1356a2}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
.case-study h4{margin:20px 0 8px;color:#1356a2}.case-study p{font-size:1rem}
.office-map{width:100%;height:340px;border:1px solid var(--line);border-radius:18px;background:#edf6ff}
address{font-style:normal;line-height:1.7;margin-bottom:20px}.social-links{padding-left:20px;line-height:1.9}
.product-detail,.case-study{scroll-margin-top:110px}
@media(max-width:650px){.metrics-grid,.case-grid{grid-template-columns:1fr}.metrics-overlay{padding:28px 18px}.metric-tile{padding:18px}.location-grid{grid-template-columns:repeat(2,1fr)}.location-grid li{padding:18px}}
@media(prefers-reduced-motion:reduce){.metrics-banner.in-view>img{animation:none!important}}
.job-profile{width:100%;margin:0 0 22px;border-top:1px solid var(--line);padding-top:12px}
.job-profile summary{cursor:pointer;color:#1356a2;font-weight:700;padding:8px 0}
.job-profile h4{margin:18px 0 10px}.job-profile ul{padding-left:22px;margin:0 0 18px}
.job-profile li{margin-bottom:10px;font-size:1rem;line-height:1.5}
.job-profile p{font-size:.9rem}.job-profile summary:focus-visible{outline:2px solid #1356a2;outline-offset:3px}

/* Compact section rhythm after the full-page staging review. */
.section {padding:clamp(36px,4vw,56px) 0}
.page-hero {padding:48px 0}
.page-hero-grid {gap:36px}
.page-hero .hero-actions {margin-top:24px}
.page-hero .trust-strip {margin-top:20px;gap:12px 20px}
.section-head {margin-bottom:28px}
.split {gap:40px;align-items:start}
.section .split p:last-child {margin-bottom:0}
.service-card {min-height:0;display:flex;flex-direction:column;padding:24px}
.service-card .icon {margin-bottom:16px}
.service-card .arrow {position:static;align-self:flex-end;margin-top:auto;padding-top:16px}
.metrics-banner {min-height:0}
.metrics-overlay {padding:28px}
.metric-tile {padding:20px}
.cta-band {padding:32px;margin-bottom:48px}
.site-footer {padding-top:40px}
@media(min-width:1101px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){
 .page-hero {padding:32px 0}
 .page-hero-grid,.split {gap:24px}
 .section {padding:32px 0}
 .section-head {margin-bottom:24px}
 .metrics-overlay {padding:20px 16px}
 .metrics-grid {gap:12px}
 .metric-tile {padding:16px}
 .cta-band {padding:24px;margin-bottom:32px}
}

/* Responsive assistance panel, including the mobile software keyboard. */
.assistant-panel {max-height:calc(var(--assistant-viewport-height,100dvh) - 165px)}
.assistant-messages {flex:1 1 auto;min-height:64px}
.assistant-header,.assistant-form,.assistant-note,.assistant-links,.assistant-suggestions {flex-shrink:0}
.assistant-close {min-width:44px;min-height:44px}
.assistant-suggestions button,.assistant-form button {min-height:44px}
.assistant-links {flex-wrap:wrap}
@media(max-width:650px){
 .assistant-panel {left:12px;right:12px;width:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px) + var(--assistant-keyboard-offset,0px));max-height:calc(var(--assistant-viewport-height,100dvh) - 24px);border-radius:18px}
 .assistant-open .assistant-launcher,.assistant-open .floating-wa {visibility:hidden;pointer-events:none}
 .assistant-header {padding:12px}
 .assistant-messages {padding:12px;max-height:200px}
 .assistant-messages p {margin-bottom:10px}
 .assistant-suggestions {gap:6px;padding:0 12px 8px}
 .assistant-links a {display:inline-flex;align-items:center;min-height:44px}
 .assistant-links {padding:0 12px;gap:12px}
 .assistant-form input {font-size:16px}
}
@media(max-height:500px){
 .assistant-panel {bottom:calc(8px + var(--assistant-keyboard-offset,0px));max-height:calc(var(--assistant-viewport-height,100dvh) - 16px)}
 .assistant-suggestions,.assistant-links {display:none}
 .assistant-panel .assistant-note {font-size:.65rem}
 .assistant-messages {min-height:40px}
}

.metrics-grid-four {grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.metrics-grid-four .metric-tile {padding:20px 16px;min-width:0}
.metrics-grid-four .metric-tile strong {font-size:clamp(2rem,3.5vw,3.25rem)}
.metrics-startup-copy {margin:20px 0 0;color:#244762;font-size:1rem;max-width:850px}
@media(max-width:1100px){.metrics-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:400px){.metrics-grid-four{grid-template-columns:1fr}}

/* Final responsive navigation and form refinements. */
.nav-toggle {min-width:44px;min-height:44px}
.primary-nav .mega-menu {max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain}
@media(min-width:1101px){
 .mega-menu {top:100%;width:min(580px,calc(100vw - 40px))}
}
@media(max-width:1100px){
 .primary-nav {max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}
 .primary-nav .mega-menu {max-height:none;overflow:visible;padding:8px}
 .primary-nav>a,.nav-group>button,.mega-menu a {min-height:44px}
}
.field,.form-grid>* {min-width:0}
input,select,textarea {max-width:100%;font-size:16px}
.page-hero-copy,.detail,.job-card,.footer-grid>div {overflow-wrap:anywhere}
@media(max-width:650px){.cta-band>.btn{max-width:100%;white-space:normal}.office-map{height:280px}}
.assistant-panel.assistant-compact .assistant-suggestions,
.assistant-panel.assistant-compact .assistant-links {display:none}
.assistant-panel.assistant-compact .assistant-header {padding:8px 12px}
.assistant-panel.assistant-compact .assistant-note {font-size:.65rem}
.assistant-panel.assistant-compact .assistant-messages {min-height:40px}
