@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
:root{
  --navy:#0f1b2d;--navy2:#162035;--navy3:#1a2744;--navy4:#1e3a5f;
  --blue:#2563eb;--blue2:#3b82f6;--blue-soft:rgba(37,99,235,.08);
  --green:#22c55e;--white:#fff;
  --g50:#f8fafc;--g100:#f1f5f9;--g200:#e2e8f0;--g300:#cbd5e1;
  --g400:#94a3b8;--g500:#64748b;--g600:#475569;--g700:#334155;
  --text:#1e293b;--text2:#64748b;
  --ff:'Inter',system-ui,-apple-system,sans-serif;
  --max:1140px;--r:8px;--r2:12px;
  --shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px rgba(0,0,0,.04);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--ff);color:var(--text);line-height:1.6;background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25}
a{text-decoration:none;color:inherit;transition:.2s}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}

/* ═══════ NAVBAR ═══════ */
.topbar{
  position:sticky;top:0;z-index:100;
  background:var(--white);
  border-bottom:1px solid var(--g200);
  height:64px;
  transition:box-shadow .25s;
}
.topbar.shadow{box-shadow:0 2px 16px rgba(0,0,0,.06)}
.topbar-in{
  max-width:var(--max);margin:0 auto;padding:0 28px;
  display:flex;align-items:center;height:100%;
  gap:0;
}
/* brand */
.logo{display:flex;align-items:center;gap:9px;flex-shrink:0;margin-right:32px}
.logo-sq{width:32px;height:32px;background:var(--blue);border-radius:7px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.95rem;line-height:1}
.logo span{font-weight:700;font-size:1.2rem;color:var(--text);white-space:nowrap}
/* nav links */
.menu{display:flex;align-items:center;list-style:none;gap:0;flex:1}
.menu>li>a{
  display:block;padding:20px 13px;
  font-size:.835rem;font-weight:500;color:var(--g500);
  white-space:nowrap;transition:.15s;
  line-height:24px;
}
.menu>li>a:hover,.menu>li>a.on{color:var(--blue)}
/* dropdown */
.has-dd{position:relative}
.has-dd>a::after{content:'';display:inline-block;width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid currentColor;margin-left:5px;vertical-align:middle;opacity:.6}
.dd-box{
  display:none;position:absolute;top:100%;left:0;
  background:var(--white);border:1px solid var(--g200);border-radius:var(--r);
  box-shadow:var(--shadow-lg);padding:6px 0;min-width:210px;z-index:50;
}
.has-dd:hover .dd-box{display:block}
.dd-box a{display:block;padding:9px 18px;font-size:.825rem;font-weight:500;color:var(--g600)}
.dd-box a:hover{background:var(--g50);color:var(--blue)}
/* cta buttons (nav) */
.nav-cta{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:9px 20px;font-family:var(--ff);font-size:.825rem;font-weight:600;
  border-radius:var(--r);border:1.5px solid transparent;cursor:pointer;
  transition:.2s;white-space:nowrap;line-height:1.4;
}
.btn-p{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-p:hover{background:#1d4ed8;border-color:#1d4ed8}
.btn-o{background:transparent;border-color:var(--g300);color:var(--text)}
.btn-o:hover{border-color:var(--blue);color:var(--blue)}
.btn-w{background:#fff;color:var(--navy);border-color:#fff}
.btn-w:hover{background:var(--g100)}
.btn-g{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.btn-g:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5)}
.btn-link{background:none;border:none;padding:0;color:var(--blue);font-weight:600;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.btn-link:hover{color:#1d4ed8}
.btn-lg{padding:12px 26px;font-size:.875rem}

/* hamburger */
.burger{display:none;background:none;border:none;cursor:pointer;padding:8px;margin-left:auto}
.burger i{display:block;width:20px;height:2px;background:var(--text);margin:4px 0;border-radius:2px;transition:.25s}

/* mobile overlay */
.mob{display:none;position:fixed;inset:0;background:var(--white);z-index:200;padding:20px 28px;overflow-y:auto;flex-direction:column}
.mob.open{display:flex}
.mob-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.mob-close{background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--text);line-height:1}
.mob a{display:block;padding:13px 0;font-size:.95rem;font-weight:500;color:var(--text);border-bottom:1px solid var(--g100)}
.mob a:hover{color:var(--blue)}
.mob-btns{display:flex;flex-direction:column;gap:10px;margin-top:24px}
.mob-btns .btn{width:100%;justify-content:center;padding:14px}

/* ═══════ HERO ═══════ */
.hero{
  background:linear-gradient(140deg,var(--navy) 0%,var(--navy3) 45%,var(--navy4) 100%);
  color:#fff;position:relative;overflow:hidden;
}
.hero::after{content:'';position:absolute;right:-5%;top:50%;transform:translateY(-50%);width:440px;height:440px;border-radius:50%;border:1px solid rgba(255,255,255,.06);pointer-events:none}
.hero::before{content:'';position:absolute;right:5%;top:30%;width:320px;height:320px;border-radius:50%;border:1px solid rgba(255,255,255,.04);pointer-events:none}
.hero-home{padding:64px 0 0}
.hero-page{padding:56px 0 52px}
.hero-in{position:relative;z-index:1}
.hero-ey{font-size:.68rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--blue2);margin-bottom:18px}
.hero h1{font-size:clamp(1.85rem,3.8vw,2.85rem);font-weight:800;line-height:1.15;margin-bottom:16px;max-width:620px}
.hero-sub{font-size:.95rem;color:rgba(255,255,255,.72);max-width:580px;line-height:1.7;margin-bottom:28px}
.hero-acts{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:52px}

/* audience cards */
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;position:relative;z-index:2;margin-bottom:-32px;padding-bottom:32px}
.aud-c{background:rgba(255,255,255,.06);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.09);border-radius:var(--r2);padding:26px 22px;transition:.3s}
.aud-c:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
.aud-c h3{font-size:1rem;margin-bottom:9px;font-weight:700}
.aud-c p{font-size:.83rem;color:rgba(255,255,255,.62);line-height:1.55}

