/* GENERATED — a frozen snapshot of the theme's theme.css, taken at
 * package build time. On builder pages this loads AFTER the theme and
 * wins on equal specificity, so any token change in the theme must be
 * followed by a package rebuild or builder pages go stale.
 * Do not hand-edit. */

/* Insight Clinic — design tokens and base typography.
 *
 * Every value here was MEASURED off the live source with getComputedStyle
 * (tools/measure-tokens.mjs, tools/chrome-measure.mjs), not read off a design
 * or guessed from a screenshot. Where a number looks odd — 13px body text, a
 * 19px mobile line-height — that is what the source does, and this is a clone.
 *
 * Everything is scoped to body.ic so the HMG editor canvas can opt in with the
 * same class via the hmg_editor_preview_body_class filter. Without that class
 * the canvas falls back to browser defaults and the editor stops matching live
 * — the single most expensive failure mode in this pipeline.
 */

:root {
  /* Brand */
  --ic-rose: #e79d9d;          /* links, buttons, accent bands */
  --ic-rose-dark: #d98686;     /* hover */
  --ic-ink: #5a5a54;           /* body + headings + footer background */
  --ic-white: #ffffff;
  --ic-page: #fcfcfc;          /* #Content background on the source */
  --ic-tint: rgba(0, 0, 0, 0.082);   /* the pale grey section band */
  --ic-tint-2: rgba(0, 0, 0, 0.094); /* alternating team rows */
  --ic-tint-3: rgba(0, 0, 0, 0.02);  /* faint T&C intro band */
  --ic-line: rgba(0, 0, 0, 0.08);

  /* Type */
  --ic-font: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  --ic-body-size: 13px;
  --ic-body-lh: 28px;
  --ic-h1-size: 60px;  --ic-h1-lh: 66px;  --ic-h1-weight: 500;
  --ic-h2-size: 50px;  --ic-h2-lh: 55px;  --ic-h2-weight: 500;
  --ic-h3-size: 40px;  --ic-h3-lh: 44px;  --ic-h3-weight: 400;
  --ic-h4-size: 20px;  --ic-h4-lh: 30px;  --ic-h4-weight: 600;
  --ic-h5-size: 18px;  --ic-h5-lh: 30px;  --ic-h5-weight: 400;
  --ic-h6-size: 16px;  --ic-h6-lh: 26px;  --ic-h6-weight: 600;

  /* Layout — #Top_bar .container measures 1220 at 1440 and 940 at 1024 */
  --ic-wrap: 1220px;
  --ic-wrap-tablet: 940px;
  --ic-gutter: 12px;

  /* The builder's section container tokens. The plugin emits
   * max-width: var(--hmg-container-<size>) but never DECLARES the variable —
   * that is the host theme's job, and the default it fell back to (1080) is
   * 140px narrower than this site's real measure. Every builder section was
   * therefore 12% narrower than the source, which on the referral forms pushed
   * the Formidable name sub-fields into a taller stack. */
  --hmg-container-narrow: 720px;
  --hmg-container-normal: 1220px;
  --hmg-container-wide: 1320px;

  /* Chrome */
  --ic-header-h: 181px;
  --ic-header-h-mobile: 171px;
  --ic-logo-h: 150px;
  --ic-radius: 5px;
}

/* ── Reset-ish base ─────────────────────────────────────── */
body.ic {
  margin: 0;
  font-family: var(--ic-font);
  font-size: var(--ic-body-size);
  line-height: var(--ic-body-lh);
  font-weight: 400;
  color: var(--ic-ink);
  background: var(--ic-page);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* clip, NOT hidden: overflow-x:hidden computes overflow-y to auto, which makes
   * a scroll container and silently kills every position:sticky descendant. */
  overflow-x: clip;
}

body.ic *,
body.ic *::before,
body.ic *::after { box-sizing: border-box; }

body.ic img,
body.ic video,
body.ic iframe { max-width: 100%; }

body.ic img { height: auto; border: 0; }

body.ic h1, body.ic h2, body.ic h3,
body.ic h4, body.ic h5, body.ic h6 {
  margin: 0 0 15px;
  font-family: var(--ic-font);
  color: var(--ic-ink);
  text-transform: none;
  letter-spacing: normal;
}

body.ic h1 { font-size: var(--ic-h1-size); line-height: var(--ic-h1-lh); font-weight: var(--ic-h1-weight); }
body.ic h2 { font-size: var(--ic-h2-size); line-height: var(--ic-h2-lh); font-weight: var(--ic-h2-weight); }
body.ic h3 { font-size: var(--ic-h3-size); line-height: var(--ic-h3-lh); font-weight: var(--ic-h3-weight); }
body.ic h4 { font-size: var(--ic-h4-size); line-height: var(--ic-h4-lh); font-weight: var(--ic-h4-weight); }
body.ic h5 { font-size: var(--ic-h5-size); line-height: var(--ic-h5-lh); font-weight: var(--ic-h5-weight); }
body.ic h6 { font-size: var(--ic-h6-size); line-height: var(--ic-h6-lh); font-weight: var(--ic-h6-weight); }

