/* ====================================================================
   InsideHer · site brand layer · 2026-10-15
   Loaded LAST on every static course, resource and handout page so the
   whole public site shares the homepage brand:
     - crescent-H tile + Geist "insideher" wordmark (never retyped)
     - bone / ink / paper palette, Inter only, no serif, no Poppins
     - one solid violet (#5B4FE5) action; no gradient text or buttons
     - ink dark surfaces, no coloured glows, no grain
   Site chrome is namespaced .ih-* so it never collides with page CSS.
   Run `node scripts/sync-public-site-chrome.mjs` to (re)apply the shared
   header + footer markup to the static pages.
   ==================================================================== */

:root {
  /* homepage palette */
  --ih-ink: #0b0b0c;
  --ih-ink-2: #18171b;
  --ih-ink-soft: #2d2b31;
  --ih-bone: #fafaf7;
  --ih-paper: #f2ede5;
  --ih-cream: #fff8ee;
  --ih-card: #ffffff;
  --ih-line: rgba(11, 11, 12, 0.12);
  --ih-line-soft: rgba(11, 11, 12, 0.07);
  --ih-line-strong: rgba(11, 11, 12, 0.22);
  --ih-muted: #55525c;
  --ih-faint: #7a7681;
  --ih-violet: #5b4fe5;
  --ih-violet-hover: #4c41d6;
  --ih-violet-tint: #f1f0fd;
  --ih-dot: #d34db1;
  --ih-dark-line: rgba(250, 250, 247, 0.16);
  --ih-dark-muted: rgba(250, 250, 247, 0.72);
  --ih-dark-faint: rgba(250, 250, 247, 0.5);
  --ih-shadow-card: 0 12px 32px -18px rgba(11, 11, 12, 0.28);
  --ih-shadow-soft: 0 24px 60px -32px rgba(11, 11, 12, 0.22);
  --ih-font: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ih-max: 1200px;
  --ih-gutter: clamp(20px, 4vw, 48px);

  /* remap every legacy course/resource token onto the homepage palette */
  --ink: var(--ih-ink);
  --ink-2: var(--ih-ink-2);
  --ink-strong: var(--ih-ink);
  --body: var(--ih-ink-soft);
  --muted: var(--ih-muted);
  --faint: var(--ih-faint);
  --paper: var(--ih-bone);
  --paper-2: var(--ih-paper);
  --bone: var(--ih-bone);
  --surface: var(--ih-card);
  --card: var(--ih-card);
  --warm: var(--ih-bone);
  --lilac: var(--ih-violet-tint);
  --plum: var(--ih-ink);
  --plum-2: var(--ih-ink);
  --aubergine: var(--ih-ink);
  --aubergine-deep: var(--ih-ink);
  --magentawood: var(--ih-ink);
  --indigo: var(--ih-violet);
  --violet: var(--ih-violet);
  --mauve: var(--ih-violet);
  --orchid: var(--ih-violet);
  --eyebrow: var(--ih-muted);
  --label: var(--ih-violet);
  --gradient: var(--ih-violet);
  --gradient-soft: var(--ih-violet);
  --title-gradient: var(--ih-violet);
  --line: var(--ih-line);
  --line-2: var(--ih-line-soft);
  --line-strong: var(--ih-line-strong);
  --line-dk: var(--ih-dark-line);
  --sh-sm: none;
  --sh: var(--ih-shadow-card);
  --sh-lg: var(--ih-shadow-soft);
  --sh-glow: none;
  --shadow: var(--ih-shadow-card);
  --grain: none;
  --grain-r: none;
  --font-display: var(--ih-font);
  --display-tight-scale: 1;
  --display-word-spacing: normal;
  --r: 16px;
  --r-lg: 24px;
  --r-xl: 24px;
  --radius-xl: 24px;
  --radius-lg: 16px;
  --radius-md: 12px;
}

/* ------------------------------------------------------------ base */

html { scroll-padding-top: 96px; }

body {
  background: var(--ih-bone) !important;
  color: var(--ih-ink);
  font-family: var(--ih-font) !important;
  font-feature-settings: "ss01", "cv01", "cv11";
  -webkit-font-smoothing: antialiased;
}

