/* Local visual-identity layer: navy, white and restrained gold. */
.site-header .brand { min-width: 0; gap: 12px; }
.site-header .brand img { width: 42px; height: 42px; object-fit: contain; }
.site-header .header-brand-copy { min-width: 0; }
.site-header .header-brand-name {
  display: block;
  color: #0b2f53;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.035em;
  white-space: nowrap;
}
.site-header .header-brand-name strong {
  display: inline;
  font-size: inherit;
  font-weight: 850;
  line-height: inherit;
  letter-spacing: inherit;
}
.site-header .brand .header-brand-tagline {
  display: block;
  max-width: 230px;
  margin-top: 5px;
  color: #52667a;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .02em;
  text-transform: uppercase;
}
@media (max-width: 1180px) {
  .site-header .brand { gap: 10px; }
  .site-header .brand .header-brand-tagline { max-width: 230px; }
}
@media (max-width: 480px) {
  .site-header .brand { flex: 0 1 auto; gap: 8px; }
  .site-header .brand img { width: 32px; height: 42px; }
  .site-header .header-brand-name { font-size: 16px; }
  .site-header .brand .header-brand-tagline { max-width: 190px; font-size: 10px; letter-spacing: 0; }
  .site-header .nav-toggle { flex-shrink: 0; }
}
.hero .hero-typewriter {
  font-family: "Cascadia Code", "Cascadia Mono", Consolas, "SFMono-Regular", "Liberation Mono", monospace;
}
.hero .hero-typewriter-value,
.hero .hero-typewriter-label,
.hero .hero-typewriter-prompt,
.hero .hero-typewriter-comment {
  color: #fff;
  font-family: inherit;
}
.hero .hero-typewriter-cursor { background: #fff; }
.home-partners { padding: 42px 0 32px; background: #fff; border-bottom: 1px solid #d9e2e9; }
.home-partners-heading { text-align: center; margin-bottom: 26px; }
.home-partners .home-partners-kicker { margin: 0 0 8px; color: #805b20; font-size: 11px; font-weight: 650; letter-spacing: .12em; line-height: 1.6; }
.home-partners h2 { margin: 0; color: #0b2f53; font-size: clamp(24px, 2.5vw, 32px); line-height: 1.2; }
.home-partners-description { max-width: 760px; margin: 12px auto 0; font-size: 14px; line-height: 1.7; color: #52667a; }
.home-partner-marquee { overflow-x: auto; }
.home-partner-track { display: flex; width: max-content; }
.home-partner-grid { display: flex; flex: none; gap: 16px; list-style: none; padding: 0 16px 0 0; margin: 0; }
.home-partner-grid li { width: 180px; flex: 0 0 180px; }
.home-partner-marquee.is-ready { overflow: hidden; }
.home-partner-marquee.is-ready .home-partner-track { animation: partner-drift-right 48s linear infinite !important; }
@keyframes partner-drift-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) {
  .home-partner-marquee.is-ready { overflow-x: auto; }
  .home-partner-marquee.is-ready .home-partner-track { animation: none !important; transform: none; }
  .home-partner-track > [aria-hidden="true"] { display: none; }
}
.home-partner-grid li { display: flex; flex-direction: column; justify-content: center; align-items: center; background: #fff; border: 1px solid #e3e9ee; border-radius: 4px; min-width: 0; }
.home-partner-caption { display: block; padding: 0 8px 10px; text-align: center; color: #17334e; font-size: 11px; line-height: 1.5; }
.home-partner-caption small { font-size: 10px; color: #52667a; }
.home-partner-grid img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: contain; }
@media (max-width: 600px) {
  .home-partners { padding: 30px 0 24px; }
  .home-partner-grid li { width: 160px; flex-basis: 160px; }
}
.hero .hero-country-strip {
  gap: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.hero .hero-country-strip > span {
  gap: 10px;
  min-height: 30px !important;
  padding: 4px 16px !important;
  border: 0 !important;
  color: #e1e9f0 !important;
  font-size: 14px !important;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0 !important;
  background: transparent !important;
}
.hero .hero-country-strip > span + span {
  border-left: 1px solid rgba(225, 233, 240, .35) !important;
}
.hero .hero-country-strip img {
  width: 24px !important;
  height: 16px !important;
  object-fit: contain;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 540px) {
  .hero .hero-country-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 0 !important;
  }
  .hero .hero-country-strip > span { padding-inline: 12px !important; font-size: 13px !important; }
  .hero .hero-country-strip > span:nth-child(3) { border-left: 0 !important; }
}
:root {
  --identity-navy: #0b2f53;
  --identity-navy-deep: #081f36;
  --identity-ink: #17334e;
  --identity-muted: #52667a;
  --identity-gold: #ddbb7c;
  --identity-gold-ink: #805b20;
  --identity-line: #d9e2e9;
  --identity-paper: #f4f7fa;
  --identity-font: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
  --ink: var(--identity-ink);
  --ink-soft: var(--identity-muted);
  --paper: var(--identity-paper);
  --blue: #244f73;
  --cyan: #345e80;
  --gold: var(--identity-gold-ink);
  --university-navy: var(--identity-navy-deep);
  --university-navy-light: var(--identity-navy);
  --university-blue: #244f73;
  --university-blue-dark: #173c5c;
  --university-cyan: #345e80;
  --university-paper: var(--identity-paper);
  --university-line: var(--identity-line);
  --university-shadow: 0 6px 22px rgba(8, 31, 54, .07);
}
body { font-family: var(--identity-font); color: var(--identity-ink); background: var(--identity-paper); }
button, input, select, textarea { font-family: var(--identity-font); }
h1, h2, h3, h4 { font-family: var(--identity-font); }
h2, h3 { font-weight: 650; }
.section-head h2, .home-programme-content h3, .home-outcome-card h3 { line-height: 1.22; letter-spacing: -.02em; }
.trust-grid .trust-card > span,
.home-outcome-card > span:first-child { font-family: var(--identity-font); font-weight: 650; letter-spacing: -.035em; }
.motion-backend { background: var(--identity-paper); }
.motion-backend span, .hero-grid { display: none; }
.hero, .section-dark {
  --cyan: var(--identity-gold);
  --university-cyan: var(--identity-gold);
  --gold: var(--identity-gold);
  background: var(--identity-navy-deep);
}
.hero .eyebrow { color: var(--identity-gold); letter-spacing: .12em; font-weight: 650; }
.hero .hero-copy { color: #d7e1eb; line-height: 1.8; }
.hero .hero-subtitle { font-weight: 650; }
.site-header .utility-bar { background: var(--identity-navy-deep) !important; }
.site-header .brand strong { color: var(--identity-navy); }
body .site-header .nav-panel .nav-cta {
  background: var(--identity-gold) !important;
  border-color: var(--identity-gold) !important;
  color: var(--identity-navy-deep) !important;
  box-shadow: none !important;
}
body .site-header .nav-panel .nav-cta:hover { background: #ebcf9d !important; border-color: #ebcf9d !important; }
.university-navigation > .university-nav-section[open] > summary,
.university-navigation > .university-nav-section > summary:hover,
.university-navigation > a:not(.nav-cta):hover { color: var(--identity-navy); border-bottom-color: var(--identity-gold); }
.university-nav-dropdown { border-color: var(--identity-line); border-top-color: var(--identity-gold); box-shadow: 0 14px 36px rgba(8,31,54,.12); }
.university-nav-dropdown a:hover, .university-nav-dropdown a[aria-current="page"] { color: var(--identity-navy); background: #eef3f7; }
.university-study-heading span { color: var(--identity-gold-ink); }
.university-study-heading a, .university-study-footer a { color: var(--identity-navy); }
.university-study-grid { gap: 28px; }
.university-course-group > summary { font-weight: 650; }
.university-study-footer { background: var(--identity-paper); }
body .button.primary, body .chatbot-submit, body .enquiry-form .button {
  color: #fff !important;
  background: var(--identity-navy) !important;
  border-color: var(--identity-navy) !important;
  box-shadow: none !important;
}
body .button.primary:hover, body .chatbot-submit:hover, body .enquiry-form .button:hover { background: #204968 !important; border-color: #204968 !important; }
body .hero .button.primary {
  color: var(--identity-navy-deep) !important;
  background: var(--identity-gold) !important;
  border-color: var(--identity-gold) !important;
}
body .hero .button.primary:hover { background: #ebcf9d !important; border-color: #ebcf9d !important; }
body .hero .button.secondary { color: #fff !important; background: transparent !important; border-color: #91a4b7 !important; box-shadow: none !important; }
body .hero .button.secondary:hover { background: rgba(255,255,255,.08) !important; border-color: #fff !important; }
.button { font-weight: 650; letter-spacing: 0; min-height: 48px; }
.home-programmes-section, .home-outcomes-section, .home-bmich-section { padding-block: 96px; }
.trust-band { padding-block: 80px; }
.home-programmes-section .section-head,
.home-outcomes-section .section-head,
.home-bmich-section .section-head { margin-bottom: 40px; }
.home-programmes-grid, .home-programme-grid { gap: 28px; }
.home-programme-card { border-color: var(--identity-line); box-shadow: 0 5px 20px rgba(8,31,54,.045); }
.home-programme-content { padding: 28px; }
.home-programme-content h3 { margin-block: 12px 16px; font-weight: 650; }
.home-programme-content > p:not(.home-programme-category),
.home-outcome-card > p, .trust-card > p { font-size: 16px; line-height: 1.75; color: var(--identity-muted); }
.home-programme-category { color: var(--identity-gold-ink); font-size: 12px; letter-spacing: .1em; }
.home-programme-media > span { color: #fff; background: var(--identity-navy); }
.home-programme-content > strong { color: var(--identity-navy); font-size: 14px; font-weight: 650; }
.home-outcome-card { padding: 30px; border-color: var(--identity-line); }
.home-outcome-card > span:first-child { color: var(--identity-navy); }
.trust-grid .trust-card { padding: 26px; }
.home-programme-card:hover, .home-outcome-card:hover { transform: none; border-color: #a4b7c7; }
.enquiry-form { padding: 32px; border-color: var(--identity-line); }
.enquiry-form label, .chatbot-form label > span { font-size: 14px; font-weight: 600; }
.enquiry-form input, .enquiry-form select,
.chatbot-form input, .chatbot-form select { font-size: 16px; min-height: 48px; font-weight: 400; }
.enquiry-form .form-note, .chatbot-note { font-size: 12px; line-height: 1.65; }
.enquiry-form-head h3 { font-weight: 650; }
.chatbot-header { background: var(--identity-navy-deep); }
.chatbot-launcher { background: var(--identity-navy) !important; border-color: #7891a8 !important; box-shadow: 0 6px 20px rgba(8,31,54,.16) !important; }
.chatbot-pet, .chatbot-pet *, .chatbot-pet::before, .chatbot-pet::after,
.chatbot-launcher, .chatbot-launcher::before, .chatbot-launcher::after { animation: none !important; }
@media (prefers-reduced-motion: no-preference) {
  .advisor-chatbot:not(.open) .chatbot-pet {
    animation: advisorBotHello 3.6s ease-in-out infinite !important;
    transform-origin: center bottom;
  }
  .advisor-chatbot:not(.open) .chatbot-pet-eye {
    animation: chatbotPetBlink 3s ease-in-out infinite !important;
  }
  .advisor-chatbot .chatbot-launcher:hover .chatbot-pet,
  .advisor-chatbot .chatbot-launcher:focus-visible .chatbot-pet,
  .advisor-chatbot .chatbot-launcher:hover .chatbot-pet-eye,
  .advisor-chatbot .chatbot-launcher:focus-visible .chatbot-pet-eye {
    animation-play-state: paused !important;
  }
}
@keyframes advisorBotHello {
  0%, 100% { transform: translateY(0) rotate(0); }
  25% { transform: translateY(-5px) rotate(-5deg); }
  45% { transform: translateY(-6px) rotate(5deg); }
  65% { transform: translateY(-3px) rotate(-3deg); }
  80% { transform: translateY(0) rotate(0); }
}
.reveal { opacity: 1; transform: none; transition: none; }
.home-programme-media img, .home-programme-card:hover .home-programme-media img { transform: none; transition: none; }
.public-footer { background: var(--identity-navy-deep); }
.public-footer-column .eyebrow { color: var(--identity-gold); }
.public-footer-contact-links a, .public-footer-nav-links a { font-weight: 500; }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #244f73; outline-offset: 3px; }
.hero a:focus-visible, .section-dark a:focus-visible, .public-footer a:focus-visible { outline-color: var(--identity-gold); }
@media (max-width: 980px) {
  .university-navigation > .university-nav-section[open] > summary,
  .university-navigation > .university-nav-section > summary:hover,
  .university-navigation > a:not(.nav-cta):hover { color: #fff; border-bottom-color: var(--identity-gold); }
  .home-programmes-section, .home-outcomes-section, .home-bmich-section { padding-block: 72px; }
  .trust-band { padding-block: 64px; }
}
@media (max-width: 640px) {
  .home-programmes-section, .home-outcomes-section, .home-bmich-section { padding-block: 56px; }
  .home-programmes-section .section-head, .home-outcomes-section .section-head, .home-bmich-section .section-head { margin-bottom: 28px; }
  .home-programme-content, .home-outcome-card, .trust-grid .trust-card, .enquiry-form { padding: 22px; }
  .university-study-grid { gap: 0; }
}
