.dfe-f-c-border-top{
    border-top: 2px solid #cecece;
    padding-top: 1rem;
}

/* Main content images — use class dfe-f-content-image (applied automatically in GovUkMarkdown) */
.dfe-f-content-image {
    display: block;
    max-width: 100%;
    height: auto;
}

.dfe-f-content-section img {
    max-width: 100%;
    height: auto;
}

.dfe-f-c-border-top.dfe-f-c-border-top--blue{
    border-top-color:  #1d70b8;
}

/* Detailed guide: main column when “Other pages” / contents are in the sidebar — no duplicate top border */
.dfe-f-detailed-guide-main--no-border-top {
    border-top: 0;
    padding-top: 0;
}


.dfe-f-c-collectopn-list li{
    border-bottom: 1px solid #cecece;
    padding-bottom: 1rem;
}

.dfe-f-c-collectopn-list li a {
    font-weight: 500;
}

/* Collection “Contents” nav: hollow circles matching link blue (see design reference) */
.dfe-f-c-contents-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dfe-f-c-contents-list li {
    position: relative;
    padding-left: 1.175rem;
}

.dfe-f-c-contents-list li a {
    text-decoration: none;
}

.dfe-f-c-contents-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.5rem;
    width: 0.625rem;
    height: 0.625rem;
    border: 2px solid #1d70b8;
    border-radius: 50%;
    background-color: #ffffff;
    box-sizing: border-box;
}

/* Current page in contents nav (Detailed Guide): solid GOV.UK blue dot */
.dfe-f-c-contents-list li:has([aria-current="page"])::before {
    background-color: #1d70b8;
}


.ss-standard-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

ol.ss-standard-list li:first-child {
    border-top: 1px solid #cecece;
}
ol.ss-standard-list li {
    border-bottom: 1px solid #cecece;
    padding: 1rem 0 1.175rem 0;
}

ol.ss-standard-list li a {
    font-weight: 600;
}

/* Masthead: space below meta line (Part of / Last reviewed / Owner) */
.page-hero__meta {
    margin-bottom: 30px;
}

/* Masthead: gap between breadcrumbs and H1 when there is no caption/badge above the title */
.dfe-f-masthead__title--breadcrumb-gap {
    margin-top: 30px;
}

/* Homepage product masthead: primary content + bordered promo card */
.dfe-f-masthead__layout {
    align-items: flex-start;
}

.dfe-f-masthead__promo {
    border: 1px solid #ffffff;
    padding: 20px;
}

.dfe-f-masthead__promo-heading {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
}

@media (min-width: 40.0625em) {
    .dfe-f-masthead__aside {
        display: flex;
        justify-content: flex-end;
    }

    .dfe-f-masthead__promo {
        max-width: 19rem;
    }
}

/* CMS headline may include a nested product masthead — flatten so layout stays single-row */
.dfe-f-masthead__primary .dfe-f-masthead--product {
    background: transparent;
    padding: 0;
}

.dfe-f-masthead__primary .dfe-f-masthead__inner {
    padding: 0;
    max-width: none;
}

.dfe-f-masthead__primary .govuk-grid-row .govuk-grid-column-two-thirds {
    width: 100%;
    max-width: none;
    flex: 0 0 100%;
}

/* Detailed guide: main + aside columns align from tablet (GOV.UK grid stacks below 40.0625em) */
@media (min-width: 40.0625em) {
    .dfe-f-detailed-guide-layout,
    .dfe-f-guide-basic > .govuk-grid-row {
        align-items: flex-start;
    }

    /* Sticky side navigation (detailed guide, standard detail, etc.) */
    .dfe-f-guide-basic > .govuk-grid-row > aside {
        position: sticky;
        top: 72px;
    }
}

/* Detailed guide: guide pages list (on right sidebar) */
.dfe-f-c-guide-pages-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dfe-f-c-guide-pages-list li {
    border-bottom: 1px solid #cecece;
    padding: 0rem 0 0.3rem 0;
}
.dfe-f-c-guide-pages-list li a {
    font-weight: 400;
    font-size: 1rem;
    text-decoration: none;
}

/* if its the current page, make the text bold  this is set by the aria-current="page" attribute
<li class="govuk-!-font-weight-bold">
                                    <span aria-current="page">1. Understand users and their needs</span>
                            </li>*/
.dfe-f-c-guide-pages-list li span[aria-current="page"] {
    font-weight: 600;
    font-size: 1rem;
}

/* ── Action link ([actionLink] … [/actionLink] from GovUkMarkdown) ────────────
   Matches GOV.UK Publishing action link — markup emitted by ApplyActionLinkShortcodes */

.dfe-f-action-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 30px;
}

.dfe-f-action-link__icon {
    display: inline-flex;
    flex-shrink: 0;
}

.dfe-f-action-link__svg {
    width: 27px;
    height: 27px;
}

