/* ==========================================================================
   Insan Pelangi Mandiri — shared design system v4.5.3
   Loaded by both the public website and Content Studio.
   ========================================================================== */

:root {
  --navy-950: #101342;
  --navy-900: #171b5e;
  --navy-800: #202575;
  --navy-700: #303998;
  --blue: #5273da;
  --green: #246b3b;
  --green-soft: #dff0df;
  --yellow: #ffd43d;
  --yellow-soft: #fff0af;
  --coral: #e36072;
  --coral-soft: #f9dfe4;
  --sky: #dfe9ff;
  --lilac: #e9e5ff;
  --ink: #171a43;
  --muted: #5b5f75;
  --line: #e2e4ef;
  --surface: #f6f6fb;
  --white: #ffffff;
  --danger: #9b3542;
  --success: #246b43;
  --shadow-sm: 0 12px 32px rgba(19, 23, 70, 0.08);
  --shadow: 0 26px 70px rgba(19, 23, 70, 0.14);
  --radius-xs: 12px;
  --radius-sm: 16px;
  --radius: 28px;
  --radius-lg: 46px;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --leading-body: 1.52;
  --leading-copy: 1.56;
  --leading-compact: 1.44;
  --leading-heading: 1.08;
  --font:
    "Nunito Sans", "Segoe UI", Arial, ui-sans-serif, system-ui, -apple-system,
    BlinkMacSystemFont, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  --focus-ring: 0 0 0 4px rgba(255, 212, 61, 0.34);
  --transition: 180ms ease;
  --icon-stroke: 1.75;
  --icon-size-sm: 16px;
  --icon-size: 18px;
  --icon-size-lg: 24px;
  --icon-radius: 14px;
}

* {
  box-sizing: border-box;
}

body,
button,
input,
select,
textarea {
  font-family: var(--font);
}

:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 3px;
}

::selection {
  color: var(--navy-950);
  background: var(--yellow);
}

.ipm-icon {
  width: var(--icon-size);
  height: var(--icon-size);
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: var(--icon-stroke);
}

.svg-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
}