/* ═══════ SECTIONS ═══════ */
.sec{padding:68px 0}
.sec-a{background:var(--g50)}
.ey{font-size:.68rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--blue);text-align:center;margin-bottom:10px}
.sh{font-size:clamp(1.45rem,2.8vw,2.1rem);font-weight:800;text-align:center;margin-bottom:14px}
.sp{max-width:640px;margin:0 auto 40px;text-align:center;color:var(--text2);font-size:.92rem;line-height:1.7}

/* capability blocks (no card, just icon+text) */
.cap{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 44px}
.cap-i svg{width:26px;height:26px;stroke:var(--blue);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px}
.cap-i h3{font-size:.95rem;font-weight:700;margin-bottom:6px}
.cap-i p{font-size:.84rem;color:var(--text2);line-height:1.6}

/* who we serve (icon box cards) */
.srv{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 48px}
.srv-i .ic{width:46px;height:46px;background:var(--navy);border-radius:11px;display:grid;place-items:center;margin-bottom:14px}
.srv-i .ic svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.srv-i h3{font-size:1rem;font-weight:700;margin-bottom:7px}
.srv-i p{font-size:.84rem;color:var(--text2);line-height:1.6;margin-bottom:12px}

/* cards (bordered) */
.cg{display:grid;gap:20px}
.cg-2{grid-template-columns:repeat(2,1fr)}
.cg-3{grid-template-columns:repeat(3,1fr)}
.cg-4{grid-template-columns:repeat(4,1fr)}
.cd{background:var(--white);border:1px solid var(--g200);border-radius:var(--r2);padding:26px;transition:.3s}
.cd:hover{box-shadow:var(--shadow-lg);border-color:rgba(37,99,235,.25)}
.cd h3{font-size:.97rem;font-weight:700;margin-bottom:7px}
.cd p{font-size:.84rem;color:var(--text2);line-height:1.6}

/* check list */
.ck{list-style:none;margin:14px 0 18px}
.ck li{display:flex;align-items:center;gap:9px;padding:4px 0;font-size:.84rem;color:var(--text2)}
.ck li::before{content:'✓';width:19px;height:19px;background:rgba(34,197,94,.1);border-radius:50%;display:grid;place-items:center;color:var(--green);font-weight:700;font-size:.7rem;flex-shrink:0}

/* regions */
.rg{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:center}
.rg h3{font-size:1rem;font-weight:700;margin-bottom:6px}
.rg p{font-size:.84rem;color:var(--text2);line-height:1.6}

/* partners home */
.ptn{text-align:center}
.ptn-label{font-size:.68rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--g400);margin:8px 0 14px}
.ptn-row{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-bottom:28px}
.ptn-row b{font-size:.9rem;font-weight:600;color:var(--text)}

