/* House of Admissions — approved identity, October 2026.
   Shared brand tokens and layout rules. Page-specific content and status colours
   remain in the original page stylesheets. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/InterVariable.woff2') format('woff2');
}
:root {
  --hoa-navy: #0B2E48;
  --hoa-navy-deep: #072034;
  --hoa-crimson: #B71939;
  --hoa-crimson-hover: #981430;
  --hoa-crimson-soft: #FCECF0;
  --hoa-surface: #F5F7FA;
  --hoa-border: #DEE5EB;
  --hoa-font: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ff-head: var(--hoa-font);
  --ff-body: var(--hoa-font);
}
body { font-family: var(--hoa-font); }
button, input, select, textarea { font-family: var(--hoa-font); }
h1, h2, h3, h4, h5, h6 { font-family: var(--hoa-font); letter-spacing: -.025em; }
:focus-visible { outline: 3px solid var(--hoa-crimson); outline-offset: 4px; }
.hoa-glass-header { z-index: 1100; background: #fff; }
.hoa-glass-header .top-bar { background: var(--hoa-navy); }
.hoa-glass-header .top-bar-content { width: min(1600px, calc(100% - 48px)); padding-block: 9px; }
.hoa-glass-header .top-bar-item i { color: #fff; opacity: .85; }
.hoa-glass-header .main-nav { background: #fff; backdrop-filter: none; border-bottom: 1px solid var(--hoa-border); box-shadow: none; }
.hoa-glass-header .main-nav.is-scrolled { box-shadow: 0 6px 24px rgb(11 46 72 / 8%); }
.hoa-glass-header .nav-container { width: min(1600px, calc(100% - 48px)); margin-inline: auto; min-height: 100px; padding: 12px 0; gap: 24px; }
.hoa-glass-header .logo { margin: 0; padding: 0; gap: 0; flex-shrink: 0; }
.hoa-glass-header .logo .logo__brand { width: 300px; max-width: 100%; height: auto; display: block; }
.hoa-glass-header .nav-menu .nav-link { color: var(--hoa-navy); font-family: var(--hoa-font); font-weight: 600; letter-spacing: -.01em; }
.hoa-glass-header .nav-link.active,
.hoa-glass-header .nav-link:hover { color: var(--hoa-crimson); }
.hoa-glass-header .nav-menu .nav-link.active { background: var(--hoa-crimson-soft); }
.hoa-glass-header .nav-cta-pill,
.hoa-glass-header .hoa-search-panel__btn {
  background: var(--hoa-crimson) !important; color: #fff !important;
  border: 1px solid var(--hoa-crimson) !important; border-radius: 8px !important;
  font-weight: 650 !important; box-shadow: none !important;
}
.hoa-glass-header .nav-cta-pill:hover { background: var(--hoa-crimson-hover) !important; border-color: var(--hoa-crimson-hover) !important; opacity: 1; }
.hoa-glass-header .dropdown-item:hover,
.hoa-glass-header .mega-link:hover { background: var(--hoa-crimson-soft); color: var(--hoa-crimson); }
.hoa-glass-header .dropdown-menu { border-color: var(--hoa-border); box-shadow: 0 16px 42px rgb(11 46 72 / 12%); border-radius: 10px; }
.hoa-glass-header .mega-col--cta { background: var(--hoa-surface); }
.hoa-glass-header .mobile-toggle { width: 44px; height: 44px; border: 1px solid var(--hoa-border); border-radius: 8px; flex-shrink: 0; }
.hoa-glass-header .mobile-toggle__bar { background: var(--hoa-navy); }
.hoa-glass-header .nav-controls { margin-left: auto; }
.hoa-search-panel__btn { background: var(--hoa-crimson) !important; color: #fff !important; }
.hf-footer { background: var(--hoa-navy-deep); }
.hf-footer .hf-brand-logo { width: 290px; max-width: 100%; height: auto; opacity: 1; }
.hf-footer .hf-brand-tagline { color: #fff; font-style: normal; }
.hf-footer .hf-brand-desc, .hf-uk-seo p { color: rgb(255 255 255 / 75%); }
.hf-uk-section { background: var(--hoa-navy); }
.hf-uk-stat-num, .hf-uk-tag, .hf-col h4, .hf-brand-badges .hf-badge i { color: #fff; }
.hf-uk-btn.gold { background: var(--hoa-crimson); color: #fff; }
.hf-uk-btn.gold:hover { background: var(--hoa-crimson-hover); opacity: 1; }
.chat-header { background: var(--hoa-navy); }
.chat-avatar img { border-radius: 8px; object-fit: contain; }
.chat-send { background: var(--hoa-crimson); color: #fff; }
:is(.hp-hero, .hp-cta, .hf-footer, .hf-uk-section, .suk-hero, .suk-cta,
    .uni-hero, .uni-cta-sec, .uni-cta-card, [class$="-hero"], [class$="-cta-sec"]) {
  --gd: #B71939; --gk: #981430; --gl: #F3B6C4;
  --gold: #B71939; --gold-l: #F3B6C4; --gold-primary: #B71939; --gold-light: #F3B6C4;
}

/* Reduce decorative motion and give the homepage a clear type hierarchy. */
.hp-hero { background: var(--hoa-navy); }
.hp-orb { display: none; }
.hp-hero-h1 { letter-spacing: -.035em; font-weight: 750; }
.hp-h1-accent { color: #fff; font-size: .58em; font-weight: 500; line-height: 1.4; opacity: .85; }
.hp-btn-primary { background: var(--hoa-crimson); background-size: auto; color: #fff; animation: none; box-shadow: none; }
.hp-btn-primary:hover { background: var(--hoa-crimson-hover); }
.hp-cta-accent { background: none; color: #fff; -webkit-text-fill-color: #fff; }
.hp-hero-img { box-shadow: none; border: 1px solid rgb(255 255 255 / 15%); }
.hp-eyebrow { color: #fff; background: rgb(255 255 255 / 7%); border-color: rgb(255 255 255 / 20%); }
.hp-alert .hp-alert-item a { color: #fff; }
.hp-alert .hp-alert-asof { color: rgb(255 255 255 / 85%); }
.hp-alert .hp-alert-sep { color: rgb(255 255 255 / 55%); }
.hp-ai-strip .hp-ai-badge { color: #F3B6C4; }
.hp-stat-num { font-family: var(--hoa-font); }
.hoa-overview { padding: 28px 24px; background: var(--hoa-surface); border-bottom: 1px solid var(--hoa-border); }
.hoa-overview .hp-zero-click { max-width: 1260px; margin: 0 auto; background: #fff; border: 1px solid var(--hoa-border); border-left: 3px solid var(--hoa-crimson); }
.hoa-overview .hp-zero-click dt { color: var(--hoa-navy); }
.hoa-overview .hp-zero-click dd { color: #475569; border-left-color: var(--hoa-border); }

@media (min-width: 1280px) {
  .hoa-glass-header .nav-container { display: grid; grid-template-columns: 300px minmax(0, 1fr) auto; }
  .hoa-glass-header .nav-menu { gap: 2px; justify-content: flex-end; }
  .hoa-glass-header .nav-menu .nav-link { font-size: 14px; padding-inline: 9px; min-height: 44px; }
  .hoa-glass-header .nav-action-button.nav-cta-pill { min-height: 46px; margin: 0 !important; font-size: 13px !important; padding: 12px 16px !important; }
  .hoa-glass-header .nav-item--mega { position: static; }
  .hoa-glass-header .dropdown-mega { left: 50%; right: auto; width: min(950px, calc(100vw - 48px)); transform: translate(-50%, 8px); }
  .hoa-glass-header .nav-item--mega:is(:hover, :focus-within, .open) > .dropdown-mega { transform: translate(-50%, 0); }
  .hp-hero { padding-block: 72px; min-height: 0; }
  .hp-hero-inner { gap: 48px; }
  .hp-hero-h1 { font-size: clamp(40px, 3.7vw, 56px); }
}
@media (min-width: 1280px) and (max-width: 1399px) {
  .hoa-glass-header .nav-container { grid-template-columns: 280px minmax(0, 1fr) auto; gap: 16px; }
  .hoa-glass-header .logo .logo__brand { width: 280px; }
  .hoa-glass-header .nav-menu .nav-link { font-size: 13px; padding-inline: 7px; }
}
@media (max-width: 1279px) {
  .hoa-glass-header .nav-container { display: flex; justify-content: space-between; min-height: 94px; }
  .hoa-glass-header .nav-primary { flex: 0 0 0; }
  .hoa-glass-header .nav-actions { display: none; }
  .hoa-glass-header .nav-controls { display: flex; }
  .hoa-glass-header .mobile-toggle { display: flex; }
  .hoa-glass-header .nav-menu {
    display: none; position: fixed; left: 0; right: 0; bottom: auto;
    top: var(--hoa-nav-top, 130px); width: 100%; max-width: 100%;
    max-height: calc(100dvh - var(--hoa-nav-top, 130px)); overflow-y: auto;
    padding: 12px 24px 24px; background: #fff; border-bottom: 1px solid var(--hoa-border);
    border-radius: 0; box-shadow: 0 18px 30px rgb(11 46 72 / 12%);
    transform: none; opacity: 1; visibility: visible;
  }
  .hoa-glass-header .nav-menu.active { display: flex; }
  .hoa-glass-header .nav-menu .nav-link { min-height: 48px; font-size: 15px; }
  .hoa-glass-header .dropdown-menu { box-shadow: none; }
  .hoa-glass-header .nav-item--mobile-cta,
  .hoa-glass-header .nav-item--search-mobile { display: block; }
}
@media (max-width: 540px) {
  .hoa-glass-header .top-bar-content { width: calc(100% - 32px); padding: 8px 0; }
  .hoa-glass-header .top-bar-left { justify-content: center; }
  .hoa-glass-header .top-bar-item--office, .hoa-glass-header .top-bar-right,
  .hoa-glass-header .top-bar-item:has(a[href^="mailto:"]) { display: none; }
  .hoa-glass-header .nav-container { width: calc(100% - 32px); gap: 12px; min-height: 88px; }
  .hoa-glass-header .logo .logo__brand { width: min(280px, calc(100vw - 100px)); max-width: none; }
  .hoa-glass-header .nav-menu { padding-inline: 16px; }
  .hp-hero { padding-block: 40px; }
  .hp-hero-h1 { font-size: 34px; }
  .hp-hero-lead { font-size: 15px; line-height: 1.75; }
  .hf-footer .hf-brand-logo { width: 280px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hoa-glass-header *, .hp-btn, .hp-orb { animation: none !important; transition: none !important; }
}