body.ic p { margin: 0 0 15px; }
body.ic p:last-child { margin-bottom: 0; }

body.ic a {
  color: var(--ic-rose);
  text-decoration: none;
  transition: color 0.2s ease;
}
body.ic a:hover { color: var(--ic-rose-dark); }

body.ic ul, body.ic ol { margin: 0 0 15px; padding-left: 20px; }
body.ic li { margin-bottom: 4px; }

body.ic strong, body.ic b { font-weight: 700; }

body.ic hr {
  border: 0;
  border-top: 1px solid var(--ic-line);
  margin: 30px 0;
}

body.ic table { border-collapse: collapse; width: 100%; margin: 0 0 15px; }
body.ic th, body.ic td { border: 1px solid var(--ic-line); padding: 8px 10px; text-align: left; }

body.ic blockquote {
  margin: 0 0 15px;
  padding-left: 20px;
  border-left: 3px solid var(--ic-rose);
  font-style: italic;
}

/* Screen-reader-only, used by skip links and icon-only controls. */
body.ic .ic-sr {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
  white-space: nowrap; border: 0;
}

body.ic .ic-skip:focus {
  position: fixed; top: 8px; left: 8px; z-index: 10000;
  width: auto; height: auto; clip: auto; clip-path: none;
  padding: 10px 16px; background: var(--ic-white); color: var(--ic-ink);
  border: 2px solid var(--ic-rose); border-radius: var(--ic-radius);
}

/* ── The one shared container ───────────────────────────── */
body.ic .ic-wrap {
  width: 100%;
  max-width: var(--ic-wrap);
  margin-inline: auto;
  padding-inline: var(--ic-gutter);
}

/* ── Rich text ──────────────────────────────────────────────
 * Shared by every section that renders a richtext field. It lives HERE, not in
 * a section's style.css, because section CSS is auto-scoped to that section at
 * import — a copy in rich-text/style.css would never reach the identical markup
 * inside split-feature or card-grid. */
body.ic .ic-rt > *:last-child { margin-bottom: 0; }
body.ic .ic-rt img { height: auto; }
body.ic .ic-rt ul,
body.ic .ic-rt ol { padding-left: 20px; }
body.ic .ic-rt ul ul,
body.ic .ic-rt ol ol,
body.ic .ic-rt ul ol,
body.ic .ic-rt ol ul { margin-bottom: 0; }
body.ic .ic-rt h1, body.ic .ic-rt h2, body.ic .ic-rt h3,
body.ic .ic-rt h4, body.ic .ic-rt h5, body.ic .ic-rt h6 { margin-top: 24px; }
body.ic .ic-rt > h1:first-child, body.ic .ic-rt > h2:first-child,
body.ic .ic-rt > h3:first-child, body.ic .ic-rt > h4:first-child,
body.ic .ic-rt > h5:first-child, body.ic .ic-rt > h6:first-child { margin-top: 0; }

/* ── Buttons ────────────────────────────────────────────── */
body.ic .ic-btn {
  display: inline-block;
  font-family: var(--ic-font);
  font-size: var(--ic-body-size);
  line-height: var(--ic-body-lh);
  font-weight: 400;
  color: var(--ic-rose);
  background: var(--ic-white);
  border: 0;
  border-radius: var(--ic-radius);
  padding: 10px 20px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
body.ic .ic-btn:hover { background: var(--ic-rose); color: var(--ic-white); }

body.ic .ic-btn--solid { background: var(--ic-rose); color: var(--ic-white); }
body.ic .ic-btn--solid:hover { background: var(--ic-rose-dark); color: var(--ic-white); }

/* ── Responsive type ────────────────────────────────────────
 * The source drops the whole scale below 768: body line-height goes 28 → 19,
 * h2 50/55 → 30/33, h5 18/30 → 13/19. Measured, not invented. */
@media (max-width: 1240px) {
  :root { --ic-wrap: var(--ic-wrap-tablet); }
}

@media (max-width: 767px) {
  :root {
    --ic-body-lh: 19px;
    --ic-h1-size: 34px;  --ic-h1-lh: 38px;
    --ic-h2-size: 30px;  --ic-h2-lh: 33px;
    --ic-h3-size: 26px;  --ic-h3-lh: 30px;
    --ic-h4-size: 17px;  --ic-h4-lh: 24px;
    --ic-h5-size: 13px;  --ic-h5-lh: 19px;
    --ic-h6-size: 13px;  --ic-h6-lh: 19px;
    --ic-header-h: var(--ic-header-h-mobile);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ic *,
  body.ic *::before,
  body.ic *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