/* CTA section */
.cta{background:var(--navy);color:#fff;padding:68px 0;text-align:center;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(37,99,235,.06),transparent 70%)}
.cta h2{font-size:clamp(1.35rem,2.5vw,1.85rem);font-weight:800;margin-bottom:12px;position:relative}
.cta p{color:rgba(255,255,255,.62);max-width:540px;margin:0 auto 26px;font-size:.92rem;line-height:1.7;position:relative}
.cta-b{display:flex;gap:12px;justify-content:center;position:relative;flex-wrap:wrap}

/* API docs */
.api-c{padding:22px 24px;border-left:3px solid var(--blue);background:var(--g50);border-radius:0 var(--r) var(--r) 0;margin-bottom:12px;transition:.2s}
.api-c:hover{background:var(--white);box-shadow:var(--shadow)}
.api-c h4{font-size:.95rem;font-weight:700;margin-bottom:5px}
.api-c p{font-size:.84rem;color:var(--text2);line-height:1.6}
.api-note{background:var(--g50);border:1px solid var(--g200);border-radius:var(--r);padding:20px 24px;font-size:.84rem;color:var(--text2);font-style:italic;line-height:1.7;margin-top:28px}

/* about */
.abt{max-width:650px;margin:0 auto}
.abt p{font-size:.92rem;color:var(--text2);line-height:1.8;margin-bottom:16px}
.abt-g{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.abt-b h3{font-size:.95rem;font-weight:700;margin-bottom:6px}
.abt-b p{font-size:.84rem;color:var(--text2);line-height:1.6}

/* partners page */
.core{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.core-c{padding:24px 14px}
.core-ic{width:56px;height:56px;background:var(--navy);border-radius:13px;display:grid;place-items:center;margin:0 auto 12px}
.core-ic svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.5}
.core-c h4{font-size:.9rem;font-weight:700;margin-bottom:3px}
.core-c .cat{font-size:.78rem;color:var(--text2)}
.stg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 28px}
.stg-i{display:flex;align-items:center;gap:11px;padding:12px 0}
.stg-dot{width:30px;height:30px;border-radius:50%;background:var(--blue-soft);display:grid;place-items:center;flex-shrink:0}
.stg-dot svg{width:14px;height:14px;stroke:var(--blue);fill:none;stroke-width:1.5}
.stg-i h4{font-size:.87rem;font-weight:600}
.stg-i .cat{font-size:.76rem;color:var(--text2)}

/* contact */
.tabs{display:flex;justify-content:center;gap:6px;margin-bottom:24px}
.tab{padding:10px 20px;font-size:.85rem;font-weight:600;border-radius:8px;cursor:pointer;color:var(--g500);background:transparent;border:none;font-family:var(--ff);transition:.15s}
.tab:hover{color:var(--text)}
.tab.on{background:var(--navy);color:#fff}
.tp{display:none}.tp.on{display:block}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fi{display:flex;flex-direction:column;gap:4px}
.fi.full{grid-column:1/-1}
.fi label{font-size:.8rem;font-weight:600;color:var(--text)}
.fi input,.fi select,.fi textarea{
  padding:10px 13px;font-size:.85rem;font-family:var(--ff);
  border:1px solid var(--g200);border-radius:var(--r);background:var(--white);
  transition:.15s;width:100%;color:var(--text);
}
.fi input:focus,.fi select:focus,.fi textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.fi textarea{min-height:100px;resize:vertical}
.fa{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.fa .btn{padding:13px;font-size:.88rem}

.sm{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:36px}
.sm-c{display:flex;align-items:flex-start;gap:11px;padding:16px;border:1px solid var(--g200);border-radius:var(--r);background:var(--white);transition:.2s;cursor:pointer}
.sm-c:hover{border-color:var(--blue);box-shadow:var(--shadow)}
.sm-ic{width:34px;height:34px;background:var(--navy);border-radius:8px;display:grid;place-items:center;flex-shrink:0}
.sm-ic svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:1.5}
.sm-c h4{font-size:.82rem;font-weight:600;margin-bottom:2px}
.sm-c p{font-size:.75rem;color:var(--text2);line-height:1.45}

/* center actions */
.ca{display:flex;gap:12px;justify-content:center;margin-top:40px}

/* ═══════ FOOTER ═══════ */
.ft{background:var(--navy);color:#fff;padding:52px 0 0}
.ft-g{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;padding-bottom:36px}
.ft-br{max-width:260px}
.ft-br .logo{margin-bottom:12px}.ft-br .logo span{color:#fff}
.ft-br>p{font-size:.82rem;color:rgba(255,255,255,.52);line-height:1.65;margin-bottom:8px}
.ft-br .note{font-size:.75rem;color:rgba(255,255,255,.3);font-style:italic}
.ft-col h4{font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:16px}
.ft-col a{display:block;padding:4px 0;font-size:.84rem;color:rgba(255,255,255,.58);transition:.15s}
.ft-col a:hover{color:#fff}
.ft-btm{border-top:1px solid rgba(255,255,255,.07);padding:18px 0;text-align:center;font-size:.78rem;color:rgba(255,255,255,.3)}

/* ═══════ RESPONSIVE ═══════ */
@media(max-width:1024px){
  .cap,.cg-3,.res,.core,.stg,.sm{grid-template-columns:repeat(2,1fr)}
  .aud{grid-template-columns:repeat(2,1fr)}
  .ft-g{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .menu,.nav-cta{display:none}
  .burger{display:block}
  .cap,.cg-2,.cg-3,.cg-4,.srv,.rg,.core,.stg,.sm,.abt-g{grid-template-columns:1fr}
  .aud{grid-template-columns:1fr}
  .ft-g{grid-template-columns:1fr}
  .fg,.fa{grid-template-columns:1fr}
  .hero h1{font-size:1.65rem}
  .ptn-row{gap:20px}
  .hero-home{padding:48px 0 0}
}
