/* Shared Maaten website system. Load after page-specific stylesheets. */
@font-face {
  font-family: "Maaten Sora";
  src: url("fonts/sora-latin-700-normal.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Maaten Sora";
  src: url("fonts/sora-latin-800-normal.woff2") format("woff2");
  font-weight: 800;
  font-display: swap;
}

@font-face {
  font-family: "Maaten Plex";
  src: url("fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Maaten Plex";
  src: url("fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
}

:root {
  --orange: #e8590c;
  --orange-deep: #bf4809;
  --orange-soft: rgb(232 89 12 / 14%);
  --orange-tint: rgb(232 89 12 / 7%);
  --ink: #131110;
  --ink-soft: #35312e;
  --paper: #fff;
  --paper-warm: #f4f1ec;
  --line: #e8e4de;
  --line-soft: #eeeae5;
  --mute: #6f6a64;
  --dark: #0c0b0e;
  --dark-raised: #151417;
  --dark-surface: #19181b;
  --dark-border: #29272a;
  --dark-border-soft: #333135;
  --dark-text: #f4f1ec;
  --dark-text-mid: #ddd8d1;
  --dark-text-soft: #c8c2b8;
  --dark-mute: #9b958f;
  --dark-dim: #817b75;
  --dark-faint: #aaa49e;
}

body {
  color: #131110;
  background-color: #fff;
  font-family: "Maaten Plex", "IBM Plex Sans", sans-serif;
}

:is(h1, h2, h3, h4, .display, .problem-head, .lake-head, .schema-head,
    .evidence-head, .comp-head, .replace-head) {
  font-family: "Maaten Sora", "Sora", sans-serif !important;
}

/* Keep the existing page geometry and section surfaces. */
:is(.nav, .pn) {
  border-top: 4px solid transparent;
  border-image: linear-gradient(90deg, #e8382c 0 25%, #f0c04a 25% 50%, #37b46a 50% 75%, #7fe3e0 75%) 1;
}

:is(.nav-links a, .nav-dd-trigger, .pn summary, .pn-pricing) {
  font-family: "Maaten Plex", "IBM Plex Sans", sans-serif;
}

:is(.btn, .nav-links a.btn, .pn-demo, .pn .pn-demo, .pl-button:not(.secondary)) {
  background-color: #e8590c;
  border-color: #e8590c;
  color: #131110 !important;
  font-family: "Maaten Plex", "IBM Plex Sans", sans-serif;
}

:is(.btn, .nav-links a.btn, .pn-demo, .pn .pn-demo, .pl-button:not(.secondary)):hover {
  background-color: #bf4809;
  border-color: #bf4809;
  color: #131110 !important;
}

:is(.btn-ghost, .pl-button.secondary) {
  font-family: "Maaten Plex", "IBM Plex Sans", sans-serif;
}

.nav-links a.btn:not(.btn-ghost) {
  color: #131110 !important;
}

@media (prefers-reduced-motion: reduce) {
  :is(.btn, .nav-links a.btn, .pn-demo, .pl-button) {
    transition: none !important;
  }
}

/* Approved navigation refinements. */
.pn .pn-other { border: 0; border-radius: 0; }
nav.pn a.pn-demo, nav.pn a.pn-demo:hover { color: #fff !important; }