::selection { background: rgba(91, 79, 229, 0.18); }

*:focus-visible {
  outline: 2px solid var(--ih-violet);
  outline-offset: 3px;
  border-radius: 6px;
}

h1, h2, h3, h4,
.hero h1, .chero h1, .page-header h1,
.section__head h2, .band__head h2, .module__title,
.statement__q, .cta__card h2, .closing__card h2,
.lead-card h2, .plate-card h2, .principles-card h2 {
  font-family: var(--ih-font) !important;
  transform: none !important;
  word-spacing: normal !important;
}

/* No gradient text anywhere: emphasis words read as plain ink. */
.accent-text,
.grad-text,
.title-gradient,
.chero h1 .accent-text {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
  color: inherit !important;
  white-space: normal !important;
}

/* Gradient numerals become solid violet figures. */
.proc__n,
.step__num,
.mstep__n,
.chero__meta div:first-child dt {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
}
.proc__n, .step__num, .mstep__n { color: var(--ih-violet) !important; }

/* Eyebrows: homepage pattern — muted caps with a small magenta dot. */
.kicker,
.hero__eyebrow,
.band__eyebrow,
.chero__eyebrow,
.eyebrow,
.section-kicker {
  color: var(--ih-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase;
}
.kicker::before,
.hero__eyebrow::before,
.band__eyebrow::before,
.chero__eyebrow::before,
.eyebrow::before,
.section-kicker::before {
  content: "" !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: var(--ih-dot) !important;
  flex: 0 0 auto;
}

/* ------------------------------------------------------------ site nav */

/* Every content wrapper sits on the homepage's 1200px shell, aligned with the nav.
   (Legacy `.hero { padding: x 0 }` shorthands used to wipe the .wrap gutter.) */
.ih-shell,
.wrap,
.page {
  width: min(var(--ih-max), calc(100% - (var(--ih-gutter) * 2))) !important;
  margin-inline: auto !important;
}
.wrap { padding-inline: 0 !important; }

.ih-nav {
  position: sticky;
  top: 0;
  z-index: 80;
  isolation: isolate;
  background: rgba(250, 250, 247, 0.88);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  backdrop-filter: saturate(160%) blur(14px);
  border-bottom: 1px solid var(--ih-line);
  font-family: var(--ih-font);
}
.ih-nav a { text-decoration: none; }
.ih-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 76px;
}
.ih-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  color: var(--ih-ink);
  line-height: 1;
  flex: 0 0 auto;
}
.ih-brand__icon {
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  flex: 0 0 auto;
}
.ih-brand__word {
  display: block;
  width: auto;
  height: 22px;
}
.ih-nav__links {
  display: flex;
  gap: 22px;
  font-size: 14px;
  font-weight: 600;
}
.ih-nav__links a {
  position: relative;
  padding: 4px 0;
  color: var(--ih-ink-soft);
}
.ih-nav__links a:hover,
.ih-nav__links a[aria-current="page"] { color: var(--ih-ink); }
.ih-nav__links a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 1px;
  background: var(--ih-ink);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease;
}
.ih-nav__links a:hover::after,
.ih-nav__links a[aria-current="page"]::after { transform: scaleX(1); }
.ih-nav__actions { display: flex; align-items: center; gap: 10px; }

.ih-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 12px 22px;
  border: 1px solid var(--ih-line-strong);
  border-radius: 999px;
  background: transparent;
  color: var(--ih-ink);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}
.ih-btn:hover { transform: translateY(-1px); box-shadow: var(--ih-shadow-card); }
.ih-btn--accent {
  background: var(--ih-violet);
  border-color: var(--ih-violet);
  color: #fff;
}
.ih-btn--accent:hover { background: var(--ih-violet-hover); border-color: var(--ih-violet-hover); }
.ih-btn--ghost { background: rgba(255, 255, 255, 0.82); }
.ih-btn--dark-ghost { border-color: var(--ih-dark-line); color: var(--ih-bone); }

