/* Вузы России — сайт-стиль (self-contained, theme-aware) */
:root{--bg:#f4f3f0;--card:#fff;--ink:#23231f;--mut:#6b6b63;--line:#e3e1da;
  --accent:#9a7724;--accent2:#1C2536;--nd:#a11;--link:#1a5fb4}
:root[data-theme=dark]{--bg:#121211;--card:#1c1c1a;--ink:#e8e6e0;--mut:#9a988f;
  --line:#2e2e2a;--accent:#d9b477;--accent2:#0e131d;--nd:#e58;--link:#7aa8e6}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121211;
  --card:#1c1c1a;--ink:#e8e6e0;--mut:#9a988f;--line:#2e2e2a;--accent:#d9b477;
  --accent2:#0e131d;--nd:#e58;--link:#7aa8e6}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.55 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
.topbar{background:var(--accent2);color:#fff}
.topbar-inner{max-width:960px;margin:0 auto;padding:14px 16px;display:flex;
  flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.topbar .logo{color:#fff;font-weight:800;font-size:19px}.topbar .logo em{color:#D9B477;font-style:normal}
.topbar .sub{color:#A9B0C0;font-size:13px}
.wrap{max-width:960px;margin:0 auto;padding:22px 16px 8px}
.crumbs{font-size:13.5px;color:var(--mut);margin-bottom:14px}
.crumbs .sep{color:var(--line)}
h1{font-size:26px;line-height:1.25;margin:.2em 0 .35em}
h2{font-size:20px;margin:1.4em 0 .5em}
.lead{color:var(--mut);font-size:15.5px;max-width:70ch}
.lead.answer{color:var(--ink);font-size:16px;margin:.85em 0 .2em;max-width:70ch}
.data-disclaimer time{white-space:nowrap}
.vuz-head .facts{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px;font-size:14px}
.fact{color:var(--mut)}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);
  border-radius:10px;margin:.6em 0}
table.programs{border-collapse:collapse;width:100%;font-size:14px;min-width:560px}
table.programs th,table.programs td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);
  vertical-align:top}
table.programs thead th{background:rgba(154,119,36,.08);font-weight:700;position:sticky;top:0}
table.programs .num{text-align:right;white-space:nowrap}
table.programs .pn{max-width:340px}
table.programs tr:last-child td{border-bottom:0}
.est{color:var(--mut);font-size:12px;white-space:nowrap}
.nd{color:var(--mut);font-style:italic;font-size:13px}
.ex{color:var(--mut);font-size:13px}
.m{color:var(--mut);font-size:12.5px}
.data-disclaimer{background:rgba(154,119,36,.07);border:1px solid rgba(154,119,36,.28);
  border-radius:10px;padding:12px 16px;margin:16px 0;font-size:13.5px;line-height:1.5}
.data-disclaimer p{margin:.3em 0}.data-disclaimer .src{color:var(--mut);font-size:12.5px}
.faq-item{border:1px solid var(--line);border-radius:9px;padding:4px 14px;margin:8px 0;background:var(--card)}
.faq-q{font-weight:600;cursor:pointer;padding:8px 0}
.faq-a{color:var(--mut);font-size:14.5px;padding-bottom:8px}
.vuz-list{list-style:none;padding:0;margin:.4em 0}
.vuz-list li{padding:5px 0;border-bottom:1px solid var(--line)}
.vuz-list.cols{columns:2;column-gap:32px}
@media(max-width:640px){.vuz-list.cols{columns:1}}
.cta{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);
  border-radius:10px;padding:16px 20px;margin:24px 0}
.cta h2{margin-top:.2em;font-size:18px}.cta p{margin:.5em 0;font-size:14.5px}
.cta-links a{font-weight:600}.cta-calc a{font-weight:600}
.hero .searchbox{margin:16px 0}
#q{width:100%;padding:13px 16px;font-size:16px;border:1.5px solid var(--line);
  border-radius:11px;background:var(--card);color:var(--ink)}
#q:focus{outline:none;border-color:var(--accent)}
#search-results .vuz-list{margin-top:8px}
.loading,.noresults{color:var(--mut);padding:10px 2px}
.hub-cols{display:flex;flex-wrap:wrap;gap:12px 40px}
.hub-col{flex:1;min-width:240px}
.linklist{list-style:none;padding:0;margin:.3em 0}
.linklist li{padding:4px 0;border-bottom:1px solid var(--line)}
.bigl{font-weight:700;font-size:16px}
.allvuz{margin:20px 0}
.empty{color:var(--mut);background:var(--card);border:1px solid var(--line);
  border-radius:10px;padding:16px 20px}
.footer{background:var(--accent2);color:#A9B0C0;margin-top:28px}
.footer-inner{max-width:960px;margin:0 auto;padding:22px 16px;font-size:13.5px;line-height:1.6}
.footer a{color:#D9B477}
