/* ------------------------------------------------------------------
     Framework Finder — styled with the GOV.UK Design System's visual
     language (open-licensed: layout, type scale, colour, components).
     Not affiliated with GOV.UK. No Crown branding or GDS Transport font;
     Arial is GOV.UK's own documented fallback face.
     ------------------------------------------------------------------ */
  * { box-sizing: border-box; }
  .ff-html { background:#ffffff; -webkit-text-size-adjust:100%; }
  body {
    margin:0; background:#ffffff; color:#0b0c0c;
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
    -webkit-font-smoothing:antialiased; font-size:19px; line-height:1.31579;
  }
  a { color:#1d70b8; }

  /* focus — the signature GOV.UK yellow */
  a:focus, button:focus, input:focus, select:focus, .govuk-link:focus {
    outline:3px solid transparent; color:#0b0c0c; background-color:#ffdd00;
    box-shadow:0 -2px #ffdd00, 0 4px #0b0c0c; text-decoration:none;
  }
  input:focus, select:focus { box-shadow:inset 0 0 0 4px #0b0c0c; background-color:#fff; color:#0b0c0c; }

  .govuk-width-container { max-width:960px; margin:0 15px; }
  @media (min-width:1020px){ .govuk-width-container { margin:0 auto; } }
  .govuk-main-wrapper { padding:20px 0 40px; }
  @media (min-width:640px){ .govuk-main-wrapper { padding:40px 0 60px; } }

  .govuk-grid-row { margin:0 -15px; }
  .govuk-grid-row::after { content:""; display:block; clear:both; }
  .govuk-grid-column-one-half, .govuk-grid-column-one-third, .govuk-grid-column-full { padding:0 15px; box-sizing:border-box; }
  @media (min-width:640px){
    .govuk-grid-column-one-half { width:50%; float:left; }
    .govuk-grid-column-one-third { width:33.3333%; float:left; }
  }

  /* skip link */
  .govuk-skip-link { position:absolute; left:-9999px; padding:10px 15px; background:#ffdd00; color:#0b0c0c; font-weight:700; }
  .govuk-skip-link:focus { left:0; top:0; z-index:10; }

  /* header (brand-safe: product name, no Crown) */
  .ff-header { background:#0b0c0c; border-bottom:10px solid #1d70b8; }
  .ff-header__content { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:8px 0; }
  .ff-header__name { color:#ffffff; font-size:24px; line-height:1.2; font-weight:700; text-decoration:none; }
  .ff-header__name:focus { background:#ffdd00; color:#0b0c0c; box-shadow:0 -2px #ffdd00, 0 4px #0b0c0c; }
  .ff-header__product { color:#ffffff; font-weight:400; opacity:.85; font-size:16px; }

  /* phase banner */
  .govuk-phase-banner { padding:10px 0; border-bottom:1px solid #b1b4b6; }
  .govuk-phase-banner__content { font-size:16px; margin:0; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  .govuk-phase-banner__text { color:#0b0c0c; }

  /* tags */
  .govuk-tag {
    display:inline-block; font-size:14px; line-height:1.25; font-weight:700; letter-spacing:.5px;
    text-transform:uppercase; padding:3px 8px 2px; color:#144e81; background:#d2e2f1; white-space:nowrap;
  }
  .govuk-tag--green { color:#005a30; background:#cce2d8; }
  .govuk-tag--yellow { color:#594d00; background:#fff7bf; }
  .govuk-tag--red { color:#942514; background:#f6d7d2; }
  .govuk-tag--grey { color:#383f43; background:#eeefef; }

  /* typography helpers */
  .govuk-heading-xl { font-size:32px; line-height:1.09; font-weight:700; margin:0 0 30px; }
  .govuk-heading-l { font-size:24px; line-height:1.04; font-weight:700; margin:0 0 20px; }
  .govuk-heading-m { font-size:18px; line-height:1.11; font-weight:700; margin:0 0 15px; }
  .govuk-heading-s { font-size:16px; line-height:1.25; font-weight:700; margin:0 0 5px; }
  @media (min-width:640px){
    .govuk-heading-xl { font-size:48px; line-height:1.04; margin-bottom:50px; }
    .govuk-heading-l { font-size:36px; line-height:1.11; }
    .govuk-heading-m { font-size:24px; line-height:1.25; }
    .govuk-heading-s { font-size:19px; }
  }
  .govuk-body, .govuk-body-m { font-size:19px; line-height:1.31; margin:0 0 15px; }
  .govuk-body-s { font-size:16px; line-height:1.25; margin:0 0 15px; }
  .govuk-hint { font-size:19px; line-height:1.31; color:#505a5f; margin:0 0 15px; }
  .govuk-!-margin-bottom-0 { margin-bottom:0 !important; }

  /* links */
  .govuk-link { color:#1d70b8; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.15em; }
  .govuk-link:hover { color:#003078; text-decoration-thickness:3px; }
  .govuk-link:visited { color:#4c2c92; }
  .govuk-link--no-visited-state:visited { color:#1d70b8; }

  /* forms */
  .govuk-form-group { margin-bottom:20px; }
  .govuk-label { display:block; font-size:19px; line-height:1.25; margin-bottom:5px; }
  .govuk-label--l { font-size:24px; font-weight:700; margin-bottom:15px; }
  @media (min-width:640px){ .govuk-label--l { font-size:36px; } }
  .govuk-label--s { font-size:16px; font-weight:700; }
  @media (min-width:640px){ .govuk-label--s { font-size:19px; } }
  .govuk-input {
    width:100%; height:40px; margin-top:0; padding:5px; border:2px solid #0b0c0c;
    font-family:inherit; font-size:19px; line-height:1.25; -webkit-appearance:none; border-radius:0;
  }
  .govuk-select {
    height:40px; padding:5px; border:2px solid #0b0c0c; font-family:inherit; font-size:19px;
    background:#fff; border-radius:0; max-width:100%; width:100%;
  }
  .govuk-checkboxes__item { display:flex; align-items:center; gap:8px; font-size:19px; min-height:30px; }
  .govuk-checkboxes__input { width:24px; height:24px; }

  /* button */
  .govuk-button {
    display:inline-block; margin:0; padding:8px 12px 7px; border:2px solid transparent; border-radius:0;
    color:#fff; background:#00703c; box-shadow:0 2px 0 #002d18; font-family:inherit; font-size:19px;
    line-height:1.19; text-align:center; text-decoration:none; cursor:pointer; -webkit-appearance:none;
  }
  .govuk-button:hover { background:#005a30; }
  .govuk-button:focus { background:#ffdd00; color:#0b0c0c; box-shadow:0 2px 0 #0b0c0c; outline:3px solid transparent; }
  .govuk-button--secondary { background:#f3f2f1; color:#0b0c0c; box-shadow:0 2px 0 #929191; }
  .govuk-button--secondary:hover { background:#dbdad9; }

  /* inset text (used for the neutrality statement + empty state) */
  .govuk-inset-text { padding:15px; margin:20px 0; border-left:10px solid #b1b4b6; font-size:19px; line-height:1.31; }
  .govuk-inset-text--blue { border-left-color:#1d70b8; background:#f4f8fb; }

  /* summary card (one per framework) */
  .govuk-summary-card { border:1px solid #b1b4b6; margin-bottom:20px; }
  .govuk-summary-card__title-wrapper {
    display:flex; justify-content:space-between; align-items:flex-start; gap:12px;
    padding:15px; background:#f3f2f1; border-bottom:1px solid #b1b4b6;
  }
  .govuk-summary-card__title { font-size:19px; line-height:1.25; font-weight:700; margin:0; }
  @media (min-width:640px){ .govuk-summary-card__title { font-size:24px; } }
  .govuk-summary-card__actions { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
  .govuk-summary-card__content { padding:15px 15px 5px; }

  /* summary list */
  .govuk-summary-list { margin:0 0 15px; font-size:16px; }
  @media (min-width:640px){ .govuk-summary-list { font-size:19px; } }
  .govuk-summary-list__row { display:flex; flex-wrap:wrap; padding:10px 0; border-bottom:1px solid #b1b4b6; }
  .govuk-summary-list__row:last-child { border-bottom:0; }
  .govuk-summary-list__key { font-weight:700; width:100%; margin:0; }
  .govuk-summary-list__value { width:100%; margin:0; }
  @media (min-width:480px){
    .govuk-summary-list__key { width:35%; padding-right:20px; }
    .govuk-summary-list__value { width:65%; }
  }
  .ff-cpv-code {
    display:inline-block; font-family:"Courier New",monospace; font-size:14px; background:#f3f2f1;
    border:1px solid #b1b4b6; padding:0 6px; margin:0 4px 4px 0;
  }
  .ff-go { font-weight:700; }
  .ff-filters { background:#f3f2f1; border:1px solid #b1b4b6; padding:15px 15px 5px; margin-bottom:25px; }
  .ff-examples { margin:0 0 25px; font-size:16px; }
  .ff-examples a { margin-right:12px; white-space:nowrap; }
  .govuk-visually-hidden {
    position:absolute!important; width:1px; height:1px; margin:0; padding:0; overflow:hidden;
    clip:rect(0 0 0 0); border:0; white-space:nowrap;
  }

  /* footer */
  .govuk-footer { border-top:1px solid #b1b4b6; background:#f3f2f1; padding:25px 0; margin-top:20px; font-size:16px; }
  .govuk-footer__meta { color:#0b0c0c; }
  .govuk-footer__meta a { color:#1d70b8; }