.dfe-f-action-link__icon-circle {
    fill: var(--govuk-colour-blue, #1d70b8);
}

.dfe-f-action-link__icon-arrow {
    fill: var(--govuk-colour-white, #ffffff);
}

.dfe-f-action-link__link-wrapper {
    flex: 0 1 auto;
}

.dfe-f-action-link__link {
    font-weight: 700;
    font-size: 1.125rem;
}

.dfe-f-action-link:hover .dfe-f-action-link__icon-circle {
    fill: var(--govuk-colour-blue-shade-50, #003078);
}

.dfe-f-action-link__link:focus {
    outline: 3px solid var(--govuk-colour-focus, #fd0);
    outline-offset: 0;
    background-color: var(--govuk-colour-focus, #fd0);
    color: var(--govuk-colour-text, #0b0c0c);
    text-decoration: none;
}

.dfe-f-action-link:focus-within .dfe-f-action-link__icon-circle {
    fill: var(--govuk-colour-text, #0b0c0c);
}

@media (max-width: 40.0625em) {
    .dfe-f-action-link__link {
        font-size: 1rem;
    }
}

/* ── Document download ([fileDownload] … [/fileDownload] from GovUkMarkdown) ─── */

.dfe-f-document-panel {
    margin: 30px 0;
    padding: 20px 25px;
    background-color: #f3f2f1;
    border: 1px solid #b1b4b6;
}

.dfe-f-document-list {
    margin: 0;
}

.dfe-f-document-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.dfe-f-document-item + .dfe-f-document-item {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #b1b4b6;
}

.dfe-f-document-item__icon {
    width: 55px;
    height: 70px;
    background: linear-gradient(135deg, #1d70b8 0%, #003078 100%);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 15px;
    flex-shrink: 0;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
}

.dfe-f-document-item__info {
    flex: 1;
    min-width: 0;
}

.dfe-f-document-item__title {
    margin: 0 0 8px 0;
    font-size: 19px;
    font-weight: 700;
}

.dfe-f-document-item__meta {
    font-size: 1rem;
    color: #505a5f;
    margin: 0;
}



.dfe-roadmap {
    padding: 50px 0;
    background: #f3f2f1;
  }
  
  .dfe-roadmap__intro {
    max-width: 760px;
    margin-bottom: 40px;
  }
  
  .dfe-roadmap__title {
    margin-top: 15px;
  }
  
  .dfe-roadmap__timeline {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .dfe-roadmap__stage {
    position: relative;
    display: grid;
    grid-template-columns: 64px 1fr;
    column-gap: 24px;
    margin-bottom: 30px;
  }
  
  .dfe-roadmap__stage::before {
    content: "";
    position: absolute;
    left: 31px;
    top: 64px;
    bottom: -30px;
    width: 4px;
    background: #b1b4b6;
  }
  
  .dfe-roadmap__stage:last-child::before {
    display: none;
  }
  
  .dfe-roadmap__stage-marker {
    position: relative;
    z-index: 1;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #1d70b8;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 0 8px #f3f2f1;
  }
  
  .dfe-roadmap__stage-marker span {
    font-family: "GDS Transport", arial, sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 1;
  }
  
  .dfe-roadmap__stage--now .dfe-roadmap__stage-marker {
    background: #00703c;
  }
  
  .dfe-roadmap__stage--next .dfe-roadmap__stage-marker {
    background: #1d70b8;
  }
  
  .dfe-roadmap__stage--later .dfe-roadmap__stage-marker {
    background: #505a5f;
  }
  
  .dfe-roadmap__stage-content {
    background: #ffffff;
    border: 1px solid #b1b4b6;
    border-left: 6px solid #1d70b8;
  }
  
  .dfe-roadmap__stage--now .dfe-roadmap__stage-content {
    border-left-color: #00703c;
  }
  
  .dfe-roadmap__stage--next .dfe-roadmap__stage-content {
    border-left-color: #1d70b8;
  }
  
  .dfe-roadmap__stage--later .dfe-roadmap__stage-content {
    border-left-color: #505a5f;
  }
  
  .dfe-roadmap__stage-header {
    padding: 25px 25px 5px 25px;
  }
  
  .dfe-roadmap__stage-header .govuk-heading-l {
    margin-bottom: 10px;
  }
  
  .dfe-roadmap__stage-kicker {
    margin-bottom: 5px;
    color: #505a5f;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  
  .dfe-roadmap__items {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .dfe-roadmap__item {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 25px;
    border-top: 1px solid #b1b4b6;
  }
  
  .dfe-roadmap__item-content {
    max-width: 680px;
  }
  
  .dfe-roadmap__item .govuk-heading-s {
    margin-bottom: 5px;
  }
  
  .dfe-roadmap__item .govuk-body-s {
    margin-bottom: 0;
  }
  
  .dfe-roadmap__item .govuk-tag {
    align-self: flex-start;
    white-space: nowrap;
  }
  
  @media (min-width: 48.0625em) {
    .dfe-roadmap__timeline {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      column-gap: 24px;
    }
  
    .dfe-roadmap__stage {
      display: block;
      margin-bottom: 0;
    }
  
    .dfe-roadmap__stage::before {
      left: 64px;
      right: -24px;
      top: 32px;
      bottom: auto;
      width: auto;
      height: 4px;
    }
  
    .dfe-roadmap__stage:last-child::before {
      display: none;
    }
  
    .dfe-roadmap__stage-marker {
      margin-bottom: 24px;
    }
  
    .dfe-roadmap__stage-content {
      min-height: 100%;
      display: flex;
      flex-direction: column;
    }
  
    .dfe-roadmap__items {
      flex: 1;
    }
  
    .dfe-roadmap__item {
      display: block;
    }
  
    .dfe-roadmap__item .govuk-tag {
      margin-top: 15px;
    }
  }
  
  @media (max-width: 48.0525em) {
    .dfe-roadmap {
      padding: 30px 0;
    }
  
    .dfe-roadmap__stage {
      grid-template-columns: 48px 1fr;
      column-gap: 16px;
    }
  
    .dfe-roadmap__stage::before {
      left: 23px;
      top: 48px;
    }
  
    .dfe-roadmap__stage-marker {
      width: 48px;
      height: 48px;
    }
  
    .dfe-roadmap__stage-marker span {
      font-size: 19px;
    }
  
    .dfe-roadmap__stage-header {
      padding: 20px 20px 5px 20px;
    }
  
    .dfe-roadmap__item {
      display: block;
      padding: 20px;
    }
  
    .dfe-roadmap__item .govuk-tag {
      margin-top: 15px;
    }
  }

.dfe-f-c-results-list li {
  border-bottom: 1px solid #b1b4b6;
  margin-bottom: 0;
  padding: 1rem 0;
}

.dfe-f-c-results-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}


.dfe-list--cross,.dfe-list--tick {
    list-style: none;
    margin-top: 0;
    padding-left: 40px;
    position: relative
}

.dfe-list--cross svg,.dfe-list--tick svg {
    left: -4px;
    margin-top: -5px;
    position: absolute
}

/* Detailed guide — related content below main column */
.dfe-f-guide-basic__header .govuk-caption-l,
.dfe-f-guide-basic__header .govuk-heading-xl {
  margin-top: 0;
  padding-top: 0;
}

.dfe-f-guide-basic .dfe-f-side-navigation {
  margin-top: 0;
  padding-top: 0;
}

.dfe-f-guide-basic__related {
  border-top: 1px solid #b1b4b6;
  padding-top: 24px;
}

/* Detailed guide — in-page contents list */
.dfe-m-contents-list {
  margin-bottom: 30px;
}

@media (min-width: 40.0625em) {
  .dfe-m-contents-list {
    margin-bottom: 50px;
  }
}

.dfe-m-contents-list ol {
  list-style-type: none;
  margin-top: 0;
  padding-left: 0;
}

.dfe-m-contents-list ol ol {
  margin-bottom: 0;
}

.dfe-m-contents-list li {
  color: var(--govuk-text-colour, #0b0c0c);
  padding-top: 10px;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}

@media print {
  .dfe-m-contents-list li {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media (min-width: 40.0625em) {
  .dfe-m-contents-list li {
    padding-top: 7.5px;
  }
}

.dfe-m-contents-list li li {
  font-weight: normal;
  padding-left: 25px;
  position: relative;
}

.dfe-m-contents-list li li::before {
  content: "\2014";
  left: 0;
  overflow: hidden;
  position: absolute;
  width: 20px;
}

.dfe-m-contents-list a {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: .1578em;
}

.dfe-m-contents-list a:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}

.dfe-m-contents-list a:focus {
  outline: 3px solid rgba(0, 0, 0, 0);
  color: var(--govuk-focus-text-colour, #0b0c0c);
  background-color: var(--govuk-focus-colour, #ffdd00);
  box-shadow: 0 -2px var(--govuk-focus-colour, #ffdd00), 0 4px var(--govuk-focus-text-colour, #0b0c0c);
  text-decoration: none;
}

@supports not (text-wrap: balance) {
  .dfe-m-contents-list a:focus {
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }
}

.dfe-m-contents-list a:link {
  color: var(--govuk-link-colour, #1a65a6);
}

.dfe-m-contents-list a:visited {
  color: var(--govuk-link-colour, #1a65a6);
}

.dfe-m-contents-list a:hover {
  color: var(--govuk-link-hover-colour, #0f385c);
}

.dfe-m-contents-list a:active {
  color: var(--govuk-link-active-colour, #0b0c0c);
}

.dfe-m-contents-list a:focus {
  color: var(--govuk-focus-text-colour, #0b0c0c);
}

.dfe-m-contents-list a:not(:hover):not(:active) {
  text-decoration: none;
}

.dfe-m-contents-list__title {
  color: var(--govuk-text-colour, #0b0c0c);
  margin: 0;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
}

@media print {
  .dfe-m-contents-list__title {
    font-size: 14pt;
    line-height: 1.5;
  }
}

.govuk-service-navigation__link--no-href {
  cursor: default;
}

/* Back to top — fixed pill button; hidden until scroll (see _Layout.cshtml) */
a.dfe-f-back-to-top.dfe-f-back-to-top--fixed {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 0;
  border-radius: 999px;
  background: var(--govuk-colour-blue, #1d70b8);
  color: var(--govuk-colour-white, #ffffff);
  font: inherit;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1;
  padding: 0.7rem 1rem;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  text-decoration: none;
  z-index: 100;
}

a.dfe-f-back-to-top.dfe-f-back-to-top--fixed[hidden] {
  display: none !important;
}

a.dfe-f-back-to-top.dfe-f-back-to-top--fixed .dfe-f-back-to-top__icon {
  flex-shrink: 0;
  width: 13px;
  height: 17px;
}

a.dfe-f-back-to-top.dfe-f-back-to-top--fixed .dfe-f-back-to-top__label {
  white-space: nowrap;
}

a.dfe-f-back-to-top.dfe-f-back-to-top--fixed:link,
a.dfe-f-back-to-top.dfe-f-back-to-top--fixed:visited {
  color: var(--govuk-colour-white, #ffffff);
  background: var(--govuk-colour-blue, #1d70b8);
}

a.dfe-f-back-to-top.dfe-f-back-to-top--fixed:hover {
  background: var(--govuk-colour-dark-blue, #003078);
  color: var(--govuk-colour-white, #ffffff);
  text-decoration: none;
}

a.dfe-f-back-to-top.dfe-f-back-to-top--fixed:active {
  background: var(--govuk-colour-active-blue, #002147);
  color: var(--govuk-colour-white, #ffffff);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

a.dfe-f-back-to-top.dfe-f-back-to-top--fixed:focus {
  outline: 3px solid var(--govuk-focus-colour, #fd0);
  outline-offset: 0;
  background-color: var(--govuk-focus-colour, #fd0);
  color: var(--govuk-focus-text-colour, #0b0c0c);
  box-shadow: 0 -2px var(--govuk-focus-colour, #fd0), 0 4px var(--govuk-focus-text-colour, #0b0c0c);
  text-decoration: none;
}

a.dfe-f-back-to-top.dfe-f-back-to-top--fixed:hover:focus {
  background-color: var(--govuk-focus-colour, #fd0);
  color: var(--govuk-focus-text-colour, #0b0c0c);
}

@media (prefers-reduced-motion: no-preference) {
  a.dfe-f-back-to-top.dfe-f-back-to-top--fixed {
    transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
  }
}

/* ── INTER ─────────────────────────────────────────── */
:root { font-family: 'Inter', sans-serif; font-feature-settings: 'liga' 1, 'calt' 1; }
@supports (font-variation-settings:normal) { :root { font-family: 'InterVariable', sans-serif; } }

/* ── TOKENS ────────────────────────────────────────── */
:root {
  --ink:        #0B0C0C;
  --ink-mid:    #3d4346;
  --ink-soft:   #505a5f;
  --border:     #b1b4b6;
  --border-lt:  #e0e4e7;
  --wash:       #f5f6f7;
  --wash-blue:  #F0F5FB;
  --white:      #fff;

  --blue:       #1D70B8;
  --blue-dk:    #0F3B5C;
  --teal:       #15B187;
  --green:      #11875A;
  --purple:     #8460b1;
  --magenta:    #CA357C;
  --orange:     #F47738;
  --yellow:     #FFD000;
  --yellow-sh:  #B39800;
  --red:        #CA3535;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:var(--white); color:var(--ink); font-size:16px; line-height:1.5; }
a:focus-visible { outline:3px solid var(--yellow); outline-offset:2px; }
img { display:block; max-width:100%; }
.vh { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

.w { max-width:1200px; margin:0 auto;}

/* ── PAGE SWITCHER (demo nav) ───────────────────────── */
.demo-nav {
  position:fixed; bottom:20px; right:20px; z-index:1000;
  display:flex; flex-direction:column; gap:6px; align-items:flex-end;
}
.demo-nav__btn {
  background:var(--ink); color:#fff;
  font-family:inherit; font-size:12px; font-weight:600;
  padding:8px 14px; border:none; cursor:pointer;
  text-align:right; opacity:.85; transition:opacity .13s;
}
.demo-nav__btn:hover { opacity:1; }
.demo-nav__btn.active { background:var(--blue); opacity:1; }
.demo-nav__label {
  font-size:10px; font-weight:700; letter-spacing:.8px; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:4px; padding-right:2px;
}

.page { display:none; }
.page.active { display:block; }

/* ════════════════════════════════════════════════════
   SHARED HEADER
════════════════════════════════════════════════════ */
.hdr { background:var(--ink); position:sticky; top:0; z-index:100; }
.hdr__inner { display:flex; align-items:stretch; min-height:56px; }
.hdr__logo { display:flex; align-items:stretch; text-decoration:none; }
.hdr__dfe {
  background:var(--yellow); color:var(--ink);
  font-size:13px; font-weight:800; letter-spacing:.5px; text-transform:uppercase;
  padding:0 18px; display:flex; align-items:center;
}
.hdr__name {
  color:rgba(255,255,255,.88); font-size:14px; font-weight:500;
  padding:0 20px; display:flex; align-items:center;
  border-right:1px solid rgba(255,255,255,.09);
}
.hdr__nav { display:flex; align-items:stretch; }
.hdr__nav ul { list-style:none; display:flex; align-items:stretch; }
.hdr__nav a {
  display:flex; align-items:center;
  color:rgba(255,255,255,.65); font-size:13.5px; font-weight:450;
  text-decoration:none; padding:0 15px;
  border-bottom:2px solid transparent;
  transition:color .13s,border-color .13s;
}
.hdr__nav a:hover,
.hdr__nav a[aria-current] { color:#fff; border-bottom-color:var(--yellow); }
.hdr__search {
  margin-left:auto; display:flex; align-items:center;
  padding:0 24px; border-left:1px solid rgba(255,255,255,.09);
}
.hdr__search button {
  background:none; border:none; cursor:pointer;
  color:rgba(255,255,255,.65); font-family:inherit; font-size:13.5px;
  font-weight:450; display:flex; align-items:center; gap:7px;
  transition:color .13s;
}
.hdr__search button:hover { color:#fff; }

.beta-bar { background:var(--blue-dk); border-bottom:1px solid rgba(255,255,255,.08); }
.beta-bar__inner {
  display:flex; align-items:center; gap:12px;
  padding:9px 32px; font-size:13.5px;
}
.beta-tag {
  background:var(--teal); color:var(--ink);
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.7px;
  padding:3px 9px; flex-shrink:0;
}
.beta-bar__text { color:rgba(255,255,255,.72); }
.beta-bar__text a { color:#fff; font-weight:600; }

/* ════════════════════════════════════════════════════
   SHARED FOOTER
════════════════════════════════════════════════════ */
.ftr { background:var(--ink); border-top:1px solid rgba(255,255,255,.07); }
.ftr__inner {
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; padding:18px 0;
  font-size:12.5px; color:rgba(255,255,255,.38);
}
.ftr__inner a { color:rgba(255,255,255,.45); }

/* ════════════════════════════════════════════════════
   PAGE 1: HOMEPAGE
════════════════════════════════════════════════════ */

/* HERO — no bottom border, qbar has its own treatment */
.hero { background:#1D70B8; padding-bottom: 30px; }
.hero__grid {
  display:grid; grid-template-columns:1fr 1fr;
  align-items:center;
}
.hero__left {
  padding:72px 48px 72px 0;
  display:flex; align-items:center;
}
.hero__left-inner { max-width:520px; }
.hero__h1 {
  font-size:clamp(38px,4.2vw,56px); font-weight:800;
  line-height:1.05; letter-spacing:-2px; color:#fff; margin-bottom:20px;
}
.hero__h1 em { font-style:normal; color:#00ffe0; } /* soft warm yellow on mid-blue */
.hero__lede {
  font-size:17px; font-weight:350; line-height:1.72;
  color:#ffffff; margin-bottom:40px; max-width:440px;
}
.hero__ctas { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }

/* Primary: white fill */
.btn-y {
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; color:#1D70B8;
  font-family:inherit; font-size:15px; font-weight:700;
  padding:14px 28px; text-decoration:none; border:none; cursor:pointer;
  box-shadow:0 3px 0 rgba(0,0,0,.2);
  transition:box-shadow .12s,transform .12s;
}
.btn-y:hover { box-shadow:0 5px 0 rgba(0,0,0,.25); transform:translateY(-2px); }

/* Secondary: outline */
.btn-ghost-w {
  display:inline-flex; align-items:center; gap:8px;
  background:transparent; color:rgba(255,255,255,.82);
  font-family:inherit; font-size:15px; font-weight:500;
  padding:13px 24px; text-decoration:none;
  border:1px solid rgba(255,255,255,.35);
  transition:background .13s,border-color .13s,color .13s;
  color: #ffffff;
}
.btn-ghost-w:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.65); color:#fff; }

/* Phase panel */
.hero__right {
  background:rgba(0,0,0,0);
  border-left:1px solid rgba(255,255,255,.15);
  display:flex; flex-direction:column;
  align-self:stretch;
}
.hero__right-head {
  padding:24px 36px 20px;
  font-size:10.5px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase;
  color:rgba(255,255,255,.5);
  border-bottom:1px solid rgba(255,255,255,.1);
}
.phases { display:flex; flex-direction:column; flex:1; justify-content:center; }
.phase-row {
  display:grid; grid-template-columns:88px 1fr 18px;
  align-items:center; gap:16px;
  padding:20px 36px;
  text-decoration:none; color:inherit;
  border-bottom:1px solid rgba(255,255,255,.07);
  border-left:3px solid transparent;
  transition:background .13s,border-left-color .13s;
}
.phase-row:last-child { border-bottom:none; }
.phase-row:hover, .phase-row:focus-visible { background:rgba(255,255,255,.08); border-left-color:var(--c); }
.phase-row:hover .phase-arr { color:rgba(255,255,255,.65); transform:translateX(3px); }
.phase-pill {
  font-size:11px; font-weight:700; letter-spacing:.4px; text-transform:uppercase;
  color:#fff; background:var(--c);
  padding:5px 12px; width:fit-content;
  white-space:nowrap;
}
.phase-title { font-size:14px; font-weight:600; color:rgba(255,255,255,.9); margin-bottom:2px; display:block; }
.phase-desc { font-size:12.5px; font-weight:400; color:#ffffff; line-height:1.4; display:block; }
.phase-arr { color:rgba(255,255,255,.0); font-size:15px; transition:color .13s,transform .13s; }

/* QUICKBAR — accent within the grid */
.qbar { background:#EEF4FB; border-bottom:1px solid #c8def2; border-top:1px solid #c8def2; }
.qbar__inner {
  max-width:1200px; margin:0 auto; padding:0 32px;
  display:flex; align-items:stretch; overflow-x:auto;
}
.qbar__label {
  padding:0 20px 0 0; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
  color:var(--blue-dk); border-right:1px solid #c8def2;
  display:flex; align-items:center; white-space:nowrap; flex-shrink:0;
}
.qbar__links { display:flex; list-style:none; }
.qbar__link {
  display:flex; align-items:center;
  padding:14px 20px;
  font-size:13px; font-weight:650; letter-spacing:-.1px;
  color:var(--blue); text-decoration:none;
  border-right:1px solid #c8def2;
  white-space:nowrap;
  border-bottom:3px solid transparent;
  transition:border-bottom-color .12s,background .12s;
}
.qbar__link:hover { border-bottom-color:var(--blue); background:rgba(29,112,184,.06); }


/* ════ HOMEPAGE BODY ════ */
.home-body { padding:0; }

/* Role section — sits on white, inner wrapper constrains everything */
.role-section {
  margin-bottom:0;
  background:var(--white);
  padding:0px 0px 52px 0px;
}

.role-section .sec-hd {
  border-bottom-color:var(--ink);
  padding-bottom:14px; margin-bottom:20px;
}
.role-section__intro {
  font-size:14.5px; color:var(--ink-soft); margin-bottom:28px; max-width:660px; line-height:1.65;
}

/* Profession grid inside role section */
.role-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:12px; background:transparent;
}
.role-card {
  background:var(--white);
  border:1px solid var(--border-lt);
  padding:22px 20px 15px;
  text-decoration:none; color:inherit;
  display:flex; flex-direction:column; gap:12px;
  transition:border-color .13s, box-shadow .13s, background .13s;
}
.role-card:hover {
  background:var(--wash-blue);
  border-color:var(--blue);
  box-shadow:0 2px 10px rgba(29,112,184,.1);
}
.role-card:hover .role-card__name { color:var(--blue); }
.role-card__tag {
  display:inline-block; width:fit-content;
  font-size:10px; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  color:#fff; padding:4px 10px;
}
.role-card__name {
  font-size:14.5px; font-weight:700; letter-spacing:-.1px;
  color:var(--ink); line-height:1.3;
  transition:color .12s;
}
.role-card__desc {
  font-size:12.5px; color:var(--ink-soft); line-height:1.55; flex:1;
}
.role-card__link {
  font-size:12px; font-weight:700; color:var(--blue);
  display:flex; align-items:center; gap:4px;
  border-top:1px solid var(--border-lt); padding-top:10px; margin-top:4px;
}

/* ── Shared section header ── */
.sec-hd {
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  padding-bottom:14px; margin-bottom:28px;
  border-bottom:2px solid var(--ink);
}
.sec-hd h2 { font-size:20px; font-weight:750; letter-spacing:-.4px; }
.sec-hd a { font-size:13px; font-weight:600; color:var(--blue); text-decoration:none; white-space:nowrap; }
.sec-hd a:hover { text-decoration:underline; }

/* ── Need label ── */
.need-label {
  display:inline-flex; align-items:center; gap:6px;
  font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:8px;
}
.need-label::before { content:''; display:block; width:8px; height:8px; border-radius:50%; background:currentColor; flex-shrink:0; }

/* ════ 2. PHASE LIFECYCLE — subgrid for aligned zones ════ */
.lifecycle-section { margin-bottom:52px; }
.lifecycle-strip {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  /* 4 row zones shared across all cards: phase badge+title | desc | tasks | cta */
  grid-template-rows: auto auto 1fr auto;
  border:1px solid var(--border-lt);
}
.lc-card {
  display:grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  border-right:1px solid var(--border-lt);
  border-top:4px solid var(--c);
  background:var(--white);
  transition:background .13s;
}
.lc-card:last-child { border-right:none; }
.lc-card:hover { background:var(--wash-blue); }
.lc-card__head {
  padding:22px 22px 16px;
  border-bottom:1px solid var(--border-lt);
  align-self:stretch;
}
.lc-card__phase {
  display:inline-block; background:var(--c); color:#fff;
  font-size:11px; font-weight:700; letter-spacing:.4px; text-transform:uppercase;
  padding:4px 10px; margin-bottom:12px;
}
.lc-card__title {
  font-size:15px; font-weight:700; color:var(--ink);
  line-height:1.35; letter-spacing:-.1px;
}
.lc-card__body {
  padding:14px 22px; font-size:13px; color:var(--ink-soft);
  line-height:1.6; border-bottom:1px solid var(--border-lt);
  align-self:stretch;
}
.lc-card__tasks {
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column;
  align-self:stretch;
}
.lc-card__tasks li {
  padding:9px 22px; border-bottom:1px solid var(--border-lt);
  display:flex; align-items:center; gap:10px;
}
.lc-card__tasks li:last-child { border-bottom:none; }
.lc-card__tasks a {
  font-size:13px; font-weight:550; color:var(--blue);
  text-decoration:none; flex:1;
}
.lc-card__tasks a:hover { text-decoration:underline; }
.lc-card__tasks-icon { font-size:11px; color:var(--border); flex-shrink:0; }
.lc-card__cta {
  padding:14px 22px; display:block;
  font-size:12.5px; font-weight:700; color:var(--c); text-decoration:none;
  border-top:1px solid var(--border-lt);
  align-self:stretch;
  transition:background .12s;
}
.lc-card__cta:hover { background:rgba(0,0,0,.03); text-decoration:underline; }

/* ════ 3. MANDATORY vs GUIDANCE — subgrid for aligned zones ════ */
.comply-section { margin-bottom:52px; }
.comply-strip {
  display:grid;
  grid-template-columns:1fr 1fr;
  /* 3 row zones: title+head | desc | items list */
  grid-template-rows: auto auto 1fr;
  border:1px solid var(--border-lt);
}
.comply-card {
  display:grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  border-top:4px solid var(--c);
  border-right:1px solid var(--border-lt);
  background:var(--white);
}
.comply-card:last-child { border-right:none; }
.comply-card__head {
  padding:24px 24px 18px;
  border-bottom:1px solid var(--border-lt);
  align-self:stretch;
}
.comply-card__title {
  font-size:16px; font-weight:700; color:var(--ink);
  line-height:1.3; letter-spacing:-.1px;
}
.comply-card__body {
  padding:14px 24px; font-size:13px; color:var(--ink-soft);
  line-height:1.6; border-bottom:1px solid var(--border-lt);
  align-self:stretch;
}
.comply-card__items {
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column;
  align-self:stretch;
}
.comply-card__item {
  display:flex; align-items:stretch;
  border-bottom:1px solid var(--border-lt);
}
.comply-card__item:last-child { border-bottom:none; }
/* Make each item a full-width link */
.comply-card__item-link {
  display:flex; align-items:flex-start; gap:12px;
  padding:13px 24px; flex:1;
  text-decoration:none; color:inherit;
  transition:background .12s, padding-left .12s;
}
.comply-card__item-link:hover,
.comply-card__item-link:focus-visible {
  background:var(--wash-blue);
  padding-left:28px;
}
.comply-card--must .comply-card__item-link:hover { background:var(--wash-blue); }
.comply-card__item-icon { font-size:12px; color:var(--border); flex-shrink:0; margin-top:3px; transition:color .12s; }
.comply-card__item-link:hover .comply-card__item-icon { color:var(--blue); }
.comply-card__item-text { font-size:13.5px; color:var(--ink); line-height:1.4; flex:1; }
.comply-card__item-text strong { display:block; font-weight:650; }
.comply-card__item-text span { font-size:12.5px; color:var(--ink-soft); }

/* ════ 4. PROFESSIONS — "Find guidance for your discipline" ════ */
.prof-section { margin-bottom:52px; }
.prof-list { display:flex; flex-direction:column; gap:0; border:1px solid var(--border-lt); }
.prof-row {
  display:grid; grid-template-columns:120px 1fr auto;
  align-items:center; gap:20px;
  padding:16px 20px;
  border-bottom:1px solid var(--border-lt);
  text-decoration:none; color:inherit;
  background:var(--white);
  transition:background .13s;
}
.prof-row:last-child { border-bottom:none; }
.prof-row:hover { background:var(--wash-blue); }
.prof-row:hover .prof-row__name { color:var(--blue); }
.prof-row__tag {
  display:inline-block; font-size:11px; font-weight:700;
  letter-spacing:.4px; text-transform:uppercase;
  color:#fff; padding:4px 10px; white-space:nowrap;
}
.prof-row__name { font-size:15px; font-weight:650; letter-spacing:-.1px; color:var(--ink); transition:color .12s; }
.prof-row__desc { font-size:13px; color:var(--ink-soft); margin-top:2px; }
.prof-row__arr { color:var(--border); font-size:14px; }

/* ════ 5. TOOLS — "Things that help you deliver" ════ */
.tools-section { margin-bottom:52px; }
.tools-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.tool-card {
  display:flex; gap:0; align-items:stretch;
  text-decoration:none; color:inherit;
  border:1px solid var(--border-lt);
  background:var(--white);
  transition:border-color .14s, box-shadow .14s;
}
.tool-card:hover { border-color:var(--blue); box-shadow:0 2px 12px rgba(29,112,184,.1); }
.tool-card__accent { width:5px; flex-shrink:0; }
.tool-card__body { padding:20px 22px; flex:1; display:flex; flex-direction:column; gap:6px; }
.tool-card__label { font-size:10px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--ink-soft); }
.tool-card__name { font-size:15px; font-weight:700; letter-spacing:-.15px; color:var(--ink); line-height:1.3; }
.tool-card:hover .tool-card__name { color:var(--blue); }
.tool-card__desc { font-size:13px; color:var(--ink-soft); line-height:1.55; flex:1; }
.tool-card__cta { font-size:12.5px; font-weight:700; color:var(--blue); }

/* ════ ASIDE ════ */
.hp-layout { display:grid; grid-template-columns:1fr 300px; gap:56px; }

.aside-block { margin-bottom:36px; }
.aside-block:last-child { margin-bottom:0; }
.aside-title {
  font-size:10px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase;
  color:var(--ink-soft);
  padding-bottom:10px; margin-bottom:14px;
  border-bottom:2px solid var(--border-lt);
}

/* Onboarding block */
.onboard-box {
  background:var(--wash-blue); border:1px solid #c8def2;
  border-left:4px solid var(--blue); padding:20px; margin-bottom:36px;
}
.onboard-box__title { font-size:15px; font-weight:700; color:var(--ink); margin-bottom:8px; }
.onboard-box__body { font-size:13px; color:var(--ink-soft); line-height:1.6; margin-bottom:14px; }
.onboard-links { list-style:none; display:flex; flex-direction:column; gap:0; }
.onboard-link {
  display:flex; align-items:center; justify-content:space-between;
  padding:9px 0; border-bottom:1px solid #d0e4f5;
  text-decoration:none; font-size:13px; font-weight:600; color:var(--blue);
  transition:padding-left .12s;
}
.onboard-link:first-child { border-top:1px solid #d0e4f5; }
.onboard-link:last-child { border-bottom:none; }
.onboard-link:hover { padding-left:4px; }
.onboard-link__arr { color:#a8c8e8; font-size:12px; }

/* Updates — clean with clear dividers */
.update-feed { list-style:none; border-top:1px solid var(--border-lt); }
.upd {
  padding:13px 0;
  border-bottom:1px solid var(--border-lt);
  display:block; text-decoration:none; color:inherit;
}
.upd:hover .upd__title { color:var(--blue); }
.upd__date {
  display:block;
  font-size:12px; font-weight:500; color:var(--ink-soft);
  margin-bottom:5px; font-variant-numeric:tabular-nums;
}
.upd__title {
  font-size:14px; font-weight:550; color:var(--ink); line-height:1.45;
  transition:color .12s;
}

/* Quick access */
.ql-list { list-style:none; border-top:1px solid var(--border-lt); }
.ql {
  display:flex; align-items:center; justify-content:space-between;
  padding:11px 0;
  border-bottom:1px solid var(--border-lt);
  font-size:13.5px; font-weight:500; color:var(--ink); text-decoration:none;
  transition:color .12s, padding-left .12s;
}
.ql:hover { color:var(--blue); padding-left:5px; }
.ql::after { content:'→'; font-size:12px; color:var(--border); flex-shrink:0; transition:color .12s; }
.ql:hover::after { color:var(--blue); }

/* ════ CTA STRIP ════ */
.cta-strip { background:var(--ink); border-top:3px solid var(--blue); margin-top:72px; }
.cta-strip__inner {
  display:grid; grid-template-columns:auto 1fr auto;
  align-items:center; gap:48px; padding:44px 0;
}
.cta-strip h2 { font-size:22px; font-weight:800; letter-spacing:-.6px; color:#fff; line-height:1.15; }
.cta-strip p { font-size:14px; color:rgba(255,255,255,.55); line-height:1.7; }
.cta-strip__actions { display:flex; flex-direction:column; gap:10px; align-items:flex-end; }
.btn-y-sm {
  display:inline-flex; align-items:center; gap:7px;
  background:#fff; color:#1D70B8;
  font-family:inherit; font-size:14px; font-weight:700;
  padding:12px 22px; text-decoration:none; white-space:nowrap;
  box-shadow:0 3px 0 rgba(0,0,0,.2); transition:box-shadow .12s,transform .12s;
}
.btn-y-sm:hover { box-shadow:0 5px 0 rgba(0,0,0,.25); transform:translateY(-2px); }
.cta-strip__sub { display:flex; gap:20px; list-style:none; }
.cta-strip__sub a { font-size:13px; font-weight:500; color:rgba(255,255,255,.5); text-decoration:none; }
.cta-strip__sub a:hover { color:rgba(255,255,255,.85); text-decoration:underline; }

/* ── RESPONSIVE ── */
@media (max-width:1024px) {
  .hero__grid { grid-template-columns:1fr; }
  .hero__left { padding:52px 0 40px; }
  .hero__left-inner { max-width:100%; margin:0; }
  .hero__right { border-left:none; border-top:1px solid rgba(255,255,255,.12); }
  .phase-row { padding:18px 24px; }
  .hero__right-head { padding:16px 24px 12px; }
  .hp-layout { grid-template-columns:1fr; gap:40px; }
  .ss-layout { grid-template-columns:1fr; }
  .std5-layout { grid-template-columns:1fr; }
  .std5-nav { position:static; }
  .lifecycle-strip {
    grid-template-columns:repeat(2,1fr);
    grid-template-rows: auto auto 1fr auto auto auto 1fr auto; /* 2 rows of cards × 4 zones */
  }
  .lc-card { grid-row: span 4; }
  .comply-strip { grid-template-columns:1fr; grid-template-rows: auto auto 1fr auto auto 1fr; }
  .comply-card { grid-row: span 3; border-right:none; border-bottom:1px solid var(--border-lt); }
  .comply-card:last-child { border-bottom:none; }
  .tools-grid { grid-template-columns:1fr; }
  .cta-strip__inner { grid-template-columns:1fr; gap:24px; }
  .cta-strip__actions { align-items:flex-start; }
  .role-grid { grid-template-columns:repeat(2,1fr); }
  .role-section__inner { padding-left:24px; padding-right:24px; }
}
@media (max-width:640px) {
  .hdr__nav { display:none; }
  .lifecycle-strip {
    grid-template-columns:1fr;
    grid-template-rows: auto auto 1fr auto auto auto 1fr auto auto auto 1fr auto auto auto 1fr auto;
  }
  .lc-card { grid-row: span 4; border-right:none; border-bottom:1px solid var(--border-lt); border-top:4px solid var(--c); }
  .lc-card:last-child { border-bottom:none; }
  .comply-strip { grid-template-columns:1fr; grid-template-rows: auto auto 1fr auto auto 1fr; }
  .comply-card { grid-row: span 3; border-right:none; border-bottom:1px solid var(--border-lt); }
  .comply-card:last-child { border-bottom:none; }
  .role-grid { grid-template-columns:1fr; }
  .role-section__inner { padding-left:20px; padding-right:20px; }
  .std-grid { grid-template-columns:1fr; }
  .std-row:nth-child(even) { border-right:1px solid var(--border-lt); }
  .w { padding:0 20px; }
  .hero__h1 { font-size:34px; }
  .qbar__label { display:none; }
}

/* ════════════════════════════════════════════════════
   PAGE 2: ALL SERVICE STANDARDS
════════════════════════════════════════════════════ */

/* Standard cards */
.ss-list { display:flex; flex-direction:column; gap:0; }
.ss-card {
  display:grid; grid-template-columns:64px 1fr;
  gap:0; align-items:stretch;
  border:1px solid var(--border-lt);
  margin-bottom:-1px;
  text-decoration:none; color:inherit;
  transition:border-color .13s,z-index 0s,box-shadow .13s;
  position:relative; background:var(--white);
}
.ss-card:hover { border-color:var(--blue); box-shadow:0 2px 12px rgba(29,112,184,.1); z-index:2; }
.ss-card:hover .ss-card__title { color:var(--blue); }
.ss-card__num-col {
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  padding:20px 0 20px;
  border-right:1px solid var(--border-lt);
  background:var(--wash);
}
.ss-card__num {
  font-size:24px; font-weight:800; color:var(--border);
  font-variant-numeric:tabular-nums; line-height:1;
}
.ss-card__body { padding:20px 24px; display:flex; flex-direction:column; gap:6px; }
.ss-card__title { font-size:15.5px; font-weight:700; letter-spacing:-.2px; color:var(--ink); line-height:1.3; transition:color .12s; }
.ss-card__desc { font-size:13px; color:var(--ink-soft); line-height:1.55; }
.ss-card__meta { display:flex; align-items:center; gap:10px; margin-top:4px; flex-wrap:wrap; }
.ss-card__phase-dot {
  font-size:11px; font-weight:600; letter-spacing:.3px;
  padding:3px 9px; color:#fff; display:inline-block;
}
.ss-card__relevance { font-size:12px; color:var(--ink-soft); font-weight:450; }

/* ════════════════════════════════════════════════════
   PAGE 2: ALL SERVICE STANDARDS
════════════════════════════════════════════════════ */
.ss-hero {
  background:#1D70B8;
  padding:52px 0 48px;
}
.ss-hero__inner { max-width:760px; }
.ss-hero__eyebrow {
  font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase;
  color:rgba(255,255,255,.65); margin-bottom:14px; display:block;
}
.ss-hero__h1 { font-size:clamp(28px,3.2vw,42px); font-weight:800; letter-spacing:-1.2px; color:#fff; line-height:1.1; margin-bottom:14px; }
.ss-hero__lead { font-size:16px; font-weight:350; color:rgba(255,255,255,.78); line-height:1.72; max-width:580px; }

.ss-body { padding:52px 0 80px; }
.ss-layout { display:grid; grid-template-columns:1fr 268px; gap:56px; align-items:start; }

/* Standard list */
.ss-list { display:flex; flex-direction:column; gap:0; margin-bottom:0; }
.ss-card {
  display:grid; grid-template-columns:56px 1fr;
  gap:0; align-items:stretch;
  border:1px solid var(--border-lt);
  margin-bottom:-1px;
  text-decoration:none; color:inherit;
  transition:border-color .13s, box-shadow .13s;
  position:relative; background:var(--white);
}
.ss-card:hover { border-color:var(--blue); box-shadow:0 2px 10px rgba(29,112,184,.1); z-index:2; }
.ss-card:hover .ss-card__title { color:var(--blue); }
.ss-card__num-col {
  display:flex; align-items:center; justify-content:center;
  border-right:1px solid var(--border-lt);
  background:var(--wash);
}
.ss-card__num {
  font-size:18px; font-weight:800; color:var(--border);
  font-variant-numeric:tabular-nums; line-height:1;
}
.ss-card__body { padding:16px 20px; display:flex; flex-direction:column; gap:5px; }
.ss-card__title { font-size:14.5px; font-weight:700; letter-spacing:-.15px; color:var(--ink); line-height:1.3; transition:color .12s; }
.ss-card__desc { font-size:12.5px; color:var(--ink-soft); line-height:1.5; }
.ss-card__meta { display:flex; align-items:center; gap:8px; margin-top:6px; flex-wrap:wrap; }
.ss-card__phase-dot {
  font-size:10.5px; font-weight:650; letter-spacing:.2px;
  padding:2px 8px; color:#fff; display:inline-block;
}
.ss-card__relevance { font-size:11.5px; color:var(--ink-soft); font-weight:450; }

/* Assessment sidebar */
.assessment-box {
  background:var(--wash-blue); border:1px solid #c8def2;
  border-left:4px solid var(--blue); padding:20px; margin-bottom:20px;
}
.assessment-box h3 { font-size:14.5px; font-weight:700; margin-bottom:8px; letter-spacing:-.1px; }
.assessment-box p { font-size:13px; color:var(--ink-soft); line-height:1.6; margin-bottom:10px; }
.assessment-box a { font-size:13px; font-weight:650; color:var(--blue); text-decoration:none; }
.assessment-box a:hover { text-decoration:underline; }

.rag-box { background:var(--wash); border:1px solid var(--border-lt); padding:20px; margin-bottom:20px; }
.rag-box h3 { font-size:13px; font-weight:700; margin-bottom:14px; letter-spacing:-.1px; text-transform:uppercase; letter-spacing:.5px; color:var(--ink-soft); }
.rag-item { display:flex; align-items:flex-start; gap:12px; padding:10px 0; border-bottom:1px solid var(--border-lt); }
.rag-item:first-child { border-top:1px solid var(--border-lt); }
.rag-item:last-child { border-bottom:none; padding-bottom:0; }
.rag-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; margin-top:3px; }
.rag-item__text { font-size:13px; color:var(--ink-soft); line-height:1.55; }
.rag-item__text strong { color:var(--ink); display:block; font-size:13.5px; }

/* ════════════════════════════════════════════════════
   PAGE 3: STANDARD 5
════════════════════════════════════════════════════ */
.std5-hero {
  background:#1D70B8;
  padding:48px 0 44px;
}
.std5-hero__breadcrumb {
  font-size:13px; color:rgba(255,255,255,.55); margin-bottom:20px;
  display:flex; align-items:center; gap:8px;
}
.std5-hero__breadcrumb a { color:rgba(255,255,255,.65); text-decoration:none; }
.std5-hero__breadcrumb a:hover { color:#fff; text-decoration:underline; }
.std5-hero__breadcrumb span { font-size:11px; color:rgba(255,255,255,.35); }
.std5-hero__meta { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.std5-hero__num {
  font-size:12px; font-weight:700; letter-spacing:.4px;
  color:#fff; background:rgba(255,255,255,.2); padding:5px 12px;
}
.std5-hero__badge {
  font-size:10px; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  color:rgba(255,255,255,.8); border:1px solid rgba(255,255,255,.35); padding:4px 10px;
}
.std5-hero__h1 { font-size:clamp(26px,3vw,38px); font-weight:800; letter-spacing:-1px; color:#fff; line-height:1.1; margin-bottom:14px; }
.std5-hero__lead { font-size:16px; font-weight:350; color:rgba(255,255,255,.78); line-height:1.72; max-width:620px; }
.std5-hero__roles {
  margin-top:20px; display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.std5-hero__roles-label { font-size:11px; font-weight:600; color:rgba(255,255,255,.45); letter-spacing:.5px; text-transform:uppercase; }
.role-chip {
  font-size:12px; font-weight:600; color:rgba(255,255,255,.85);
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25);
  padding:4px 12px;
}

/* Content layout */
.std5-body { padding:48px 0 80px; }
.std5-layout { display:grid; grid-template-columns:1fr 280px; gap:56px; align-items:start; }
.std5-nav { position:sticky; top:72px; }

/* On-page nav */
.content-nav { margin-bottom:24px; }
.content-nav__title {
  font-size:10px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:0;
  padding-bottom:10px; border-bottom:2px solid var(--border-lt);
}
.content-nav__list { list-style:none; border-bottom:1px solid var(--border-lt); }
.content-nav__item { border-top:1px solid var(--border-lt); }
.content-nav__link {
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 0;
  font-size:13.5px; font-weight:500; color:var(--ink); text-decoration:none;
  transition:color .12s, padding-left .12s;
}
.content-nav__link::after { content:'→'; font-size:12px; color:var(--border); flex-shrink:0; }
.content-nav__link:hover { color:var(--blue); padding-left:4px; }

/* Article */
.article h2 {
  font-size:20px; font-weight:750; letter-spacing:-.3px;
  margin:44px 0 16px; padding-top:44px;
  border-top:1px solid var(--border-lt);
}
.article h2:first-child { margin-top:0; border-top:none; padding-top:0; }
.article h3 { font-size:16px; font-weight:700; letter-spacing:-.1px; margin:24px 0 10px; }
.article p { font-size:15px; color:var(--ink-mid); line-height:1.75; margin-bottom:14px; }
.article ul, .article ol { margin:0 0 16px 0; padding:0; list-style:none; }
.article li {
  font-size:15px; color:var(--ink-mid); line-height:1.65; margin-bottom:0;
  padding:8px 0 8px 0; border-bottom:1px solid var(--border-lt);
  display:flex; gap:12px;
}
.article li::before { content:'→'; color:var(--blue); font-weight:700; flex-shrink:0; font-size:13px; margin-top:2px; }
.article li:first-child { border-top:1px solid var(--border-lt); }
.article a { color:var(--blue); }

/* Phase tabs */
.phase-tabs { margin:24px 0 28px; }
.phase-tabs__list { display:flex; border-bottom:2px solid var(--border-lt); list-style:none; gap:0; }
.phase-tab {
  padding:10px 20px; font-size:13.5px; font-weight:600; cursor:pointer;
  border:1px solid transparent; border-bottom:none; margin-bottom:-2px;
  color:var(--ink-soft); background:none; font-family:inherit;
  transition:color .12s, background .12s;
}
.phase-tab:hover { color:var(--ink); }
.phase-tab.active {
  color:var(--ink); background:var(--white);
  border-color:var(--border-lt); border-bottom-color:var(--white);
}
.phase-content { display:none; padding:20px 0; }
.phase-content.active { display:block; }

/* Consider box */
.consider-box {
  background:var(--wash-blue); border:1px solid #c8def2;
  border-left:4px solid var(--blue); padding:20px 24px; margin:20px 0;
}
.consider-box h3 { font-size:13.5px; font-weight:700; margin-bottom:12px; color:var(--blue-dk); }
.consider-box ul { margin:0; padding:0; list-style:none; }
.consider-box li {
  font-size:13.5px; color:var(--ink-mid); line-height:1.6;
  padding:8px 0; border-bottom:1px solid rgba(29,112,184,.12);
  display:flex; gap:10px; border-top:none;
}
.consider-box li:first-child { border-top:none !important; }
.consider-box li:last-child { border-bottom:none; padding-bottom:0; }
.consider-box li::before { content:'→'; color:var(--blue); font-weight:700; flex-shrink:0; }

/* Warning box */
.warn-box {
  background:#FEF8F5; border:1px solid #f5b28a;
  border-left:4px solid var(--orange); padding:18px 22px; margin:20px 0;
}
.warn-box h3 { font-size:13.5px; font-weight:700; color:#7a3300; margin-bottom:8px; }
.warn-box p,
.warn-box li { font-size:13.5px; color:var(--ink-mid); line-height:1.6; }
.warn-box ul { margin:8px 0 0 0; padding:0; list-style:none; }
.warn-box li { border:none; padding:4px 0; display:flex; gap:8px; }
.warn-box li::before { content:'–'; color:#f47738; flex-shrink:0; font-weight:700; }
.warn-box li:first-child { border-top:none !important; }

/* Law box */
.law-box {
  background:var(--wash); border:1px solid var(--border-lt);
  border-left:4px solid var(--ink-soft);
  padding:20px 24px; margin:20px 0; display:flex; gap:16px; align-items:flex-start;
}
.law-box__icon { font-size:22px; flex-shrink:0; margin-top:2px; }
.law-box h3 { font-size:14px; font-weight:700; margin-bottom:6px; }
.law-box p { font-size:13.5px; color:var(--ink-soft); line-height:1.6; margin-bottom:0; }

/* Page nav */
.page-nav {
  display:flex; align-items:center; justify-content:space-between;
  padding:24px 0; margin-top:40px;
  border-top:1px solid var(--border-lt);
}
.page-nav a {
  display:flex; align-items:center; gap:6px;
  font-size:13.5px; font-weight:650; color:var(--blue); text-decoration:none;
}
.page-nav a:hover { text-decoration:underline; }
.page-nav__prev::before { content:'←'; }
.page-nav__next::after { content:'→'; }

/* ── RESPONSIVE ────────────────────────────────────── */
@media (max-width:1024px) {
  .hero__grid { grid-template-columns:1fr; }
  .hero__left { padding:52px 0 40px; }
  .hero__left-inner { max-width:100%; margin:0; }
  .hero__right { border-left:none; border-top:1px solid rgba(255,255,255,.07); }
  .phase-row { padding:18px 24px; }
  .hero__right-head { padding:16px 24px 12px; }
  .hp-layout { grid-template-columns:1fr; gap:48px; }
  .ss-layout { grid-template-columns:1fr; }
  .std5-layout { grid-template-columns:1fr; }
  .std5-nav { position:static; }
  .phase-cards { grid-template-columns:repeat(2,1fr); }
  .prof-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px) {
  .hdr__nav { display:none; }
  .phase-cards { grid-template-columns:1fr; }
  .prof-grid { grid-template-columns:1fr; }
  .std-grid { grid-template-columns:1fr; }
  .std-row:nth-child(even) { border-right:1px solid var(--border-lt); }
  .tools-grid { grid-template-columns:1fr; }
  .cta-strip__inner { grid-template-columns:1fr; gap:24px; }
  .cta-strip__actions { align-items:flex-start; }
  .w { padding:0 20px; }
  .hero__h1 { font-size:34px; }
}
.govuk-body--inverse{color: #ffffff}