.page-hero { padding: 80px 0; background: linear-gradient(135deg, var(--blue) 0%, var(--blue-deep) 100%); color: #fff; position: relative; overflow: hidden; }

.page-hero::before { content: ''; position: absolute; top: -100px; right: -100px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(255,153,51,0.2) 0, transparent 70%); }

.page-hero .hero-collage .a2 { }

.page-hero .hero-collage .a3 { background: var(--saffron); color: var(--blue); padding: 18px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 12px; }

.page-hero .hero-collage .a3 .k { font-family: var(--display); font-weight: 900; font-size: 36px; line-height: 1; }

.page-hero .hero-collage .a3 .v { font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }

.page-hero .ctry { font-family: var(--display); font-weight: 700; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--saffron); }

.page-hero p { color: #DDE0F0; font-size: 18px; max-width: 48ch; }

.page-hero .stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-top: 56px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.15); }

.page-hero .stats .k { font-family: var(--display); font-weight: 900; font-size: 44px; color: var(--saffron); line-height: 1; }

.page-hero .stats .v { font-family: var(--display); font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #DDE0F0; margin-top: 8px; }

.uni-table { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; margin-top: 56px; }

.uni-row {
  display: grid;
  grid-template-columns: 60px 2fr 1.4fr 1fr 1.2fr 100px;
  align-items: center;
  padding: 22px 28px;
  border-bottom: 1px solid var(--line);
  gap: 16px;
  transition: background 0.2s;
}

.uni-row:hover { background: var(--bg-blue); }

.uni-row:last-child { border-bottom: 0; }

.uni-row.head { background: var(--blue); color: #fff; font-family: var(--display); font-weight: 700; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; }

.uni-row.head:hover { background: var(--blue); }

.uni-row .num { font-family: var(--display); font-weight: 900; color: var(--saffron); font-size: 18px; }

.uni-row .nm { font-family: var(--display); font-weight: 700; font-size: 18px; color: var(--blue); }

.uni-row .city { color: var(--ink-soft); font-size: 14px; }

.uni-row .rank { font-family: var(--display); font-weight: 600; font-size: 13px; color: var(--ink); }

.uni-row .pop { font-size: 12px; color: var(--ink-muted); }

.uni-row .a { font-family: var(--display); font-weight: 700; font-size: 11px; color: var(--blue); }

.uni-row.head .nm, .uni-row.head .city, .uni-row.head .rank, .uni-row.head .pop, .uni-row.head .num, .uni-row.head .a { color: #fff; font-family: var(--display); font-weight: 700; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; }

@media (max-width: 980px) {
  .uni-row { grid-template-columns: 50px 2fr 1fr; }
  .uni-row .rank, .uni-row .pop, .uni-row .a { display: none; }
}

.polys { padding: 100px 0; }

.poly-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 56px; border-top: 2px solid var(--blue); border-left: 1px solid var(--line); }

.poly { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 32px; min-height: 200px; display: flex; flex-direction: column; justify-content: space-between; transition: background 0.2s; }

.poly:hover { background: var(--saffron-soft); }

.poly .lbl { font-family: var(--display); font-weight: 700; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--saffron-deep); }

.poly h4 { font-size: 22px; color: var(--blue); margin-top: 12px; }

.poly p { font-size: 13px; color: var(--ink-soft); margin-top: 8px; }

.poly .city { font-family: var(--display); font-weight: 600; font-size: 12px; color: var(--ink); margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); }

@media (max-width: 980px) { .poly-grid { grid-template-columns: 1fr 1fr; } }

.intake .month { font-family: var(--display); font-weight: 900; font-size: 64px; color: var(--saffron); line-height: 1; letter-spacing: -0.02em; }