.ih-menu-toggle,
.ih-mobile-menu { display: none; }
.ih-menu-toggle {
  width: 46px;
  height: 46px;
  margin-left: auto;
  border: 1px solid var(--ih-line-strong);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  color: var(--ih-ink);
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.ih-menu-bars { position: relative; display: block; width: 18px; height: 14px; }
.ih-menu-bars span {
  position: absolute;
  left: 0;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform 180ms ease, opacity 180ms ease, top 180ms ease;
}
.ih-menu-bars span:nth-child(1) { top: 0; }
.ih-menu-bars span:nth-child(2) { top: 6px; }
.ih-menu-bars span:nth-child(3) { top: 12px; }
.ih-nav.is-open .ih-menu-bars span:nth-child(1) { top: 6px; transform: rotate(45deg); }
.ih-nav.is-open .ih-menu-bars span:nth-child(2) { opacity: 0; }
.ih-nav.is-open .ih-menu-bars span:nth-child(3) { top: 6px; transform: rotate(-45deg); }

.ih-mobile-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  width: min(var(--ih-max), calc(100% - (var(--ih-gutter) * 2)));
  transform: translateX(-50%);
  padding: 12px;
  border: 1px solid var(--ih-line);
  border-radius: 20px;
  background: var(--ih-paper);
  box-shadow: 0 28px 70px rgba(26, 20, 36, 0.18);
}
.ih-mobile-menu[hidden] { display: none !important; }
.ih-mobile-menu > a {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 14px;
  color: var(--ih-ink);
  font-weight: 700;
}
.ih-mobile-menu > a:hover,
.ih-mobile-menu > a[aria-current="page"] { background: rgba(255, 255, 255, 0.7); }
.ih-mobile-menu__cta { display: grid; gap: 10px; margin-top: 10px; }
.ih-mobile-menu__cta .ih-btn { width: 100%; min-height: 48px; }

@media (max-width: 1080px) {
  .ih-nav__inner { min-height: 68px; gap: 14px; }
  .ih-nav__links, .ih-nav__actions { display: none; }
  .ih-menu-toggle { display: inline-flex; }
  .ih-mobile-menu { display: block; }
}
@media (max-width: 520px) {
  .ih-nav__inner { min-height: 64px; }
  .ih-brand__icon { width: 32px; height: 32px; }
  .ih-brand__word { height: 20px; }
}

/* ------------------------------------------------------------ site footer */

.ih-footer {
  margin-top: 0;
  padding: 56px 0 36px;
  background: var(--ih-ink);
  color: var(--ih-dark-muted);
  font-family: var(--ih-font);
  font-size: 14px;
  line-height: 1.55;
}
.ih-footer a { color: var(--ih-dark-muted); text-decoration: none; }
.ih-footer a:hover { color: var(--ih-bone); }
.ih-footer .ih-brand { margin-bottom: 14px; }
.ih-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 40px;
}
.ih-footer__tag {
  max-width: 36ch;
  margin: 8px 0 0;
  color: var(--ih-bone);
  font-size: 14px;
  line-height: 1.6;
}
.ih-footer h2 {
  margin: 0 0 14px;
  color: var(--ih-bone);
  font-size: 12px !important;
  font-weight: 800;
  letter-spacing: 0.14em !important;
  line-height: 1.3;
  text-transform: uppercase;
}
.ih-footer ul { margin: 0; padding: 0; list-style: none; }
.ih-footer li { margin-bottom: 8px; }
.ih-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
  padding-top: 28px;
  border-top: 1px solid var(--ih-dark-line);
  color: var(--ih-dark-faint);
  font-size: 12.5px;
}
@media (max-width: 760px) { .ih-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .ih-footer__grid { grid-template-columns: 1fr; gap: 28px; } }

/* ====================================================================
   SHARED COMPONENTS (all legacy systems)
   ==================================================================== */

