:root {
  --navy: #0b1630;
  --navy-2: #121f3d;
  --blue: #3d6cff;
  --button-green: #4d9f26;
  --cyan: #35c3c8;
  --cream: #f6f4ee;
  --soft: #f2f5fb;
  --white: #ffffff;
  --text: #15203a;
  --muted: #66708a;
  --line: #dce2ef;
  --radius: 22px;
  --shadow: 0 20px 70px rgba(15, 32, 67, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "DM Sans", sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 1.65;
}
img { max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.section { padding: 110px 0; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; top: 8px; left: 8px; z-index: 1000; padding: 10px 14px;
  background: var(--white); border-radius: 8px; transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,.88); backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(220,226,239,.8);
}
.nav-wrap { height: 84px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-logo {
  display: block;
  width: clamp(180px, 17vw, 210px);
  max-height: 52px;
  height: auto;
  object-fit: contain;
}
.brand-mark {
  display: grid; place-items: center; width: 42px; height: 42px;
  border-radius: 12px; background: linear-gradient(135deg, var(--blue), var(--cyan));
  color: white; font: 800 22px/1 "Manrope", sans-serif;
}
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy strong { font: 800 16px "Manrope", sans-serif; letter-spacing: .13em; }
.brand-copy small { margin-top: 5px; font-size: 10px; letter-spacing: .32em; color: var(--muted); }
.site-nav { display: flex; align-items: center; gap: 30px; font-weight: 600; font-size: 15px; }
.site-nav a:not(.btn):hover { color: var(--blue); }
.language-switcher { display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--soft);}
.site-nav .language-link { display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font-size:18px;line-height:1;filter:saturate(.75);transition:.2s ease;}
.site-nav .language-link:hover,.site-nav .language-link.active { color:inherit;background:white;filter:none;box-shadow:0 3px 10px rgba(15,32,67,.12);transform:translateY(-1px);}
.menu-toggle { display: none; border: 0; background: none; padding: 8px; }
.menu-toggle span:not(.sr-only) { display:block; width:24px; height:2px; background:var(--navy); margin:5px; }

.btn {
  display: inline-flex; justify-content: center; align-items: center;
  padding: 15px 24px; border: 0; border-radius: 999px;
  color: #000; background: var(--button-green); font-weight: 700;
  box-shadow: 0 12px 30px rgba(77,159,38,.25); cursor: pointer;
  transition: .25s ease;
}
.btn:hover { color:#000;background:#58b52d;transform:translateY(-2px);box-shadow:0 16px 36px rgba(77,159,38,.34); }
.btn:focus-visible { outline:3px solid rgba(77,159,38,.35);outline-offset:3px; }
.btn-small { padding: 11px 18px; }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--blue); }
.text-link span { font-size: 20px; transition: .2s; }
.text-link:hover span { transform: translateX(4px); }

.hero {
  position: relative; overflow: hidden; min-height: 760px; display: flex; align-items: center;
  background: linear-gradient(180deg, #f9fbff 0%, #ffffff 100%);
}
.hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: center; padding: 100px 0; }
.hero-content { position: relative; z-index: 2; }
.eyebrow {
  display: inline-block; margin-bottom: 18px; color: var(--blue); text-transform: uppercase;
  letter-spacing: .16em; font-size: 12px; font-weight: 800;
}
h1,h2,h3 { margin: 0; font-family: "Manrope", sans-serif; line-height: 1.1; letter-spacing: -.03em; }
h1 { max-width: 760px; font-size: clamp(48px, 6vw, 78px); color: var(--navy); }
h2 { font-size: clamp(36px, 4vw, 54px); color: var(--navy); }
h3 { font-size: 21px; }
.hero-lead { max-width: 680px; margin: 28px 0 34px; font-size: 20px; color: var(--muted); }
.hero-actions { display: flex; align-items: center; gap: 28px; }
.hero-proof { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 55px; }
.hero-proof div { display: flex; flex-direction: column; border-left: 2px solid var(--line); padding-left: 16px; }
.hero-proof strong { font-family: "Manrope"; font-size: 17px; color: var(--navy); }
.hero-proof span { font-size: 13px; color: var(--muted); }

