:root{
  --bg:#edf5ff;
  --bg2:#f8fbff;
  --ink:#1f355b;
  --muted:#5b6f92;
  --line:#d7e5f7;
  --primary:#2f6fc3;
  --primary-dark:#2259a6;
  --card:#ffffff;
  --shadow: 0 24px 60px rgba(20,55,108,.12), 0 8px 22px rgba(44,91,163,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(117,172,238,.18), transparent 28%),
    radial-gradient(circle at top right, rgba(184,220,255,.55), transparent 34%),
    linear-gradient(180deg, #f6fbff 0%, #eef5ff 40%, #f7fbff 100%);
}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1180px, calc(100% - 40px)); margin:0 auto}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:12px;top:12px;width:auto;height:auto;padding:10px 14px;background:#fff;z-index:9999}
.site-header{position:sticky;top:0;z-index:50;padding:16px 0;backdrop-filter: blur(16px);background:rgba(255,255,255,.72);border-bottom:1px solid rgba(215,229,247,.9)}
.header-shell{display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(255,255,255,.90);border:1px solid rgba(213,227,246,1);border-radius:22px;box-shadow: 0 14px 35px rgba(53,103,180,.10);padding:10px 16px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{width:230px;height:auto}
.site-nav{display:flex;align-items:center;gap:10px}
.nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nav-link{text-decoration:none;color:var(--ink);font-weight:700;font-size:15px;padding:11px 14px;border-radius:999px;transition:.2s ease}
.nav-link:hover{background:#edf5ff;color:var(--primary)}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;color:#fff;background:linear-gradient(135deg, #4286de, #2d6fc3);border-radius:14px;padding:12px 18px;box-shadow: 0 12px 24px rgba(47,111,195,.25);transition:.2s ease}
.nav-cta:hover{transform:translateY(-1px);background:linear-gradient(135deg, #3e7cd0, #285ea6)}
.nav-toggle{display:none;border:none;background:#edf5ff;color:var(--ink);border-radius:12px;padding:11px 13px;font-weight:800}
.hero-wrap{padding:26px 0 12px}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 10% 20%, rgba(169,207,251,.38), transparent 24%),radial-gradient(circle at 100% 0%, rgba(216,236,255,.9), transparent 28%),linear-gradient(90deg, #ecf5ff 0%, #f9fbff 42%, #e9f3ff 100%);border:1px solid rgba(214,228,247,1);border-radius:36px;box-shadow: var(--shadow);padding:42px}
.hero::before{content:"";position:absolute;inset:auto auto 0 0;width:100%;height:110px;background:url('/assets/pattern-tech.svg') left bottom / 520px auto no-repeat;opacity:.4;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:#eef5ff;border:1px solid #d8e7fa;color:var(--primary);font-weight:800;font-size:14px;letter-spacing:.2px}
.hero h1{font-size:clamp(42px, 6vw, 76px);line-height:.96;letter-spacing:-2px;margin:20px 0 18px;max-width:11ch}
.hero p{max-width:26ch;font-size:clamp(19px, 2vw, 24px);line-height:1.55;color:var(--muted);margin:0 0 24px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-weight:800;font-size:16px;padding:15px 22px;border-radius:15px;transition:.2s ease}
.btn-primary{color:#fff;background:linear-gradient(135deg, #4788de, #2d6fc3);box-shadow: 0 14px 28px rgba(47,111,195,.25)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-secondary{background:#fff;color:var(--primary);border:1px solid #d8e6f9;box-shadow: 0 12px 28px rgba(25,76,150,.07)}
.hero-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.point{background:rgba(255,255,255,.7);border:1px solid #dbe8f9;border-radius:18px;padding:14px 14px 12px;box-shadow: 0 12px 22px rgba(49,103,185,.08)}
.point strong{display:block;font-size:14px}.point span{font-size:13px;color:var(--muted)}
.hero-art{position:relative;min-height:520px}.hero-main{position:absolute;inset:20px 0 0 auto;width:min(100%,640px);filter: drop-shadow(0 34px 55px rgba(50,108,190,.18))}
.float-card{position:absolute;background:rgba(255,255,255,.92);border:1px solid #d9e8fa;border-radius:20px;padding:14px;box-shadow: var(--shadow)}
.float-card img{width:56px}.float-a{top:18px;right:34px}.float-b{top:130px;left:18px}.float-c{bottom:48px;right:12px}.float-card span{display:block;margin-top:10px;font-weight:800;font-size:13px;color:var(--ink)}
main{padding-bottom:30px}.section-shell{padding:22px 0}
.section-box{position:relative;background:linear-gradient(180deg, rgba(255,255,255,.93), rgba(252,254,255,.98));border:1px solid var(--line);border-radius:34px;box-shadow: var(--shadow);padding:38px;overflow:hidden}
.section-box::after{content:"";position:absolute;inset:auto -120px -120px auto;width:360px;height:360px;background:radial-gradient(circle, rgba(122,181,248,.18), transparent 64%);pointer-events:none}
.section-top{text-align:center;max-width:900px;margin:0 auto 26px}
.section-kicker{display:inline-block;color:var(--primary);font-weight:800;background:#eef5ff;border:1px solid #d9e8fa;border-radius:999px;padding:8px 14px;font-size:13px}
.section-title{margin:14px 0 12px;font-size:clamp(32px, 4vw, 50px);line-height:1.05;letter-spacing:-1px}.section-intro{font-size:18px;line-height:1.75;color:var(--muted);margin:0 auto}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.card{background:rgba(255,255,255,.92);border:1px solid #d9e8fa;border-radius:26px;padding:24px;box-shadow: 0 18px 38px rgba(47,111,195,.08);transform: translateY(0);transition: transform .22s ease, box-shadow .22s ease}.card:hover{transform:translateY(-3px);box-shadow: 0 24px 46px rgba(47,111,195,.12)}.card img{width:76px;margin-bottom:16px}.card h3{margin:0 0 10px;font-size:28px;line-height:1.1}.card p{margin:0;color:var(--muted);line-height:1.75}
.cert-grid,.about-grid,.cap-grid,.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center}
.copy h3{font-size:clamp(30px, 4vw, 46px);line-height:1.08;margin:0 0 12px}.copy p{font-size:18px;color:var(--muted);line-height:1.75;margin:0 0 16px}
.badge-card{justify-self:center;background:linear-gradient(180deg, #ffffff, #f6fbff);border:1px solid #d9e8fa;border-radius:28px;box-shadow: 0 22px 46px rgba(47,111,195,.10);padding:26px;max-width:470px;text-align:center}.badge-card img{width:165px;height:auto;margin:0 auto 14px;filter: drop-shadow(0 16px 28px rgba(45,111,195,.16))}
.badge-meta{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:800;color:var(--primary);background:#eef5ff;border:1px solid #d9e8fa}.badge-card p{margin:0;color:var(--muted);line-height:1.7}
.mini-flag{width:42px;height:28px;border-radius:4px;background:linear-gradient(180deg,#b22234 0 14%,#fff 14% 28%,#b22234 28% 42%,#fff 42% 56%,#b22234 56% 70%,#fff 70% 84%,#b22234 84% 100%);box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);position:relative}.mini-flag::before{content:"";position:absolute;left:0;top:0;width:40%;height:54%;background:#3c3b6e;border-radius:4px 0 0 0}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.stat{background:#f7fbff;border:1px solid #dbe8f9;border-radius:20px;padding:18px}.stat strong{font-size:28px;display:block;margin-bottom:4px}.stat span{font-size:14px;color:var(--muted)}
.list-card,.contact-card{background:rgba(255,255,255,.92);border:1px solid #d9e8fa;border-radius:26px;padding:24px;box-shadow: 0 18px 38px rgba(47,111,195,.08)}.list-card h4,.contact-card h4{margin:0 0 12px;font-size:24px}.list-card ul{margin:0;padding-left:20px;color:var(--muted);line-height:1.8}.list-card li + li{margin-top:6px}.contact-card p{margin:0 0 10px;color:var(--muted);line-height:1.75}.contact-card strong{color:var(--ink)}
.footer{padding:24px 0 50px;color:var(--muted);font-size:14px}.reveal{opacity:0;transform: translateY(18px);transition: .6s ease}.reveal.in-view{opacity:1;transform: translateY(0)}
@media (max-width:980px){.hero-grid,.cert-grid,.about-grid,.cap-grid,.contact-grid{grid-template-columns:1fr}.hero-art{min-height:420px}.hero-main{position:relative;inset:auto;width:100%}.float-a{top:6px;right:20px}.float-b{top:96px;left:12px}.float-c{bottom:16px;right:4px}.cards,.hero-points,.stat-grid{grid-template-columns:1fr}}
@media (max-width:860px){.nav-toggle{display:inline-flex}.site-nav{position:relative}.nav-links{display:none;position:absolute;right:0;top:56px;width:min(320px, calc(100vw - 40px));padding:14px;background:#fff;border:1px solid #d9e8fa;border-radius:18px;box-shadow: var(--shadow);flex-direction:column;align-items:stretch}.site-nav.open .nav-links{display:flex}.nav-link,.nav-cta{text-align:center}.header-shell{padding:12px}.brand img{width:210px}.hero{padding:28px}}
@media (max-width:560px){.container{width:min(100% - 22px, 1180px)}.section-box,.hero{padding:22px}.brand img{width:180px}.hero h1{letter-spacing:-1px}.hero p,.section-intro,.copy p{font-size:17px}}