/* Primary actions: one solid violet. Secondary: outlined ink. */
.btn, .button {
  min-height: 52px;
  height: auto !important;
  padding: 14px 26px;
  border-radius: 999px;
  font-family: var(--ih-font);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1;
  box-shadow: none;
}
.btn:hover, .button:hover { transform: translateY(-1px) !important; box-shadow: var(--ih-shadow-card) !important; }
.btn:hover svg, .button:hover svg { transform: translateX(3px); }

.btn--primary,
.button--primary,
.crail__cta,
.print-button {
  background: var(--ih-violet) !important;
  border: 1px solid var(--ih-violet) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.btn--primary:hover,
.button--primary:hover,
.crail__cta:hover,
.print-button:hover { background: var(--ih-violet-hover) !important; border-color: var(--ih-violet-hover) !important; }

.btn--ghost,
.button--secondary,
.button--light,
.btn--light,
.library-link {
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid var(--ih-line-strong) !important;
  color: var(--ih-ink) !important;
  box-shadow: none !important;
}
.library-link::after { color: var(--ih-violet) !important; }

/* Cards: white on bone, quiet hairline, homepage card shadow. */
.pcard, .tile, .step, .prow, .crail__card, .module, .mcard, .mstep,
.lead-card, .principles-card, .alert-card, .info-card, .tip-card, .note-card, .plate-card {
  background: var(--ih-card) !important;
  border: 1px solid var(--ih-line-soft) !important;
  box-shadow: var(--ih-shadow-card) !important;
}
.mcard, .mstep { box-shadow: none !important; background: var(--ih-bone) !important; }

.pcard::before, .tile::before { background: var(--ih-violet) !important; }
.pcard__arrow { border-color: var(--ih-line) !important; }
.pcard:hover .pcard__arrow { background: var(--ih-violet) !important; color: #fff !important; }
.pcard__label, .tile__label, .prow__label, .mcard__tag, .module__kicker { color: var(--ih-violet) !important; }

/* Reading progress + back-to-top */
.progress-bar { height: 3px !important; }
.progress-bar__fill, .crail__progress span { background: var(--ih-violet) !important; }
.back-to-top {
  background: rgba(255, 255, 255, 0.92) !important;
  border-color: var(--ih-line) !important;
  box-shadow: var(--ih-shadow-card) !important;
}

/* Dark surfaces: flat ink like the homepage — no glows, no grain. */
.statement,
.red-flag-band,
.hpreview {
  background: var(--ih-ink) !important;
  border: 0 !important;
  box-shadow: var(--ih-shadow-soft) !important;
  color: var(--ih-bone) !important;
}
.statement::after, .closing__card::after, .cta__card::after, .red-flag-band::after,
.chero::after, .cover::after, .cover::before { display: none !important; }
.statement__q { color: var(--ih-bone) !important; font-weight: 700 !important; letter-spacing: -0.03em !important; }
.statement__by { color: var(--ih-dark-muted) !important; }
.statement .kicker, .red-flag-band .section-kicker { color: var(--ih-dark-faint) !important; }

/* Closing CTAs sit on the homepage's warm paper surface (the ink footer follows). */
.closing__card,
.cta__card {
  background: var(--ih-paper) !important;
  border: 1px solid var(--ih-line-soft) !important;
  box-shadow: none !important;
  color: var(--ih-ink) !important;
}
.closing__card h2, .cta__card h2 { color: var(--ih-ink) !important; font-weight: 700 !important; letter-spacing: -0.03em !important; }
.closing__card p, .cta__card p { color: var(--ih-ink-soft) !important; }
.closing__card .button--light, .cta__card .btn--light,
.closing__card .button, .cta__card .btn {
  background: var(--ih-violet) !important;
  border-color: var(--ih-violet) !important;
  color: #fff !important;
}
.closing__actions a:first-child { background: var(--ih-violet) !important; color: #fff !important; border: 1px solid var(--ih-violet) !important; }
.closing__actions a:not(:first-child) { background: rgba(255, 255, 255, 0.82) !important; color: var(--ih-ink) !important; border: 1px solid var(--ih-line-strong) !important; }

/* ====================================================================
   /courses — course library home (insideher-course-home/styles.css)
   ==================================================================== */

.hero h1 {
  font-size: clamp(2.6rem, 5.4vw, 4.5rem) !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
  color: var(--ih-ink);
}
.hero__sub, .hero__summary, .section__head p, .band__desc {
  color: var(--ih-ink-soft) !important;
}
.section__head h2, .band__head h2 {
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.06 !important;
}
.stats { border-top-color: var(--ih-line) !important; border-bottom-color: var(--ih-line) !important; }
.stats dt, .hero__stats dt {
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
}
.stats div:first-child dt, .hero__stats div:first-child dt { color: var(--ih-ink) !important; }

.hpreview { border-radius: 24px !important; }
.hpreview__head span { color: var(--ih-dark-faint) !important; }
.hpreview__head strong { border-color: var(--ih-dark-line) !important; color: var(--ih-dark-muted) !important; }
.hprow + .hprow { border-top-color: rgba(250, 250, 247, 0.1) !important; }
.hprow__dot { background: var(--ih-dot) !important; box-shadow: none !important; }
.hprow__tag { color: var(--ih-dark-faint) !important; }

.pcard { border-radius: 20px !important; }
.pcard__title { font-weight: 700 !important; letter-spacing: -0.025em !important; }
.pcard__idx { color: var(--ih-faint) !important; }
.proc__item { border-top-color: var(--ih-ink) !important; }
.proc__n { font-weight: 700 !important; }

/* "Back to courses" line above the site footer. */
.foot {
  border-top: 1px solid var(--ih-line) !important;
  color: var(--ih-muted) !important;
}
.foot a { color: var(--ih-violet) !important; font-weight: 700 !important; }

/* ====================================================================
   Course readers (insideher-course-reader.css)
   Hero switches from glowing plum to the homepage's light editorial hero.
   ==================================================================== */

.chero {
  background: var(--ih-bone) !important;
  color: var(--ih-ink) !important;
  border-bottom: 1px solid var(--ih-line);
}
.chero h1 {
  color: var(--ih-ink) !important;
  font-size: clamp(2.6rem, 5.4vw, 4.5rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.02 !important;
}
.chero__sub { color: var(--ih-ink-soft) !important; }
.chero__meta { border-top-color: var(--ih-line) !important; }
.chero__meta > div + div { border-left-color: var(--ih-line) !important; }
.chero__meta dt { color: var(--ih-ink) !important; font-weight: 700 !important; }
.chero__meta dd { margin: 9px 0 0 !important; color: var(--ih-muted) !important; }
.hero__stats dd, .stats dd { margin-inline-start: 0 !important; }

@media (max-width: 600px) {
  .chero__meta, .hero__stats {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
  }
  .chero__meta > div, .chero__meta > div + div,
  .hero__stats > div, .hero__stats > div + div {
    padding: 18px 0 0 !important;
    border-left: 0 !important;
  }
  .chero__actions .button, .hero__actions .button, .hero__actions .btn { flex: 1 1 100%; }
}
.chero .button--light {
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid var(--ih-line-strong) !important;
  color: var(--ih-ink) !important;
}

.crail { top: 96px !important; }
.crail, .modules { min-width: 0; }
@media (max-width: 960px) {
  /* The scrolling module chips must not stretch the single column past the viewport. */
  .reader { grid-template-columns: minmax(0, 1fr) !important; }
  .crail { top: 72px !important; }
}
.crail__card { border-radius: 20px !important; }
.crail__title { font-weight: 700 !important; }
.crail__progress { background: var(--ih-paper) !important; }
.course-nav .nav-card nav a { color: var(--ih-ink-soft) !important; }
.course-nav .nav-card nav a .ix { background: var(--ih-bone) !important; border-color: var(--ih-line-soft) !important; color: var(--ih-muted) !important; }
.course-nav .nav-card nav a:hover,
.course-nav .nav-card nav a.is-active { background: var(--ih-violet-tint) !important; color: var(--ih-ink) !important; }
.course-nav .nav-card nav a.is-active .ix { background: var(--ih-violet) !important; color: #fff !important; border-color: var(--ih-violet) !important; }

.module { border-radius: 24px !important; scroll-margin-top: 96px !important; }
.module::before { display: none !important; }
.module__num {
  background: var(--ih-ink) !important;
  color: var(--ih-bone) !important;
  box-shadow: none !important;
  border-radius: 14px !important;
  font-weight: 700 !important;
}
.module__title { font-weight: 700 !important; letter-spacing: -0.03em !important; line-height: 1.06 !important; }
.module__intro, .mcard p, .mstep p { color: var(--ih-ink-soft) !important; }
.mcard h3 { font-weight: 700 !important; }

.mcard--important, .mcard--note {
  background: var(--ih-violet-tint) !important;
  border: 1px solid rgba(91, 79, 229, 0.2) !important;
}
.mcard--important::before { background: var(--ih-violet) !important; }

/* ====================================================================
   Course hubs (insideher-course-system.css)
   ==================================================================== */

.hero__stats { border-top-color: var(--ih-line) !important; }
.hero__stats > div + div { border-left-color: var(--ih-line) !important; }
.tile { border-radius: 20px !important; }
.tile h3, .step h3 { font-weight: 700 !important; }
.prow__links a:first-child {
  background: var(--ih-violet) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.prow__links a:last-child {
  background: transparent !important;
  border: 1px solid var(--ih-line-strong) !important;
  color: var(--ih-ink) !important;
}

/* ====================================================================
   Printable handouts (insideher-resource-shared.css)
   ==================================================================== */

.page { margin-top: 0 !important; }
.page-header { padding-top: clamp(40px, 6vw, 72px) !important; }
.page-header h1 {
  font-size: clamp(2.6rem, 5.4vw, 4.5rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.02 !important;
  color: var(--ih-ink) !important;
}
.subtitle { color: var(--ih-ink-soft) !important; }
.page-header { gap: 18px !important; }
.header-actions .brand-lockup { display: none !important; }
.header-actions { order: 0 !important; justify-content: flex-start !important; }

.lead-card h2, .plate-card h2, .principles-card h2 {
  font-size: clamp(1.7rem, 2.8vw, 2.5rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.08 !important;
}
.alert-card h3, .info-card h3, .tip-card h3, .note-card h3 { font-weight: 700 !important; }
.alert-card, .principles-card,
.info-card:nth-child(2n), .tip-card:nth-child(2n), .note-card:nth-child(2n) {
  background: var(--ih-card) !important;
  border-color: var(--ih-line-soft) !important;
}
.alert-card { background: var(--ih-violet-tint) !important; border-color: rgba(91, 79, 229, 0.2) !important; }
.pill-grid span,
.pill-grid span:nth-child(2n) {
  background: var(--ih-bone) !important;
  border-color: var(--ih-line) !important;
  color: var(--ih-ink) !important;
  font-weight: 600 !important;
}
.red-flag-band { border-radius: 24px !important; }
.red-flag-band h3 { color: var(--ih-bone) !important; }
.red-flag-band p, .red-flag-band li { color: var(--ih-dark-muted) !important; }
.note-block { border-left-color: var(--ih-violet) !important; background: var(--ih-bone) !important; }
.tip-card a, .note-card a, .page-footer a { color: var(--ih-violet) !important; }
.plate-half { background: var(--ih-violet) !important; }
.plate-quarter--protein { background: #8a84ee !important; }
.plate-quarter--carb { background: var(--ih-paper) !important; }

/* ------------------------------------------------------------ print */

@media print {
  .ih-nav__links, .ih-nav__actions, .ih-menu-toggle, .ih-mobile-menu, .ih-footer { display: none !important; }
  .ih-nav {
    position: static !important;
    background: #fff !important;
    border-bottom: 1px solid #ddd !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
  .ih-nav__inner { min-height: 56px !important; }
  .chero { border-bottom: 0; }
  .statement, .red-flag-band, .closing__card, .cta__card {
    background: #fff !important;
    color: var(--ih-ink) !important;
    border: 1px solid #ccc !important;
  }
  .statement *, .red-flag-band *, .closing__card *, .cta__card * { color: var(--ih-ink) !important; }
}
