:root {
  --home-navy: #0d2550;
  --home-blue: #254d88;
  --home-link: #0b62dc;
  --home-pale: #eaf0fc;
  --home-line: #d7e2f2;
  --home-muted: #5b6d89;
  --home-coral: #e95b62;
  --home-teal: #148b84;
  --home-amber: #d88715;
  --home-green: #258151;
  --home-violet: #7254c7;
}

* { letter-spacing: 0; }
.home-page { width: min(1320px, calc(100vw - 32px)); margin: 0 0 0 50%; color: var(--home-navy); font-family: Arial, sans-serif; transform: translateX(-50%); }
.home-page a { text-decoration: none; }
.home-hero { min-height: 360px; position: relative; overflow: hidden; border: 1px solid #cfdaeb; border-radius: 8px; background: #eef4f7; }
.home-hero::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(244,249,255,.9) 0%, rgba(244,249,255,.7) 31%, rgba(244,249,255,.12) 58%, rgba(244,249,255,0) 72%); }
.home-hero picture, .home-hero img { width: 100%; height: 100%; position: absolute; inset: 0; display: block; }
.home-hero img { object-fit: cover; }
.home-hero-carousel, .home-hero-slide { position: absolute; inset: 0; }
.home-hero-slide[hidden] { display: none; }
.home-hero-slide > a { position: absolute; inset: 0; display: block; }
.home-carousel-arrow { width: 38px; height: 44px; position: absolute; z-index: 4; top: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.72); border-radius: 5px; color: #fff; background: rgba(7,29,69,.72); font: 28px/1 Arial; cursor: pointer; transform: translateY(-50%); }
.home-carousel-arrow.previous { left: 12px; }
.home-carousel-arrow.next { right: 12px; }
.home-carousel-arrow:hover, .home-carousel-arrow:focus-visible { outline: 2px solid #fff; outline-offset: 2px; background: #071d45; }
.home-carousel-dots { position: absolute; z-index: 4; right: 16px; bottom: 14px; display: flex; gap: 7px; }
.home-carousel-dots button { width: 10px; height: 10px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: rgba(7,29,69,.45); cursor: pointer; }
.home-carousel-dots button[aria-current="true"] { background: #fff; box-shadow: 0 0 0 2px rgba(7,29,69,.48); }
.home-hero-no-image::after { background: rgba(244,249,255,.94); }
.home-hero-copy { width: min(520px, 44%); position: relative; z-index: 2; padding: 56px 0 40px 52px; }
.home-kicker, .home-section-label { display: block; color: #0a5bcd; font-size: 11px; line-height: 1.4; font-weight: 800; text-transform: uppercase; }
.home-hero h1 { max-width: 500px; margin: 10px 0 13px; color: #071d45; font-size: 44px; line-height: 1.04; font-weight: 800; }
.home-hero p { max-width: 470px; margin: 0; color: #263c5c; font-size: 16px; line-height: 1.55; text-shadow: 0 1px 1px rgba(255,255,255,.75); }
.home-hero-actions { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 10px; }
.home-button { min-height: 42px; padding: 11px 17px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--home-blue); border-radius: 5px; font-size: 13px; font-weight: 800; }
.home-button.primary { color: #fff; background: var(--home-navy); }
.home-button.secondary { color: var(--home-navy); background: rgba(255,255,255,.9); }
.home-button:hover, .home-button:focus { outline: 2px solid #0b62dc; outline-offset: 2px; }

.home-services { margin: 14px 0 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--home-line); border-radius: 8px; background: #e4ebf5; box-shadow: 0 5px 18px rgba(13,37,80,.06); }
.home-services.home-columns-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.home-services.home-columns-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.home-services.home-columns-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.home-services > a { min-width: 0; min-height: 76px; padding: 12px 14px; display: flex; align-items: center; gap: 10px; color: var(--home-navy); background: #fff; }
.home-services > a:hover, .home-services > a:focus { background: #f5f8fd; outline: 2px solid #0b62dc; outline-offset: -2px; }
.home-service-symbol { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 7px; color: #fff; font-size: 14px; font-weight: 800; }
.home-service-symbol.blue { background: #1768d8; }
.home-service-symbol.coral { background: var(--home-coral); }
.home-service-symbol.violet { background: var(--home-violet); }
.home-service-symbol.teal { background: var(--home-teal); }
.home-service-symbol.amber { background: var(--home-amber); }
.home-service-symbol.green { background: var(--home-green); }
.home-service-symbol.red { background: #bd3a4d; }
.home-service-symbol.navy { background: var(--home-navy); }
.home-services strong, .home-services small { display: block; overflow-wrap: anywhere; }
.home-services strong { font-size: 13px; line-height: 1.25; }
.home-services small { margin-top: 3px; color: var(--home-muted); font-size: 11px; line-height: 1.25; }

.home-ad-slot { display: flex; align-items: center; justify-content: center; color: #8a97ac; border: 1px dashed #cbd7e7; background: #f9fbfe; font-size: 10px; text-transform: uppercase; }
.home-ad-wide { min-height: 74px; margin: 22px 0; }
.home-ad-content { min-height: 100px; margin: 32px 0; }
.home-section { margin: 42px 0; }
.home-section-heading { margin-bottom: 17px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.home-section-heading h2, .home-exam-desk h2, .home-focus-band h2 { margin: 4px 0 0; color: var(--home-navy); font-size: 26px; line-height: 1.18; font-weight: 800; }
.home-section-heading > a { color: var(--home-link); font-size: 12px; font-weight: 800; white-space: nowrap; }

.home-updates-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(290px,.75fr); gap: 22px; align-items: start; }
.home-update-list { border-top: 2px solid var(--home-navy); }
.home-update-list > a { min-height: 82px; padding: 13px 4px; display: grid; grid-template-columns: 74px minmax(0,1fr) 50px; align-items: center; gap: 13px; border-bottom: 1px solid var(--home-line); color: var(--home-navy); }
.home-update-list > a:hover strong, .home-update-list > a:focus strong { color: var(--home-link); }
.home-update-list > a:focus { outline: 2px solid var(--home-link); outline-offset: 2px; }
.home-update-type { min-height: 28px; padding: 6px 7px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.home-update-type.result { color: #11663a; background: #dff5e7; }
.home-update-type.notice { color: #a02d44; background: #ffe5ea; }
.home-update-type.hall { color: #a5441a; background: #ffeadc; }
.home-update-type.timetable { color: #4d36a4; background: #e9e2ff; }
.home-update-type.date { color: #8f3144; background: #ffe2e7; }
.home-update-copy { min-width: 0; }
.home-update-copy strong, .home-update-copy small { display: block; }
.home-update-copy strong { font-size: 14px; line-height: 1.35; }
.home-update-copy small { margin-top: 5px; color: var(--home-muted); font-size: 11px; line-height: 1.3; }
.home-update-list time { color: #62738e; font-size: 10px; font-weight: 700; text-align: right; }

.home-exam-desk { padding: 22px; border-radius: 8px; color: #fff; background: var(--home-navy); }
.home-exam-desk .home-section-label { color: #9cc5ff; }
.home-exam-desk h2 { margin-bottom: 13px; color: #fff; font-size: 22px; }
.home-exam-desk > a { min-height: 64px; padding: 11px 0; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 10px; border-bottom: 1px solid rgba(255,255,255,.16); color: #fff; }
.home-exam-desk > a:last-child { border-bottom: 0; }
.home-exam-desk > a:hover strong, .home-exam-desk > a:focus strong { text-decoration: underline; }
.exam-desk-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 6px; color: #fff; font-size: 10px; font-weight: 800; }
.exam-desk-icon.coral { background: var(--home-coral); }
.exam-desk-icon.violet { background: var(--home-violet); }
.exam-desk-icon.teal { background: var(--home-teal); }
.exam-desk-icon.amber { background: var(--home-amber); }
.home-exam-desk strong, .home-exam-desk small { display: block; }
.home-exam-desk strong { font-size: 13px; line-height: 1.3; }
.home-exam-desk small { margin-top: 3px; color: #c5d4ed; font-size: 10px; line-height: 1.3; }

.home-discover { padding: 34px 0; border-top: 1px solid var(--home-line); border-bottom: 1px solid var(--home-line); }
.home-discover-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.home-discover-grid.home-columns-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.home-discover-grid.home-columns-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.home-discover-grid.home-columns-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.discover-card { min-height: 164px; padding: 20px; display: flex; align-items: flex-start; gap: 14px; border: 1px solid var(--home-line); border-radius: 8px; color: var(--home-navy); background: #fff; box-shadow: 0 4px 14px rgba(13,37,80,.05); }
.discover-card:hover, .discover-card:focus { border-color: #7ca8e8; outline: 2px solid #0b62dc; outline-offset: 1px; }
.discover-mark { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border-radius: 7px; color: #fff; font-size: 17px; font-weight: 800; }
.discover-card.schools .discover-mark { background: #26816c; }
.discover-card.colleges .discover-mark { background: #1768d8; }
.discover-card.universities .discover-mark { background: #7254c7; }
.discover-card.coaching .discover-mark { background: #d76c24; }
.discover-card small, .discover-card strong, .discover-card b { display: block; }
.discover-card small { color: var(--home-muted); font-size: 10px; text-transform: uppercase; }
.discover-card strong { margin-top: 7px; font-size: 17px; line-height: 1.25; }
.discover-card b { margin-top: 20px; color: var(--home-link); font-size: 11px; }

.home-focus-band { margin: 42px 0; padding: 32px; display: grid; grid-template-columns: minmax(250px,.7fr) minmax(0,1.3fr); gap: 34px; border-radius: 8px; color: #fff; background: #174e72; }
.home-focus-band .home-section-label { color: #9ce6df; }
.home-focus-band h2 { color: #fff; }
.home-focus-band p { margin: 12px 0 18px; color: #d5e7ef; line-height: 1.55; }
.home-focus-intro > a { color: #fff; font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.home-exam-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.home-exam-links a { min-height: 80px; padding: 15px; border: 1px solid rgba(255,255,255,.24); border-radius: 6px; color: #fff; background: rgba(255,255,255,.08); }
.home-exam-links a.card-navy { background: #123a67; }
.home-exam-links a.card-blue { background: #1d5db5; }
.home-exam-links a.card-teal { background: #0d6f70; }
.home-exam-links a.card-green { background: #24744e; }
.home-exam-links a.card-purple { background: #6846a8; }
.home-exam-links a.card-orange { background: #b85412; }
.home-exam-links a:hover, .home-exam-links a:focus { border-color: #fff; outline: 2px solid #fff; outline-offset: 1px; }
.home-exam-links strong, .home-exam-links small { display: block; }
.home-exam-links strong { font-size: 14px; }
.home-exam-links small { margin-top: 5px; color: #d5e7ef; font-size: 10px; }

.home-resources-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)) minmax(290px,.85fr); gap: 18px; }
.home-link-panel, .home-tools-panel { min-width: 0; padding: 22px; border: 1px solid var(--home-line); border-radius: 8px; background: #fff; }
.home-link-panel h3, .home-tools-panel h3 { margin: 0 0 12px; color: var(--home-navy); font-size: 18px; }
.home-link-panel > a { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid #e5ebf4; color: #27446f; font-size: 12px; font-weight: 700; }
.home-link-panel > a:last-child { border-bottom: 0; }
.home-link-panel > a:hover span, .home-link-panel > a:focus span { color: var(--home-link); }
.home-tools-panel { color: #fff; border-color: #714d38; background: #714d38; }
.home-tools-panel .home-section-label { color: #ffd1b6; }
.home-tools-panel h3 { margin-top: 4px; color: #fff; }
.home-tools-panel > a { min-height: 60px; padding: 9px 0; display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 10px; border-bottom: 1px solid rgba(255,255,255,.18); color: #fff; }
.home-tools-panel > a:last-child { border-bottom: 0; }
.tool-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 6px; color: #714d38; background: #fff0e7; font-size: 10px; font-weight: 800; }
.home-tools-panel strong, .home-tools-panel small { display: block; }
.home-tools-panel strong { font-size: 12px; }
.home-tools-panel small { margin-top: 3px; color: #f0d9cb; font-size: 10px; }

.home-footer { margin-top: 38px; padding: 36px 34px 18px; display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 32px; color: #d8e4f5; background: var(--home-navy); }
.home-footer-brand img { width: 174px; height: 48px; display: block; object-fit: contain; object-position: left center; background: #fff; }
.home-footer-brand strong, .home-footer-brand span { display: block; }
.home-footer-brand strong { color: #fff; font-size: 29px; line-height: 1; }
.home-footer-brand span { margin-top: 3px; color: #86b8ff; font-size: 10px; font-weight: 700; }
.home-footer-brand p { max-width: 300px; color: #b8c8df; font-size: 11px; line-height: 1.6; }
.home-footer h2 { margin: 0 0 10px; color: #fff; font-size: 13px; }
.home-footer nav a { min-height: 28px; display: block; color: #c3d1e5; font-size: 11px; }
.home-footer nav a:hover, .home-footer nav a:focus { color: #fff; text-decoration: underline; }
.home-footer-bottom { grid-column: 1 / -1; padding-top: 16px; display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid rgba(255,255,255,.16); color: #9eb0ca; font-size: 10px; }
.home-footer-bottom a { color: #c7dcfa; }

.home-background-white { background: #fff !important; }
.home-background-light-blue { background: #eef6ff !important; }
.home-background-light-gray { background: #f3f5f8 !important; }
.home-background-transparent { background-color: transparent !important; }
.home-background-none { border-color: transparent !important; background: none !important; box-shadow: none !important; }
.home-focus-band.home-background-white, .home-focus-band.home-background-light-blue, .home-focus-band.home-background-light-gray, .home-focus-band.home-background-transparent, .home-focus-band.home-background-none,
.home-footer.home-background-white, .home-footer.home-background-light-blue, .home-footer.home-background-light-gray, .home-footer.home-background-transparent, .home-footer.home-background-none { color: var(--home-navy); }
.home-focus-band.home-background-white h2, .home-focus-band.home-background-light-blue h2, .home-focus-band.home-background-light-gray h2, .home-focus-band.home-background-transparent h2, .home-focus-band.home-background-none h2,
.home-footer.home-background-white h2, .home-footer.home-background-light-blue h2, .home-footer.home-background-light-gray h2, .home-footer.home-background-transparent h2, .home-footer.home-background-none h2 { color: var(--home-navy); }
.home-focus-band.home-background-white p, .home-focus-band.home-background-light-blue p, .home-focus-band.home-background-light-gray p, .home-focus-band.home-background-transparent p, .home-focus-band.home-background-none p,
.home-focus-band.home-background-white .home-section-label, .home-focus-band.home-background-light-blue .home-section-label, .home-focus-band.home-background-light-gray .home-section-label, .home-focus-band.home-background-transparent .home-section-label, .home-focus-band.home-background-none .home-section-label { color: #365579; }
.home-focus-band.home-background-white .home-focus-intro > a, .home-focus-band.home-background-light-blue .home-focus-intro > a, .home-focus-band.home-background-light-gray .home-focus-intro > a, .home-focus-band.home-background-transparent .home-focus-intro > a, .home-focus-band.home-background-none .home-focus-intro > a { color: #075bc7; }
.home-footer.home-background-white a, .home-footer.home-background-light-blue a, .home-footer.home-background-light-gray a, .home-footer.home-background-transparent a, .home-footer.home-background-none a,
.home-footer.home-background-white p, .home-footer.home-background-light-blue p, .home-footer.home-background-light-gray p, .home-footer.home-background-transparent p, .home-footer.home-background-none p { color: #365579; }

.home-campaigns { margin: 22px 0; display: grid; gap: 10px; }
.home-campaign { min-width: 0; overflow: hidden; border: 1px solid var(--home-line); border-radius: 8px; background: #fff; }
.home-campaign a { display: block; }
.home-campaign img { width: 100%; height: auto; max-height: 240px; display: block; object-fit: contain; }
.home-promo-link { min-height: 56px; padding: 15px 18px; display: flex; align-items: center; color: var(--home-link); font-size: 13px; font-weight: 800; }
.home-campaign-home-sidebar { margin: 15px 0 0; }
.home-campaign-home-sidebar .home-campaign { border-color: rgba(255,255,255,.25); }
.home-campaign-mobile { display: none; }
.home-mobile-only, .home-hidden { display: none !important; }
.home-empty-state { margin: 0; padding: 24px 4px; color: var(--home-muted); border-bottom: 1px solid var(--home-line); }

@media (max-width: 980px) {
  .home-hero-copy { width: 52%; padding-left: 34px; }
  .home-hero h1 { font-size: 38px; }
  .home-updates-layout { grid-template-columns: minmax(0,1fr) 290px; }
  .home-discover-grid, .home-discover-grid.home-columns-2, .home-discover-grid.home-columns-3, .home-discover-grid.home-columns-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-resources-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-tools-panel { grid-column: 1 / -1; }
  .home-tools-panel { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 18px; }
  .home-tools-panel .home-section-label, .home-tools-panel h3 { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .home-page { width: calc(100vw - 20px); }
  .home-hero { min-height: 420px; }
  .home-hero img { object-position: center; }
  .home-hero::after { background: linear-gradient(180deg, rgba(244,249,255,.88) 0%, rgba(244,249,255,.62) 38%, rgba(244,249,255,.06) 68%, rgba(244,249,255,0) 82%); }
  .home-hero-copy { width: 86%; padding: 28px 0 24px 24px; }
  .home-hero h1 { max-width: 330px; margin-top: 7px; font-size: 31px; line-height: 1.08; }
  .home-hero p { max-width: 305px; font-size: 13px; line-height: 1.45; }
  .home-hero-actions { margin-top: 16px; }
  .home-carousel-arrow { width: 34px; height: 40px; top: auto; bottom: 13px; transform: none; }
  .home-carousel-dots { right: 50%; bottom: 27px; transform: translateX(50%); }
  .home-button { min-height: 40px; padding: 9px 13px; font-size: 11px; }
  .home-services, .home-services.home-columns-2, .home-services.home-columns-3, .home-services.home-columns-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-services > a { min-height: 68px; padding: 10px; }
  .home-service-symbol { width: 34px; height: 34px; flex-basis: 34px; }
  .home-ad-wide { min-height: 54px; margin: 16px 0; }
  .home-section { margin: 30px 0; }
  .home-section-heading { align-items: flex-start; }
  .home-section-heading h2, .home-focus-band h2 { font-size: 22px; }
  .home-section-heading > a { padding-top: 4px; }
  .home-updates-layout { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .home-update-list > a { min-height: 84px; grid-template-columns: 58px minmax(0,1fr); gap: 10px; }
  .home-update-list time { grid-column: 2; text-align: left; }
  .home-update-type { min-height: 26px; padding: 5px; font-size: 9px; }
  .home-update-copy strong { font-size: 13px; }
  .home-exam-desk { padding: 18px; }
  .home-discover { padding: 25px 0; }
  .home-discover-grid, .home-discover-grid.home-columns-2, .home-discover-grid.home-columns-3, .home-discover-grid.home-columns-4 { grid-template-columns: minmax(0,1fr); }
  .discover-card { min-height: 128px; }
  .home-focus-band { padding: 24px 18px; grid-template-columns: minmax(0,1fr); gap: 22px; }
  .home-exam-links { grid-template-columns: minmax(0,1fr); }
  .home-exam-links a { min-height: 68px; }
  .home-ad-content { min-height: 70px; margin: 24px 0; }
  .home-resources-grid { grid-template-columns: minmax(0,1fr); }
  .home-tools-panel { grid-column: auto; display: block; }
  .home-footer { padding: 28px 20px 16px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
  .home-footer-brand { grid-column: 1 / -1; }
  .home-footer nav:last-of-type { grid-column: 1 / -1; }
  .home-footer-bottom { flex-direction: column; }
  .home-campaigns { margin: 16px 0; }
  .home-campaign-desktop { display: none; }
  .home-campaign-mobile { display: block; }
  .home-desktop-only { display: none !important; }
  .home-mobile-only { display: block !important; }
}

@media (max-width: 390px) {
  .home-page { width: calc(100vw - 16px); }
  .home-hero { min-height: 406px; }
  .home-hero-copy { width: 92%; padding-left: 19px; }
  .home-hero h1 { font-size: 28px; }
  .home-hero-actions { gap: 7px; }
  .home-services strong { font-size: 12px; }
  .home-services small { font-size: 10px; }
  .home-section-heading { gap: 10px; }
  .home-section-heading h2 { font-size: 20px; }
  .home-section-heading > a { font-size: 10px; }
  .home-footer { grid-template-columns: minmax(0,1fr); }
  .home-footer nav:last-of-type, .home-footer-brand { grid-column: auto; }
}
