@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("/assets/fonts/PlusJakartaSans-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plus Jakarta Sans"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("/assets/fonts/PlusJakartaSans-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
html { background: #0b0c10; color-scheme: dark; }
body { position: relative; isolation: isolate; background: transparent; color: #f4f4f6; }
.pulse-bg { position: fixed; inset: 0; z-index: -1; overflow: hidden; background: #0b0c10; pointer-events: none; }
.pulse-bg span { position: absolute; border-radius: 50%; filter: blur(clamp(110px, 9vw, 150px)); }
.pulse-bg .g1 { width: min(82vw, 620px); aspect-ratio: 1; left: max(-31vw, -240px); top: 7vh; background: #fff; opacity: .22; }
.pulse-bg .g2 { width: min(77vw, 580px); aspect-ratio: 1; right: max(-36vw, -260px); top: 38vh; background: #c4c7cf; opacity: .28; }
.pulse-bg .g3 { width: min(67vw, 500px); aspect-ratio: 1; left: max(10vw, 40px); bottom: max(-14vh, -220px); background: #8e929c; opacity: .30; }
.site-header { background: transparent; }
.site-header img.site-logo, .study-header img, header img.lp-logo, .pulse-footer-brand img { width: auto !important; height: 28px !important; display: block; }
.site-nav, .site-nav a, .lp-nav, .lp-nav a, .lp-cta,
.lp-footer, .lp-footer a, .lp-contactbar, .lp-contactbar a {
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
}
.lp-footer-links { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.study-card, .study-calculator, .toc, .card {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
}
.lp-intro p, .study-main p, .wrap p { color: rgba(244,244,246,.72); }
.lp-intro .lede, .study-main .lede { color: #f4f4f6; }
@media print {
  .pulse-bg { display: none; }
  html { background: #fff; color-scheme: light; }
  body { color: #0b0c10; }
  img[src$="pulse-logo-white.svg"] { filter: invert(1); }
}

:root { --font-ui: "Plus Jakarta Sans", system-ui, sans-serif; --font-display: "Plus Jakarta Sans", system-ui, sans-serif; }
body, button, input, select, textarea, h1, h2, h3, h4, h5, h6 { font-family: "Plus Jakarta Sans", system-ui, sans-serif !important; }
body h1 {
  font-size: 44px !important;
  font-weight: 800;
  letter-spacing: -.03em;
  color: #f4f4f6;
  line-height: 1.12;
}
