/* /universities pages only (tools/university-layout.js). Loaded after
   /seo/styles.css, which provides the chrome, buttons, FAQ and band. */
.u-top{max-width:860px}
.u-top h1{margin-bottom:14px}
.uni .u-top h1{font-size:clamp(26px,3.6vw,44px)}
.u-hero{background:#fff;border-radius:20px;padding:20px 24px;margin:0 0 22px;border:1px solid #cdebd8;border-left:6px solid #18794e;box-shadow:0 4px 18px rgba(16,24,40,.06)}
.u-hero p{max-width:none}
.u-hero p.u-hero-h{display:flex;gap:12px;align-items:flex-start;margin:0;color:var(--dark);font-size:20px;font-weight:700;line-height:1.35}
.u-hero p.u-hero-h .u-ck{margin-top:2px}
.u-hero p.u-hero-sub{margin:8px 0 0 36px;color:var(--muted);font-size:15px}
.u-hero p.u-hero-sub strong{color:var(--dark)}
.u-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:14px 0 0;max-width:none}
.u-chips li{margin:0;padding:5px 12px;border-radius:999px;background:#e0f5f6;color:#0f5f62;font-size:13.5px;font-weight:600}
.u-hero .cta{margin:16px 0 0}
.u-hero .u-small a{color:#127a7d}
.u-lead p{max-width:760px;color:var(--dark);font-size:17px;margin:0 0 12px}
.u-lead p.lead{font-size:20px;font-weight:600}
.uni [hidden]{display:none!important}
.u-grid{display:block}
.u-main{min-width:0}
.u-main h2{scroll-margin-top:20px}
.u-main > p,.u-note p,.u-pattern p{line-height:1.65}
.u-small{font-size:14px;color:var(--muted);margin:10px 0 0}
.u-glance{background:#fff;border-radius:22px;padding:26px 28px;margin:28px 0;box-shadow:0 1px 3px rgba(16,24,40,.06);border:1px solid #e3eaee}
.u-glance h2{margin:0 0 16px;font-size:clamp(20px,2.4vw,26px)}
.u-glance .cta{margin:22px 0 0}
.u-verdict{background:#f1faf4;border:1px solid #cdebd8;border-radius:16px;padding:16px 18px;margin:0 0 18px}
.u-verdict p{color:var(--dark);margin:6px 0 0;font-size:15.5px;max-width:none}
.u-verdict p.u-verdict-k{margin:0 0 4px;font-size:17px;font-weight:600;display:flex;align-items:center;gap:10px}
.u-yes{display:inline-block;margin-left:4px;padding:1px 10px;border-radius:999px;background:#18794e;color:#fff;font-size:14px;vertical-align:1px}
.u-verdict a{color:#127a7d}
.u-ck{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:#18794e;color:#fff;font-weight:700;font-size:13px}
.u-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:0}
.u-tile{background:var(--bg);border-radius:14px;padding:14px 16px}
.u-tile dt{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.u-tile dd{margin:0;font-weight:600;color:var(--dark);font-size:15.5px;line-height:1.4}
.u-tile dd span{display:block;font-weight:400;font-size:13.5px;color:var(--muted);margin-top:4px}
.u-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.u-card{background:#fff;border-radius:16px;padding:18px 20px;border-top:4px solid var(--primary)}
.u-card p{margin:0;font-size:15px}
.u-card p.u-card-t{color:var(--dark);font-weight:700;font-size:17px;margin:0 0 6px}
.u-toc{background:#fff;border-radius:16px;padding:16px 20px;margin:32px 0 0}
.u-toc p{margin:0 0 8px;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.u-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;max-width:none}
.u-toc li{margin:0}
.u-toc a{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--bg);color:var(--dark);text-decoration:none;font-size:14px;font-weight:500}
.u-toc a:hover{background:#d0eef2}
.u-req{background:#fff;border-radius:18px;overflow:hidden}
.u-row{display:grid;grid-template-columns:200px 1fr;gap:18px;padding:16px 20px;border-bottom:1px solid var(--line)}
.u-row:last-child{border-bottom:0}
.u-row p{margin:0 0 8px;font-size:15px;max-width:none}
.u-row p:last-child{margin-bottom:0}
.u-row .u-k{font-weight:700;color:var(--dark);display:flex;gap:8px;align-items:flex-start}
.u-row-yes{background:#f1faf4}
.u-row a,.u-list a,.u-main > p a,.u-note a,.u-pattern a,.u-checks a,.u-steps a{color:#127a7d}
.u-checks{list-style:none;padding:0;margin:0;display:grid;gap:10px;max-width:none}
.u-checks.u-cols{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.u-checks li{position:relative;background:#fff;border-radius:14px;padding:14px 16px 14px 48px;margin:0;color:var(--dark);font-size:15px}
.u-checks li::before{content:"✓";position:absolute;left:16px;top:14px;width:22px;height:22px;border-radius:50%;background:#e0f5f6;color:#127a7d;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.u-list{padding-left:20px}
.u-list li{margin-bottom:12px}
.u-list li p{margin:0 0 6px;max-width:none}
.u-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:6px 0 14px}
.u-price{background:#fff;border-radius:16px;padding:16px 18px}
.u-price p{margin:0;font-size:14.5px}
.u-price p.u-price-v{font-size:20px;font-weight:700;color:var(--primary);margin:0 0 4px}
.u-note{background:#fff8eb;border:1px solid #f1d9a6;border-radius:18px;padding:4px 22px 14px;margin:40px 0 0}
.u-note h2{margin-top:18px;font-size:clamp(20px,2.4vw,24px)}
.u-note p{color:#4a3b1a}
.u-steps{list-style:none;counter-reset:u;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;max-width:none}
.u-steps li{counter-increment:u;background:#fff;border-radius:16px;padding:18px 18px 18px 18px;margin:0;color:var(--dark);font-size:15px}
.u-steps li::before{content:counter(u);display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;font-weight:700;margin-bottom:10px}
.u-midcta{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:var(--dark);color:#fff;border-radius:20px;padding:22px 26px;margin:40px 0 0}
.u-midcta p{color:#c9d3dc;margin:0;max-width:520px;font-size:15px}
.u-midcta p.u-midcta-t{color:#fff;font-weight:700;font-size:19px;margin:0 0 4px}
.u-midcta .cta{margin:0}
.u-midcta .btn-ghost{border-color:#fff;color:#fff}
.u-midcta .btn-ghost:hover{background:rgba(255,255,255,.1)}
.u-sources{margin-top:36px}
.u-sources h2{font-size:22px}
.u-sources p,.u-sources li{font-size:14px}
.u-sources a{color:#127a7d}
.u-patterns{display:grid;gap:14px}
.u-pattern{background:#fff;border-radius:18px;padding:6px 22px 10px}
.u-pattern h3{font-size:18px;margin:16px 0 4px;color:var(--dark)}
.u-pattern p{font-size:15px;max-width:none}
.u-find{background:#fff;border-radius:18px;padding:18px 20px;margin:16px 0 8px}
.u-find label{display:block;font-weight:700;margin:0 0 8px}
.u-find input{width:100%;font:inherit;font-size:16px;padding:12px 16px;border:1px solid #c9d5db;border-radius:12px;background:#fff;color:var(--dark)}
.u-find input:focus{outline:2px solid var(--primary);border-color:var(--primary)}
.u-jump{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;max-width:none}
.u-jump a{padding:6px 12px;border-radius:999px;background:var(--bg);color:var(--dark);text-decoration:none;font-size:14px;font-weight:500}
.u-table{background:#fff;border-radius:16px;overflow:hidden;margin:12px 0 8px}
.u-table table{border-collapse:collapse;width:100%;font-size:14.5px}
.u-table th,.u-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--muted)}
.u-table thead th{background:#f7fafb;color:var(--dark);font-size:13px}
.u-table tbody th{color:var(--dark);font-weight:600;width:24%}
.u-table tbody th a{color:#127a7d}
.u-table tr:last-child th,.u-table tr:last-child td{border-bottom:0}
.u-aside{display:none}
.u-bar{display:none}
@media(min-width:1000px){
  .u-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:32px;align-items:start}
  .u-aside{display:block;position:sticky;top:20px;margin-top:28px}
  .u-order{background:#fff;border-radius:20px;padding:22px;border:1px solid #e3eaee;box-shadow:0 4px 18px rgba(16,24,40,.06)}
  .u-order p{margin:0;color:var(--dark)}
  .u-order .u-order-t{font-weight:700;font-size:16px;line-height:1.35}
  .u-order .u-order-price{margin:12px 0 4px;color:var(--muted);font-size:14px}
  .u-order .u-order-price strong{font-size:28px;color:var(--primary);margin-right:4px}
  .u-order ul{list-style:none;padding:0;margin:10px 0 16px;font-size:14px}
  .u-order li{position:relative;padding-left:24px;margin-bottom:8px;color:var(--dark)}
  .u-order li::before{content:"✓";position:absolute;left:0;color:#18794e;font-weight:700}
  .u-order .btn{display:block;text-align:center;margin-top:10px}
}
@media(max-width:999px){
  .u-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;align-items:center;justify-content:space-between;gap:12px;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(16,24,40,.08);
    transform:translateY(110%);transition:transform .2s ease}
  .u-bar.on{transform:none}
  .u-bar p{margin:0;font-size:14px;color:var(--muted);max-width:none}
  .u-bar strong{color:var(--dark);font-size:17px}
  .u-bar .btn{padding:10px 18px;font-size:15px;white-space:nowrap}
  body.u-barred{padding-bottom:72px}
}
@media(max-width:720px){
  .u-lead p.lead{font-size:17px}
  .u-lead p{font-size:16px}
  .u-verdict p.u-verdict-k{font-size:16px}
  .u-glance{padding:20px 18px;margin:22px 0;border-radius:18px}
  .u-tiles{grid-template-columns:1fr 1fr}
  .u-tile{padding:12px 13px}
  .u-tile dd{font-size:14.5px}
  .u-row{grid-template-columns:1fr;gap:6px;padding:14px 16px}
  .u-midcta{padding:20px}
  .u-glance .cta .btn,.u-midcta .cta .btn,.u-top .cta .btn{flex:1 1 auto;text-align:center}
  .u-hero{padding:16px 16px;border-left-width:5px}
  .u-hero p.u-hero-h{font-size:17.5px;gap:10px}
  .u-hero p.u-hero-sub{margin-left:0;font-size:14.5px}
  .uni .u-top h1{font-size:24px;margin-bottom:12px}
  .u-chips{gap:6px;margin-top:10px}
  .u-chips li{font-size:12.5px;padding:4px 9px}
  .u-hero .cta{gap:10px;margin-top:12px}
  .u-hero .cta .btn{padding:11px 16px}
  .u-table thead{display:none}
  .u-table table,.u-table tbody,.u-table tr,.u-table th,.u-table td{display:block;width:auto}
  .u-table tr{padding:12px 16px;border-bottom:1px solid var(--line)}
  .u-table tbody th{width:auto;padding:0 0 6px;border:0;font-size:16px}
  .u-table td{padding:3px 0;border:0;font-size:14px}
  .u-table td::before{content:attr(data-label) ": ";font-weight:600;color:var(--dark)}
}
@media(max-width:340px){.u-tiles{grid-template-columns:1fr}}
