/* Editorial layouts. Authoritative version: ../release.json. */
/* public/briefings.php */
@scope (main) {

    :scope.fo-briefings-page {
      max-width: none;
      padding: 0 0 64px;
      background: #f6f3eb;
      color: #11172f;
    }

    .fo-briefings-masthead,
    .fo-briefings-search,
    .fo-briefings-results {
      width: min(1180px, calc(100vw - 32px));
      margin-inline: auto;
    }

    .fo-briefings-masthead {
      padding: 30px 0 20px;
      border-bottom: 6px double #123a73;
    }

    .fo-briefings-edition {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 12px;
      padding: 8px 0;
      border-top: 1px solid #123a73;
      border-bottom: 1px solid #123a73;
      color: #434b62;
      font-size: .82rem;
      font-weight: 800;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .fo-briefings-masthead h1 {
      margin: 24px 0 10px;
      color: #123a73;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: clamp(3rem, 8vw, 6.8rem);
      font-weight: 700;
      line-height: .88;
      letter-spacing: -.055em;
      text-align: center;
    }

    .fo-briefings-standfirst {
      max-width: 800px;
      margin: 18px auto 22px;
      color: #333b52;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: clamp(1.08rem, 2vw, 1.35rem);
      line-height: 1.5;
      text-align: center;
    }

    .fo-briefings-desks {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 8px;
      margin: 0;
      padding: 14px 0 0;
      border-top: 1px solid #c9c3b6;
      list-style: none;
    }

    .fo-briefings-desks a {
      display: inline-flex;
      padding: 7px 11px;
      border-radius: 999px;
      color: #123a73;
      font-size: .88rem;
      font-weight: 900;
      text-decoration: none;
    }

    .fo-briefings-desks a:hover,
    .fo-briefings-desks a[aria-current="page"] {
      background: #123a73;
      color: #fff;
    }

    .fo-briefings-desks a:focus {
      outline: 3px solid #ffdd00;
      outline-offset: 2px;
    }

    .fo-briefings-search {
      margin-top: 24px;
      padding: 20px;
      border-radius: 16px;
      background: #123a73;
      color: #fff;
      box-shadow: 0 14px 34px rgba(17,31,72,.16);
    }

    .fo-briefings-search form {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(190px, .32fr) auto;
      gap: 14px;
      align-items: end;
    }

    .fo-briefings-field {
      display: grid;
      gap: 6px;
    }

    .fo-briefings-field label {
      color: #fff;
      font-weight: 900;
    }

    .fo-briefings-field input,
    .fo-briefings-field select {
      width: 100%;
      min-height: 48px;
      box-sizing: border-box;
      border: 2px solid #fff;
      border-radius: 6px;
      background: #fff;
      color: #11172f;
      font: inherit;
    }

    .fo-briefings-field input {
      padding: 10px 12px;
    }

    .fo-briefings-field select {
      padding: 8px 34px 8px 10px;
    }

    .fo-briefings-field input:focus,
    .fo-briefings-field select:focus {
      border-color: #123a73;
      outline: 3px solid #ffdd00;
      outline-offset: 2px;
    }

    .fo-briefings-search button {
      min-height: 48px;
      margin: 0;
      padding: 10px 18px;
      border: 2px solid #d8ff58;
      border-radius: 6px;
      background: #d8ff58;
      color: #123a73;
      font: inherit;
      font-weight: 900;
      cursor: pointer;
    }

    .fo-briefings-search button:hover {
      border-color: #e4ff8e;
      background: #e4ff8e;
    }

    .fo-briefings-search button:focus {
      outline: 3px solid #ffdd00;
      outline-offset: 3px;
    }

    .fo-briefings-results {
      margin-top: 30px;
    }

    .fo-briefings-results-header {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 18px;
      padding-bottom: 12px;
      border-bottom: 3px solid #123a73;
    }

    .fo-briefings-results-header h2 {
      margin: 0;
      color: #123a73;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: clamp(1.8rem, 3.4vw, 2.7rem);
    }

    .fo-briefings-results-header p {
      margin: 0;
      color: #51586c;
      font-weight: 800;
    }

    .fo-briefings-clear {
      color: #123a73;
      font-weight: 900;
    }

    .fo-briefing-lead {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
      gap: 28px;
      padding: 26px 0 30px;
      border-bottom: 1px solid #9da3b2;
    }

    .fo-briefing-lead__visual,
    .fo-briefing-card__visual {
      overflow: hidden;
      background: #123a73;
    }

    .fo-briefing-lead__visual {
      border-radius: 14px;
    }

    .fo-briefing-lead__visual img,
    .fo-briefing-card__visual img {
      display: block;
      width: 100%;
      height: 100%;
      /* Portrait artwork is the default; preserve the full visual in the fixed newspaper slots. */
      object-fit: contain;
      object-position: center;
    }

    .fo-briefing-visual-link {
      display: block;
      height: 100%;
      color: inherit;
      text-decoration: none;
    }

    .fo-briefing-visual-link:focus {
      outline: 3px solid #ffdd00;
      outline-offset: -3px;
    }

    .fo-briefing-visual-link:hover img {
      transform: scale(1.02);
    }

    .fo-briefing-lead__visual img {
      min-height: 520px;
      aspect-ratio: 4 / 5;
    }

    .fo-briefing-fallback {
      display: grid;
      align-content: center;
      min-height: 320px;
      padding: 30px;
      background: linear-gradient(145deg, #123a73, #26336f);
      color: #fff;
    }

    .fo-briefing-fallback span {
      font-size: .82rem;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .fo-briefing-fallback strong {
      max-width: 13ch;
      margin-top: 8px;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: clamp(2rem, 4vw, 3.4rem);
      line-height: 1;
    }

    .fo-briefing-story-copy {
      align-self: center;
    }

    .fo-briefing-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 14px;
      margin-bottom: 12px;
      color: #5a6174;
      font-size: .84rem;
      font-weight: 800;
    }

    .fo-briefing-meta a {
      color: #a44700;
      font-weight: 900;
    }

    .fo-briefing-story-link {
      display: block;
      color: #11172f;
      text-decoration: none;
    }

    .fo-briefing-story-link h2,
    .fo-briefing-story-link h3 {
      margin: 0;
      color: #11172f;
      font-family: Georgia, 'Times New Roman', serif;
      line-height: 1.04;
    }

    .fo-briefing-story-link h2 {
      font-size: clamp(2rem, 4.2vw, 4rem);
      letter-spacing: -.035em;
    }

    .fo-briefing-story-link h3 {
      font-size: clamp(1.45rem, 2.3vw, 2rem);
    }

    .fo-briefing-story-link span {
      display: inline-flex;
      margin-top: 16px;
      color: #a44700;
      font-weight: 900;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .fo-briefing-story-link:hover h2,
    .fo-briefing-story-link:hover h3 {
      color: #2f5793;
      text-decoration: underline;
      text-decoration-thickness: 2px;
      text-underline-offset: 5px;
    }

    .fo-briefing-story-link:focus {
      outline: 3px solid #ffdd00;
      outline-offset: 5px;
    }

    .fo-briefing-dek {
      margin: 16px 0 0;
      color: #3f465a;
      font-family: Georgia, 'Times New Roman', serif;
      font-size: 1.06rem;
      line-height: 1.55;
    }

    .fo-briefing-facts {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 18px 0 0;
      padding: 0;
      list-style: none;
    }

    .fo-briefing-facts li {
      padding: 6px 9px;
      border: 1px solid #c1b9a9;
      border-radius: 999px;
      color: #444b5e;
      font-size: .78rem;
      font-weight: 800;
    }

    .fo-briefings-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
      padding-top: 26px;
    }

    .fo-briefing-card {
      display: flex;
      min-width: 0;
      flex-direction: column;
      padding-bottom: 24px;
      border-bottom: 4px solid #123a73;
    }

    .fo-briefing-card__visual {
      margin-bottom: 16px;
      border-radius: 10px;
      aspect-ratio: 4 / 5;
    }

    .fo-briefing-card__visual .fo-briefing-fallback {
      min-height: 100%;
      box-sizing: border-box;
    }

    .fo-briefing-card .fo-briefing-dek {
      font-size: .98rem;
    }

    .fo-briefings-empty {
      margin-top: 24px;
      padding: 28px;
      border: 2px solid #123a73;
      background: #fff;
    }

    .fo-briefings-empty h2 {
      margin-top: 0;
      font-family: Georgia, 'Times New Roman', serif;
    }

    .fo-briefings-pagination {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 34px;
      padding-top: 20px;
      border-top: 1px solid #9da3b2;
    }

    .fo-briefings-pagination a,
    .fo-briefings-pagination span {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 42px;
      min-height: 42px;
      padding: 6px 10px;
      box-sizing: border-box;
      border: 2px solid #123a73;
      border-radius: 999px;
      font-weight: 900;
      text-decoration: none;
    }

    .fo-briefings-pagination a {
      color: #123a73;
      background: #fff;
    }

    .fo-briefings-pagination a:hover,
    .fo-briefings-pagination span[aria-current="page"] {
      background: #123a73;
      color: #fff;
    }

    .fo-briefings-pagination a:focus {
      outline: 3px solid #ffdd00;
      outline-offset: 2px;
    }

    @media (max-width: 900px) {
      .fo-briefings-search form,
      .fo-briefing-lead {
        grid-template-columns: 1fr;
      }

      .fo-briefings-search button {
        width: fit-content;
      }

      .fo-briefing-lead__visual img {
        min-height: 0;
      }

      .fo-briefings-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 620px) {
      .fo-briefings-masthead h1 {
        font-size: clamp(2.7rem, 16vw, 4.3rem);
      }

      .fo-briefings-edition,
      .fo-briefings-results-header {
        align-items: start;
        flex-direction: column;
      }

      .fo-briefings-grid {
        grid-template-columns: 1fr;
      }

      .fo-briefing-story-link h2 {
        font-size: clamp(2rem, 11vw, 3rem);
      }

      .fo-briefings-pagination {
        flex-wrap: wrap;
      }
    }
  
}
/* public/aliexpress-eu-fine-dsa.php */
@scope (main) {

    :scope.fo-aliexpress-page {
      max-width: none;
      padding: 0 0 52px;
    }

    .fo-aliexpress-hero,
    .fo-aliexpress-stats,
    .fo-aliexpress-content {
      width: min(1180px, calc(100vw - 32px));
      margin-inline: auto;
    }

    .fo-aliexpress-hero {
      margin-top: 24px;
      overflow: hidden;
      border-bottom: 8px solid #d8ff58;
      border-radius: 16px;
      color: #fff;
      background: #123a73;
    }

    .fo-aliexpress-hero__inner {
      display: grid;
      grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr);
      gap: 36px;
      align-items: center;
      padding: 46px 48px;
    }

    .fo-aliexpress-kicker {
      display: inline-flex;
      width: fit-content;
      padding: 6px 12px;
      border-radius: 999px;
      color: #ffd59d;
      background: rgba(255,138,0,.18);
      font-size: .88rem;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .fo-aliexpress-hero h1 {
      max-width: 12ch;
      margin: 14px 0 18px;
      color: #fff;
      font-size: clamp(2.25rem, 5vw, 4.6rem);
      line-height: .98;
    }

    .fo-aliexpress-hero p {
      max-width: 66ch;
      color: #eef2ff;
    }

    .fo-aliexpress-hero__image {
      margin: 0;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 22px;
      background: #071127;
      box-shadow: 0 24px 56px rgba(0,0,0,.3);
    }

    .fo-aliexpress-hero__image img {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      object-position: center;
    }

    .fo-aliexpress-hero__image figcaption {
      padding: 10px 14px;
      color: #3f4850;
      background: #fff;
      font-size: .78rem;
    }

    .fo-aliexpress-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-top: 24px;
    }

    .fo-aliexpress-stat {
      padding: 18px 20px;
      border: 1px solid #c6d1cf;
      border-radius: 16px;
      background: #fff;
      box-shadow: 0 12px 30px rgba(22,31,66,.07);
    }

    .fo-aliexpress-stat strong {
      display: block;
      color: #123a73;
      font-size: clamp(1.65rem, 4vw, 2.45rem);
      line-height: 1.05;
    }

    .fo-aliexpress-stat span {
      color: #505a5f;
      font-size: .92rem;
    }

    .fo-aliexpress-content {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 350px);
      gap: 24px;
      align-items: start;
      margin-top: 24px;
    }

    .fo-aliexpress-main,
    .fo-aliexpress-panel {
      border: 1px solid #c6d1cf;
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 14px 34px rgba(22,31,66,.07);
    }

    .fo-aliexpress-main {
      padding: clamp(22px, 4vw, 40px);
    }

    .fo-aliexpress-main section + section {
      margin-top: 42px;
      padding-top: 36px;
      border-top: 1px solid #c6d1cf;
    }

    .fo-aliexpress-main h2,
    .fo-aliexpress-main h3,
    .fo-aliexpress-panel h2 {
      color: #123a73;
    }

    .fo-aliexpress-main h2,
    .fo-aliexpress-panel h2 {
      margin-top: 0;
    }

    .fo-aliexpress-callout {
      margin: 24px 0;
      padding: 18px 20px;
      border-left: 6px solid #d4351c;
      background: #fff1f0;
    }

    .fo-aliexpress-callout strong {
      display: block;
      margin-bottom: 5px;
      color: #8a1f11;
    }

    .fo-aliexpress-balance {
      margin: 24px 0;
      padding: 18px 20px;
      border-left: 6px solid #00703c;
      background: #eaf7ef;
    }

    .fo-aliexpress-balance strong {
      display: block;
      margin-bottom: 5px;
      color: #005a30;
    }

    .fo-aliexpress-failures {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-top: 20px;
    }

    .fo-aliexpress-failure {
      padding: 18px;
      border: 1px solid #c6d1cf;
      border-radius: 15px;
      background: #f7f8fb;
    }

    .fo-aliexpress-failure h3 {
      margin: 0 0 8px;
      font-size: 1.08rem;
    }

    .fo-aliexpress-failure p {
      margin: 0;
      color: #505a5f;
      font-size: .92rem;
    }

    .fo-aliexpress-timeline {
      margin: 24px 0 0;
      padding: 0;
      list-style: none;
    }

    .fo-aliexpress-timeline li {
      position: relative;
      margin-left: 11px;
      padding: 0 0 22px 28px;
      border-left: 3px solid #ccd3e0;
    }

    .fo-aliexpress-timeline li:last-child {
      padding-bottom: 0;
      border-left-color: transparent;
    }

    .fo-aliexpress-timeline li::before {
      position: absolute;
      top: 2px;
      left: -9px;
      width: 15px;
      height: 15px;
      border: 3px solid #fff;
      border-radius: 50%;
      background: #d8ff58;
      box-shadow: 0 0 0 2px #d8ff58;
      content: "";
    }

    .fo-aliexpress-timeline time {
      display: block;
      color: #123a73;
      font-weight: 900;
    }

    .fo-aliexpress-timeline p {
      margin: 4px 0 0;
    }

    .fo-aliexpress-sidebar {
      display: grid;
      gap: 16px;
      position: sticky;
      top: 18px;
    }

    .fo-aliexpress-panel {
      padding: 22px;
    }

    .fo-aliexpress-panel--warning {
      border-color: #e4ff8e;
      background: #eef5d7;
    }

    .fo-aliexpress-list,
    .fo-aliexpress-sources {
      padding-left: 21px;
    }

    .fo-aliexpress-list li,
    .fo-aliexpress-sources li {
      margin-bottom: 10px;
    }

    .fo-aliexpress-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 9px 15px;
      border: 2px solid #123a73;
      border-radius: 7px;
      color: #fff !important;
      background: #123a73;
      font-weight: 900;
      text-decoration: none;
    }

    .fo-aliexpress-button:hover {
      color: #123a73 !important;
      background: #fff;
    }

    .fo-aliexpress-media {
      width: min(1180px, calc(100vw - 32px));
      margin: 28px auto 0;
      padding: clamp(24px, 4vw, 38px);
      border-top: 7px solid #d8ff58;
      border-radius: 20px;
      color: #fff;
      background: #090d19;
      box-shadow: 0 16px 38px rgba(17,31,72,.13);
    }

    .fo-aliexpress-media h2 {
      margin: 0 0 8px;
      color: #fff;
    }

    .fo-aliexpress-media__intro {
      max-width: 74ch;
      margin: 0;
      color: #d9e0f5;
    }

    .fo-aliexpress-media__grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-top: 22px;
    }

    .fo-aliexpress-media__card {
      display: flex;
      min-height: 260px;
      padding: 20px;
      flex-direction: column;
      border: 1px solid #343b4d;
      border-radius: 16px;
      color: #fff !important;
      background: linear-gradient(145deg, #171b26 0%, #0c101a 100%);
      text-decoration: none;
      transition: transform .18s ease, border-color .18s ease, background .18s ease;
    }

    .fo-aliexpress-media__card:hover {
      border-color: #d8ff58;
      color: #fff !important;
      background: linear-gradient(145deg, #1d2434 0%, #101522 100%);
      transform: translateY(-3px);
    }

    .fo-aliexpress-media__card:focus {
      outline: 4px solid #ffdd00;
      outline-offset: 3px;
    }

    .fo-aliexpress-media__source {
      display: flex;
      gap: 10px;
      align-items: center;
      color: #dce3f7;
      font-size: .88rem;
      font-weight: 800;
    }

    .fo-aliexpress-media__badge {
      display: inline-flex;
      width: 36px;
      height: 36px;
      flex: 0 0 36px;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      color: #123a73;
      background: #fff;
      font-size: .76rem;
      font-weight: 950;
      letter-spacing: -.03em;
    }

    .fo-aliexpress-media__badge--guardian {
      color: #fff;
      background: #052962;
    }

    .fo-aliexpress-media__badge--lemonde {
      color: #fff;
      background: #2b2b2b;
    }

    .fo-aliexpress-media__card h3 {
      margin: 18px 0 10px;
      color: #fff;
      font-size: clamp(1.12rem, 2vw, 1.34rem);
      line-height: 1.25;
    }

    .fo-aliexpress-media__card p {
      margin: 0;
      color: #bec8e4;
      font-size: .92rem;
    }

    .fo-aliexpress-media__meta {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      margin-top: auto;
      padding-top: 22px;
      color: #ffd49c;
      font-size: .82rem;
      font-weight: 800;
    }

    .fo-aliexpress-media__note {
      margin: 16px 0 0;
      color: #aeb9d5;
      font-size: .82rem;
    }

    @media (max-width: 920px) {
      .fo-aliexpress-hero__inner,
      .fo-aliexpress-content {
        grid-template-columns: 1fr;
      }

      .fo-aliexpress-hero h1 {
        max-width: 17ch;
      }

      .fo-aliexpress-sidebar {
        position: static;
      }

      .fo-aliexpress-media__grid {
        grid-template-columns: 1fr;
      }

      .fo-aliexpress-media__card {
        min-height: 0;
      }
    }

    @media (max-width: 640px) {
      .fo-aliexpress-hero {
        width: calc(100% - 24px);
        margin-top: 12px;
        border-radius: 12px;
      }

      .fo-aliexpress-hero__inner {
        padding: 28px 18px;
      }

      .fo-aliexpress-stats,
      .fo-aliexpress-failures {
        grid-template-columns: 1fr;
      }
    }
  
}
/* public/squishy-toys-asbestos.php */
@scope (main) {

    :scope.fo-squishy-page {
      max-width: none;
      padding: 0 0 48px;
    }

    .fo-squishy-hero {
      width: min(1180px, calc(100% - 32px));
      margin: 24px auto 0;
      overflow: hidden;
      background: #123a73;
      color: #fff;
      border-bottom: 8px solid #d8ff58;
      border-radius: 16px;
    }

    .fo-squishy-content,
    .fo-squishy-stats {
      width: min(1180px, calc(100vw - 32px));
      margin: 0 auto;
    }

    .fo-squishy-hero__inner {
      width: 100%;
      margin: 0;
      box-sizing: border-box;
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
      gap: 38px;
      align-items: center;
      padding: 48px;
    }

    .fo-squishy-kicker {
      display: inline-flex;
      width: fit-content;
      padding: 6px 12px;
      border-radius: 999px;
      background: rgba(255,138,0,.18);
      color: #ffd59d;
      font-size: .9rem;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .fo-squishy-hero h1 {
      max-width: 13ch;
      margin: 14px 0 18px;
      color: #fff;
      font-size: clamp(2.2rem, 5vw, 4.6rem);
      line-height: .98;
    }

    .fo-squishy-hero p {
      max-width: 66ch;
      color: #eef2ff;
    }

    .fo-squishy-hero__image {
      margin: 0;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 22px;
      background: #fff;
      box-shadow: 0 24px 56px rgba(0,0,0,.3);
    }

    .fo-squishy-hero__image img {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      object-position: center;
    }

    .fo-squishy-hero__image figcaption {
      padding: 10px 14px;
      color: #3f4850;
      background: #fff;
      font-size: .78rem;
    }

    .fo-squishy-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-top: 24px;
    }

    .fo-squishy-stat {
      padding: 18px 20px;
      border: 1px solid #c6d1cf;
      border-radius: 16px;
      background: #fff;
      box-shadow: 0 12px 30px rgba(22,31,66,.07);
    }

    .fo-squishy-stat strong {
      display: block;
      color: #123a73;
      font-size: clamp(1.7rem, 4vw, 2.5rem);
      line-height: 1.05;
    }

    .fo-squishy-stat span {
      color: #505a5f;
      font-size: .92rem;
    }

    .fo-squishy-content {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 350px);
      gap: 24px;
      align-items: start;
      margin-top: 24px;
    }

    .fo-squishy-main,
    .fo-squishy-panel {
      border: 1px solid #c6d1cf;
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 14px 34px rgba(22,31,66,.07);
    }

    .fo-squishy-main {
      padding: clamp(22px, 4vw, 40px);
    }

    .fo-squishy-main section + section {
      margin-top: 42px;
      padding-top: 36px;
      border-top: 1px solid #c6d1cf;
    }

    .fo-squishy-main h2,
    .fo-squishy-main h3,
    .fo-squishy-panel h2 {
      color: #123a73;
    }

    .fo-squishy-main h2 {
      margin-top: 0;
    }

    .fo-squishy-callout {
      margin: 24px 0;
      padding: 18px 20px;
      border-left: 6px solid #d4351c;
      background: #fff1f0;
    }

    .fo-squishy-callout strong {
      display: block;
      margin-bottom: 5px;
      color: #8a1f11;
    }

    .fo-squishy-balance {
      margin: 24px 0;
      padding: 18px 20px;
      border-left: 6px solid #00703c;
      background: #eaf7ef;
    }

    .fo-squishy-balance strong {
      display: block;
      margin-bottom: 5px;
      color: #005a30;
    }

    .fo-squishy-table-wrap {
      overflow-x: auto;
      margin-top: 18px;
    }

    .fo-squishy-table {
      width: 100%;
      border-collapse: collapse;
      font-size: .91rem;
    }

    .fo-squishy-table th,
    .fo-squishy-table td {
      padding: 11px 12px;
      border-bottom: 1px solid #c6d1cf;
      text-align: left;
      vertical-align: top;
    }

    .fo-squishy-table th {
      color: #123a73;
      background: #f4f6fb;
    }

    .fo-squishy-table a {
      font-weight: 800;
    }

    .fo-squishy-hazard-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-top: 20px;
    }

    .fo-squishy-hazard {
      padding: 18px;
      border: 1px solid #c6d1cf;
      border-radius: 15px;
      background: #f7f8fb;
    }

    .fo-squishy-hazard h3 {
      margin: 0 0 8px;
      font-size: 1.08rem;
    }

    .fo-squishy-hazard p {
      margin: 0;
      color: #505a5f;
      font-size: .91rem;
    }

    .fo-squishy-sidebar {
      display: grid;
      gap: 16px;
      position: sticky;
      top: 18px;
    }

    .fo-squishy-panel {
      padding: 22px;
    }

    .fo-squishy-panel h2 {
      margin-top: 0;
    }

    .fo-squishy-panel--warning {
      border-color: #e4ff8e;
      background: #eef5d7;
    }

    .fo-squishy-list,
    .fo-squishy-sources {
      padding-left: 21px;
    }

    .fo-squishy-list li,
    .fo-squishy-sources li {
      margin-bottom: 10px;
    }

    .fo-squishy-note {
      color: #505a5f;
      font-size: .88rem;
    }

    @media (max-width: 900px) {
      .fo-squishy-hero__inner,
      .fo-squishy-content {
        grid-template-columns: 1fr;
      }

      .fo-squishy-hero h1 {
        max-width: 18ch;
      }

      .fo-squishy-sidebar {
        position: static;
      }
    }

    @media (max-width: 640px) {
      .fo-squishy-hero {
        width: calc(100% - 24px);
        margin-top: 12px;
        border-radius: 12px;
      }

      .fo-squishy-hero__inner {
        padding: 28px 18px;
      }

      .fo-squishy-stats,
      .fo-squishy-hazard-grid {
        grid-template-columns: 1fr;
      }
    }
  
}
/* public/counterfeit-football-shirts.php */
@scope (main) {

    :scope.fo-counterfeit-page {
      max-width: none;
      padding: 0 0 48px;
    }

    .fo-counterfeit-hero {
      width: min(1180px, calc(100% - 32px));
      margin: 24px auto 0;
      overflow: hidden;
      background: #123a73;
      color: #fff;
      border-bottom: 8px solid #d8ff58;
      border-radius: 16px;
    }

    .fo-counterfeit-content,
    .fo-counterfeit-stats {
      width: min(1180px, calc(100vw - 32px));
      margin: 0 auto;
    }

    .fo-counterfeit-hero__inner {
      width: 100%;
      margin: 0;
      box-sizing: border-box;
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
      gap: 38px;
      align-items: center;
      padding: 48px;
    }

    .fo-counterfeit-kicker {
      display: inline-flex;
      width: fit-content;
      padding: 6px 12px;
      border-radius: 999px;
      background: rgba(255,138,0,.18);
      color: #ffd59d;
      font-size: .9rem;
      font-weight: 900;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .fo-counterfeit-hero h1 {
      max-width: 14ch;
      margin: 14px 0 18px;
      color: #fff;
      font-size: clamp(2.2rem, 5vw, 4.6rem);
      line-height: .98;
    }

    .fo-counterfeit-hero p {
      max-width: 66ch;
      color: #eef2ff;
    }

    .fo-counterfeit-hero__image {
      margin: 0;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 22px;
      background: #fff;
      box-shadow: 0 24px 56px rgba(0,0,0,.3);
    }

    .fo-counterfeit-hero__image img {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      object-position: center;
    }

    .fo-counterfeit-hero__image figcaption {
      padding: 10px 14px;
      color: #3f4850;
      background: #fff;
      font-size: .78rem;
    }

    .fo-counterfeit-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-top: 24px;
    }

    .fo-counterfeit-stat {
      padding: 18px 20px;
      border: 1px solid #c6d1cf;
      border-radius: 16px;
      background: #fff;
      box-shadow: 0 12px 30px rgba(22,31,66,.07);
    }

    .fo-counterfeit-stat strong {
      display: block;
      color: #123a73;
      font-size: clamp(1.7rem, 4vw, 2.5rem);
      line-height: 1.05;
    }

    .fo-counterfeit-stat span {
      color: #505a5f;
      font-size: .92rem;
    }

    .fo-counterfeit-content {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 350px);
      gap: 24px;
      align-items: start;
      margin-top: 24px;
    }

    .fo-counterfeit-main,
    .fo-counterfeit-panel {
      border: 1px solid #c6d1cf;
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 14px 34px rgba(22,31,66,.07);
    }

    .fo-counterfeit-main {
      padding: clamp(22px, 4vw, 40px);
    }

    .fo-counterfeit-main section + section {
      margin-top: 42px;
      padding-top: 36px;
      border-top: 1px solid #c6d1cf;
    }

    .fo-counterfeit-main h2,
    .fo-counterfeit-main h3,
    .fo-counterfeit-panel h2 {
      color: #123a73;
    }

    .fo-counterfeit-main h2 {
      margin-top: 0;
    }

    .fo-counterfeit-callout {
      margin: 24px 0;
      padding: 18px 20px;
      border-left: 6px solid #d4351c;
      background: #fff1f0;
    }

    .fo-counterfeit-callout strong {
      display: block;
      margin-bottom: 5px;
      color: #8a1f11;
    }

    .fo-counterfeit-figure {
      margin: 24px 0 0;
    }

    .fo-counterfeit-figure img {
      display: block;
      width: 100%;
      height: auto;
      border: 1px solid #c6d1cf;
      border-radius: 16px;
      background: #f7f8fb;
    }

    .fo-counterfeit-figure--test img {
      max-height: 520px;
      object-fit: contain;
      background: #10201c;
    }

    .fo-counterfeit-figure figcaption {
      margin-top: 8px;
      color: #505a5f;
      font-size: .85rem;
    }

    .fo-counterfeit-table-wrap {
      overflow-x: auto;
      margin-top: 18px;
    }

    .fo-counterfeit-table {
      width: 100%;
      border-collapse: collapse;
      font-size: .94rem;
    }

    .fo-counterfeit-table th,
    .fo-counterfeit-table td {
      padding: 10px 12px;
      border-bottom: 1px solid #c6d1cf;
      text-align: left;
    }

    .fo-counterfeit-table th:last-child,
    .fo-counterfeit-table td:last-child {
      text-align: right;
    }

    .fo-counterfeit-sidebar {
      display: grid;
      gap: 16px;
      position: sticky;
      top: 18px;
    }

    .fo-counterfeit-panel {
      padding: 22px;
    }

    .fo-counterfeit-panel h2 {
      margin-top: 0;
    }

    .fo-counterfeit-panel--warning {
      border-color: #e4ff8e;
      background: #eef5d7;
    }

    .fo-counterfeit-list,
    .fo-counterfeit-sources {
      padding-left: 21px;
    }

    .fo-counterfeit-list li,
    .fo-counterfeit-sources li {
      margin-bottom: 10px;
    }

    .fo-counterfeit-note {
      color: #505a5f;
      font-size: .88rem;
    }

    @media (max-width: 900px) {
      .fo-counterfeit-hero__inner,
      .fo-counterfeit-content {
        grid-template-columns: 1fr;
      }

      .fo-counterfeit-hero h1 {
        max-width: 18ch;
      }

      .fo-counterfeit-sidebar {
        position: static;
      }
    }

    @media (max-width: 640px) {
      .fo-counterfeit-hero {
        width: calc(100% - 24px);
        margin-top: 12px;
        border-radius: 12px;
      }

      .fo-counterfeit-hero__inner {
        padding: 28px 18px;
      }

      .fo-counterfeit-stats {
        grid-template-columns: 1fr;
      }
    }
  
}
/* public/fireworks.php */
@scope (main) {

    :scope.fo-fireworks-page {
      padding-top: 0;
    }

    .fo-fireworks-hero {
      width: min(1180px, calc(100% - 32px));
      margin: 24px auto 0;
      overflow: hidden;
      background: #123a73;
      color: #fff;
      border-bottom: 8px solid #d8ff58;
      border-radius: 16px;
    }

    .fo-fireworks-hero-inner {
      width: 100%;
      margin: 0;
      box-sizing: border-box;
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(300px, .8fr);
      gap: 36px;
      align-items: center;
      padding: 46px 48px;
    }

    .fo-fireworks-kicker {
      display: inline-flex;
      width: fit-content;
      padding: 6px 12px;
      border-radius: 999px;
      background: rgba(255, 138, 0, .18);
      color: #ffcf8b;
      font-weight: 800;
      margin-bottom: 14px;
    }

    .fo-fireworks-hero h1 {
      color: #fff;
      margin: 0 0 18px;
      max-width: 12ch;
      font-size: clamp(2.35rem, 5vw, 4.8rem);
      line-height: .96;
    }

    .fo-fireworks-hero p {
      color: #eef2ff;
      max-width: 68ch;
    }

    .fo-fireworks-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 24px;
    }

    .fo-fireworks-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 10px 16px;
      border: 2px solid #d8ff58;
      border-radius: 6px;
      background: #d8ff58;
      color: #123a73 !important;
      font-weight: 900;
      text-decoration: none;
    }

    .fo-fireworks-button--dark {
      background: transparent;
      color: #fff !important;
      border-color: rgba(255,255,255,.62);
    }

    .fo-fireworks-button--light {
      background: #eef5d7;
      color: #123a73 !important;
      border-color: #eef5d7;
    }

    .fo-fireworks-image-card {
      display: block;
      border-radius: 22px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.22);
      box-shadow: 0 24px 56px rgba(0,0,0,.32);
      background: #050816;
    }

    .fo-fireworks-image-card img {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      object-position: center top;
    }

    .fo-fireworks-content {
      width: min(1180px, calc(100vw - 32px));
      margin: 34px auto 0;
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
      gap: 24px;
      align-items: start;
    }

    .fo-fireworks-panel {
      background: #fff;
      border: 1px solid #c6d1cf;
      border-radius: 18px;
      box-shadow: 0 18px 44px rgba(22,31,66,.08);
      padding: 24px;
    }

    .fo-fireworks-panel h2,
    .fo-fireworks-panel h3 {
      color: #123a73;
      margin-top: 0;
    }

    .fo-fireworks-card-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-top: 18px;
    }

    .fo-fireworks-mini-card {
      border: 1px solid #c6d1cf;
      border-radius: 14px;
      padding: 16px;
      background: #f7f8fb;
    }

    .fo-fireworks-mini-card h3 {
      margin: 0 0 8px;
      font-size: 1.05rem;
    }

    .fo-fireworks-sidebar {
      display: grid;
      gap: 16px;
      position: sticky;
      top: 16px;
    }

    .fo-fireworks-deadline {
      background: #eef5d7;
      border-color: #e4ff8e;
    }

    .fo-fireworks-deadline strong {
      display: block;
      color: #123a73;
      font-size: 1.75rem;
      line-height: 1.1;
      margin-top: 4px;
    }

    .fo-fireworks-list {
      padding-left: 20px;
    }

    .fo-fireworks-list li {
      margin-bottom: 10px;
    }

    @media (max-width: 920px) {
      .fo-fireworks-hero-inner,
      .fo-fireworks-content {
        grid-template-columns: 1fr;
      }

      .fo-fireworks-hero h1 {
        max-width: 14ch;
      }

      .fo-fireworks-sidebar {
        position: static;
      }

      .fo-fireworks-card-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 640px) {
      .fo-fireworks-hero {
        width: calc(100% - 24px);
        margin-top: 12px;
        border-radius: 12px;
      }

      .fo-fireworks-hero-inner {
        padding: 28px 18px;
      }
    }
  
}
/* public/briefing-article.php */
@scope (main) {

    :scope.fo-managed-article { max-width: 1120px; }
    .fo-managed-article__hero { padding: clamp(24px, 5vw, 50px); border-radius: 22px; color: #fff; background: linear-gradient(135deg, #123a73, #123a73 70%, #d66b00); }
    .fo-managed-article__hero h1, .fo-managed-article__hero p { color: #fff; }
    .fo-managed-article__kicker { color: #ffe0ad; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
    .fo-managed-article__visual { margin: 24px 0 0; max-width: 620px; }
    /* Briefing artwork is portrait by default; show the complete image rather than cropping it. */
    .fo-managed-article__visual img { display: block; width: 100%; max-width: 544px; aspect-ratio: 4 / 5; height: auto; object-fit: cover; object-position: center; border-radius: 16px; border: 1px solid rgba(255,255,255,.45); background: #123a73; }
    .fo-managed-article__visual figcaption { margin-top: 8px; color: #f6e6ca; font-size: .86rem; }
    .fo-managed-article__layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, .8fr); gap: 26px; margin-top: 28px; align-items: start; }
    .fo-managed-article__card { padding: clamp(22px, 4vw, 38px); border: 1px solid #c6d1cf; border-radius: 20px; background: #fff; box-shadow: 0 12px 30px rgba(22,31,66,.07); }
    .fo-managed-article__card + .fo-managed-article__card { margin-top: 24px; }
    .fo-managed-article__facts { display: grid; gap: 10px; padding: 0; list-style: none; }
    .fo-managed-article__facts li { padding: 12px 14px; border-left: 5px solid #d8ff58; background: #eef5d7; font-weight: 800; }
    .fo-managed-article__sources li { margin-bottom: 10px; }
    @media (max-width: 820px) { .fo-managed-article__layout { grid-template-columns: 1fr; } }
  
}
/* public/editorial-article.php */
@scope (main) {

    :scope.fo-editorial-article { max-width: 1120px; }
    .fo-editorial-article__back { display: inline-flex; margin-bottom: 22px; font-weight: 800; }
    .fo-editorial-article__hero { max-width: 900px; padding: clamp(24px, 5vw, 52px); border-radius: 24px; color: #fff; background: linear-gradient(135deg, #123a73, #123a73 62%, #d66b00); box-shadow: 0 18px 44px rgba(17,31,72,.18); }
    .fo-editorial-article__hero h1, .fo-editorial-article__hero p { color: #fff; }
    .fo-editorial-article__kicker { display: inline-block; margin-bottom: 12px; color: #ffe0ad; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
    .fo-editorial-article__meta { margin: 18px 0 0; font-size: .95rem; }
    .fo-editorial-article__visual { margin: 26px 0 0; max-width: 680px; }
    /* Briefing artwork is portrait by default; show the complete image rather than cropping it. */
    .fo-editorial-article__visual img { display: block; width: 100%; max-width: 544px; aspect-ratio: 4 / 5; height: auto; object-fit: cover; object-position: center; border-radius: 16px; border: 1px solid rgba(255,255,255,.42); background: #123a73; }
    .fo-editorial-article__visual figcaption { margin-top: 8px; color: #f6e6ca; font-size: .86rem; }
    .fo-editorial-article__layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, .8fr); gap: 28px; align-items: start; margin-top: 30px; }
    .fo-editorial-article__copy, .fo-editorial-article__aside { border: 1px solid #c6d1cf; border-radius: 20px; background: #fff; padding: clamp(22px, 4vw, 38px); box-shadow: 0 12px 30px rgba(22,31,66,.07); }
    .fo-editorial-article__copy section + section { margin-top: 34px; }
    .fo-editorial-article__aside { position: sticky; top: 20px; }
    .fo-editorial-article__sources { padding-left: 21px; }
    .fo-editorial-article__sources li { margin-bottom: 10px; }
    .fo-editorial-article__standard { border-left: 6px solid #1d70b8; background: #eef6fc; padding: 16px 18px; margin-top: 24px; }
    @media (max-width: 820px) { .fo-editorial-article__layout { grid-template-columns: 1fr; } .fo-editorial-article__aside { position: static; } }
  
}
/* staff/briefings.php */
@scope (main) {

    :scope.fo-briefing-admin-page { width: calc(100% - 32px); max-width: none; margin-right: auto; margin-left: auto; }
    .fo-briefing-admin-hero { display: flex; justify-content: space-between; gap: 24px; align-items: end; padding: clamp(24px, 4vw, 38px); margin-bottom: 24px; border-radius: 22px; color: #fff; background: linear-gradient(135deg, #123a73 0%, #123a73 72%, #df7400 145%); box-shadow: 0 18px 46px rgba(17,31,72,.14); }
    .fo-briefing-admin-hero h1, .fo-briefing-admin-hero p { color: #fff; }
    .fo-briefing-admin-hero p { max-width: 62ch; margin-bottom: 0; }
    .fo-briefing-admin-hero__links { display: flex; flex-wrap: wrap; gap: 10px; flex: 0 0 auto; }
    .fo-briefing-admin-hero__links a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border: 2px solid #fff; border-radius: 999px; color: #fff; font-weight: 800; text-decoration: none; }
    .fo-briefing-admin-hero__links a:hover, .fo-briefing-admin-hero__links a:focus { color: #123a73; background: #fff; }
    .fo-briefing-admin-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; }
    .fo-briefing-admin-metric { padding: 18px 20px; border: 1px solid #c6d1cf; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(17,31,72,.06); }
    .fo-briefing-admin-metric strong { display: block; color: #123a73; font-size: 2rem; line-height: 1; }
    .fo-briefing-admin-metric span { display: block; margin-top: 7px; color: #56708f; }
    .fo-briefing-admin-panel { margin-bottom: 24px; padding: clamp(20px, 3vw, 28px); border: 1px solid #c6d1cf; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(17,31,72,.06); }
    .fo-briefing-admin-panel h2 { margin-top: 0; }
    .fo-briefing-admin-filter { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; }
    .fo-briefing-admin-filter .govuk-form-group { margin-bottom: 0; }
    .fo-briefing-admin-filter__search { flex: 1 1 300px; }
    .fo-briefing-admin-filter__status { flex: 0 1 230px; }
    .fo-briefing-admin-table-wrap { overflow-x: auto; }
    .fo-briefing-admin-table { width: 100%; min-width: 0; margin-bottom: 0; table-layout: fixed; }
    .fo-briefing-admin-table th:nth-child(1) { width: 28%; }
    .fo-briefing-admin-table th:nth-child(2) { width: 7%; }
    .fo-briefing-admin-table th:nth-child(3) { width: 9%; }
    .fo-briefing-admin-table th:nth-child(4) { width: 9%; }
    .fo-briefing-admin-table th:nth-child(5) { width: 10%; }
    .fo-briefing-admin-table th:nth-child(6) { width: 10%; }
    .fo-briefing-admin-table th:nth-child(7) { width: 11%; }
    .fo-briefing-admin-table th:nth-child(8) { width: 16%; }
    .fo-briefing-admin-title { display: grid; grid-template-columns: 74px minmax(220px, 1fr); gap: 14px; align-items: start; }
    .fo-briefing-admin-thumb { width: 74px; height: 52px; border-radius: 8px; object-fit: cover; background: #e9edf5; }
    .fo-briefing-admin-title strong { display: block; color: #123a73; }
    .fo-briefing-admin-title span { display: block; margin-top: 3px; color: #667085; font-size: .86rem; }
    .fo-briefing-admin-status, .fo-briefing-admin-chip { display: inline-block; padding: 4px 9px; border-radius: 999px; font-weight: 800; font-size: .82rem; line-height: 1.25; }
    .fo-briefing-admin-status--published { color: #0b5d2a; background: #e8f7ed; }
    .fo-briefing-admin-status--draft { color: #7a3d00; background: #fff0d8; }
    .fo-briefing-admin-status--archived { color: #4b5563; background: #edf0f4; }
    .fo-briefing-admin-chip { margin: 0 4px 5px 0; color: #123a73; background: #eef2ff; }
    .fo-briefing-admin-chip--off { color: #6b7280; background: #f1f2f4; }
    .fo-briefing-admin-actions { display: flex; flex-wrap: wrap; gap: 5px 12px; min-width: 185px; }
    .fo-briefing-admin-actions a { font-weight: 700; }
    .fo-briefing-admin-notice { margin-bottom: 22px; padding: 16px 18px; border-left: 6px solid #15803d; background: #effdf3; }
    .fo-briefing-admin-error { border-left-color: #d4351c; background: #fff0ee; }
    .fo-briefing-admin-history { margin: 0; padding: 0; list-style: none; }
    .fo-briefing-admin-history li { display: grid; grid-template-columns: minmax(160px, .7fr) minmax(220px, 1fr) minmax(200px, 1.3fr); gap: 18px; padding: 13px 0; border-top: 1px solid #e3e7ef; }
    .fo-briefing-admin-history li:first-child { border-top: 0; padding-top: 0; }
    .fo-briefing-admin-history time, .fo-briefing-admin-history small { color: #667085; }
    @media (max-width: 900px) { .fo-briefing-admin-hero { display: block; } .fo-briefing-admin-hero__links { margin-top: 20px; } .fo-briefing-admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .fo-briefing-admin-table { min-width: 1030px; table-layout: auto; } }
    @media (max-width: 620px) { :scope.fo-briefing-admin-page { width: calc(100% - 24px); } .fo-briefing-admin-grid { grid-template-columns: 1fr; } .fo-briefing-admin-history li { grid-template-columns: 1fr; gap: 4px; } }
  
}
/* staff/briefing-edit.php */
@scope (main) {

    .fo-briefing-edit-back { display: inline-block; margin-bottom: 22px; }
    .fo-briefing-edit-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 340px); gap: 24px; align-items: start; }
    .fo-briefing-edit-card { padding: clamp(22px, 4vw, 34px); border: 1px solid #c6d1cf; border-radius: 20px; background: #fff; box-shadow: 0 14px 34px rgba(17,31,72,.07); }
    .fo-briefing-edit-card h1, .fo-briefing-edit-card h2 { color: #123a73; }
    .fo-briefing-edit-fieldset { margin: 0 0 30px; padding: 0; border: 0; }
    .fo-briefing-edit-fieldset legend { width: 100%; padding-bottom: 10px; margin-bottom: 20px; border-bottom: 2px solid #e4e8f0; color: #123a73; }
    .fo-briefing-edit-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .fo-briefing-edit-check { padding: 16px 18px; margin-bottom: 12px; border: 1px solid #ccd3e0; border-radius: 12px; background: #f8f9fc; }
    .fo-briefing-edit-check label { display: grid; grid-template-columns: 24px 1fr; gap: 10px; font-weight: 700; }
    .fo-briefing-edit-check input { width: 20px; height: 20px; margin-top: 2px; }
    .fo-briefing-edit-check span span { display: block; margin-top: 4px; color: #56708f; font-size: .9rem; font-weight: 400; }
    .fo-briefing-edit-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
    .fo-briefing-edit-summary { position: sticky; top: 18px; }
    .fo-briefing-edit-summary img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 12px; background: #e9edf5; }
    .fo-briefing-edit-summary dl { margin: 20px 0; }
    .fo-briefing-edit-summary div { padding: 10px 0; border-top: 1px solid #e3e7ef; }
    .fo-briefing-edit-summary dt { color: #56708f; font-weight: 800; }
    .fo-briefing-edit-summary dd { margin: 3px 0 0; overflow-wrap: anywhere; }
    .fo-briefing-edit-status { display: inline-block; padding: 5px 10px; border-radius: 999px; color: #0b5d2a; background: #e8f7ed; font-weight: 800; }
    .fo-briefing-edit-status--draft { color: #7a3d00; background: #fff0d8; }
    .fo-briefing-edit-status--archived { color: #4b5563; background: #edf0f4; }
    .fo-briefing-edit-warning { padding: 15px 17px; margin-bottom: 24px; border-left: 6px solid #d8ff58; background: #eef5d7; }
    .fo-briefing-reference-card { padding: 18px; margin: 0 0 18px; border: 1px solid #c6d1cf; border-radius: 14px; background: #f8f9fc; }
    .fo-briefing-reference-card h3 { margin: 0 0 14px; color: #123a73; }
    @media (max-width: 880px) { .fo-briefing-edit-layout { grid-template-columns: 1fr; } .fo-briefing-edit-summary { position: static; } }
    @media (max-width: 620px) { .fo-briefing-edit-row { grid-template-columns: 1fr; gap: 0; } }
  
}
/* staff/briefing-review.php */
@scope (main) {

    :scope.fo-briefing-review { max-width: 1180px; }
    .fo-briefing-review__back { display: inline-block; margin-bottom: 22px; }
    .fo-briefing-review__hero { padding: clamp(26px, 5vw, 50px); border-radius: 22px; color: #fff; background: linear-gradient(135deg, #123a73, #123a73 72%, #df7400 150%); box-shadow: 0 18px 46px rgba(17,31,72,.15); }
    .fo-briefing-review__hero h1, .fo-briefing-review__hero p { color: #fff; }
    .fo-briefing-review__eyebrow { color: #f6c676; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
    .fo-briefing-review__meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
    .fo-briefing-review__meta span { padding: 6px 11px; border: 1px solid rgba(255,255,255,.45); border-radius: 999px; font-weight: 800; }
    .fo-briefing-review__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
    .fo-briefing-review__actions a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border-radius: 9px; color: #123a73; background: #ff9a19; font-weight: 900; text-decoration: none; }
    .fo-briefing-review__actions a + a { color: #fff; border: 2px solid #fff; background: transparent; }
    .fo-briefing-review__layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .85fr); gap: 24px; margin-top: 24px; align-items: start; }
    .fo-briefing-review__card { padding: clamp(22px, 4vw, 34px); border: 1px solid #c6d1cf; border-radius: 20px; background: #fff; box-shadow: 0 12px 32px rgba(17,31,72,.07); }
    .fo-briefing-review__card h2 { padding-top: 22px; margin-top: 28px; border-top: 2px solid #edf0f5; color: #123a73; }
    .fo-briefing-review__card h2:first-child { padding-top: 0; margin-top: 0; border-top: 0; }
    .fo-briefing-review__outline { margin: 0; padding-left: 24px; }
    .fo-briefing-review__outline li { margin-bottom: 9px; }
    .fo-briefing-review__facts { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
    .fo-briefing-review__facts li { padding: 13px 15px; border-left: 5px solid #d8ff58; background: #eef5d7; font-weight: 800; }
    .fo-briefing-review__visual { margin: 0 0 28px; }
    .fo-briefing-review__visual img { display: block; width: 100%; max-height: 520px; object-fit: cover; border-radius: 14px; border: 1px solid #c6d1cf; background: #123a73; }
    .fo-briefing-review__visual figcaption { margin-top: 8px; color: #56708f; font-size: .88rem; }
    .fo-briefing-review__sources { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
    .fo-briefing-review__sources li { padding: 15px; border: 1px solid #dbe0e9; border-radius: 12px; background: #f8f9fc; overflow-wrap: anywhere; }
    .fo-briefing-review__sources a { color: #174a8b; font-weight: 800; }
    .fo-briefing-review__note { padding: 16px 18px; border-left: 6px solid #d8ff58; background: #eef5d7; }
    .fo-briefing-review__error { padding: 24px; border-left: 6px solid #d4351c; background: #fff0ee; }
    @media (max-width: 860px) { .fo-briefing-review__layout { grid-template-columns: 1fr; } }
  
}
/* staff/briefing-publication.php */
@scope (main) {

    :scope.fo-briefing-publication-page { max-width: 920px; }
    .fo-briefing-publication-back { display: inline-block; margin-bottom: 22px; }
    .fo-briefing-publication-card { padding: clamp(24px, 5vw, 42px); border: 1px solid #c6d1cf; border-radius: 22px; background: #fff; box-shadow: 0 16px 42px rgba(17,31,72,.09); }
    .fo-briefing-publication-card h1, .fo-briefing-publication-card h2 { color: #123a73; }
    .fo-briefing-publication-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 26px 0; }
    .fo-briefing-publication-summary div { padding: 13px 0; border-top: 1px solid #e1e5ed; }
    .fo-briefing-publication-summary dt { color: #56708f; font-weight: 800; }
    .fo-briefing-publication-summary dd { margin: 4px 0 0; overflow-wrap: anywhere; }
    .fo-briefing-publication-impact { padding: 18px 20px; margin: 24px 0; border-left: 6px solid #d8ff58; background: #eef5d7; }
    .fo-briefing-publication-confirm { padding: 18px; margin: 22px 0; border: 2px solid #ccd3e0; border-radius: 12px; background: #f8f9fc; }
    .fo-briefing-publication-confirm label { display: grid; grid-template-columns: 24px 1fr; gap: 11px; font-weight: 800; }
    .fo-briefing-publication-confirm input { width: 20px; height: 20px; margin-top: 2px; }
    .fo-briefing-publication-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
    @media (max-width: 640px) { .fo-briefing-publication-summary { grid-template-columns: 1fr; } }
  
}
/* staff/article-preview.php */
@scope (main) {

    :scope.fo-article-preview {
      max-width: 1120px;
      padding-top: 28px;
    }

    .fo-preview-back {
      display: inline-flex;
      margin-bottom: 20px;
      font-weight: 800;
    }

    .fo-preview-gate {
      border: 2px solid #ffb000;
      border-left-width: 10px;
      border-radius: 16px;
      background: #fff7df;
      padding: 18px 20px;
      margin-bottom: 24px;
    }

    .fo-preview-gate strong {
      display: block;
      margin-bottom: 5px;
      font-size: 1.08rem;
    }

    .fo-preview-gate--ready {
      border-color: #15803d;
      background: #effdf3;
    }

    .fo-validation-panel {
      border: 1px solid #c6d1cf;
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 12px 30px rgba(22, 31, 66, .07);
      padding: clamp(20px, 3vw, 30px);
      margin-bottom: 24px;
    }

    .fo-validation-panel h2 {
      margin-top: 0;
    }

    .fo-validation-result {
      display: inline-flex;
      border-radius: 999px;
      padding: 7px 12px;
      margin-bottom: 14px;
      color: #7c2d12;
      background: #ffedd5;
      font-weight: 900;
    }

    .fo-validation-result--ready {
      color: #14532d;
      background: #dcfce7;
    }

    .fo-validation-list {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }

    .fo-validation-check {
      border: 1px solid #c6d1cf;
      border-left: 7px solid #b91c1c;
      border-radius: 12px;
      padding: 14px;
      background: #fffafa;
    }

    .fo-validation-check--pass {
      border-left-color: #15803d;
      background: #f4fff7;
    }

    .fo-validation-check strong {
      display: block;
      margin-bottom: 4px;
    }

    .fo-preview-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 285px;
      gap: 28px;
      align-items: start;
    }

    .fo-preview-article,
    .fo-preview-sidebar,
    .fo-preview-sequence {
      background: #fff;
      border: 1px solid #c6d1cf;
      border-radius: 22px;
      box-shadow: 0 14px 34px rgba(22, 31, 66, .08);
    }

    .fo-preview-article {
      overflow: hidden;
    }

    .fo-preview-hero {
      padding: clamp(28px, 5vw, 58px);
      color: #fff;
      background:
        radial-gradient(circle at 86% 8%, rgba(255,255,255,.18), transparent 27%),
        linear-gradient(135deg, #171f59 0%, #2e3c9e 62%, #d8ff58 140%);
    }

    .fo-preview-hero h1,
    .fo-preview-hero p {
      color: #fff;
    }

    .fo-preview-hero h1 {
      max-width: 13ch;
      margin: 8px 0 18px;
      font-size: clamp(2.25rem, 5vw, 4.6rem);
      line-height: .98;
    }

    .fo-preview-kicker,
    .fo-preview-chip {
      display: inline-flex;
      width: fit-content;
      border-radius: 999px;
      padding: 6px 11px;
      font-weight: 900;
      font-size: .84rem;
    }

    .fo-preview-kicker {
      color: #191f54;
      background: #ffdd00;
    }

    .fo-preview-chip {
      color: #263282;
      background: #edf0ff;
      margin: 0 6px 7px 0;
    }

    .fo-preview-chip--orange {
      color: #7c3700;
      background: #fff0dc;
    }

    .fo-preview-copy {
      padding: clamp(24px, 4vw, 48px);
    }

    .fo-preview-copy > p,
    .fo-preview-copy li {
      max-width: 70ch;
      font-size: 1.05rem;
      line-height: 1.65;
    }

    .fo-preview-copy section {
      padding-top: 12px;
      margin-top: 28px;
      border-top: 1px solid #e2e6ee;
    }

    .fo-preview-copy section h2 {
      margin-top: 18px;
    }

    .fo-preview-sidebar {
      position: sticky;
      top: 20px;
      padding: 20px;
    }

    .fo-preview-sidebar h2,
    .fo-preview-sidebar h3 {
      margin-top: 0;
    }

    .fo-preview-meta {
      margin: 0;
    }

    .fo-preview-meta div {
      padding: 11px 0;
      border-top: 1px solid #e2e6ee;
    }

    .fo-preview-meta dt {
      font-weight: 900;
    }

    .fo-preview-meta dd {
      margin: 4px 0 0;
    }

    .fo-preview-progress-track {
      height: 13px;
      overflow: hidden;
      border-radius: 999px;
      background: #dfe4ee;
      margin: 8px 0;
    }

    .fo-preview-progress-track span {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, #123a73, #d8ff58);
    }

    .fo-preview-note {
      border-left: 7px solid #2e3c9e;
      background: #f2f4ff;
      border-radius: 12px;
      padding: 17px 18px;
      margin-top: 30px;
    }

    .fo-preview-sources {
      padding-left: 21px;
    }

    .fo-preview-sources li {
      margin-bottom: 10px;
    }

    .fo-preview-sequence {
      margin-top: 28px;
      padding: clamp(20px, 3vw, 30px);
    }

    .fo-preview-sequence-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
    }

    .fo-preview-sequence-card {
      border: 1px solid #c6d1cf;
      border-radius: 15px;
      background: #f8fafc;
      padding: 16px;
    }

    .fo-preview-sequence-card h3 {
      margin: 7px 0;
    }

    @media (max-width: 860px) {
      .fo-preview-layout {
        grid-template-columns: 1fr;
      }

      .fo-preview-sidebar {
        position: static;
      }

      .fo-preview-sequence-grid {
        grid-template-columns: 1fr;
      }

      .fo-validation-list {
        grid-template-columns: 1fr;
      }
    }
  
}
/* staff/article-publish.php */
@scope (main) {

    :scope.fo-publish-page { max-width: 980px; }
    .fo-publish-card { border: 1px solid #c6d1cf; border-radius: 20px; background: #fff; padding: clamp(22px, 4vw, 36px); box-shadow: 0 14px 34px rgba(17,31,72,.08); }
    .fo-publish-summary { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 24px; margin: 24px 0; }
    .fo-publish-summary div { border-bottom: 1px solid #e3e7ef; padding-bottom: 10px; }
    .fo-publish-summary dt { color: #56708f; font-weight: 800; }
    .fo-publish-summary dd { margin: 4px 0 0; overflow-wrap: anywhere; }
    .fo-publish-ready { border-left: 6px solid #15803d; background: #effdf3; padding: 16px 18px; margin: 22px 0; }
    .fo-publish-blocked { border-left-color: #d4351c; background: #fff0ee; }
    .fo-publish-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
    @media (max-width: 680px) { .fo-publish-summary { grid-template-columns: 1fr; } }
  
}
/* staff/editorial-prototype.php */
@scope (main) {

    :scope.fo-report-prototype {
      max-width: 1120px;
      padding-top: 28px;
    }

    .fo-prototype-back {
      display: inline-flex;
      margin-bottom: 20px;
      font-weight: 800;
    }

    .fo-prototype-warning {
      border: 2px solid #ffb000;
      border-left-width: 10px;
      border-radius: 16px;
      background: #fff7df;
      padding: 17px 20px;
      margin-bottom: 24px;
    }

    .fo-prototype-warning strong {
      display: block;
      margin-bottom: 5px;
    }

    .fo-prototype-hero {
      overflow: hidden;
      border-radius: 28px;
      padding: clamp(30px, 5vw, 60px);
      color: #fff;
      background:
        radial-gradient(circle at 84% 10%, rgba(255,255,255,.2), transparent 26%),
        linear-gradient(135deg, #151d53 0%, #2d3b9b 62%, #d8ff58 145%);
      box-shadow: 0 18px 42px rgba(22, 31, 66, .16);
    }

    .fo-prototype-hero h1,
    .fo-prototype-hero p {
      color: #fff;
    }

    .fo-prototype-hero h1 {
      max-width: 16ch;
      margin: 10px 0 18px;
      font-size: clamp(2.3rem, 5vw, 4.6rem);
      line-height: .98;
    }

    .fo-prototype-chip {
      display: inline-flex;
      width: fit-content;
      border-radius: 999px;
      padding: 6px 11px;
      color: #242d79;
      background: #ffdd00;
      font-weight: 900;
    }

    .fo-prototype-progress {
      max-width: 620px;
      margin-top: 24px;
    }

    .fo-prototype-track {
      height: 15px;
      overflow: hidden;
      border-radius: 999px;
      background: rgba(255,255,255,.26);
      margin: 8px 0;
    }

    .fo-prototype-track span {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: #ffdd00;
    }

    .fo-prototype-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
      gap: 22px;
      margin-top: 24px;
    }

    .fo-prototype-panel {
      border: 1px solid #c6d1cf;
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 12px 30px rgba(22, 31, 66, .07);
      padding: clamp(20px, 3vw, 30px);
    }

    .fo-prototype-panel h2 {
      margin-top: 0;
    }

    .fo-prototype-section-list {
      counter-reset: prototype-section;
      list-style: none;
      padding: 0;
    }

    .fo-prototype-section-list li {
      counter-increment: prototype-section;
      display: grid;
      grid-template-columns: 40px minmax(0, 1fr);
      gap: 11px;
      align-items: start;
      padding: 12px 0;
      border-top: 1px solid #e2e6ee;
    }

    .fo-prototype-section-list li::before {
      content: counter(prototype-section);
      display: grid;
      place-items: center;
      width: 34px;
      height: 34px;
      border-radius: 50%;
      color: #fff;
      background: #123a73;
      font-weight: 900;
    }

    .fo-prototype-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 20px;
    }

    .fo-prototype-button {
      display: inline-flex;
      align-items: center;
      min-height: 44px;
      border-radius: 999px;
      padding: 0 17px;
      color: #fff !important;
      background: #123a73;
      font-weight: 900;
      text-decoration: none;
    }

    @media (max-width: 820px) {
      .fo-prototype-layout {
        grid-template-columns: 1fr;
      }
    }
  
}
/* staff/development.php */
@scope (main) {

    :scope.fo-dev-lab {
      max-width: 1180px;
    }

    .fo-dev-hero {
      position: relative;
      overflow: hidden;
      border-radius: 34px;
      padding: clamp(26px, 5vw, 56px);
      background:
        radial-gradient(circle at 82% 12%, rgba(255,255,255,.18), transparent 28%),
        linear-gradient(135deg, #123a73 0%, #24528a 48%, #d8ff58 100%);
      color: #fff;
      box-shadow: 0 22px 50px rgba(22, 31, 66, .18);
      margin-bottom: 28px;
    }

    .fo-dev-hero h1,
    .fo-dev-hero p,
    .fo-dev-hero a {
      color: #fff;
    }

    .fo-dev-kicker {
      display: inline-flex;
      width: fit-content;
      border-radius: 999px;
      padding: 7px 12px;
      background: rgba(255,255,255,.14);
      border: 1px solid rgba(255,255,255,.22);
      font-weight: 800;
      letter-spacing: .04em;
      text-transform: uppercase;
      font-size: .78rem;
      margin-bottom: 16px;
    }

    .fo-dev-hero h1 {
      max-width: 760px;
      font-size: clamp(2.2rem, 5vw, 4.6rem);
      line-height: .95;
      margin: 0 0 18px;
    }

    .fo-dev-hero p {
      max-width: 760px;
      font-size: clamp(1.05rem, 1.6vw, 1.35rem);
    }

    .fo-dev-actions,
    .fo-dev-anchor-nav {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      margin-top: 22px;
    }

    .fo-dev-button {
      display: inline-flex;
      align-items: center;
      min-height: 44px;
      padding: 0 18px;
      border-radius: 999px;
      background: #111827;
      color: #fff !important;
      font-weight: 800;
      text-decoration: none;
      border: 2px solid #111827;
    }

    .fo-dev-button--accent {
      background: #ffdd00;
      border-color: #ffdd00;
      color: #111827 !important;
    }

    .fo-dev-anchor-nav a {
      color: #111827;
      background: #fff;
      border: 1px solid #c6d1cf;
      border-radius: 999px;
      padding: 8px 12px;
      font-weight: 800;
      text-decoration: none;
    }

    .fo-dev-notice {
      border-left: 8px solid #ffdd00;
      background: #fffbe6;
      padding: 18px 20px;
      border-radius: 18px;
      box-shadow: 0 12px 28px rgba(22, 31, 66, .08);
      margin-bottom: 24px;
    }

    .fo-dev-section {
      background: #fff;
      border: 1px solid #c6d1cf;
      border-radius: 24px;
      padding: clamp(20px, 3vw, 32px);
      margin-bottom: 24px;
      box-shadow: 0 16px 38px rgba(22, 31, 66, .08);
    }

    .fo-dev-section h2 {
      margin-top: 0;
    }

    .fo-dev-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }

    .fo-dev-grid--two {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fo-dev-card {
      border: 1px solid #c6d1cf;
      border-radius: 18px;
      background: #f8fafc;
      padding: 18px;
    }

    .fo-dev-card h3 {
      margin-top: 0;
    }

    .fo-dev-chip {
      display: inline-flex;
      width: fit-content;
      padding: 5px 10px;
      border-radius: 999px;
      background: #eef2ff;
      color: #123a73;
      font-weight: 800;
      font-size: .9rem;
      margin: 0 6px 8px 0;
    }

    .fo-dev-chip--orange {
      background: #eef5d7;
      color: #8a3d00;
    }

    .fo-dev-code-list {
      list-style: none;
      padding-left: 0;
    }

    .fo-dev-code-list li {
      margin-bottom: 8px;
      padding: 8px 10px;
      border-radius: 10px;
      background: #111827;
      color: #fff;
      font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
      overflow-wrap: anywhere;
    }

    .fo-dev-table-wrap {
      overflow-x: auto;
    }

    .fo-dev-topic-table {
      min-width: 1840px;
    }

    .fo-dev-topic-table .govuk-table__cell,
    .fo-dev-topic-table .govuk-table__header {
      vertical-align: top;
    }

    .fo-dev-topic-table time {
      white-space: nowrap;
      font-weight: 800;
    }

    .fo-dev-status {
      display: block;
      max-width: 22ch;
      margin-top: 7px;
      color: #4b5563;
      font-size: .88rem;
      line-height: 1.35;
    }

    .fo-progress-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }

    .fo-progress-card {
      border: 1px solid #c6d1cf;
      border-radius: 18px;
      background: #f8fafc;
      padding: 20px;
    }

    .fo-progress-card h3 {
      margin: 4px 0 8px;
    }

    .fo-progress-track {
      height: 14px;
      overflow: hidden;
      border-radius: 999px;
      background: #dfe4ee;
      margin: 10px 0 6px;
    }

    .fo-progress-track span {
      display: block;
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, #123a73, #d8ff58);
    }

    .fo-progress-meta {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      color: #4b5563;
      font-size: .9rem;
    }

    .fo-progress-form {
      border-top: 1px solid #c6d1cf;
      margin-top: 16px;
      padding-top: 16px;
    }

    .fo-progress-fields {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 130px;
      gap: 12px;
    }

    .fo-progress-fields--equal {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fo-progress-form label {
      display: block;
      font-weight: 800;
      margin-bottom: 5px;
    }

    .fo-progress-form select,
    .fo-progress-form input[type="number"],
    .fo-progress-form textarea {
      box-sizing: border-box;
      width: 100%;
      border: 2px solid #4b5563;
      border-radius: 6px;
      background: #fff;
      padding: 9px;
      font: inherit;
    }

    .fo-progress-form textarea {
      min-height: 82px;
      resize: vertical;
    }

    .fo-progress-form-group {
      margin-top: 13px;
    }

    .fo-progress-approval {
      border-left: 5px solid #ffb000;
      background: #fff7df;
      padding: 12px;
      margin-top: 13px;
    }

    .fo-progress-approval label {
      display: flex;
      gap: 9px;
      align-items: flex-start;
      margin: 0;
    }

    .fo-progress-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      margin-top: 15px;
    }

    .fo-progress-save {
      border: 0;
      border-radius: 999px;
      background: #123a73;
      color: #fff;
      padding: 11px 17px;
      font: inherit;
      font-weight: 900;
      cursor: pointer;
    }

    .fo-progress-publish {
      display: inline-flex;
      align-items: center;
      border-radius: 999px;
      background: #15803d;
      color: #fff !important;
      padding: 11px 17px;
      font-weight: 900;
      text-decoration: none;
    }

    .fo-progress-alert {
      border-left: 7px solid #b91c1c;
      border-radius: 12px;
      background: #fff1f2;
      padding: 15px 17px;
      margin-bottom: 18px;
    }

    .fo-progress-alert--success {
      border-left-color: #15803d;
      background: #effdf3;
    }

    .fo-progress-validation {
      color: #7c2d12;
      font-weight: 800;
    }

    .fo-progress-validation--ready {
      color: #166534;
    }

    .fo-dev-stage {
      display: grid;
      grid-template-columns: 48px minmax(0, 1fr);
      gap: 14px;
      align-items: start;
      margin-bottom: 14px;
    }

    .fo-dev-stage span {
      display: inline-grid;
      place-items: center;
      width: 42px;
      height: 42px;
      border-radius: 50%;
      background: #123a73;
      color: #fff;
      font-weight: 900;
    }

    @media (max-width: 920px) {
      .fo-dev-grid,
      .fo-dev-grid--two,
      .fo-progress-grid {
        grid-template-columns: 1fr;
      }

      .fo-progress-fields {
        grid-template-columns: 1fr;
      }
    }
  
}

    .fo-article-share { width: min(1180px, calc(100% - 32px)); height: auto !important; max-height: none !important; min-block-size: max-content; box-sizing: border-box; flex: 0 0 auto; align-self: center; margin: 34px auto 42px; padding: clamp(24px, 4vw, 36px); overflow: hidden; border-top: 7px solid #ff8a00; border-radius: 18px; color: #fff; background: linear-gradient(135deg, #111f48 0%, #17265a 58%, #252580 100%); box-shadow: 0 18px 42px rgba(17,31,72,.14); }
    .fo-article-share *, .fo-article-share *::before, .fo-article-share *::after { box-sizing: border-box; }
    .fo-article-share__head { display: flex; justify-content: space-between; gap: 24px; align-items: start; margin-bottom: 22px; }
    .fo-article-share__head h2, .fo-article-share__head p { color: #fff; }
    .fo-article-share__head h2 { margin: 0 0 7px; font-size: clamp(1.55rem, 3vw, 2.1rem); }
    .fo-article-share__head p { max-width: 66ch; margin: 0; color: #dfe5ff; }
    .fo-article-share__url { flex: 0 1 310px; max-width: 310px; padding: 9px 12px; overflow: hidden; border: 1px solid rgba(255,255,255,.28); border-radius: 10px; color: #dfe5ff; background: rgba(255,255,255,.07); font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
    .fo-article-share__primary { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
    .fo-article-share__more-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
    .fo-article-share__button { display: flex; min-height: 52px; padding: 9px 12px; align-items: center; gap: 9px; border: 2px solid transparent; border-radius: 12px; color: #111f48 !important; background: #fff; font: inherit; font-weight: 800; line-height: 1.15; text-align: left; text-decoration: none !important; cursor: pointer; }
    .fo-article-share__button:hover { border-color: #ff8a00; color: #111f48 !important; background: #fff6e8; }
    .fo-article-share__button:focus { outline: 4px solid #ffdd00; outline-offset: 2px; color: #111f48 !important; background: #fff; }
    .fo-article-share__button[hidden] { display: none; }
    .fo-article-share__mark { display: inline-flex; width: 30px; height: 30px; flex: 0 0 30px; align-items: center; justify-content: center; border-radius: 9px; color: #fff; background: #252580; font-size: .78rem; font-weight: 900; letter-spacing: -.02em; }
    .fo-article-share__mark--orange { color: #111f48; background: #ff9b21; }
    .fo-article-share__copy-icon { position: relative; width: 17px; height: 17px; }
    .fo-article-share__copy-icon::before, .fo-article-share__copy-icon::after { position: absolute; width: 10px; height: 12px; border: 2px solid currentColor; border-radius: 2px; content: ""; }
    .fo-article-share__copy-icon::before { top: 0; left: 0; }
    .fo-article-share__copy-icon::after { right: 0; bottom: 0; background: #ff9b21; }
    .fo-article-share__more { margin-top: 16px; border: 1px solid rgba(255,255,255,.24); border-radius: 13px; background: rgba(255,255,255,.06); }
    .fo-article-share__more summary { padding: 14px 16px; color: #fff; font-weight: 800; cursor: pointer; }
    .fo-article-share__more summary:hover { background: rgba(255,255,255,.06); }
    .fo-article-share__more summary:focus { outline: 4px solid #ffdd00; outline-offset: 2px; }
    .fo-article-share__more[open] summary { border-bottom: 1px solid rgba(255,255,255,.2); }
    .fo-article-share__more-grid { padding: 14px; }
    .fo-article-share__status { min-height: 1.4em; margin: 13px 0 0; color: #ffe3b8; font-weight: 700; }
    .fo-article-share__privacy { margin: 8px 0 0; color: #cdd5f7; font-size: .82rem; }
    @media (max-width: 1000px) { .fo-article-share__primary, .fo-article-share__more-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
    @media (max-width: 700px) { .fo-article-share__head { display: block; } .fo-article-share__url { max-width: none; margin-top: 14px; } .fo-article-share__primary, .fo-article-share__more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (max-width: 430px) { .fo-article-share { width: calc(100% - 24px); padding: 22px 16px; border-radius: 14px; } .fo-article-share__primary, .fo-article-share__more-grid { grid-template-columns: 1fr; } }
    @media print { .fo-article-share { display: none !important; } }
  

  .fo-article-image {
    cursor: zoom-in;
  }

  .fo-article-image:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 4px;
  }

  .fo-image-viewer {
    width: min(96vw, 1240px);
    max-width: 1240px;
    max-height: 94vh;
    padding: 0;
    border: 0;
    border-radius: 18px;
    background: #11172f;
    color: #fff;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .45);
  }

  .fo-image-viewer::backdrop {
    background: rgba(6, 10, 26, .84);
  }

  .fo-image-viewer__inner {
    display: grid;
    gap: 14px;
    padding: 18px;
  }

  .fo-image-viewer__bar,
  .fo-image-viewer__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .fo-image-viewer__bar h2 {
    margin: 0;
    color: #fff;
    font-size: 1.15rem;
  }

  .fo-image-viewer__close,
  .fo-image-viewer__new-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 14px;
    border: 2px solid #ff8a00;
    border-radius: 999px;
    background: #ff8a00;
    color: #11172f;
    font: inherit;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
  }

  .fo-image-viewer__close:hover,
  .fo-image-viewer__new-tab:hover {
    background: #ffb35c;
    border-color: #ffb35c;
  }

  .fo-image-viewer__close:focus,
  .fo-image-viewer__new-tab:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 3px;
  }

  .fo-image-viewer__image {
    display: block;
    width: 100%;
    max-height: 72vh;
    object-fit: contain;
    border-radius: 10px;
    background: #050816;
  }

  .fo-image-viewer__caption {
    margin: 0;
    color: #e9edff;
    font-size: .92rem;
  }

  @media (max-width: 560px) {
    .fo-image-viewer__inner { padding: 12px; }
    .fo-image-viewer__bar,
    .fo-image-viewer__actions { align-items: stretch; flex-direction: column; }
    .fo-image-viewer__close,
    .fo-image-viewer__new-tab { width: 100%; }
  }


/* Shared source-reference cards */

            .fo-article-references { width: min(1180px, calc(100% - 32px)); margin: 30px auto 42px; padding: clamp(24px, 4vw, 38px); border-top: 7px solid #ff8a00; border-radius: 20px; color: #fff; background: #090d19; box-shadow: 0 16px 38px rgba(17,31,72,.13); box-sizing: border-box; }
            .fo-article-references h2 { margin: 0 0 8px; color: #fff; }
            .fo-article-references__intro { max-width: 74ch; margin: 0; color: #d9e0f5; }
            .fo-article-references__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
            .fo-article-references__card { display: flex; min-height: 260px; padding: 20px; flex-direction: column; border: 1px solid #343b4d; border-radius: 16px; color: #fff !important; background: linear-gradient(145deg, #171b26 0%, #0c101a 100%); text-decoration: none; transition: transform .18s ease, border-color .18s ease, background .18s ease; box-sizing: border-box; }
            .fo-article-references__card:hover { border-color: #ff8a00; color: #fff !important; background: linear-gradient(145deg, #1d2434 0%, #101522 100%); transform: translateY(-3px); }
            .fo-article-references__card:focus { outline: 4px solid #ffdd00; outline-offset: 3px; }
            .fo-article-references__source { display: flex; gap: 10px; align-items: center; color: #dce3f7; font-size: .88rem; font-weight: 800; }
            .fo-article-references__badge { display: inline-flex; width: 36px; height: 36px; flex: 0 0 36px; align-items: center; justify-content: center; border-radius: 50%; color: #111f48; background: #fff; font-size: .68rem; font-weight: 950; letter-spacing: -.03em; text-align: center; }
            .fo-article-references__card h3 { margin: 18px 0 10px; color: #fff; font-size: clamp(1.12rem, 2vw, 1.34rem); line-height: 1.25; }
            .fo-article-references__card p { margin: 0; color: #bec8e4; font-size: .92rem; }
            .fo-article-references__meta { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-top: auto; padding-top: 22px; color: #ffd49c; font-size: .82rem; font-weight: 800; }
            .fo-article-references__note { margin: 16px 0 0; color: #aeb9d5; font-size: .82rem; }
            @media (max-width: 920px) { .fo-article-references__grid { grid-template-columns: 1fr; } .fo-article-references__card { min-height: 0; } }
          

            .fo-article-sources { width: min(1180px, calc(100% - 32px)); margin: 30px auto 30px; padding: clamp(22px, 3.5vw, 32px); border: 1px solid #d8dde8; border-radius: 20px; color: #111f48; background: #fff; box-shadow: 0 14px 34px rgba(17,31,72,.08); box-sizing: border-box; }
            .fo-article-sources h2 { margin: 0 0 10px; color: #111f48; }
            .fo-article-sources__intro { margin: 0 0 16px; color: #56627a; }
            .fo-article-sources__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 34px; margin: 0; padding-left: 22px; }
            .fo-article-sources__list li { padding-left: 2px; margin: 0; }
            .fo-article-sources__list a { color: #2865bd; overflow-wrap: anywhere; }
            .fo-article-sources__note { margin: 18px 0 0; color: #68748a; font-size: .86rem; }
            @media (max-width: 720px) { .fo-article-sources__list { grid-template-columns: 1fr; } }
          
