:root {
  --ip-ink: #12283f;
  --ip-muted: #4b6275;
  --ip-accent: #f26732;
  --ip-accent-ink: #000;
  --ip-secondary: #086976;
  --ip-secondary-dark: #83d1d9;
  --ip-paper: #fff;
  --ip-tint: #ebf5f6;
  --ip-tint-strong: #d7ebed;
  --ip-tint-border: #b5d9dd;
  --ip-lavender: var(--ip-tint);
  --ip-line: #cedde5;
  --ip-radius: 20px;
  --ip-max: 1280px;
}
html { scroll-behavior: smooth; scroll-padding-top: 105px; }
body.ip-site { margin: 0; background: var(--ip-paper); color: var(--ip-ink); font: 18px/1.7 'Segoe UI', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body.ip-site *, body.ip-site *::before, body.ip-site *::after { box-sizing: border-box; }
.ip-site h1, .ip-site h2, .ip-site h3, .ip-site p, .ip-site ul { margin-top: 0; }
.ip-site h1, .ip-site h2, .ip-site h3 { color: inherit; font-weight: 700; }
.ip-site h3 { font-size: 23px; line-height: 1.35; letter-spacing: -.35px; }
.ip-site p { margin-bottom: 20px; }
.ip-site a { color: inherit; text-decoration: none; }
.ip-site a:hover { color: var(--ip-secondary); }
.ip-site img { max-width: 100%; height: auto; }
.ip-site button { font: inherit; }
.ip-site :focus-visible { outline: 3px solid var(--ip-secondary); outline-offset: 5px; }
.ip-container { width: min(var(--ip-max), calc(100% - 80px)); margin-inline: auto; }
.ip-section { padding: 88px 0; }
.ip-section-heading { margin-bottom: 40px; }
.ip-section-title { font-size: clamp(32px, 3vw, 44px); line-height: 1.2; letter-spacing: -1.2px; margin-bottom: 20px; }
.ip-section-text { color: var(--ip-muted); font-size: 18px; line-height: 1.75; max-width: 680px; }
.ip-centered { text-align: center; }
.ip-centered .ip-section-text { margin-inline: auto; }
.ip-eyebrow { text-transform: uppercase; letter-spacing: 1.2px; font-size: 14px; font-weight: 700; color: var(--ip-secondary); margin-bottom: 15px !important; }
.ip-bg-light { background: #f4f8fa; }
.ip-bg-lavender { background: var(--ip-lavender); }
.ip-bg-dark { background: var(--ip-ink); color: #fff; }
.ip-bg-dark .ip-section-text, .ip-bg-dark .ip-hero-text { color: var(--ip-tint-strong); }
.ip-bg-dark .ip-eyebrow { color: var(--ip-tint-border); }
.ip-document { padding-top: 70px; padding-bottom: 90px; min-height: 65vh; max-width: 930px; overflow-wrap: anywhere; }
.ip-document h1 { font-size: clamp(34px, 4vw, 54px); line-height: 1.15; letter-spacing: -1.5px; }
.ip-document a:not(.ip-button) { text-decoration: underline; }
.ip-skip { position: absolute; z-index: 1000; left: 15px; top: -100px; background: var(--ip-ink); color: white !important; padding: 12px 20px; }
.ip-skip:focus { top: 10px; }
.ip-site ::selection { background: var(--ip-tint-strong); }
.ip-section-action { margin-top: 32px; }
.ip-main { overflow: clip; }
@media (max-width: 960px) {
  .ip-container { width: calc(100% - 48px); }
  .ip-section { padding: 68px 0; }
}
@media (max-width: 600px) {
  .ip-container { width: calc(100% - 36px); }
  body.ip-site { font-size: 17px; }
  .ip-section { padding: 54px 0; }
  .ip-section-heading { margin-bottom: 30px; }
  .ip-section-title { letter-spacing: -.75px; }
  .ip-section-text { font-size: 17px; }
  .ip-site h3 { font-size: 22px; }
  .ip-document { padding-block: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
