/* Secondary pages share the homepage's header, typography and footer. */
.breadcrumbs { display:flex; flex-wrap:wrap; gap:11px; padding:23px 0; font-size:12px; color:var(--muted); }
.breadcrumbs a:hover { color:var(--red); }
.page-hero { background:var(--cream); overflow:hidden; }
.page-hero-grid { display:grid; grid-template-columns:1.08fr 1fr; gap:65px; padding:28px 0 65px; align-items:center; }
.page-hero h1 { font-size:clamp(42px,4.5vw,66px); line-height:1.07; }
.page-hero h1 span { color:var(--red); }
.page-lead { color:var(--muted); font-size:17px; line-height:1.85; margin:25px 0 27px; }
.page-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; }
.about-hero-image { margin:0; position:relative; }
.about-hero-image>img { width:100%; height:450px; object-fit:cover; object-position:44% center; border-radius:80px 5px 0 0; }
.about-hero-image figcaption { background:var(--navy); color:#fff; padding:25px 29px; border-radius:0 0 5px 5px; font-size:20px; font-weight:650; line-height:1.45; letter-spacing:-.03em; }
.about-facts { display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:14px; margin-top:36px; }
.about-facts>div { padding:18px 15px; border-top:1px solid #d4d8d1; }
.about-facts strong { display:block; font-size:28px; line-height:1.2; letter-spacing:-.04em; }
.about-facts a { border-bottom:1px solid #bfc8c6; }
.about-facts span { display:block; font-size:10px; color:var(--muted); margin-top:9px; }
.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.principle-card { background:#fff0f1; padding:33px 30px; border-radius:6px; }
.principle-card:nth-child(2) { background:#edf2f7; }
.principle-card:nth-child(3) { background:#edf5f0; }
.principle-icon { display:flex; width:43px; height:43px; border:1px solid currentColor; border-radius:50%; align-items:center; justify-content:center; color:#c42d3a; font-size:25px; margin-bottom:37px; }
.principle-card:nth-child(2) .principle-icon { color:#28587a; }
.principle-card:nth-child(3) .principle-icon { color:#227561; }
.principle-card h3 { font-size:25px; }
.principle-card p { margin:20px 0 0; color:var(--muted); font-size:15px; line-height:1.8; }
.values-strip { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:32px; }
.values-strip h3 { font-size:16px; margin-right:15px; }
.values-strip ul { display:flex; gap:10px; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.values-strip li { padding:10px 15px; border:1px solid var(--line); border-radius:3px; font-size:12px; }
.journey-section { background:var(--cream); }
.journey-section .section-intro { max-width:470px; }
.journey-timeline { display:grid; grid-template-columns:repeat(5,1fr); list-style:none; padding:0; margin:55px 0 0; }
.journey-timeline li { position:relative; padding:30px 25px 0 0; border-top:1px solid #bfc9c4; }
.journey-timeline li:before { content:""; position:absolute; left:0; top:-6px; width:11px; height:11px; border-radius:50%; background:var(--red); }
.journey-timeline li:nth-child(2):before { background:#28587a; }
.journey-timeline li:nth-child(3):before { background:#227561; }
.journey-timeline li:nth-child(4):before { background:#a46c12; }
.journey-timeline li:nth-child(5):before { background:#75529e; }
.journey-timeline strong { display:block; font-size:27px; letter-spacing:-.04em; }
.journey-timeline p { font-size:14px; color:var(--muted); margin-top:15px; max-width:180px; }
.governance-grid { display:grid; grid-template-columns:1fr 1fr; gap:75px; }
.governance-intro>p:not(.eyebrow) { color:var(--muted); font-size:16px; margin:24px 0; }
.governance-links { border-top:1px solid var(--line); }
.governance-links a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); font-size:15px; font-weight:600; }
.governance-links a:hover { color:var(--red); }
.governance-links a span { font-size:22px; }
.page-banner { background:var(--navy); color:#fff; padding:42px 0; }
.page-banner .container { display:flex; justify-content:space-between; align-items:center; gap:35px; }
.page-banner h2 { font-size:32px; }
.page-banner p { color:#bdccd2; font-size:15px; margin:14px 0 0; }
.page-banner .button { flex-shrink:0; }
.coverage-hero .page-hero-grid { grid-template-columns:1.08fr 1fr; align-items:start; gap:65px; }
.coverage-hero h1 { font-size:clamp(38px,4vw,57px); }
.delivery-models { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:30px; }
.delivery-model { background:#fff; padding:22px; border:1px solid #e2e3da; border-radius:5px; }
.delivery-model h2 { font-size:20px; margin:14px 0 10px; }
.delivery-model p { color:var(--muted); font-size:12px; margin:0; }
.delivery-label { display:inline-flex; align-items:center; gap:7px; font-size:9px; letter-spacing:.04em; font-weight:700; text-transform:uppercase; }
.delivery-label:before { content:""; width:6px; height:6px; border-radius:50%; background:#227561; flex-shrink:0; }
.delivery-label.saturday:before { background:#28587a; }
.delivery-label.planned:before { background:#9a6713; }
.delivery-label.online:before { background:#75529e; }
.network-facts { display:flex; flex-wrap:wrap; gap:10px 22px; padding:23px 0; margin:27px 0 0; border-top:1px solid #d4d8d1; border-bottom:1px solid #d4d8d1; }
.network-facts p { font-size:12px; margin:0; color:var(--muted); }
.network-facts strong { color:var(--navy); font-weight:700; }
.coverage-map { margin:0; background:#fff; border:1px solid #e2e3da; border-radius:100px 5px 5px 5px; overflow:hidden; padding:26px 20px 20px; }
.coverage-map>figcaption { font-size:10px; text-transform:uppercase; letter-spacing:.12em; padding:8px 22px 0; color:var(--red); font-weight:700; }
.map-stage { width:min(100%,415px); aspect-ratio:4/5; margin:0 auto; position:relative; }
.map-stage>img { position:absolute; inset:0; width:100%; height:100%; }
.coverage-pin { display:flex; align-items:center; gap:8px; position:absolute; font-size:12px; line-height:1.35; font-weight:750; padding:7px 4px; transform:translate(-10px,-50%); white-space:nowrap; border-radius:3px; }
.coverage-pin:hover { background:#fffffff2; }
.coverage-pin:before { content:""; width:12px; height:12px; flex-shrink:0; border:3px solid #fff; border-radius:50%; box-shadow:0 0 0 1px #bac6c3; background:#227561; }
.coverage-pin small { display:block; font-size:8px; font-weight:400; color:var(--muted); margin-top:3px; }
.pin-newcastle { left:66%; top:35%; }
.pin-newcastle:before { background:#28587a; }
.pin-sheffield { left:60%; top:51%; }
.pin-cardiff { right:54%; top:67%; flex-direction:row-reverse; text-align:right; transform:translate(10px,-50%); }
.pin-birmingham { left:65%; top:63%; }
.pin-birmingham:before { background:#aa741d; }
.pin-london { left:74%; top:74%; }
.map-legend { list-style:none; margin:7px 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:12px 17px; }
.map-legend li { display:flex; align-items:center; font-size:9px; color:var(--muted); gap:6px; }
.legend-dot { width:6px; height:6px; border-radius:50%; background:#227561; }
.legend-dot.saturday { background:#28587a; }
.legend-dot.planned { background:#aa741d; }
.directory-intro { max-width:610px; font-size:16px; color:var(--muted); margin:23px 0 30px; }
.directory-controls { padding:25px; background:var(--cream); border-radius:5px; display:grid; grid-template-columns:1.7fr 1fr 1fr auto; gap:17px; align-items:end; margin-bottom:18px; }
.directory-controls[hidden] { display:none; }
.directory-controls label { display:flex; flex-direction:column; font-size:12px; font-weight:650; gap:9px; }
.directory-controls input,.directory-controls select { font:inherit; font-size:15px; color:var(--navy); min-height:44px; padding:10px 12px; width:100%; min-width:0; border:1px solid #c9d0c9; border-radius:3px; background:#fff; }
.directory-controls button { background:#fff; border:1px solid #c9d0c9; border-radius:3px; padding:11px 16px; font-size:14px; min-height:44px; }
.directory-controls button:hover { border-color:var(--navy); }
.directory-summary { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; font-size:12px; color:var(--muted); padding:0 0 24px; border-bottom:1px solid var(--line); }
.directory-summary p { margin:0; }
.directory-group { padding-top:43px; }
.directory-group h3 { font-size:28px; }
.directory-group .group-note { color:var(--muted); font-size:15px; margin:14px 0 24px; }
.centre-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.centre-card { border:1px solid var(--line); border-top:3px solid #227561; border-radius:5px; padding:25px; min-width:0; scroll-margin-top:120px; }
.centre-card.saturday { border-top-color:#28587a; }
.centre-card.planned { border-top-color:#aa741d; }
.centre-card.online { border-top-color:#75529e; }
.centre-card .centre-region { color:var(--muted); font-size:10px; letter-spacing:.07em; text-transform:uppercase; margin:0 0 19px; }
.centre-card h4 { font-size:22px; letter-spacing:-.04em; margin:15px 0 19px; line-height:1.2; }
.centre-address { font-style:normal; color:var(--muted); font-size:14px; line-height:1.8; margin:0 0 20px; }
.centre-card>p:not(.centre-region) { color:var(--muted); font-size:14px; }
.centre-card ul { display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:20px 0; }
.centre-card li { font-size:9px; color:var(--muted); padding:5px 8px; background:var(--cream); border-radius:3px; line-height:1.5; }
.centre-card details { border-top:1px solid var(--line); margin-top:23px; padding-top:14px; }
.centre-card summary { font-size:12px; cursor:pointer; font-weight:650; min-height:30px; }
.centre-card details p { color:var(--muted); font-size:14px; margin:12px 0 15px; }
.centre-card .text-link { font-size:12px; gap:14px; }
.centre-contact { display:block; font-size:12px; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:4px; padding:8px 0; }
.centre-card[hidden],.directory-group[hidden] { display:none; }
.empty-directory { padding:45px 25px; text-align:center; background:var(--cream); }
.empty-directory p { color:var(--muted); font-size:15px; margin:15px 0 20px; }
.directory-note { margin:35px 0 0; padding:20px 25px; border-left:3px solid var(--navy); background:var(--cream); color:var(--muted); font-size:14px; }
.online-support { display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:start; }
.online-support h2 { font-size:36px; }
.online-support>div>p:not(.eyebrow) { color:var(--muted); font-size:16px; margin:24px 0; }
.online-support .centre-card h3 { font-size:25px; margin:15px 0; }
@media(max-width:1100px) {
  .page-hero-grid,.coverage-hero .page-hero-grid { gap:35px; }
  .about-facts { gap:7px; }
  .about-facts>div { padding:15px 8px; }
  .about-facts strong { font-size:24px; }
  .principle-card { padding:28px 24px; }
  .directory-controls { grid-template-columns:1.4fr 1fr 1fr; }
  .directory-controls>button { grid-column:3; }
  .coverage-pin { font-size:10px; gap:5px; }
  .coverage-pin small { font-size:7px; }
  .coverage-pin:before { width:10px; height:10px; }
}
@media(max-width:900px) {
  .page-hero h1 { font-size:43px; }
  .page-lead { font-size:15px; }
  .about-hero-image>img { height:420px; }
  .about-hero-image figcaption { font-size:17px; padding:22px; }
  .about-facts { grid-template-columns:1fr 1fr; }
  .about-facts>div:last-child { grid-column:span 2; }
  .about-facts>div:last-child strong { font-size:22px; }
  .principle-grid { gap:15px; }
  .principle-card { padding:25px 20px; }
  .principle-card h3 { font-size:22px; }
  .journey-timeline li { padding-right:15px; }
  .journey-timeline strong { font-size:24px; }
  .governance-grid { gap:35px; }
  .delivery-models { grid-template-columns:1fr; gap:12px; }
  .delivery-model { padding:18px; }
  .delivery-model h2 { font-size:18px; margin:10px 0; }
  .coverage-hero h1 { font-size:38px; }
  .coverage-map { border-top-left-radius:60px; padding:20px 8px; }
  .coverage-pin { font-size:9px; gap:3px; }
  .coverage-pin:before { width:9px; height:9px; border-width:2px; }
  .coverage-map figcaption { font-size:9px; }
  .map-legend { gap:10px; }
  .map-legend li { font-size:8px; }
  .centre-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .centre-card { padding:22px; }
  .online-support { gap:35px; }
  .page-banner h2 { font-size:27px; }
}
@media(max-width:650px) {
  .breadcrumbs { font-size:10px; padding:19px 0; }
  .page-hero-grid,.coverage-hero .page-hero-grid { grid-template-columns:1fr; gap:35px; padding:18px 0 40px; }
  .page-hero h1 { font-size:clamp(40px,10.5vw,56px); }
  .page-lead { font-size:16px; margin:22px 0; }
  .page-hero-actions { gap:20px; }
  .page-hero-actions .button,.page-hero-actions .text-link { font-size:12px; }
  .about-facts { grid-template-columns:1fr 1fr 1.3fr; margin-top:28px; }
  .about-facts>div:last-child { grid-column:auto; }
  .about-facts>div { padding:15px 6px 0; }
  .about-facts strong,.about-facts>div:last-child strong { font-size:24px; }
  .about-facts span { font-size:9px; line-height:1.6; }
  .about-hero-image>img { height:300px; border-radius:60px 4px 0 0; }
  .about-hero-image figcaption { padding:22px; font-size:19px; }
  .principle-grid { grid-template-columns:1fr; gap:17px; }
  .principle-card { padding:27px; }
  .principle-icon { margin-bottom:24px; }
  .principle-card h3 { font-size:25px; }
  .principle-card p { font-size:15px; margin-top:17px; }
  .values-strip { gap:15px; }
  .values-strip h3 { width:100%; }
  .values-strip ul { gap:8px; }
  .values-strip li { padding:9px 12px; font-size:10px; }
  .journey-timeline { display:block; margin:35px 0 0 7px; }
  .journey-timeline li { border:0; border-left:1px solid #bfc9c4; padding:0 0 28px 28px; }
  .journey-timeline li:last-child { padding-bottom:0; }
  .journey-timeline li:before { top:7px; left:-6px; }
  .journey-timeline p { max-width:100%; margin:10px 0 0; font-size:15px; }
  .governance-grid { grid-template-columns:1fr; }
  .governance-intro>p:not(.eyebrow) { font-size:15px; }
  .governance-links a { font-size:14px; padding:20px 0; }
  .page-banner .container { flex-direction:column; align-items:flex-start; gap:25px; }
  .page-banner h2 { font-size:29px; }
  .page-banner p { font-size:14px; }
  .coverage-hero h1 { font-size:39px; }
  .delivery-models { grid-template-columns:1fr 1fr; gap:12px; }
  .delivery-model { padding:17px; }
  .delivery-model h2 { font-size:18px; }
  .delivery-model p { font-size:12px; }
  .delivery-label { font-size:8px; }
  .network-facts { margin-top:23px; gap:10px 15px; padding:20px 0; }
  .network-facts p { font-size:10px; }
  .coverage-map { max-width:460px; width:100%; justify-self:center; padding:24px 13px; }
  .coverage-pin { font-size:10px; gap:5px; }
  .coverage-pin:before { width:11px; height:11px; border-width:3px; }
  .coverage-pin small { font-size:7px; }
  .coverage-map figcaption { font-size:10px; }
  .map-legend li { font-size:8px; }
  .directory-intro { font-size:15px; }
  .directory-controls { grid-template-columns:1fr 1fr; padding:20px; gap:15px 12px; }
  .directory-controls>label:first-child { grid-column:span 2; }
  .directory-controls>button { grid-column:span 2; }
  .directory-summary { font-size:10px; }
  .directory-group { padding-top:33px; }
  .directory-group h3 { font-size:26px; }
  .directory-group .group-note { font-size:14px; }
  .centre-card-grid { grid-template-columns:1fr; gap:18px; }
  .centre-card { padding:25px; }
  .centre-card h4 { font-size:25px; }
  .centre-card .centre-region { margin-bottom:15px; }
  .centre-card summary { min-height:35px; font-size:14px; }
  .centre-card li { font-size:10px; }
  .centre-card .text-link { min-height:44px; }
  .online-support { grid-template-columns:1fr; gap:20px; }
  .online-support h2 { font-size:33px; }
  .directory-note { font-size:12px; padding:18px 20px; }
}
