/* The drawings remain the main navigation; supporting routes appear once. */
.service-cta{margin-bottom:0}
.entry-explorer .knowledge-note{margin-top:26px;padding-top:18px}
.entry-explorer .knowledge-note p{font-size:12px;line-height:1.7}
.entry-explorer .knowledge-note>a{font-size:12px}
#learning-routes,#engineers{scroll-margin-top:120px}

@media(max-width:680px){
  html{scroll-padding-top:96px;scroll-padding-bottom:90px}
  body{font-size:16px;line-height:1.6}
  .preview-note{font-size:11px;line-height:27px;letter-spacing:.07em}
  .utility-bar{font-size:12px;line-height:1.4}
  .utility-bar .wrap{gap:12px;align-items:center;min-height:42px;padding-block:6px}
  .utility-bar a{font-size:12px;max-width:145px;text-align:right}
  .header-inner{min-height:88px}
  .brand small{font-size:10px;line-height:1.4;max-width:174px}
  .menu-toggle{font-size:15px;min-height:48px;gap:9px;padding-inline:4px}
  .header-inner nav{font-size:16px;gap:4px 22px;padding-block:0 12px}
  .header-inner nav a{display:inline-flex;align-items:center;min-height:44px}
  .eyebrow,.entry-panel-top .eyebrow{font-size:11px;letter-spacing:.13em}
  .button,.entry-introduction .button,.entry-route-help .button,.call-process-footer .button{font-size:15px;min-height:48px;padding:13px 17px}
  .text-link,.entry-introduction .text-link{font-size:15px;min-height:44px}
  .entry-hero{padding-top:28px;gap:20px}
  .entry-introduction .hero-description{font-size:18px;line-height:1.6}
  .entry-introduction .hero-detail{font-size:16px;line-height:1.65;margin-bottom:17px}
  .entry-introduction .hero-actions{gap:9px 12px}
  .entry-introduction .hero-actions .button{font-size:14px;gap:14px;padding-inline:14px}
  .entry-introduction .hero-actions .text-link{font-size:14px;gap:9px}
  .entry-introduction .call-detail{font-size:14px;line-height:1.8;margin-top:8px}
  .entry-introduction .call-detail a{display:inline-block;padding-block:9px;border-bottom:0;text-decoration:underline;text-underline-offset:4px}
  .entry-heading>p{font-size:16px;line-height:1.65}
  .entry-card-caption>span{font-size:14px;line-height:1.4;min-height:40px;gap:7px;margin-top:8px}
  .entry-card-caption i{font-size:17px;flex-shrink:0}
  .entry-grid{gap:22px 15px}
  .entry-close{font-size:14px;min-height:44px;min-width:74px;justify-content:flex-end}
  .entry-route-intro p{font-size:16px;line-height:1.65}
  .entry-learning-links a{font-size:16px;line-height:1.55;min-height:48px;padding-block:14px;gap:9px}
  .entry-learning-links a:before{font-size:12px;padding-top:3px}
  .entry-route-help>span{font-size:14px}
  .entry-explorer .knowledge-note{display:grid;grid-template-columns:19px minmax(0,1fr);margin-top:22px;gap:8px 10px;padding-top:16px;align-items:start}
  .entry-explorer .knowledge-note p{font-size:14px;line-height:1.65}
  .entry-explorer .knowledge-note>a{grid-column:2;font-size:14px;display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-left:0;justify-self:start}
  .note-icon{margin-top:3px}
  .section-heading>p{font-size:16px;line-height:1.65}
  .service-grid{grid-template-columns:1fr;gap:14px}
  .service-card{position:relative;padding:22px}
  .service-top{position:absolute;top:22px;right:22px;margin:0}
  .card-number{display:none}
  .service-icon{width:31px;height:31px}
  .service-card h3{font-size:26px;padding-right:44px;margin-bottom:11px}
  .service-card p{font-size:16px;line-height:1.65;margin-bottom:13px}
  .service-cta{font-size:15px;line-height:1.55;min-height:44px;align-items:center;margin:0}
  .service-foot{font-size:14px;line-height:1.65;gap:5px}
  .service-foot>a{display:inline-flex;align-items:center;min-height:44px}
  .guide-search-intro>div>p:last-child{font-size:16px;line-height:1.65}
  #guide-search-form label{font-size:16px}
  .guide-input-row input{font-size:16px}
  .guide-input-row input::placeholder{font-size:15px}
  .guide-input-row button{font-size:15px;padding-inline:14px;gap:8px;min-height:48px}
  .guide-hint{font-size:14px;line-height:1.6}
  .guide-suggestions{font-size:14px;gap:3px 16px}
  .guide-suggestions button{font-size:14px;min-height:44px}
  .guide-browse{font-size:14px;gap:0 20px;margin-top:15px}
  .guide-browse a{display:inline-flex;align-items:center;min-height:44px}
  .guide-clear{font-size:14px;min-height:44px}
  .guide-clear span{margin-left:4px}
  .guide-filters button{font-size:14px;min-height:44px;padding:8px 13px}
  #guide-search-status{font-size:15px;line-height:1.6}
  .guide-category{font-size:12px;letter-spacing:.06em}
  .guide-result h4{font-size:20px;line-height:1.4}
  .guide-result p{font-size:16px;line-height:1.65}
  .guide-more,.guide-retry{font-size:15px;min-height:48px}
  #guide-no-results,.guide-help{font-size:15px;line-height:1.7}
  .guide-help a{padding-block:7px}
  .call-steps p{font-size:16px;line-height:1.7}
  .call-process-footer p{font-size:15px;line-height:1.8}
  .learning-intro>p:not(.eyebrow),.audience-cards p{font-size:16px;line-height:1.7}
  .small-label{font-size:11px;letter-spacing:.1em;margin-bottom:17px}
  .audience-cards a{font-size:15px;line-height:1.6;min-height:48px;padding-block:13px}
  .audience-cards a:last-child{padding-bottom:10px}
  .postcode-intro p{font-size:16px;line-height:1.7}
  .postcode-form label{font-size:16px}
  .postcode-form input{font-size:16px;min-height:52px}
  .postcode-form>p{font-size:14px;line-height:1.65}
  #area-directory summary{font-size:15px;line-height:1.6;min-height:48px;align-items:center;flex-wrap:wrap}
  .area-result,#no-area-results{font-size:15px;line-height:1.65}
  .area-link{font-size:14px;min-height:48px;line-height:1.5;align-items:center;padding:11px 10px;gap:8px;overflow-wrap:anywhere}
  .area-link b{min-width:24px;flex-shrink:0}
  .about-strip>div:last-child p{font-size:16px;line-height:1.7}
  .inline-links{font-size:15px;gap:2px 20px}
  .inline-links a{display:inline-flex;align-items:center;min-height:44px}
  .help-band p:not(.eyebrow){font-size:16px;line-height:1.7}
  .help-band-actions>a:last-child{font-size:15px;display:inline-flex;align-items:center;min-height:44px}
  .help-band-actions{gap:8px}
  .footer-brand p{font-size:15px;line-height:1.7}
  .footer-brand>a{font-size:15px;display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
  .footer-main h2{font-size:16px;margin-bottom:10px}
  .footer-main>div:not(.footer-brand)>a{font-size:14px;line-height:1.55;min-height:44px;display:flex;align-items:center;margin:0;padding-block:8px}
  .area-indexes{font-size:14px;align-items:center;gap:8px}
  .area-indexes a{display:inline-grid;place-items:center;min-width:44px;min-height:44px}
  .footer-bottom{font-size:13px;line-height:1.6;gap:7px}
  .footer-bottom nav{gap:16px;flex-wrap:wrap}
  .footer-bottom nav a{display:inline-flex;align-items:center;min-height:44px}
  .site-footer{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .mobile-help{min-height:70px;grid-template-columns:1fr 1.1fr}
  .mobile-help a{font-size:15px;padding:11px 16px;line-height:1.5}
  .mobile-help a:first-child span{font-size:13px}
  .mobile-help a:last-child{font-size:14px;gap:8px}
  #learning-routes,#engineers,.entry-explorer,.guide-search,.call-process{scroll-margin-top:0}
  .entry-panel,.guide-results-top h3{scroll-margin-top:0}
}

@media(max-width:370px){
  .brand small{max-width:150px}
  .brand img{width:38px;height:36px}
  .menu-toggle{font-size:14px;gap:6px}
  .entry-introduction .hero-actions{gap:6px 16px}
  .entry-introduction .button{font-size:15px}
  .entry-card-caption>span{font-size:14px;gap:5px}
  .guide-results-top{align-items:flex-start;flex-direction:column;gap:3px}
  .guide-clear{padding-left:0}
  .area-grid{grid-template-columns:1fr}
  .mobile-help a{padding-inline:12px}
  .mobile-help a:last-child{font-size:13px}
}

/* Account for the sticky header once; individual targets add no second gap. */
html{scroll-padding-top:var(--header-clearance,110px)}
#explore-home,#guide-search,#engineers,#learning-routes,#when-you-call,#entry-panel,#guide-results-title{scroll-margin-top:0}
#primary-nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
