/* Shared NextGen UI refinements: navy/gold, consistent cards and enrolment actions. */
html { scroll-padding-top: 150px; }
body :is(.button, .nav-cta) { border-radius: 8px !important; min-height: 44px; transition: background-color .18s, box-shadow .18s; }
body :is(a,button,summary,input,select,textarea):focus-visible { outline: 3px solid #ad8038; outline-offset: 4px; }
body :is(.academic-card,.degree-pathway-card,.degree-pathway-entry-card,.degree-pathway-snapshot-grid article,.fit-audience-card,.fit-roadmap-stage,.fit-module-card,.fit-certificate-card,.fit-progression-track article,.course-detail-feature,.bootcamp-payment-option,.programme-card) {
  border-radius: 12px !important;
  box-shadow: 0 4px 16px rgba(11,47,83,.045);
}
body :is(.academic-card,.degree-pathway-card,.degree-pathway-entry-card,.degree-pathway-snapshot-grid article,.fit-roadmap-stage,.fit-module-card) { border-color: #dce4eb; }
body :is(.degree-pathway-card,.programme-card) { transition: box-shadow .18s, border-color .18s; }
body :is(.degree-pathway-card,.programme-card):hover { box-shadow: 0 10px 24px rgba(11,47,83,.10); border-color: #bc9b5d; }
body :is(.academic-icon,.about-achievement-icon) { width:48px !important; height:48px !important; border-radius:12px !important; background:#edf3f8 !important; border:1px solid #dce5ed !important; color:#0b2f53 !important; }
body :is(.academic-icon,.about-achievement-icon) svg { width:24px !important; height:24px !important; stroke-width:1.7; }
body .academic-card { padding:26px; }
body .academic-card h3 { margin-top:18px; font-size:21px; line-height:1.3; }
body .academic-card p { line-height:1.75; }
body :is(.about-hero-photo-frame,.campus-gallery figure) { border-radius:12px !important; overflow:hidden; }
body .about-hero-photo-card figcaption { border-radius:10px; }
body .degree-pathway-page :is(.degree-pathway-section-head,.degree-pathway-entry-copy,.about-story-intro,.section-heading) h2,
body.fit-course-page :is(.fit-section-heading,.fit-overview-copy,.course-detail-feature) h2 { font-size:clamp(28px,3.1vw,40px); line-height:1.18; letter-spacing:-.025em; }
body .degree-pathway-page .academic-section h2 { font-size:clamp(28px,3.1vw,40px); line-height:1.18; }
body .degree-pathway-snapshot-grid h3 { font-size:22px; line-height:1.35; }
body .degree-pathway-entry-card { padding:28px; }
body .about-page.degree-pathway-page .degree-pathway-hero { padding-top:168px; padding-bottom:64px; background:#0b2f53; }
body .about-page.degree-pathway-page .degree-pathway-hero::before { background-image:none; opacity:0; }
body .about-page.degree-pathway-page .degree-pathway-hero::after { background:linear-gradient(115deg,#0a2846,#174766); }
body .about-page.degree-pathway-page .degree-pathway-hero h1 { font-size:clamp(36px,4.6vw,60px); line-height:1.08; letter-spacing:-.03em; }
body .about-page.degree-pathway-page .degree-pathway-hero-content > .degree-pathway-subheading { font-size:clamp(22px,2.3vw,30px); font-weight:700; color:#dec087; }
body .about-page.degree-pathway-page .degree-pathway-description { font-size:17px; line-height:1.75; max-width:540px; }
body.fit-course-page .fit-course-hero { padding-top:168px; padding-bottom:64px; }
body.fit-course-page .fit-course-hero h1 { font-size:clamp(34px,4.2vw,58px); line-height:1.12; letter-spacing:-.025em; max-width:760px; }
body.fit-course-page .fit-course-hero .fit-hero-subheading { font-size:clamp(20px,2.1vw,26px); line-height:1.35; color:#dec087; }
body.fit-course-page .course-facts { border-radius:12px; background:rgba(11,47,83,.90); border:1px solid rgba(255,255,255,.25); padding:22px; gap:0; }
body.fit-course-page .course-facts > span { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.16); background:transparent; }
body.fit-course-page .course-facts > span:last-child { border-bottom:0; }
body.fit-course-page .course-facts strong { color:#dec087; font-size:12px; letter-spacing:.04em; }
body.fit-course-page .course-facts em { line-height:1.5; }
body .fit-module-card { overflow:hidden; }
body .fit-module-card h3 { background:#0b2f53; line-height:1.45; }
body .fit-skill-grid span { border-radius:8px; }
body .sx-overview dl > div { border-radius:10px; }
@media(max-width:700px) {
  body .about-page.degree-pathway-page .degree-pathway-hero,body.fit-course-page .fit-course-hero { padding-top:150px; padding-bottom:40px; }
  body.fit-course-page .course-facts { padding:16px; }
  body.fit-course-page .course-actions { display:flex; flex-wrap:wrap; gap:12px; }
  body .degree-pathway-page .degree-pathway-actions .button { white-space:normal; }
  body .academic-card { padding:22px; }
}
/* BSc: carry the navy/gold direction through the sections below the banner. */
body.bsc-course-page .bsc-course-architecture { background:linear-gradient(115deg,#0b2f53,#174766); padding:52px 0; }
body.bsc-course-page .programme-proof-heading h2 { font-size:clamp(28px,3.3vw,42px); line-height:1.18; max-width:760px; }
body.bsc-course-page .programme-proof-heading .eyebrow { color:#dec087; }
body.bsc-course-page .programme-proof-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:28px; }
body.bsc-course-page .programme-proof-grid > div { padding:22px; border:1px solid #54708a; border-top:3px solid #c5a462; border-radius:12px; background:#163c5c; box-shadow:none; }
body.bsc-course-page .programme-proof-grid strong { color:#dec087; font-size:28px; }
body.bsc-course-page .programme-proof-grid span { color:#e7edf3; font-size:14px; }
body.bsc-course-page .bsc-roadmap-section { background:#f2f6fa; padding:64px 0; }
body.bsc-course-page .bsc-roadmap-section .fit-section-heading :is(h2,p) { color:#0b2f53 !important; }
body.bsc-course-page .bsc-roadmap-section .fit-section-heading .eyebrow { color:#805b20; }
body.bsc-course-page .bsc-phase-grid { gap:22px; }
body.bsc-course-page .bsc-phase-grid .fit-roadmap-stage { background:#fff; border:1px solid #d6e1eb; padding:28px; border-radius:12px; box-shadow:0 6px 22px #0b2f5309; }
body.bsc-course-page .bsc-phase-grid .fit-roadmap-stage > span { display:inline-flex; padding:8px 12px; border-radius:8px; background:#f4ecdc; color:#70501c; font-size:12px; letter-spacing:.06em; }
body.bsc-course-page .bsc-phase-grid .fit-roadmap-stage h3 { color:#0b2f53 !important; font-size:22px; line-height:1.3; margin-top:20px; }
body.bsc-course-page .bsc-phase-grid .fit-roadmap-stage p { color:#52667a !important; font-size:15px; line-height:1.75; }
body.bsc-course-page .bsc-module-grid .fit-module-card h3 { background:#0b2f53; border-bottom:3px solid #c5a462; }
body.bsc-course-page .bsc-progression-track article { border-radius:12px; padding:24px; }
body.bsc-course-page .bsc-audience-card { background:#f3f7fb; border-top:3px solid #c5a462; }
body.bsc-course-page .bsc-proposal-notice { background:#123b59; border-color:#c5a462; }
body.bsc-course-page .bsc-course-hero .course-actions .button.primary { background:#dec087; color:#0b2f53; border-color:#dec087; }
@media(max-width:700px){body.bsc-course-page .programme-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body.bsc-course-page .programme-proof-grid > div{padding:16px}body.bsc-course-page .bsc-phase-grid{grid-template-columns:1fr}body.bsc-course-page .bsc-roadmap-section{padding:40px 0}}
@media(prefers-reduced-motion:reduce) { body :is(.button,.degree-pathway-card,.programme-card) { transition:none; } }

/* Consistent enrolment emphasis in navigation and primary application links. */
body .site-header .nav-panel .nav-cta,
body a.button.primary[href*="#apply"] {
  background:#dec087 !important; color:#0b2f53 !important;
  border:1px solid #dec087 !important; border-radius:8px !important;
  min-height:46px; font-weight:750;
  box-shadow:0 3px 10px rgba(11,47,83,.12);
}
body .site-header .nav-panel .nav-cta:hover,
body a.button.primary[href*="#apply"]:hover {
  background:#ebcf9d !important; border-color:#ebcf9d !important;
  color:#0b2f53 !important;
}