.hero-panel {
  position:relative;z-index:2;overflow:hidden;padding:30px;border:1px solid rgba(255,255,255,.09);border-radius:28px;
  background:linear-gradient(145deg,#0b1630 0%,#111f42 62%,#152851 100%);color:var(--white);
  box-shadow:0 30px 80px rgba(11,22,48,.24);
}
.hero-panel:before { content:"";position:absolute;width:240px;height:240px;right:-105px;top:-120px;border-radius:50%;background:rgba(77,159,38,.14);filter:blur(2px);}
.panel-top { position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1);}
.panel-top > div { display:grid;gap:7px;}
.panel-overline { display:flex;align-items:center;gap:10px;color:#9eacca;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.panel-top strong { max-width:270px;color:white;font:700 20px/1.25 "Manrope",sans-serif;letter-spacing:-.02em;}
.status-dot { width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--button-green);box-shadow:0 0 0 5px rgba(77,159,38,.14);}
.panel-badge { padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.06);color:#c8d1e6;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;}
.capability-stack { position:relative;display:grid;gap:11px;margin:22px 0;}
.capability-stack article { display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:center;padding:17px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.045);transition:transform .22s ease,border-color .22s ease,background .22s ease;}
.capability-stack article:hover { transform:translateX(4px);border-color:rgba(77,159,38,.38);background:rgba(255,255,255,.075);}
.capability-stack .icon { display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(112,145,255,.22);border-radius:13px;background:linear-gradient(145deg,rgba(61,108,255,.22),rgba(61,108,255,.1));color:#b8c7ff;font:800 11px "Manrope",sans-serif;letter-spacing:.08em;}
.capability-label { display:block;margin-bottom:4px;color:#6fc944;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;}
.capability-stack h3 { margin-bottom:5px;color:white;font-size:18px;}
.capability-stack p { margin:0;color:#aeb9d1;font-size:13px;line-height:1.5;}
.panel-footer { position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border-radius:15px;background:rgba(77,159,38,.1);}
.panel-footer div { display:grid;gap:3px;}
.panel-footer small { color:#91a0bf;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.panel-footer strong { color:#f0f4ff;font:700 12px "Manrope",sans-serif;}
.panel-footer > span { display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--button-green);color:#000;font-size:17px;}
.hero-orb { position:absolute;border-radius:50%;filter:blur(3px);opacity:.45; }
.hero-orb-one { width:420px;height:420px;background:rgba(61,108,255,.14);top:-180px;right:10%; }
.hero-orb-two { width:300px;height:300px;background:rgba(53,195,200,.12);bottom:-130px;left:6%; }

.trust-bar {
  overflow:hidden;
  padding:38px 0 42px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fff 0%,#f8faff 100%);
}
.clients-intro { display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px;}
.clients-intro span { color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;}
.clients-intro p { margin:0;color:var(--muted);font-size:14px;}
.clients-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
.client-logo {
  display:grid;
  place-items:center;
  min-width:0;
  height:104px;
  padding:16px;
  border:1px solid #e5eaf3;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 28px rgba(15,32,67,.06);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.client-logo img {
  display:block;
  max-width:170px;
  max-height:68px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.72;
  transition:filter .25s ease,opacity .25s ease,transform .25s ease;
}
.client-logo-tall img { max-width:66px;max-height:76px;}
.client-logo-square img { max-width:96px;max-height:72px;}
.client-logo-wide img { max-width:178px;}
.client-logo:hover { transform:translateY(-3px);border-color:#cdd8ee;box-shadow:0 14px 34px rgba(15,32,67,.1);}
.client-logo:hover img { filter:none;opacity:1;transform:scale(1.03);}

.section-heading { display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end;margin-bottom:55px; }
.section-heading p { margin:0;color:var(--muted);font-size:18px; }
.section-heading.compact { margin-bottom:48px; }

.services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
.service-card {
  padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);
  transition:.25s ease;
}
.service-card:hover { transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent;}
.service-card.featured { background:var(--navy);color:white;border-color:var(--navy);}
.service-card.featured h3 { color:white; }
.service-card.featured p,.service-card.featured li { color:#b9c3d9; }
.service-number { margin-bottom:36px;font:800 13px "Manrope";letter-spacing:.14em;color:var(--blue);}
.service-card h3 { margin-bottom:14px;color:var(--navy);}
.service-card p { margin:0 0 20px;color:var(--muted);}
.service-card ul { margin:0;padding:0;list-style:none;}
.service-card li { position:relative;padding:7px 0 7px 18px;color:#566079;font-size:14px;}
.service-card li:before { content:"";position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:50%;background:var(--cyan);}

.product-section { padding-top:0; }
.product-panel {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:64px;
  padding:64px;
  border-radius:28px;
  background:linear-gradient(135deg,#263574 0%,#465bb0 58%,#596fd0 100%);
  color:white;
  box-shadow:0 28px 70px rgba(38,53,116,.24);
}
.product-panel:after { content:"";position:absolute;width:360px;height:360px;right:-160px;top:-190px;border-radius:50%;background:rgba(255,255,255,.08);}
.product-copy,.product-features { position:relative;z-index:1; }
.product-logo-link { display:inline-flex;margin-bottom:30px;padding:10px 16px;border-radius:12px;background:white; }
.product-logo-link img { display:block;width:250px;max-width:100%;height:auto; }
.product-kicker { display:block;margin-bottom:14px;color:#dce3ff;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase; }
.product-panel h2 { max-width:700px;color:white;font-size:clamp(34px,4vw,52px); }
.product-copy > p { max-width:690px;margin:24px 0 30px;color:#e1e6fb;font-size:17px; }
.product-actions { display:flex;align-items:center;gap:24px;flex-wrap:wrap; }
.product-btn { background:var(--button-green);color:#000;box-shadow:none; }
.product-btn:hover { color:#000;background:#58b52d;box-shadow:0 14px 30px rgba(12,22,61,.2); }
.product-link { display:inline-flex;align-items:center;gap:9px;color:white;font-weight:700; }
.product-features { display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center; }
.product-features article { min-height:155px;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:rgba(255,255,255,.09);backdrop-filter:blur(8px); }
.product-features span { display:block;margin-bottom:20px;color:#bdc9ff;font:800 11px "Manrope";letter-spacing:.14em; }
.product-features strong { display:block;margin-bottom:8px;font-family:"Manrope";font-size:16px; }
.product-features small { display:block;color:#d7def8;font-size:13px;line-height:1.5; }

.section-dark { background:var(--navy);color:white; }
.section-dark h2 { color:white; }
.eyebrow-light { color:#78dce0; }
.about-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:95px; }
.about-copy p { color:#b7c1d6; }
.large-copy { margin-top:0;font-size:23px;line-height:1.55;color:white!important;}
.value-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px;}
.value-grid article { padding:24px;border-radius:17px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);}
.value-grid strong { display:block;margin-bottom:8px;font-family:"Manrope";font-size:16px;}
.value-grid span { color:#aeb9cf;font-size:14px;line-height:1.55;}

.process-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);}
.process-grid article { padding:38px 28px 0 0;border-right:1px solid var(--line);min-height:240px;}
.process-grid article:not(:first-child) { padding-left:28px;}
.process-grid article:last-child { border-right:0;}
.process-grid span { display:inline-flex;margin-bottom:40px;color:var(--blue);font:800 13px "Manrope";letter-spacing:.14em;}
.process-grid h3 { margin-bottom:12px;color:var(--navy);}
.process-grid p { margin:0;color:var(--muted);font-size:15px;}

.section-soft { background:var(--soft); }
.audience-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center;}
.audience-grid > div:first-child p { color:var(--muted);font-size:18px;margin:24px 0 28px;}
.audience-list { display:grid;gap:14px;}
.audience-list article { display:grid;grid-template-columns:90px 1fr;gap:22px;align-items:center;padding:24px 28px;border-radius:16px;background:white;border:1px solid #e4e9f3;}
.audience-list span { color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.audience-list h3 { font-size:18px;color:var(--navy);}

.vision-section { padding-top:0;background:var(--soft);}
.vision-card { padding:70px;border-radius:28px;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:white;}
.vision-card blockquote { margin:0;max-width:920px;font:700 clamp(31px,4vw,51px)/1.28 "Manrope";letter-spacing:-.035em;}
.vision-card p { max-width:740px;margin:28px 0 0;color:#b8c3d8;font-size:18px;}

.contact-section { background:#fff; }
.contact-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start;}
.contact-grid > div:first-child p { color:var(--muted);font-size:18px;margin:25px 0 32px;}
.contact-note { display:flex;flex-direction:column;padding:22px;border-left:3px solid var(--cyan);background:var(--soft);}
.contact-note span { color:var(--muted);font-size:14px;}
.contact-form { display:grid;gap:18px;padding:35px;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);}
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.contact-form label { display:grid;gap:8px;font-size:13px;font-weight:700;color:var(--navy);}
.contact-form input,.contact-form select,.contact-form textarea {
  width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:11px;background:white;color:var(--text);outline:none;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--blue);box-shadow:0 0 0 4px rgba(61,108,255,.1);}
.contact-form small { color:var(--muted); }
.form-trap { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.form-status { display:none;margin:0;padding:12px 14px;border-radius:10px;font-size:14px;font-weight:700;}
.form-status.success { display:block;color:#146b3a;background:#eaf8f0;}
.form-status.error { display:block;color:#a32828;background:#fff0f0;}

.site-footer { padding:70px 0 24px;background:#081126;color:white;}
.footer-grid { display:grid;grid-template-columns:1.8fr 1fr 1fr 1.2fr;gap:60px;}
.brand-footer .brand-copy small { color:#aeb7ca;}
.brand-footer .brand-logo {
  width: clamp(210px, 20vw, 250px);
  max-height: 60px;
}
.footer-grid p { max-width:330px;color:#9faac0;}
.footer-grid > div:not(:first-child) { display:flex;flex-direction:column;gap:9px;}
.footer-grid > div:not(:first-child) strong { margin-bottom:8px;font-family:"Manrope";}
.footer-grid a,.footer-grid span { color:#9faac0;font-size:14px;}
.footer-grid a:hover { color:white;}
.footer-bottom { display:flex;justify-content:space-between;margin-top:55px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);color:#76839e;font-size:13px;}

@media (max-width: 980px) {
  .site-nav { position:fixed;top:84px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;padding:24px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);}
  .language-switcher { align-self:flex-start;}
  .site-nav.open { display:flex; }
  .menu-toggle { display:block; }
  .hero-grid,.section-heading,.about-grid,.audience-grid,.contact-grid { grid-template-columns:1fr;gap:48px;}
  .product-panel { grid-template-columns:1fr;gap:38px;padding:48px; }
  .hero { min-height:auto; }
  .hero-grid { padding:80px 0; }
  .services-grid { grid-template-columns:1fr 1fr; }
  .process-grid { grid-template-columns:1fr 1fr; }
  .process-grid article { border-bottom:1px solid var(--line); }
  .process-grid article:nth-child(2) { border-right:0; }
  .footer-grid { grid-template-columns:1.5fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column:1/-1; }
  .clients-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 680px) {
  .container { width:min(100% - 28px,1160px); }
  .section { padding:78px 0; }
  .hero-grid { padding:66px 0; }
  h1 { font-size:45px; }
  h2 { font-size:35px; }
  .hero-lead { font-size:18px; }
  .hero-actions { align-items:flex-start;flex-direction:column; }
  .hero-proof { grid-template-columns:1fr;gap:14px;margin-top:40px;}
  .trust-bar { padding:30px 0 34px;}
  .clients-intro { display:block;margin-bottom:18px;}
  .clients-intro p { margin-top:5px;}
  .clients-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .client-logo { height:88px;padding:12px;}
  .client-logo img { max-width:140px;max-height:58px;}
  .client-logo-tall img { max-width:52px;max-height:64px;}
  .client-logo-square img { max-width:78px;max-height:60px;}
  .client-logo-wide img { max-width:145px;}
  .services-grid,.value-grid,.process-grid,.form-row { grid-template-columns:1fr; }
  .process-grid article,.process-grid article:not(:first-child) { padding:30px 0;border-right:0;min-height:auto;}
  .process-grid span { margin-bottom:20px;}
  .audience-list article { grid-template-columns:1fr;gap:5px; }
  .vision-card { padding:42px 28px; }
  .product-panel { padding:34px 24px;border-radius:22px; }
  .product-logo-link { margin-bottom:24px; }
  .product-logo-link img { width:205px; }
  .product-features { grid-template-columns:1fr; }
  .product-features article { min-height:auto; }
  .contact-form { padding:24px; }
  .footer-grid { grid-template-columns:1fr 1fr;gap:35px;}
  .footer-grid > div:first-child,.footer-grid > div:last-child { grid-column:1/-1;}
  .footer-bottom { flex-direction:column;gap:8px;}
  .brand-logo { width: 170px; max-height: 43px; }
  .brand-footer .brand-logo { width: 210px; max-height: 50px; }
}
