[hidden] { display: none !important; }
html:not(.js) :is(.homepage, .programme-static) .nav-links { display: flex; flex-wrap: wrap; position: static; opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
html:not(.js) :is(.homepage, .programme-static) .nav-shell { flex-wrap: wrap; }
html:not(.js) :is(.homepage, .programme-static) .menu-toggle { display: none; }
:focus-visible { outline: 3px solid #ffd500; outline-offset: 4px; }
.identity-card:focus-visible, .faq-trigger:focus-visible { outline-color: #002366; }
.identity-card { letter-spacing: 0; }
.faq-panel { display: block; }
.programme-hero { padding: 48px 24px; }
.programme-hero h1 { font-size: 36px; line-height: 1.2; letter-spacing: 0; }
.section { padding-top: 48px; padding-bottom: 48px; }
.feature-media { aspect-ratio: auto; }
.feature-media img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.feature-copy .button.secondary { color: #002366; border-color: #002366; }
.pathways-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
.pathway-card { max-width: none; border-radius: 8px; }
.pathway-card:hover, .pathway-card:focus-within { transform: none; }
.pathway-img, .pathway-card:hover .pathway-img, .pathway-card:focus-within .pathway-img { height: auto; aspect-ratio: 3 / 2; background-position: center top; transition: none; }
.pathway-body, .pathway-card:hover .pathway-body, .pathway-card:focus-within .pathway-body { max-height: none; opacity: 1; padding: 20px; transition: none; }
.pathway-top-overlay h3 { font-size: 25px; line-height: 1.15; letter-spacing: 0; }
.classroom-grid { grid-template-columns: 1fr; }
#pathways { scroll-margin-top: 100px; }
@media (max-width: 1024px) {
  .pathways-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pathway-card { max-width: none; }
}
.catalogue-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.catalogue-list article { border-bottom: 1px solid #ccd4e0; padding: 20px 0; scroll-margin-top: 100px; }
.catalogue-list h2 { font-size: 23px; line-height: 1.3; }
.catalogue-list a { color: #002366; text-decoration: underline; }
@media (max-width: 680px) {
  .catalogue-list { grid-template-columns: 1fr; }
  .pathways-grid { grid-template-columns: 1fr; }
  .programme-hero h1 { font-size: 28px; }
  .section { padding-top: 32px; padding-bottom: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
