:root { --edu-ink:#172c30; --edu-muted:#617477; --edu-accent:#087f85; --edu-line:#dce6e7; }
.education-page { color:var(--edu-ink); background:#fff; }
.education-page .app-shell { background:#fff; }
.education-main { padding:96px 20px 36px; }
.education-main h1,.education-main h2,.education-main h3 { color:var(--edu-ink); letter-spacing:-.045em; word-break:keep-all; }
.education-main h1 { margin:10px 0 12px; font-size:32px; line-height:1.3; }
.education-main h2 { margin:0; font-size:25px; line-height:1.4; }
.education-main h3 { margin:0; font-size:19px; line-height:1.5; }
.education-main p { line-height:1.8; }
.edu-eyebrow { margin:0 0 9px; color:var(--edu-accent); font-size:12px; font-weight:800; letter-spacing:.08em; }
.edu-lead { margin:0; color:var(--edu-muted); font-size:16px; }
.edu-heading { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:20px; padding:26px 0 30px; }
.edu-update { display:flex; gap:8px; align-items:center; flex-shrink:0; padding:9px 13px; border:1px solid var(--edu-line); border-radius:7px; color:var(--edu-muted); font-size:12px; }
.edu-update i { width:6px; height:6px; border-radius:50%; background:var(--edu-accent); }
.edu-tabs { display:flex; gap:24px; border-bottom:1px solid var(--edu-line); margin-bottom:28px; overflow-x:auto; scrollbar-width:thin; }
.edu-tabs a { flex-shrink:0; padding:16px 0; color:var(--edu-muted); font-size:15px; font-weight:700; }
.edu-tabs a[aria-current] { color:var(--edu-accent); box-shadow:inset 0 -3px var(--edu-accent); }
.edu-stage-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:32px; }
.edu-stage-grid > a { padding:20px; background:#f5f8f8; border:1px solid var(--edu-line); border-radius:12px; transition:background .15s,border-color .15s; }
.edu-stage-grid > a:hover { background:#eaf5f4; border-color:#91bab7; }
.edu-stage-grid > a > span { display:flex; justify-content:space-between; color:var(--edu-accent); font-size:13px; }
.edu-stage-grid b { font-size:20px; font-weight:400; }
.edu-stage-grid h2 { margin:20px 0 8px; font-size:22px; }
.edu-stage-grid p { margin:0; color:var(--edu-muted); font-size:14px; word-break:keep-all; }
.edu-overview-columns { display:grid; gap:24px; }
.edu-panel { min-width:0; padding:24px; border:1px solid var(--edu-line); border-radius:14px; background:#fff; }
.edu-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:18px; }
.edu-section-head h2 { font-size:23px; }
.edu-section-head > a { flex-shrink:0; color:var(--edu-accent); font-size:14px; font-weight:700; }
.edu-description { margin:0 0 16px; color:var(--edu-muted); font-size:14px; }
.edu-table-wrap { max-width:100%; overflow-x:auto; border-block:1px solid var(--edu-line); }
.edu-table { width:100%; border-collapse:collapse; text-align:left; font-size:15px; white-space:nowrap; }
.edu-table caption { text-align:left; padding:14px 0; color:var(--edu-muted); font-size:14px; }
.edu-table th,.edu-table td { padding:19px 20px; border-bottom:1px solid #e9eff0; }
.edu-table th:first-child,.edu-table td:first-child { padding-left:12px; }
.edu-table thead { background:#f5f8f8; color:var(--edu-muted); font-size:13px; }
.edu-table thead th { font-weight:600; }
.edu-table tbody th { font-weight:700; }
.edu-table tbody tr:last-child > * { border-bottom:0; }
.edu-table tbody tr:hover { background:#f7fbfb; }
.edu-table a { text-underline-offset:4px; }
.edu-table a:hover { text-decoration:underline; color:var(--edu-accent); }
.edu-table small { display:block; color:var(--edu-muted); font-size:12px; font-weight:400; margin-top:4px; }
.edu-table td a small { display:inline; }
.edu-table td.edu-rank-selected { font:700 23px/1.5 'DM Sans',sans-serif; color:var(--edu-accent); }
.edu-compact-table td { color:var(--edu-accent); font-size:19px; font-weight:700; }
.edu-table-note { margin:18px 0 0; color:var(--edu-muted); font-size:13px; }
.edu-calendar-panel { padding:26px; background:#15363b; color:#fff; border-radius:14px; }
.edu-calendar-panel h2 { color:#fff; }
.edu-calendar-panel .edu-eyebrow { color:#75d8cc; }
.edu-mini-event { display:flex; align-items:center; gap:14px; padding:23px 0; border-bottom:1px solid #395256; }
.edu-mini-event > time { color:#80dbcf; font-size:23px; font-weight:700; white-space:nowrap; }
.edu-mini-event > span { flex:1; }
.edu-mini-event b { display:block; font-size:14px; line-height:1.5; word-break:keep-all; }
.edu-mini-event small { display:block; margin-top:6px; color:#bdced0; font-size:12px; }
.edu-mini-event em { align-self:flex-start; color:#94e2d6; font-size:12px; font-style:normal; white-space:nowrap; }
.edu-calendar-panel > p { margin-top:22px; color:#bdced0; font-size:13px; }
.edu-calendar-panel .edu-text-link { color:#8ce0d4; }
.edu-text-link { display:inline-block; color:var(--edu-accent); font-size:15px; font-weight:700; line-height:1.6; }
.edu-featured { margin-top:44px; }
.edu-school-grid { display:grid; gap:16px; }
.edu-school-card { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid var(--edu-line); border-radius:12px; background:#fff; transition:border-color .15s; }
.edu-school-card:hover { border-color:#85adae; }
.edu-school-top { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.edu-school-top > span:last-child { color:var(--edu-muted); font-size:12px; white-space:nowrap; }
.edu-tag { display:inline-block; width:fit-content; border-radius:5px; padding:6px 9px; background:#e8f3f4; color:#206a74; font-size:12px; font-weight:700; }
.theme-nature { background:#e8f3e9; color:#387844; }
.theme-science { background:#eaf0fc; color:#3e5e9e; }
.theme-arts { background:#f8eded; color:#a55151; }
.theme-affiliated { background:#efedf7; color:#68588d; }
.edu-school-card h3 { margin:22px 0 12px; font-size:21px; }
.edu-school-card > p { margin:0 0 28px; color:var(--edu-muted); font-size:15px; }
.edu-school-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:18px; border-top:1px solid var(--edu-line); }
.edu-school-bottom > span { color:var(--edu-muted); font-size:12px; }
.edu-school-bottom a { color:var(--edu-accent); font-size:14px; font-weight:700; white-space:nowrap; }
.edu-bottom-links { display:grid; gap:20px; margin-top:28px; }
.edu-bottom-links > a { padding:30px; background:#f1f6f7; border-radius:12px; }
.edu-bottom-links > a:last-child { background:#eff2f9; }
.edu-bottom-links span { color:var(--edu-accent); font-size:13px; font-weight:700; }
.edu-bottom-links h2 { margin:13px 0 26px; font-size:24px; }
.edu-bottom-links b { color:var(--edu-accent); font-size:14px; }
.edu-content-heading { margin:30px 0 24px; }
.edu-content-heading h2 { font-size:28px; }
.edu-content-heading > p:last-child { margin:12px 0 0; color:var(--edu-muted); font-size:16px; }
.edu-filter-form { display:flex; align-items:flex-end; flex-wrap:wrap; gap:14px; padding:22px; border:1px solid var(--edu-line); border-radius:12px; background:#f8fafb; margin-bottom:26px; }
.edu-filter-form label { display:flex; flex:1 1 150px; flex-direction:column; gap:8px; font-size:13px; color:var(--edu-muted); }
.edu-filter-form .edu-query { flex:2 1 220px; }
.edu-filter-form input,.edu-filter-form select { width:100%; min-width:0; height:46px; padding:0 12px; border:1px solid #cfdbdd; border-radius:6px; background:#fff; color:var(--edu-ink); font:inherit; font-size:16px; }
.edu-filter-form button,.edu-primary-link { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:12px 23px; border:0; border-radius:6px; background:var(--edu-accent); color:#fff; font:inherit; font-size:15px; font-weight:700; cursor:pointer; }
.edu-filter-form > a { padding:12px 0; font-size:14px; color:var(--edu-muted); }
.edu-result-count { font-size:14px; color:var(--edu-muted); }
.edu-result-count strong { color:var(--edu-accent); }
.edu-check-panel { display:grid; gap:20px; padding:28px; margin:26px 0; border-left:3px solid var(--edu-accent); background:#f2f8f7; }
.edu-check-panel p:not(.edu-eyebrow):not(.edu-source) { color:var(--edu-muted); font-size:14px; }
.edu-check-panel ol,.edu-school-questions ol,.edu-admission-aside ol { padding-left:22px; margin:0; }
.edu-check-panel li,.edu-school-questions li,.edu-admission-aside li { padding:8px 0 8px 5px; font-size:15px; line-height:1.8; }
.edu-source { margin:20px 0 0; font-size:12px; }
.edu-source a { color:var(--edu-accent); text-decoration:underline; text-underline-offset:3px; }
.edu-source span { display:block; margin-top:4px; color:var(--edu-muted); }
.edu-official-tools { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:34px; padding:24px; border:1px solid var(--edu-line); border-radius:12px; }
.edu-official-tools > div { flex:1 1 100%; }
.edu-official-tools p { margin:6px 0 0; color:var(--edu-muted); font-size:14px; }
.edu-official-tools > a { font-size:14px; font-weight:700; color:var(--edu-accent); }
.edu-empty { padding:65px 20px; text-align:center; background:#f5f8f8; border-radius:12px; }
.edu-empty p { color:var(--edu-muted); }
.edu-empty a { color:var(--edu-accent); font-weight:700; }
.edu-method-note { padding:28px; margin-top:28px; background:#f5f8f8; border-radius:10px; }
.edu-method-note > p { color:var(--edu-muted); font-size:15px; }
.edu-subject-tabs { display:flex; flex-wrap:wrap; gap:9px; margin:28px 0; }
.edu-subject-tabs > a { padding:11px 17px; border:1px solid var(--edu-line); border-radius:7px; color:var(--edu-muted); font-size:14px; font-weight:600; }
.edu-subject-tabs > a[aria-current] { color:#fff; border-color:var(--edu-ink); background:var(--edu-ink); }
.edu-major-layout { display:grid; align-items:start; gap:28px; }
.edu-major-intro { padding:30px; background:#f0f6f6; border-radius:14px; }
.edu-major-intro h2 { font-size:32px; }
.edu-major-intro > p:not(.edu-eyebrow) { color:#435c60; font-size:16px; }
.edu-major-tags { display:flex; flex-wrap:wrap; gap:8px; padding:12px 0; }
.edu-major-tags > span { padding:7px 9px; color:var(--edu-accent); font-size:13px; border:1px solid #c7dedc; border-radius:5px; background:#fff; }
.edu-major-intro > .edu-major-check { padding-top:18px; border-top:1px solid #d4e1e2; }
.edu-major-intro > small { display:block; margin-top:16px; color:var(--edu-muted); font-size:12px; line-height:1.8; }
.edu-admission-layout { display:grid; align-items:start; gap:28px; }
.edu-timeline { min-width:0; }
.edu-event { display:grid; grid-template-columns:80px minmax(0,1fr); gap:22px; padding:26px 0; border-top:1px solid var(--edu-line); scroll-margin-top:110px; }
.edu-event-date time { display:flex; flex-direction:column; gap:5px; }
.edu-event-date time > span { color:var(--edu-muted); font-size:13px; }
.edu-event-date b { font-size:24px; font-weight:700; color:var(--edu-accent); }
.edu-status { display:inline-block; margin-top:12px; padding:5px 7px; border-radius:4px; background:#e8f5f1; color:#19715f; font-size:12px; white-space:nowrap; }
.edu-status.is-past,.edu-mini-event .is-past { color:#7d9093; background:transparent; }
.edu-event h3 { margin:0 0 10px; font-size:21px; }
.edu-event > div > strong { color:var(--edu-accent); font-size:14px; }
.edu-event > div > p:not(.edu-eyebrow):not(.edu-source) { color:var(--edu-muted); font-size:15px; }
.edu-admission-aside { padding:26px; border:1px solid var(--edu-line); border-radius:12px; background:#f7f9fa; }
.edu-admission-aside h3 { margin-bottom:15px; }
.edu-reform { display:grid; gap:24px; margin-top:36px; padding:30px; background:#edf3f7; border-radius:12px; scroll-margin-top:110px; }
.edu-reform h2 { font-size:30px; }
.edu-reform > div > p:not(.edu-eyebrow):not(.edu-source) { margin-top:0; color:#4c626b; font-size:16px; }
.education-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 24px; margin-top:64px; padding-top:28px; border-top:1px solid var(--edu-line); font-size:12px; color:var(--edu-muted); }
.education-footer strong { color:var(--edu-ink); letter-spacing:.08em; }
.education-footer strong > span { margin-left:8px; font-weight:400; letter-spacing:0; }
.education-footer p { flex-basis:100%; margin:0; }
.edu-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; padding:24px 0; color:var(--edu-muted); font-size:13px; }
.edu-breadcrumb a { color:var(--edu-accent); }
.edu-school-heading { padding:12px 0 32px; }
.edu-school-heading p { color:var(--edu-muted); font-size:15px; }
.edu-school-detail-layout { display:grid; gap:28px; }
.edu-detail-lead { font-size:18px; }
.edu-facts { margin:28px 0 0; }
.edu-facts > div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:20px; padding:18px 0; border-top:1px solid var(--edu-line); font-size:15px; line-height:1.7; }
.edu-facts dt { color:var(--edu-muted); }
.edu-facts dd { margin:0; }
.edu-school-questions { padding:30px; background:#edf6f5; border-radius:12px; }
.edu-school-questions h2 { margin-bottom:20px; }
.edu-school-questions .edu-primary-link { margin-top:25px; width:100%; }
.edu-secondary-link { display:block; padding:16px 0 0; text-align:center; color:var(--edu-accent); font-size:14px; }
.edu-skip { position:fixed; z-index:100; top:-100px; left:20px; padding:12px 20px; color:#fff; background:var(--edu-ink); }
.edu-skip:focus { top:10px; }
@media (min-width:768px) {
  .education-main { padding:84px var(--site-gutter) 48px; }
  .edu-heading { padding:46px 0 34px; }
  .education-main h1 { font-size:42px; }
  .edu-stage-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
  .edu-stage-grid > a { padding:24px; }
  .edu-stage-grid h2 { font-size:25px; }
  .edu-overview-columns { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
  .edu-school-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .edu-bottom-links { grid-template-columns:1fr 1fr; }
  .edu-check-panel { grid-template-columns:1fr 1fr; gap:40px; }
  .edu-major-layout { grid-template-columns:minmax(250px,.85fr) minmax(0,1.4fr); }
  .edu-admission-layout { grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr); }
  .edu-school-detail-layout { grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr); }
  .edu-event { grid-template-columns:105px minmax(0,1fr); gap:28px; }
  .edu-reform { grid-template-columns:1fr 1.7fr; padding:36px; }
  .edu-panel { padding:30px; }
  .edu-tabs { gap:40px; }
  .edu-tabs a { font-size:16px; }
}
@media (min-width:1100px) {
  .edu-school-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:380px) {
  .education-main { padding-inline:16px; }
  .edu-panel,.edu-school-card,.edu-calendar-panel { padding:18px; }
  .edu-stage-grid > a { padding:15px; }
  .edu-section-head { flex-wrap:wrap; }
  .edu-event { grid-template-columns:1fr; }
}
