/* Self-hosted webfonts — no third-party request on page load. */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/Lora-400i-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/Lora-400i-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/EBGaramond-400-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/EBGaramond-400-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/EBGaramond-600-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/EBGaramond-600-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/Lora-400-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/Lora-400-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/Lora-500-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/Lora-500-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/Lora-600-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/Lora-600-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --bg: #f0ebe1;
    --surface: #e7e0d2;
    --text: #23211c;
    --text-soft: color-mix(in srgb, #23211c 74%, transparent);
    --text-faint: color-mix(in srgb, #23211c 64%, transparent);
    --accent: #a2662c;
    /* text-only bronze: same hue, dark enough for WCAG AA on paper (4.53:1) */
    --accent-text: #935f21;
    --accent-deep: #7d5411;
    --accent-tint: #f2ddbe;
    --divider: color-mix(in srgb, #23211c 16%, transparent);
    --accent-contrast: #f8f5ee;

    --wrap: 992px;
    --gutter: 24px;
    --sec-top: 114px;
    --sec-bottom: 98px;

    --font-display: "EB Garamond", Georgia, "Times New Roman", serif;
    --font-body: Lora, Georgia, "Times New Roman", serif;
  }

  *, *::before, *::after { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 104px; }
  body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
  }
  h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 400; margin: 0; }
  p { margin: 0; }
  ul, ol { margin: 0; padding: 0; list-style: none; }
  a { color: inherit; }
  svg { display: block; }

  :where(a, button):focus-visible {
    outline: 2px solid var(--accent-deep);
    outline-offset: 3px;
    border-radius: 2px;
  }

  .nb-skip {
    position: absolute; left: -9999px; top: 8px; z-index: 100;
    background: var(--text); color: var(--accent-contrast);
    font-family: var(--font-body); font-size: 14px; padding: 12px 18px; text-decoration: none;
  }
  .nb-skip:focus { left: 8px; }

  /* ---------- layout ---------- */
  .nb-wrap { width: 100%; max-width: calc(var(--wrap) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); }
  .nb-section { padding-block: var(--sec-top) var(--sec-bottom); }
  .nb-rule { border-bottom: 1px solid var(--divider); }

  /* Justified only where the measure is wide enough to carry it (~60+ chars/line):
     hero subhead, section deks, service rows, and the dark band. The three-across
     card/step columns, the fit lists, and the About column run too narrow and stay
     ragged right. */
  .nb-hero__sub,
  .nb-dek,
  .nb-row__body,
  .nb-band__body { text-align: justify; text-justify: inter-word; }

  /* ---------- type primitives ---------- */
  .nb-eyebrow {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--accent-text);
    line-height: 1.2;
  }
  .nb-h1 { font-size: 76px; font-weight: 400; line-height: 84px; letter-spacing: 0; }
  .nb-h2 { font-size: 41.6px; font-weight: 400; line-height: 45px; letter-spacing: 0; max-width: 660px; }
  .nb-h2--wide { max-width: none; }
  .nb-h3 { font-size: 22px; font-weight: 400; line-height: 1.3; }
  .nb-dek { font-size: 16.3px; line-height: 27px; color: var(--text-soft); max-width: 762px; }
  .nb-body { font-size: 15.6px; line-height: 26px; color: var(--text-soft); }

  /* ---------- buttons ---------- */
  .nb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-body);
    font-size: 14.5px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.005em;
    padding: 16px 23px;
    border-radius: 3px;
    border: 1px solid transparent;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 220ms cubic-bezier(.2,.7,.3,1),
                border-color 220ms cubic-bezier(.2,.7,.3,1),
                color 220ms cubic-bezier(.2,.7,.3,1),
                transform 220ms cubic-bezier(.2,.7,.3,1);
  }
  .nb-btn:active { transform: translateY(1px); }

  .nb-btn--primary { background: var(--accent); color: #fff; }
  .nb-btn--primary:hover { background: var(--accent-deep); }

  .nb-btn--ghost {
    background: transparent;
    color: var(--accent-text);
    border-color: color-mix(in srgb, var(--accent) 85%, transparent);
  }
  .nb-btn--ghost:hover { background: color-mix(in srgb, var(--accent) 8%, transparent); border-color: var(--accent-deep); color: var(--accent-deep); }

  .nb-btn--onDark {
    background: transparent;
    color: var(--accent-contrast);
    border-color: color-mix(in srgb, var(--accent-contrast) 34%, transparent);
  }
  .nb-btn--onDark:hover { background: color-mix(in srgb, var(--accent-contrast) 10%, transparent); border-color: color-mix(in srgb, var(--accent-contrast) 62%, transparent); }

  .nb-btn--nav { padding: 14px 23px; }

  /* ---------- header ---------- */
  .nb-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--bg);
    border-bottom: 1px solid var(--divider);
  }
  .nb-header__inner { display: flex; align-items: center; justify-content: space-between; height: 80px; gap: 24px; }
  .nb-brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; }
  .nb-brand svg { width: 22px; height: 22px; }
  .nb-brand__word { font-family: var(--font-display); font-size: 20.7px; font-weight: 600; letter-spacing: -0.005em; }
  .nb-navlinks { display: flex; align-items: center; gap: 25px; }
  .nb-navlink {
    font-size: 15px;
    color: var(--text-soft);
    text-decoration: none;
    transition: color 200ms cubic-bezier(.2,.7,.3,1);
  }
  .nb-navlink:hover { color: var(--accent-text); }

  /* ---------- hero ---------- */
  .nb-hero { padding-block: 135px 45px; border-bottom: 1px solid var(--divider); }
  .nb-hero__sub { font-size: 17.9px; line-height: 30px; color: var(--text-soft); max-width: 745px; margin-top: 28px; }
  .nb-hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }

  .nb-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 31px; margin-top: 131px; }
  .nb-stat__title { font-family: var(--font-body); font-style: italic; font-weight: 400; font-size: 19.7px; line-height: 1.2; color: var(--accent-text); }
  .nb-stat__desc { font-size: 13.6px; line-height: 24px; color: var(--text-soft); margin-top: 10px; max-width: 280px; }

  /* ---------- section header block ---------- */
  .nb-head__h2 { margin-top: 29px; }
  .nb-h1.nb-head__h2 { margin-top: 20px; }
  .nb-head__dek { margin-top: 29px; }

  /* ---------- outcomes ---------- */
  .nb-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; margin-top: 59px; }
  .nb-card__body { margin-top: 8px; }

  /* ---------- fit ---------- */
  .nb-fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; margin-top: 60px; }
  .nb-fit__label { font-family: var(--font-body); font-size: 12.5px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.2; }
  .nb-fit__label--yes { color: var(--accent-text); }
  .nb-fit__label--no { color: var(--text-faint); }
  .nb-fit__list { margin-top: 15px; }
  .nb-fit__list li {
    position: relative;
    padding-left: 22px;
    font-size: 15.7px;
    line-height: 26px;
    color: var(--text-soft);
  }
  .nb-fit__list li + li { margin-top: 16px; }
  .nb-fit__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 6px;
    height: 6px;
  }
  .nb-fit__list--yes li::before { background: var(--accent); }
  .nb-fit__list--no { max-width: 422px; }
  .nb-fit__list--no li::before { background: var(--text-faint); }

  /* ---------- services ---------- */
  .nb-rows { margin-top: 58px; }
  .nb-row {
    display: grid;
    grid-template-columns: 342px minmax(0, 1fr);
    gap: 0;
    padding-block: 38px;
    border-top: 1px solid var(--divider);
  }
  .nb-row__num { font-size: 12px; font-weight: 500; letter-spacing: 0.28em; color: var(--accent-text); line-height: 1; padding-top: 12px; }
  .nb-row__title { font-size: 25.6px; font-weight: 400; line-height: 1.24; }
  .nb-row__body { font-size: 15.7px; line-height: 26px; color: var(--text-soft); margin-top: 0; }

  .nb-band {
    background: var(--text);
    color: var(--accent-contrast);
    padding: 38px 32px 42px;
    margin-top: 11px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
  }
  .nb-band__eyebrow { font-size: 11.7px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: color-mix(in srgb, var(--accent-tint) 88%, var(--text)); line-height: 1.2; }
  .nb-band__title { font-family: var(--font-display); font-size: 22px; font-weight: 400; line-height: 1.3; margin-top: 12px; }
  .nb-band__body { font-size: 15px; line-height: 1.72; color: color-mix(in srgb, var(--accent-contrast) 78%, transparent); margin-top: 10px; max-width: 670px; }

  /* ---------- about ---------- */
  .nb-about__body { max-width: 468px; margin-top: 18px; }
  #about .nb-section { padding-top: calc(var(--sec-top) - 8px); padding-bottom: calc(var(--sec-bottom) + 21px); }
  #about .nb-head__h2 { margin-top: 18px; }
  #services .nb-section { padding-bottom: calc(var(--sec-bottom) + 6px); }
  .nb-about__body p { font-size: 16px; line-height: 26px; color: var(--text-soft); }
  .nb-about__body p + p { margin-top: 17px; }

  /* ---------- how it works ---------- */
  .nb-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px; margin-top: 44px; }
  .nb-step { border-top: 1px solid var(--divider); padding-top: 14px; }
  .nb-step__num { font-size: 12px; font-weight: 500; letter-spacing: 0.12em; color: var(--accent-text); line-height: 1; }
  .nb-step__title { font-size: 21px; font-weight: 400; line-height: 1.3; margin-top: 18px; }
  .nb-how__close { margin-top: 58px; }
  .nb-step__body { font-size: 15.3px; line-height: 1.7; color: var(--text-soft); margin-top: 6px; }

  /* ---------- cta band ---------- */
  .nb-cta { background: var(--surface); padding-block: 84px; }
  .nb-cta__title { font-size: 35.1px; font-weight: 400; line-height: 38px; letter-spacing: 0; max-width: 508px; }
  .nb-cta .nb-btn { margin-top: 32px; }

  /* ---------- footer ---------- */
  .nb-footer { padding-block: 45px 46px; }
  .nb-footer__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: baseline; gap: 24px; }
  .nb-footer__inner > :last-child { justify-self: end; }
  .nb-footer__link { display: inline-block; padding: 4px 0; font-size: 13.6px; color: var(--text-faint); text-decoration: none; transition: color 200ms cubic-bezier(.2,.7,.3,1); }
  .nb-footer__link:hover { color: var(--accent-text); }
  .nb-footer__copy { font-size: 13.6px; color: var(--text-faint); }

  /* ---------- responsive ---------- */
  @media (max-width: 900px) {
    :root { --sec-top: 84px; --sec-bottom: 76px; }
    .nb-h1 { font-size: 52px; line-height: 1.1; }
    .nb-h2 { font-size: 32px; line-height: 1.16; max-width: none; }
    .nb-hero { padding-block: 84px 40px; }
    .nb-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 84px; }
    .nb-cards, .nb-fit, .nb-steps { gap: 40px; }
    .nb-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nb-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nb-row { grid-template-columns: 160px minmax(0, 1fr); }
    .nb-band { flex-direction: column; align-items: flex-start; gap: 28px; }
    .nb-cta__title { font-size: 30px; line-height: 1.18; max-width: none; }
  }
  @media (max-width: 680px) {
    :root { --sec-top: 68px; --sec-bottom: 60px; }
    .nb-h1 { font-size: 40px; line-height: 1.14; }
    .nb-h2 { font-size: 27px; line-height: 1.18; }
    .nb-hero { padding-block: 64px 36px; }
    .nb-hero__sub { font-size: 16px; line-height: 1.7; margin-top: 22px; }
    .nb-hero__ctas { margin-top: 34px; }
    .nb-hero__ctas .nb-btn, .nb-cta .nb-btn { width: 100%; }
    .nb-navlinks { display: none; }
    .nb-header__inner { height: 68px; gap: 12px; }
    .nb-brand__word { font-size: 16px; white-space: nowrap; }
    .nb-btn--nav { font-size: 13px; padding: 12px 14px; white-space: nowrap; }
    .nb-stats, .nb-cards, .nb-fit, .nb-steps { grid-template-columns: minmax(0, 1fr); gap: 34px; }
    .nb-stats { margin-top: 56px; }
    .nb-row { grid-template-columns: minmax(0, 1fr); gap: 12px; padding-block: 30px; }
    .nb-row__num { padding-top: 0; }
    .nb-row__title { font-size: 22px; }
    .nb-band { padding: 30px 24px 34px; }
    .nb-cta { padding-block: 68px; }
    .nb-cta__title { font-size: 26px; line-height: 1.2; }
    .nb-footer__inner { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .nb-footer__inner > :last-child { justify-self: start; }
  }

  /* Very narrow phones: the mark alone carries the brand in the bar. */
  @media (max-width: 359px) {
    :root { --gutter: 20px; }
    .nb-brand__word { display: none; }
  }

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

  /* ---------- contact page ---------- */
  .nb-contact { display: grid; grid-template-columns: 0.85fr 1fr; gap: 84px; margin-top: 58px; }
  .nb-contact__lead { font-size: 16.3px; line-height: 27px; color: var(--text-soft); }
  .nb-contact__rule { border-top: 1px solid var(--divider); margin: 38px 0 4px; }
  .nb-detail { margin-top: 26px; }
  .nb-detail__label {
    font-family: var(--font-body); font-size: 12px; font-weight: 500;
    letter-spacing: 0.13em; text-transform: uppercase; color: var(--accent-text); line-height: 1;
  }
  .nb-detail__value { font-family: var(--font-display); font-size: 20.2px; font-weight: 400; line-height: 1.35; margin-top: 9px; }
  .nb-detail__value a { text-decoration: none; transition: color 200ms cubic-bezier(.2,.7,.3,1); }
  .nb-detail__value a:hover { color: var(--accent-text); }
  .nb-contact__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; margin-top: 40px; }
  .nb-btn__icon { width: 16px; height: 16px; margin-right: 11px; flex: none; }

  /* ---------- form ---------- */
  .nb-form { display: grid; gap: 26px; }
  .nb-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
  .nb-field label {
    display: block; font-family: var(--font-body); font-size: 13px; font-weight: 500;
    color: var(--text-soft); margin-bottom: 9px; letter-spacing: 0.01em;
  }
  .nb-field label .req { color: var(--accent-text); }
  .nb-field input,
  .nb-field textarea {
    width: 100%; font-family: var(--font-body); font-size: 16px; line-height: 1.5;
    color: var(--text); background: transparent; border: 0;
    border-bottom: 1px solid var(--divider); border-radius: 0; padding: 9px 2px;
    transition: border-color 200ms cubic-bezier(.2,.7,.3,1), box-shadow 200ms cubic-bezier(.2,.7,.3,1);
  }
  .nb-field input:focus,
  .nb-field textarea:focus {
    outline: none; border-bottom-color: var(--accent); box-shadow: 0 1px 0 0 var(--accent);
  }
  .nb-field textarea { min-height: 132px; resize: vertical; }
  .nb-field__note { font-size: 13px; line-height: 1.55; color: var(--text-faint); margin-top: 10px; }
  .nb-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
  .nb-form .nb-btn { justify-self: start; margin-top: 4px; }

  @media (max-width: 900px) {
    .nb-contact { grid-template-columns: minmax(0, 1fr); gap: 54px; margin-top: 44px; }
  }
  @media (max-width: 680px) {
    .nb-form__row { grid-template-columns: minmax(0, 1fr); gap: 26px; }
    .nb-form .nb-btn { justify-self: stretch; }
    .nb-contact__actions { align-items: stretch; }
  }

  /* ---------- legal ---------- */
  .nb-legal { border-top: 1px solid var(--divider); margin-top: 34px; padding-top: 26px; }
  .nb-legal p { font-size: 12.4px; line-height: 1.65; color: var(--text-faint); max-width: 880px; }
  .nb-legal p + p { margin-top: 12px; }
  .nb-legal a { display: inline-block; padding: 3px 0; text-decoration: none; border-bottom: 1px solid var(--divider); transition: color 200ms cubic-bezier(.2,.7,.3,1); }
  .nb-legal a:hover { color: var(--accent-text); }
  .nb-legal__links { margin-top: 16px; }
  .nb-prose p { font-size: 16px; line-height: 27px; color: var(--text-soft); max-width: 720px; }
  .nb-prose p + p { margin-top: 18px; }
  .nb-prose h2 { font-family: var(--font-display); font-size: 24px; font-weight: 400; line-height: 1.3; margin-top: 42px; }
  .nb-prose h2 + p { margin-top: 12px; }
  .nb-prose a { transition: color 200ms cubic-bezier(.2,.7,.3,1); }
  .nb-prose a:hover { color: var(--accent-text); }
