:root {
  --itg-blue-950:#061a2d;
  --itg-blue-900:#0c2340;
  --itg-blue-800:#153d68;
  --itg-blue-600:#2f75ad;
  --itg-accent:#378add;
  --itg-accent-soft:#dcecf7;
  --itg-paper:#f5f3ef;
  --itg-white:#ffffff;
  --itg-text:#17202a;
  --itg-body:#465461;
  --itg-muted:#71808d;
  --itg-line:#e1e6ea;
  --itg-success:#257a55;
  --itg-width:1180px;

  --itg-space-1:8px;
  --itg-space-2:16px;
  --itg-space-3:24px;
  --itg-space-4:32px;
  --itg-space-5:48px;
  --itg-space-6:64px;
  --itg-space-7:96px;

  --itg-radius:0;
  --itg-shadow:0 22px 55px rgba(6,26,45,.13);
}

*,
*::before,
*::after {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
}

body {
  margin:0;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  color:var(--itg-text);
  background:#eef1f4;
  -webkit-font-smoothing:antialiased;
}

img,
svg {
  display:block;
}

button,
input,
textarea,
select {
  font:inherit;
}

a {
  color:inherit;
}

.itg-library {
  max-width:1440px;
  margin:24px auto;
  background:var(--itg-white);
  box-shadow:var(--itg-shadow);
}

.itg-container {
  width:min(var(--itg-width),calc(100% - 64px));
  margin-inline:auto;
}

.itg-section {
  padding:var(--itg-space-7) 0;
  border-top:1px solid var(--itg-line);
  background:var(--itg-white);
}

.itg-section--alt {
  background:var(--itg-paper);
}

.itg-section--dark {
  color:var(--itg-white);
  background:var(--itg-blue-950);
}

.itg-section--compact {
  padding:var(--itg-space-5) 0;
}

.itg-eyebrow {
  margin:0 0 12px;
  color:var(--itg-accent);
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.itg-h1,
.itg-h2,
.itg-h3,
.itg-copy,
.itg-lead {
  margin-top:0;
}

.itg-h1 {
  margin-bottom:22px;
  font-size:clamp(46px,6vw,76px);
  line-height:1.01;
  letter-spacing:-.045em;
  font-weight:800;
}

.itg-h2 {
  margin-bottom:16px;
  color:var(--itg-blue-900);
  font-size:clamp(32px,4vw,48px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:800;
}

.itg-section--dark .itg-h2,
.itg-section--dark .itg-h3 {
  color:var(--itg-white);
}

.itg-h3 {
  margin-bottom:12px;
  color:var(--itg-blue-900);
  font-size:22px;
  line-height:1.25;
  font-weight:800;
}

.itg-lead {
  max-width:780px;
  color:var(--itg-body);
  font-size:18px;
  line-height:1.7;
}

.itg-copy {
  color:var(--itg-body);
  font-size:15px;
  line-height:1.72;
}

.itg-section--dark .itg-copy,
.itg-section--dark .itg-lead {
  color:rgba(255,255,255,.70);
}

.itg-button {
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:11px 18px;
  border:1px solid transparent;
  background:var(--itg-accent);
  color:var(--itg-white);
  text-decoration:none;
  font-weight:900;
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}

.itg-button:hover,
.itg-button:focus-visible {
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(6,26,45,.17);
}

.itg-button--secondary {
  border-color:var(--itg-blue-900);
  background:transparent;
  color:var(--itg-blue-900);
}

.itg-button--light {
  background:var(--itg-white);
  color:var(--itg-blue-900);
}

.itg-button--ghost {
  border-color:rgba(255,255,255,.48);
  background:transparent;
  color:var(--itg-white);
}

.itg-text-link {
  color:var(--itg-accent);
  text-decoration:none;
  font-weight:900;
}

.itg-tag {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 10px;
  border:1px solid #bfd8ea;
  background:#f2f8fc;
  color:var(--itg-blue-900);
  font-size:12px;
  font-weight:800;
}

.itg-tags {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

@media (max-width:760px) {
  .itg-library {
    margin:0;
  }

  .itg-container {
    width:min(var(--itg-width),calc(100% - 36px));
  }

  .itg-section {
    padding:72px 0;
  }

  .itg-h1 {
    font-size:43px;
  }

  .itg-h2 {
    font-size:33px;
  }
}

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