@font-face{font-family:"FA";font-style:normal;font-weight:900;font-display:swap;src:url(/static/fonts/fa-solid-900.woff2) format("woff2")}
.fa{font-family:"FA";font-weight:900;font-style:normal;line-height:1;display:inline-block;-webkit-font-smoothing:antialiased}
.fa-calculator::before{content:"\f1ec"}
.fa-chart-line::before{content:"\f201"}
.fa-rocket::before{content:"\f135"}
.fa-seedling::before{content:"\f4d8"}
.fa-paw::before{content:"\f1b0"}
.fa-users::before{content:"\f0c0"}
.fa-monument::before{content:"\f5a6"}
.fa-tree::before{content:"\f1bb"}
.fa-building-columns::before{content:"\f19c"}
.fa-robot::before{content:"\f544"}
.fa-car::before{content:"\f1b9"}
.fa-dna::before{content:"\f471"}
.fa-heart-pulse::before{content:"\f21e"}
.fa-flask::before{content:"\f0c3"}
.fa-helmet-safety::before{content:"\f807"}
.fa-scale-balanced::before{content:"\f24e"}
.fa-shield-halved::before{content:"\f3ed"}
.fa-database::before{content:"\f1c0"}
.fa-laptop-code::before{content:"\f5fc"}
.fa-microchip::before{content:"\f2db"}
.fa-tooth::before{content:"\f5c9"}
.fa-handshake::before{content:"\f2b5"}
.fa-leaf::before{content:"\f06c"}
.fa-bolt::before{content:"\f0e7"}
.fa-coins::before{content:"\f51e"}
.fa-briefcase::before{content:"\f0b1"}
.fa-graduation-cap::before{content:"\f19d"}
.fa-book::before{content:"\f02d"}
.fa-language::before{content:"\f1ab"}
.fa-palette::before{content:"\f53f"}
.fa-utensils::before{content:"\f2e7"}
.fa-mountain::before{content:"\f6fc"}
.fa-landmark::before{content:"\f66f"}
.fa-church::before{content:"\f51d"}
.fa-brain::before{content:"\f5dc"}
.fa-newspaper::before{content:"\f1ea"}
.fa-globe::before{content:"\f0ac"}
.fa-water::before{content:"\f773"}
.fa-gears::before{content:"\f085"}
.fa-square-root-variable::before{content:"\f698"}
.fa-stethoscope::before{content:"\f0f1"}
.fa-hand-holding-heart::before{content:"\f4be"}
.fa-music::before{content:"\f001"}
.fa-masks-theater::before{content:"\f630"}
.fa-pills::before{content:"\f484"}
.fa-atom::before{content:"\f5d2"}
.fa-building::before{content:"\f1ad"}
.fa-dumbbell::before{content:"\f44b"}
.fa-truck::before{content:"\f0d1"}
.fa-plane::before{content:"\f072"}
.fa-city::before{content:"\f64f"}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/static/fonts/Poppins-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/static/fonts/Poppins-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/fonts/Poppins-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/fonts/Poppins-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/fonts/Poppins-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/static/fonts/Poppins-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/static/fonts/Inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/static/fonts/Inter-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* =====================================================================
   DenmarkUniversities - single consolidated stylesheet
   Palette: Dannebrog red (primary), warm charcoal (dark bands), bronze (accent), warm greys. No other hues.
   Contrast: every text/background pair is >= 4.5:1 (AA); decorative bronze rules and UI outlines are >= 3:1.
     ink #2c2a2b on white 14:1 | muted #5f5b59 on white 6.6:1 | red #C8102E on white 5.9:1 | white on red 5.9:1
     bronze-ink #6f4f11 on bronze-100 6.4:1 | amber-2 #8c6116 on white 5.5:1 | bronze-lt #dcb36a on charcoal 7.6:1
   Order: tokens > base > header > hero/band > components > pages > footer > responsive > overrides
   ===================================================================== */

/* ---------- 1. tokens ---------- */
:root{
  /* Dannebrog red */
  --brand:#C8102E; --brand-d:#a10d25; --brand-2:#d62a45; --brand-x:#2b1b1e;
  --brand-50:#fdf2f3; --brand-100:#fbe3e6; --brand-200:#f6c4cb; --brand-300:#ee94a1; --brand-400:#e2586d;
  /* bronze: --amber is for fills and rules, --amber-2 is the text-safe bronze on light, --amber-lt is bronze text on dark */
  --amber:#a8761b; --amber-2:#8c6116; --amber-lt:#dcb36a; --amber-50:#fbf6ec; --amber-100:#f6ecd8; --amber-200:#ecd9b3; --amber-ink:#6f4f11;
  /* warm greys */
  --bg:#ede7e2; --card:#ffffff; --ink:#2c2a2b; --ink-2:#4a4647; --muted:#5f5b59; --faint:#78726f;
  --line:#ddd5cf; --fill:#f1ece8; --dark:#2b1b1e; --dark-2:#1d1214; --tint:#f6f2ee;

  /* spacing scale (4px base) */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:72px;
  /* radius */
  --r-sm:8px; --r:14px; --r-lg:20px; --r-pill:999px;
  /* shadow */
  --sh-1:0 1px 2px rgba(43,27,30,.05),0 1px 3px rgba(43,27,30,.04);
  --sh-2:0 10px 30px -8px rgba(43,27,30,.16),0 2px 6px rgba(43,27,30,.06);
  --sh-3:0 24px 60px -16px rgba(29,18,20,.38);
  --ring:0 0 0 3px rgba(226,88,109,.35);
  /* type */
  --sans:"Inter",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --head:"Poppins","Inter",ui-sans-serif,-apple-system,"Segoe UI",sans-serif;
  --fs-hero:clamp(2.2rem,1.3rem + 3.9vw,3.9rem);
  --fs-h1:clamp(1.9rem,1.2rem + 2.6vw,3rem);
  --fs-h2:clamp(1.3rem,1.1rem + .8vw,1.65rem);
  --fs-h3:1.1875rem;
  --fs-body:1rem; --fs-sm:.875rem; --fs-xs:.78rem;
  /* layout */
  --wrap:1200px; --head-h:68px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- 2. base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;font:var(--fs-body)/1.65 var(--sans);font-feature-settings:"cv11","ss01";text-rendering:optimizeLegibility;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
body.is-home{background:var(--bg)}
[hidden]{display:none!important}
::selection{background:var(--brand-100);color:var(--brand-x)}
a{color:var(--brand);text-decoration:none;transition:color .15s,background-color .15s,border-color .15s,box-shadow .2s,transform .2s var(--ease),opacity .15s}
a:hover{text-decoration:underline;text-underline-offset:3px}
img,svg{max-width:100%}
h1,h2,h3,h4{margin:0;font-family:var(--head);line-height:1.2;letter-spacing:-.022em;color:var(--ink);font-weight:800}
p{margin:0}
code{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--fill);padding:2px 7px;border-radius:6px;font-size:.84rem;color:var(--ink-2)}
:focus-visible{outline:3px solid var(--brand-400);outline-offset:2px;border-radius:6px}
button{font-family:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:#ffffff;padding:10px 14px;border-radius:var(--r-sm);z-index:80;box-shadow:var(--sh-2)}.skip:focus{left:8px}
.ic{width:18px;height:18px;flex:none;vertical-align:-3px;color:currentColor;stroke-linecap:round;fill:none}
.ti,.empty-ic{stroke-linecap:round;fill:none}

/* ---------- 3. buttons, chips, tags ---------- */
.vbtn,.apply,.find{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--r-pill);background:var(--brand);color:#ffffff;font:700 .9rem/1.2 var(--head);letter-spacing:.005em;padding:11px 22px;cursor:pointer;text-align:center;box-shadow:0 1px 2px rgba(200,16,46,.35),0 6px 14px -6px rgba(200,16,46,.4)}
.vbtn:hover,.apply:hover{background:var(--brand-d);color:#ffffff;text-decoration:none;transform:translateY(-1px);box-shadow:0 1px 2px rgba(200,16,46,.35),0 12px 20px -8px rgba(200,16,46,.45)}
.vbtn:active,.apply:active,.find:active{transform:translateY(0) scale(.985)}
.vbtn.lg{padding:14px 28px;font-size:.98rem}
.vbtn.block{display:flex;margin-top:var(--s4)}
.vbtn.ghost{background:#ffffff;color:var(--brand);box-shadow:inset 0 0 0 1.5px var(--brand-200);font-family:var(--head)}
.vbtn.ghost:hover{background:var(--brand-50);color:var(--brand-d);box-shadow:inset 0 0 0 1.5px var(--brand-300);transform:translateY(-1px)}
.apply{width:100%;padding:13px}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s5) 0 var(--s2)}
.copy{border:0;background:#ffffff;box-shadow:inset 0 0 0 1.5px var(--brand-200);border-radius:var(--r-pill);padding:12px 20px;font:700 .88rem var(--head);cursor:pointer;margin-left:6px;color:var(--brand)}
.copy:hover{background:var(--brand-50);box-shadow:inset 0 0 0 1.5px var(--brand-300)}
.vbtn.ghost.copy{margin-left:0;padding:11px 22px;font-size:.9rem}

.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s3)}
.tags span,.tags a{display:inline-block;padding:4px 11px;background:var(--brand-50);color:var(--brand-d);border-radius:var(--r-pill);font-size:.78rem;font-weight:600;line-height:1.5}
.tags a:hover{text-decoration:none;background:var(--brand-100)}
.tags .eng{background:var(--amber-100);color:var(--amber-ink)}
.tags.big{margin-top:0}.tags.big span,.tags.big a{font-size:.82rem;padding:5px 13px}

.save{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);font:600 .82rem var(--sans);cursor:pointer;padding:8px 10px;border-radius:var(--r-pill)}
.save .ic{width:18px;height:18px}
.save:hover{color:var(--brand);background:var(--brand-50)}
.save[aria-pressed="true"]{color:var(--brand)}
.save[aria-pressed="true"] .ic{animation:pop .35s var(--ease)}
.save[aria-pressed="true"] .ic{fill:currentColor}
.save.wide{background:#ffffff;box-shadow:inset 0 0 0 1.5px var(--line);height:48px;padding:0 20px;color:var(--ink);font-weight:700}

/* ---------- 4. header ---------- */
.top{position:sticky;top:0;z-index:50;background:var(--dark);border-bottom:3px solid var(--brand);transition:box-shadow .25s}
.top.scrolled{box-shadow:0 8px 28px -10px rgba(29,18,20,.55)}
.top-in{display:flex;align-items:center;gap:14px;height:var(--head-h)}
.brand{display:flex;align-items:center;gap:10px;color:#ffffff;flex:none}.brand:hover{text-decoration:none}
.mark{width:34px;height:34px;transition:transform .3s var(--ease)}.brand:hover .mark{transform:rotate(-6deg) scale(1.05)}
.brand-t{font-family:var(--head);font-size:1.18rem;font-weight:600;letter-spacing:-.025em;color:#ffffff}.brand-t b{font-weight:800;color:#ffffff}
.nav{display:flex;gap:2px;margin-left:8px}
.nav a{white-space:nowrap;color:#eadfe0;padding:8px 11px;border-radius:var(--r-pill);font-weight:600;font-size:.9rem;position:relative}
.nav a:hover{color:#ffffff;background:rgba(255,255,255,.1);text-decoration:none}
.nav a.on{color:#ffffff;background:rgba(255,255,255,.16)}
.nav a.on::after{content:"";position:absolute;left:50%;bottom:2px;width:16px;height:2px;margin-left:-8px;border-radius:2px;background:var(--amber-lt)}
.top-search{margin-left:auto;position:relative;flex:0 1 210px;min-width:0}
.top-search input{width:100%;background:rgba(255,255,255,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='6.5' fill='none' stroke='%23ffffff' stroke-opacity='.8' stroke-width='1.5'/%3E%3Cpath d='m16 16 4.5 4.5' stroke='%23ffffff' stroke-opacity='.8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") 12px center/17px no-repeat;border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);border-radius:var(--r-pill);padding:10px 14px 10px 38px;color:#ffffff;font:inherit;font-size:.88rem;transition:background-color .2s,box-shadow .2s}
.top-search input::placeholder{color:rgba(255,255,255,.7)}
.top-search input:hover{background-color:rgba(255,255,255,.16)}
.top-search input:focus{outline:0;background-color:#ffffff;color:var(--ink);box-shadow:0 0 0 3px rgba(220,179,106,.6)}
.top-search input:focus::placeholder{color:var(--faint)}
.sl-link{position:relative;display:inline-flex;align-items:center;gap:7px;color:#ffffff;border-radius:var(--r-pill);padding:9px 16px;font-weight:700;font-size:.86rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.sl-link:hover{text-decoration:none;background:rgba(255,255,255,.14)}
.sl-link .ic{width:18px;height:18px}
.sl-link b{min-width:20px;height:20px;border-radius:10px;background:var(--amber-lt);color:var(--dark);font-size:.7rem;display:grid;place-items:center;padding:0 6px}
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;color:#ffffff;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary svg path{stroke-width:1.5}
.mnav[open] summary{background:rgba(255,255,255,.14)}
.mnav nav{position:absolute;right:0;top:54px;width:min(300px,86vw);background:#ffffff;border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:8px;z-index:60;display:flex;flex-direction:column;animation:drop .22s var(--ease)}
.mnav nav a{padding:13px 16px;color:var(--ink);font-weight:600;border-radius:var(--r-sm);display:flex;justify-content:space-between}
.mnav nav a::after{content:"\203A";color:var(--faint);font-size:1.2rem;line-height:1}
.mnav nav a:hover{background:var(--brand-50);text-decoration:none}

/* ---------- 5. hero (home) and band (inner pages) ---------- */
.hero,.band{position:relative;color:#ffffff;overflow:hidden;background:var(--dark)}
.hero{text-align:center}
.hero-in{padding:72px 20px 40px;position:relative;z-index:2}
.hero h1{color:#ffffff;font-size:var(--fs-hero);font-weight:800;letter-spacing:-.035em;line-height:1.05;max-width:820px;margin:0 auto 14px;animation:rise .6s var(--ease) both}
.hero-sub{max-width:600px;margin:0 auto 34px;color:rgba(255,255,255,.82);font-size:1.12rem;line-height:1.55;animation:rise .6s .08s var(--ease) both}
.finder{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:6px;padding:8px;background:#ffffff;border-radius:var(--r-lg);box-shadow:var(--sh-3);text-align:left;animation:rise .6s .16s var(--ease) both;transition:box-shadow .25s}
.finder:focus-within{box-shadow:var(--sh-3),0 0 0 4px rgba(220,179,106,.55)}
.finder label{display:block;position:relative}
.finder select{width:100%;height:58px;border:0;border-radius:var(--r);background-color:var(--bg);padding:0 44px 0 20px;font:inherit;font-size:1rem;font-weight:500;color:var(--ink-2);appearance:none;-webkit-appearance:none;cursor:pointer;transition:background-color .15s,box-shadow .15s;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%235f5b59' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}
.finder select:hover{background-color:var(--fill)}
.finder select:focus{outline:0;background-color:#ffffff;box-shadow:inset 0 0 0 2px var(--brand-300)}
.find{height:58px;padding:0 36px;font-size:1.05rem;font-weight:800;background:var(--brand);color:#ffffff;border-radius:var(--r)}
.find:hover{background:var(--brand-d);transform:translateY(-1px)}
.notch{position:relative;z-index:2}
.stats{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--s3) var(--s7);padding:40px 20px 56px;color:rgba(255,255,255,.72);font-size:.95rem}
.stats div{display:flex;flex-direction:column;align-items:center;line-height:1.3}
.stats b{font-family:var(--head);font-size:clamp(1.7rem,1.2rem + 1.6vw,2.4rem);font-weight:800;color:#ffffff;letter-spacing:-.03em;font-variant-numeric:tabular-nums}

.band{padding:22px 0 70px}
.band h1{color:#ffffff;font-size:var(--fs-h1);font-weight:800;letter-spacing:-.03em;max-width:900px}
.band-sub{margin:10px 0 0;color:rgba(255,255,255,.82);font-size:1.08rem;max-width:720px}
.bc{font-size:.84rem;color:rgba(255,255,255,.75);margin-bottom:18px;display:flex;flex-wrap:wrap;align-items:center;gap:2px 0}
.bc a{color:rgba(255,255,255,.85);padding:2px 0}.bc a:hover{color:#ffffff}
.bc i{font-style:normal;font-size:0;margin:0 8px}
.bc i::before{content:"\203A";font-size:1rem;opacity:.55}
.bc span{color:#ffffff;font-weight:600}
.bigsearch{display:flex;max-width:820px;margin-top:26px;padding:6px;background:#ffffff;border-radius:var(--r-lg);box-shadow:var(--sh-3);transition:box-shadow .25s}
.bigsearch:focus-within{box-shadow:var(--sh-3),0 0 0 4px rgba(220,179,106,.55)}
.bigsearch input{flex:1;min-width:0;border:0;padding:14px 18px;font:inherit;font-size:1rem;color:var(--ink);background:transparent;border-radius:var(--r)}.bigsearch input:focus{outline:0}
.bigsearch button{border:0;padding:0 32px;border-radius:var(--r);background:var(--brand);color:#ffffff;font:800 1rem var(--head);cursor:pointer}
.bigsearch button:hover{background:var(--brand-d)}

.page{background:var(--bg);padding:0 0 var(--s5)}
.band + main .page>.listing,.band + main .page>.blk,.band + main .page>.detail,.band + main .page>.article,.band + main .page>.rail-layout{margin-top:-38px;position:relative;z-index:2}
.is-home .page{padding-top:var(--s2)}

/* ---------- 6. section blocks, link grids ---------- */
.blk{padding-top:var(--s7);padding-bottom:var(--s2)}
.band + main .page>.blk{padding-top:var(--s5)}
.blk-h{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);margin-bottom:var(--s4)}
.blk-h h2{font-size:var(--fs-h2)}
.blk-h a{font-weight:700;font-size:.9rem;color:var(--brand);white-space:nowrap}
.blk-h a:hover{color:var(--amber-2);text-decoration:none}
.lgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.lgrid.lg2{grid-template-columns:repeat(2,1fr)}
.li{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);padding:15px 18px;background:var(--card);border-radius:var(--r);color:var(--ink);box-shadow:var(--sh-1),inset 0 0 0 1px rgba(43,27,30,.06)}
.li:hover{text-decoration:none;transform:translateY(-3px);box-shadow:var(--sh-2),inset 0 0 0 1px var(--brand-200);color:var(--brand-d)}
.li b{font-size:.93rem;line-height:1.35;font-weight:700;font-family:var(--head);letter-spacing:-.01em}
.li span{font-size:.8rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.li.lu{justify-content:flex-start}.li.lu b{flex:1}.li.lu .cnt{margin-left:auto;background:var(--brand-50);color:var(--brand-d);padding:2px 10px;border-radius:var(--r-pill);font-weight:600}
.bylevel{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:var(--s5) 0 0;font-size:.9rem;color:var(--muted)}
.bylevel>span{font-weight:700;color:var(--ink);margin-right:4px}
.bylevel a{padding:7px 16px;background:#ffffff;color:var(--brand-d);border-radius:var(--r-pill);font-weight:600;font-size:.86rem;box-shadow:inset 0 0 0 1px var(--brand-200)}
.bylevel a:hover{text-decoration:none;background:var(--brand-50);transform:translateY(-1px)}
.bylevel a.eng{background:var(--amber-50);color:var(--amber-ink);box-shadow:inset 0 0 0 1px var(--amber-200)}
.listbox{display:flex;flex-direction:column;gap:var(--s3)}
.lrow{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--card);border-radius:var(--r);color:var(--ink);box-shadow:var(--sh-1),inset 0 0 0 1px rgba(43,27,30,.06)}
.lrow:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--sh-2),inset 0 0 0 1px var(--brand-200)}
.lr-main{flex:1;min-width:0}.lr-main i{display:block;font-style:normal;font-size:.78rem;color:var(--muted)}.lr-main b{display:block;font:700 .98rem/1.35 var(--head);letter-spacing:-.01em;margin-top:1px}
.lr-tag{flex:none;font-size:.74rem;font-weight:700;padding:4px 11px;border-radius:var(--r-pill);background:var(--amber-100);color:var(--amber-ink)}
.lrow.plain{padding:16px 18px}.lrow.plain b{font-size:.98rem}
.lrow.plain::after{content:"\2192";margin-left:auto;color:var(--amber-2);font-size:1.1rem;transition:transform .2s var(--ease)}
.lrow.plain:hover::after{transform:translateX(3px)}
.more{margin:var(--s4) 0 0;font-size:.9rem;font-weight:700}
.more a:hover{color:var(--amber-2);text-decoration:none}

/* logos: the institution's mark sits over a monogram; if it fails the monogram stays */
.logo{position:relative;overflow:hidden;flex:none;width:52px;height:52px;border-radius:var(--r);display:grid;place-items:center;background:var(--brand-50);color:var(--brand-d);font:800 1rem var(--head);outline:1px solid var(--brand-100);outline-offset:-1px}
.logo:hover{text-decoration:none}
.logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6px;background:#ffffff}
.logo.sm{width:40px;height:40px;font-size:.8rem;border-radius:11px}.logo.sm img{padding:4px}
.logo.big{width:68px;height:68px;font-size:1.3rem;border-radius:var(--r-lg)}.logo.big img{padding:9px}
.logo.ico{background:var(--brand-50);color:var(--brand)}
.logo.ico svg{stroke-width:1.25}

/* ---------- 7. listing pages: filters, results, cards ---------- */
.listing{display:grid;grid-template-columns:292px minmax(0,1fr);gap:var(--s5);padding-bottom:var(--s6);align-items:start;padding-top:var(--s5)}
.sidecol{display:flex;flex-direction:column;gap:var(--s4);align-self:stretch;min-width:0}
.filters{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--sh-1),inset 0 0 0 1px rgba(43,27,30,.06);padding:6px 4px 10px}
.f-sum{display:none}.f-sum .ic{display:none}
.f-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 4px}.f-head b{font:800 1.05rem var(--head)}.f-head a{font-size:.82rem;font-weight:700;color:var(--brand)}
.f-sec{padding:12px 16px 4px}
.f-sec h4{font:700 .72rem var(--sans);letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px;color:var(--muted)}
.f-in{width:100%;padding:11px 14px;border:0;border-radius:var(--r-sm);background:var(--bg);font:inherit;font-size:.92rem;color:var(--ink);box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .15s,background-color .15s}
.f-in:hover{background:var(--fill)}
.f-in:focus{outline:0;background:#ffffff;box-shadow:inset 0 0 0 2px var(--brand-300),var(--ring)}
select.f-in{appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%235f5b59' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.ck{display:flex;align-items:center;gap:10px;padding:7px 8px;margin:0 -8px;border-radius:var(--r-sm);cursor:pointer;font-size:.92rem;color:var(--ink-2);transition:background-color .15s}
.ck:hover{background:var(--bg)}
.ck:has(input:checked){color:var(--brand-d);font-weight:600}
.ck i{margin-left:auto;font-style:normal;color:var(--faint);font-size:.78rem;font-variant-numeric:tabular-nums}
.ck input{appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#ffffff;flex:none;position:relative;cursor:pointer;box-shadow:inset 0 0 0 1.5px #8a827e;transition:box-shadow .15s,background-color .15s}
.ck input:hover{box-shadow:inset 0 0 0 1.5px var(--brand-300)}
.ck input:checked{box-shadow:inset 0 0 0 5px var(--brand);background:#ffffff}
.ck input:focus-visible{outline:3px solid var(--brand-400);outline-offset:2px}
.f-sec:last-child{padding-top:14px}

.rbox{background:var(--card);border-radius:var(--r-lg);padding:20px 24px;margin-bottom:var(--s4);box-shadow:var(--sh-1),inset 0 0 0 1px rgba(43,27,30,.06)}
.rbox p{font-size:.98rem;color:var(--ink-2);line-height:1.6}.rbox p b{color:var(--ink);font-family:var(--head)}
.rbox p+p{margin-top:var(--s2)}
.achips{display:flex;flex-wrap:wrap;gap:8px;margin:var(--s3) 0 0}
.achip{display:inline-flex;gap:8px;align-items:center;padding:6px 14px;border-radius:var(--r-pill);background:var(--brand);color:#ffffff;font-weight:600;font-size:.82rem}
.achip:hover{text-decoration:none;background:var(--brand-d);transform:translateY(-1px)}
.popular{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:var(--s4)}
.popular>span{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.popular a{padding:6px 14px;background:var(--brand-50);color:var(--brand-d);border-radius:var(--r-pill);font-weight:600;font-size:.82rem}
.popular a:hover{text-decoration:none;background:var(--brand-100);transform:translateY(-1px)}
.popular a i{font-style:normal;color:var(--muted);margin-left:5px;font-weight:500}
.popular a.on{background:var(--brand);color:#ffffff}
.popular a.on i{color:#ffffff}
.rbar{display:flex;justify-content:space-between;align-items:center;margin:var(--s5) 4px var(--s3);font-size:.88rem;color:var(--muted);font-weight:500}

.plist2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.plist2>.adslot,.plist2>.adrail,.plist2>.empty{grid-column:1/-1}
.pc{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr;gap:var(--s3) var(--s3);align-items:start;background:var(--card);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-1),inset 0 0 0 1px rgba(43,27,30,.06);transition:box-shadow .25s var(--ease),transform .25s var(--ease)}
.pc:hover{transform:translateY(-3px);box-shadow:var(--sh-2),inset 0 0 0 1px var(--brand-200)}
.pc .logo{width:46px;height:46px;font-size:.9rem;border-radius:12px}
.pc-main{min-width:0;display:flex;flex-direction:column}
.pc-u{margin:0 0 4px;font-size:.8rem;font-weight:600;color:var(--muted);line-height:1.4}
.pc-u a{color:var(--brand);font-weight:600;position:relative;z-index:2}.pc-u a:hover{color:var(--amber-2)}
.pc h3{font-size:var(--fs-h3);font-weight:700;line-height:1.28;letter-spacing:-.018em}
.pc h3 a{color:var(--ink)}
.pc h3 a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--r-lg)}
.pc h3 a:hover{color:var(--brand);text-decoration:none}
.pc:hover h3 a{color:var(--brand)}
.pc-s{margin:var(--s3) 0 0;font-size:.92rem;color:var(--ink-2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pc .logo,.pc-side>*{position:relative;z-index:2}
.pc-side{grid-column:1/-1;display:flex;align-items:center;gap:var(--s2);margin-top:var(--s1);align-self:end}
.pc-ects{margin-right:auto;font-size:.82rem;color:var(--muted)}.pc-ects b{font:800 1.4rem var(--head);color:var(--ink);margin-right:4px;letter-spacing:-.02em}.pc-ects i{font-style:normal}
.pc-side .vbtn{padding:9px 18px;font-size:.84rem}
.pc-side>:only-child.vbtn{margin-left:auto}
.pc-side .save{margin-right:-6px}
.pc-side .save span{display:none}
.pc:hover .vbtn{background:var(--brand-d)}

.pager{display:flex;flex-wrap:wrap;gap:6px;margin:var(--s6) 0 var(--s2);align-items:center;justify-content:center}
.pager a,.pager b,.pager span{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:var(--r-pill);background:#ffffff;color:var(--ink);font-weight:600;font-size:.9rem;box-shadow:inset 0 0 0 1px var(--line)}
.pager b{background:var(--brand);color:#ffffff;box-shadow:0 6px 14px -6px rgba(200,16,46,.5)}
.pager span{background:transparent;box-shadow:none;min-width:24px;padding:0}
.pager a:hover{text-decoration:none;background:var(--brand-50);color:var(--brand-d);box-shadow:inset 0 0 0 1px var(--brand-300);transform:translateY(-1px)}

/* empty / loading states */
.empty{background:var(--card);border-radius:var(--r-lg);padding:var(--s7) var(--s5);text-align:center;color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--brand-100);background-image:radial-gradient(420px 160px at 50% 0,var(--brand-50),transparent 70%)}
.empty.big{margin:var(--s7) auto;max-width:640px}
.empty>b{display:block;font:800 1.3rem var(--head);color:var(--ink);letter-spacing:-.02em}
.empty p{margin-top:var(--s2);font-size:.98rem}
.empty-ic{display:block;margin:0 auto var(--s4);width:44px;height:44px;color:var(--brand-400);stroke-width:1.25}
.empty .popular{justify-content:center}
.skel,.skel i{display:block;border-radius:8px;background:linear-gradient(100deg,var(--fill) 30%,#ffffff 50%,var(--fill) 70%) 0 0/220% 100%;animation:shimmer 1.2s linear infinite}
.skel{height:14px;margin:10px 14px}

.inline-f{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.inline-f select{padding:10px 12px;border:0;border-radius:var(--r-sm);background:var(--bg);font:inherit;font-size:.92rem}
.clear{display:inline-block;margin-top:var(--s4);font-size:.86rem;font-weight:700;color:var(--amber-2)}

/* ---------- 8. detail pages (one big card + side cards) ---------- */
.detail{padding-bottom:var(--s6);padding-top:var(--s5)}
.d-grid{display:grid;grid-template-columns:minmax(0,1fr) 344px;gap:var(--s5);align-items:start}
.d-main,.d-side{display:flex;flex-direction:column;gap:var(--s4);min-width:0}.d-side{align-self:stretch}
.card2{background:var(--card);border-radius:var(--r-lg);padding:24px 26px;box-shadow:var(--sh-1),inset 0 0 0 1px rgba(43,27,30,.06)}
.card2>h2,.d-side h2{font-size:1.1rem;margin-bottom:var(--s3)}
.card2.bigcard{padding:36px 40px 40px}
.bigcard>section{margin-top:var(--s7)}
.bigcard>section>h2{font-size:var(--fs-h2);margin-bottom:var(--s4);letter-spacing:-.025em}
.bigcard>section>h2+.ticks,.bigcard>section>h2+.steps{margin-top:var(--s2)}
.uni-card{display:flex;gap:var(--s4);align-items:center}
.uni-card b{display:block;font:700 1.05rem/1.3 var(--head);letter-spacing:-.015em}.uni-card span{font-size:.86rem;color:var(--muted)}.uni-card a{color:var(--ink)}.uni-card a:hover{color:var(--brand)}
.uni-head{margin-bottom:var(--s2)}.uni-head .tags{margin:0}
.lead{font-size:1.2rem;line-height:1.6;color:var(--ink-2);margin:var(--s5) 0 0;max-width:62ch}

/* facts: unboxed, thin icons, flowing grid */
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s5) var(--s5);margin:var(--s6) 0 var(--s2)}
.tile{display:flex;align-items:flex-start;gap:12px;background:none;border:0;padding:0;box-shadow:none}
.tile .ti{flex:none;width:28px;height:28px;color:var(--brand);stroke-width:1.25}
.tile.na .ti{color:var(--faint)}
.tile .k{display:block;font:700 .68rem/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.tile .v{display:block;margin-top:2px;font:700 1.02rem/1.35 var(--head);color:var(--ink);letter-spacing:-.01em}
.tile.na .v{color:var(--muted);font-weight:600}
.dl{margin:0}.dl div{display:flex;justify-content:space-between;gap:var(--s4);padding:9px 0}
.dl dt{color:var(--muted);font-size:.88rem}.dl dd{margin:0;font-weight:700;text-align:right;font-size:.92rem;color:var(--ink)}
.note{margin:var(--s3) 0 0;font-size:.82rem;color:var(--muted);line-height:1.55}
.verify{background:linear-gradient(180deg,var(--amber-50),#ffffff 80%);box-shadow:var(--sh-1),inset 0 0 0 1px var(--amber-100)}
.verify a{display:block;margin-top:var(--s2);font-weight:700;font-size:.9rem;color:var(--amber-ink)}.verify a:hover{color:var(--amber-2)}

.prose{font-size:1.02rem;line-height:1.78;color:var(--ink-2);max-width:72ch}
.prose h3{font-size:1.2rem;margin:var(--s5) 0 var(--s2);color:var(--ink)}
.prose p{margin:0 0 var(--s4);max-width:70ch}
.prose a{text-decoration:underline;text-decoration-color:var(--brand-200);text-underline-offset:3px;font-weight:600}.prose a:hover{text-decoration-color:var(--amber-2);color:var(--amber-2)}
.prose b,.prose strong{color:var(--ink)}
.prose div{margin:6px 0}.prose div>div>div:first-child:not(:only-child):not(:has(*)){font-weight:800;color:var(--brand-d);font-size:1.3em}
.prose table{border-collapse:separate;border-spacing:0;width:100%;margin:var(--s4) 0;font-size:.92rem;border-radius:var(--r);overflow:hidden}
.prose th,.prose td{padding:11px 14px;text-align:left;vertical-align:top}
.prose th{background:var(--brand-50);color:var(--brand-d);font-weight:700}
.prose tr:nth-child(even) td{background:var(--bg)}
.prose.long{max-width:78ch}
.prose.long h2{font-size:var(--fs-h2);margin:var(--s7) 0 var(--s3);color:var(--ink)}.prose.long h2:first-child{margin-top:0}
.prose.long h3{font-size:1.2rem}

/* slim orange ticks and thin outlined numbered steps */
.prose ul,.ticks{list-style:none;padding:0;margin:var(--s3) 0}
.prose ul li,.ticks li{position:relative;padding:5px 0 5px 32px;line-height:1.6}
.prose ul li::before,.ticks li::before{content:"";position:absolute;left:0;top:8px;width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5' fill='none' stroke='%23a8761b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.ticks b{color:var(--ink)}
.ticks.cols{display:grid;grid-template-columns:1fr;column-gap:var(--s6)}
.ticks.cols li{break-inside:avoid}
.prose ol,.steps{list-style:none;counter-reset:st;padding:0;margin:var(--s3) 0}
.prose ol>li,.steps>li{counter-increment:st;position:relative;padding:8px 0 8px 46px;line-height:1.65}
.prose ol>li::before,.steps>li::before{content:counter(st);position:absolute;left:0;top:8px;width:28px;height:28px;border-radius:50%;border:1.25px solid var(--amber-2);color:var(--amber-2);font:600 .8rem var(--sans);display:grid;place-items:center}
.steps b{color:var(--ink)}
.careers ul{display:flex;flex-wrap:wrap;gap:8px;margin:var(--s3) 0}
.careers ul li{padding:7px 16px;margin:0;background:var(--brand-50);border-radius:var(--r-pill);font-weight:600;font-size:.88rem;color:var(--brand-d);line-height:1.3}
.careers ul li::before{display:none}

/* university page */
.ustats{display:flex;flex-wrap:wrap;gap:var(--s5) var(--s7);margin:var(--s6) 0 var(--s2)}
.ustats div{background:none;border:0;padding:0}
.ustats b{display:block;font:800 clamp(1.8rem,1.3rem + 1.6vw,2.5rem)/1.05 var(--head);letter-spacing:-.035em;color:var(--brand);font-variant-numeric:tabular-nums}
.ustats span{font-size:.84rem;color:var(--muted)}
.lvbars{margin-top:var(--s5);display:flex;flex-direction:column;gap:10px;max-width:600px}
.lvbars div{display:grid;grid-template-columns:170px 1fr 38px;gap:var(--s3);align-items:center;font-size:.86rem;color:var(--ink-2)}
.lvbars i{display:block;height:8px;border-radius:5px;background:linear-gradient(90deg,var(--brand),var(--brand-400));width:var(--w,0%);min-width:6px;transform-origin:left;animation:grow .8s var(--ease) both}
.lvbars b{text-align:right;font-variant-numeric:tabular-nums}
.pfilter{margin:var(--s2) 0 var(--s2);max-width:420px}
.plist{display:grid;grid-template-columns:1fr;gap:var(--s3);margin-top:var(--s4)}
.prow{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:16px 18px;background:var(--card);border-radius:var(--r);color:var(--ink);box-shadow:var(--sh-1),inset 0 0 0 1px rgba(43,27,30,.07)}
.prow:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--sh-2),inset 0 0 0 1px var(--brand-200)}
.prow b{font:700 .98rem/1.35 var(--head);color:var(--ink);letter-spacing:-.01em}
.prow:hover b{color:var(--brand)}
.prow-m{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.prow-m em{font-style:normal;font-size:.74rem;font-weight:600;padding:3px 10px;border-radius:var(--r-pill);background:var(--brand-50);color:var(--brand-d)}
.prow-m em.eng{background:var(--amber-100);color:var(--amber-ink)}

/* faq accordion */
.faq{display:grid;gap:var(--s2)}
.faq details{border-radius:var(--r);background:var(--bg);transition:background-color .2s}
.faq details[open]{background:var(--brand-50)}
.faq summary{cursor:pointer;padding:16px 20px;font:700 1rem/1.4 var(--head);letter-spacing:-.01em;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--s3);color:var(--ink)}
.faq summary:hover{color:var(--brand)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' stroke='%23a8761b' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center/18px no-repeat;transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(135deg)}
.faq p{margin:0;padding:0 20px 18px;color:var(--ink-2);line-height:1.7;animation:fade .3s ease both}

/* sticky mobile call to action */
.sticky-cta{display:none}

/* article / guide pages */
.article{padding-bottom:var(--s6);padding-top:var(--s5)}
.article.with-side{display:grid;grid-template-columns:minmax(0,1fr) 316px;gap:var(--s5);align-items:start}
.art-main{min-width:0}.art-side{align-self:stretch;display:flex;flex-direction:column;gap:var(--s4)}
.art-main>.card2{padding:36px 40px 40px}
.guide-nav{display:flex;flex-direction:column;gap:2px;margin:0 -8px}
.guide-nav a{display:flex;justify-content:space-between;gap:var(--s3);padding:9px 12px;border-radius:var(--r-sm);color:var(--ink-2);font-weight:600;font-size:.9rem;line-height:1.4}
.guide-nav a:hover{background:var(--brand-50);color:var(--brand-d);text-decoration:none}
.guide-nav a.on{background:var(--brand);color:#ffffff}
.guide-nav a i{font-style:normal;font-size:.78rem;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}.guide-nav a.on i{color:#ffffff}

/* list pages: content column + right sidebar with sticky ad rails */
.rail-layout{display:grid;grid-template-columns:minmax(0,1fr) 324px;gap:var(--s5);align-items:start;padding-top:var(--s5);padding-bottom:var(--s2)}
.rail-main{min-width:0}.rail-side{display:flex;flex-direction:column;gap:var(--s4);align-self:stretch;min-width:0}
.sfilter label{display:block;font-size:.8rem;font-weight:700;color:var(--ink-2);margin-top:var(--s4)}
.sfilter select{display:block;width:100%;margin-top:6px;padding:11px 36px 11px 14px;border:0;border-radius:var(--r-sm);background-color:var(--bg);font:inherit;font-size:.92rem;appearance:none;-webkit-appearance:none;cursor:pointer;color:var(--ink);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%235f5b59' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.sfilter select:hover{background-color:var(--fill)}
.sfilter select:focus{outline:0;background-color:#ffffff;box-shadow:inset 0 0 0 2px var(--brand-300),var(--ring)}

/* tables (compare, shortlist): tinted header, hover tint, no rules */
.cmp{border-collapse:separate;border-spacing:0;width:100%;font-size:.92rem}
.cmp th,.cmp td{padding:14px 18px;text-align:left;white-space:nowrap}
.cmp thead th{background:var(--brand-50);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--brand-d);font-weight:700}
.cmp tbody tr:nth-child(even) td,.cmp tbody tr:nth-child(even) th{background:var(--bg)}
.cmp tbody tr:hover td{background:var(--brand-50)}
.cmp-h{font-size:var(--fs-h2);margin:var(--s7) 0 var(--s4)}
.cmp-p th:first-child,.cmp-p td:first-child{position:sticky;left:0;background:#ffffff;z-index:1}
.cmp-p td{white-space:normal;min-width:200px;vertical-align:top}
.cmp-p tbody th{color:var(--muted);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
.cmp-wrap{overflow-x:auto;padding:0;border-radius:var(--r-lg)}

/* type-ahead suggestions */
.suggest{position:absolute;z-index:90;background:#ffffff;border-radius:var(--r);box-shadow:var(--sh-3),inset 0 0 0 1px rgba(43,27,30,.08);overflow:hidden;max-width:92vw;padding:6px;animation:drop .18s var(--ease)}
.suggest a{display:flex;flex-direction:column;padding:10px 14px;border-radius:var(--r-sm);color:var(--ink);line-height:1.3}
.suggest a b{font:700 .92rem var(--head)}.suggest a span{font-size:.78rem;color:var(--muted)}
.suggest a:hover,.suggest a.on{background:var(--brand-50);text-decoration:none}

.totop{position:fixed;right:18px;bottom:22px;z-index:45;width:46px;height:46px;border-radius:50%;border:0;background:var(--brand);color:#ffffff;display:grid;place-items:center;cursor:pointer;box-shadow:var(--sh-2);animation:rise .3s var(--ease)}
.totop svg path{stroke-width:1.75}
.totop:hover{background:var(--brand-d);transform:translateY(-2px)}

/* ---------- 9. ad containers: layout only, the snippet inside is Google's own ---------- */
.adslot{margin:var(--s4) 0;padding:8px 0;text-align:center}
.adslot:has(ins.adsbygoogle[data-ad-status="unfilled"]){display:none}
.adslot--mobile{display:none}
.adrail{position:sticky;top:88px}
.adrail .adslot{margin:0}
.adbottom:empty{display:none}
.adslot--debug{position:relative;min-height:96px;border:2px dashed var(--amber-2);background:repeating-linear-gradient(45deg,#fbf6ec,#fbf6ec 10px,#f6ecd8 10px,#f6ecd8 20px);display:flex!important;align-items:center;justify-content:center}
.adslot--debug>span{font:700 12px/1 var(--sans);color:var(--amber-ink);background:#ffffff;padding:5px 9px;border-radius:5px}
.adrail .adslot--debug{min-height:280px}

/* ---------- 10. footer ---------- */
.foot{background:var(--dark-2);color:#e0d5d6;margin-top:var(--s7);position:relative}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--amber-2),var(--amber),var(--brand-400))}
.foot-stats{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent)}
.fs{display:flex;flex-wrap:wrap;gap:var(--s5) var(--s8);padding-top:var(--s7);padding-bottom:var(--s5)}
.fs div{padding:0}
.fs b{display:block;font:800 clamp(1.8rem,1.3rem + 1.6vw,2.6rem)/1.05 var(--head);color:#ffffff;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.fs span{font-size:.86rem;color:#cfc3c4}
.foot-in{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:var(--s6);padding-top:var(--s6);padding-bottom:var(--s6);font-size:.92rem}
.foot a{color:#eadfe0;display:block;padding:4px 0}
.foot a:hover{color:#ffffff;text-decoration:none;transform:translateX(3px)}
.foot-h{display:block;color:#ffffff;margin-bottom:var(--s3);font:700 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase}
.foot p{margin:var(--s3) 0 0;line-height:1.65;max-width:44ch;color:#cfc3c4}
.brand.light{display:inline-flex;padding:0}.brand.light:hover{transform:none}
.foot-b{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s2) var(--s5);padding-top:var(--s5);padding-bottom:var(--s5);font-size:.8rem;color:#c7baba;max-width:none}
.foot-b a{display:inline;padding:0;color:#eadfe0;text-decoration:underline;text-underline-offset:3px}.foot-b a:hover{transform:none}

/* ---------- 11. motion ---------- */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
.plist2>.pc{animation:rise .5s var(--ease) both}
.plist2>.pc:nth-child(2){animation-delay:.04s}.plist2>.pc:nth-child(3){animation-delay:.08s}.plist2>.pc:nth-child(4){animation-delay:.12s}
.plist2>.pc:nth-child(n+5){animation-duration:.4s}

/* ---------- 12. responsive ---------- */
@media (max-width:1100px){
  .lgrid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1020px){
  .lgrid{grid-template-columns:repeat(2,1fr)}
  .listing{grid-template-columns:1fr}
  .f-sum{display:flex;cursor:pointer;list-style:none;font:800 1rem var(--head);padding:16px 20px;align-items:center;gap:var(--s2)}
  .f-sum::-webkit-details-marker{display:none}
  .f-sum::after{content:"";margin-left:auto;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%235f5b59' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center/18px no-repeat;transition:transform .25s var(--ease)}
  .filters[open] .f-sum::after{transform:rotate(180deg)}
  .dot{width:8px;height:8px;border-radius:50%;background:var(--amber-2);display:inline-block}
  .d-grid,.article.with-side,.rail-layout{grid-template-columns:1fr}.d-side,.art-side,.rail-side{align-self:auto}
  .adrail{position:static}
  .foot-in{grid-template-columns:1fr 1fr}
}
@media (min-width:900px){.ticks.cols{grid-template-columns:1fr 1fr}}
@media (min-width:720px){.tiles{grid-template-columns:repeat(3,1fr)}.plist{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  .nav,.top-search{display:none}
  .mnav{display:block;order:3}.top-in{justify-content:space-between}.top-in .sl-link{margin-left:auto}
}
@media (max-width:760px){
  .adslot--mobile{display:block}.adslot--desktop{display:none}
  .plist2{grid-template-columns:1fr}
}
@media (max-width:640px){
  :root{--head-h:60px}
  .wrap{padding:0 16px}
  .brand-t{font-size:1.02rem}.sl-link{padding:9px 12px}.sl-link span{display:none}
  .hero-in{padding:44px 16px 26px}
  .hero-sub{font-size:1rem;margin-bottom:24px}
  .finder{grid-template-columns:1fr;border-radius:var(--r-lg);padding:6px}
  .finder select,.find{height:54px}.find{justify-content:center}
  .stats{gap:var(--s4) var(--s6);padding:28px 16px 40px}
  .band{padding:16px 0 60px}.bigsearch{border-radius:var(--r)}.bigsearch button{padding:0 20px}
  .lgrid,.lgrid.lg2{grid-template-columns:1fr}
  .li{padding:13px 16px}
  .blk{padding-top:var(--s6)}
  .card2.bigcard,.art-main>.card2{padding:24px 18px 28px}
  .card2{padding:20px 18px}
  .bigcard>section{margin-top:var(--s6)}
  .tiles{gap:var(--s4)}
  .lvbars div{grid-template-columns:110px 1fr 34px}
  .ustats{gap:var(--s4) var(--s6)}
  .pc{padding:18px 16px}
  .foot-in{grid-template-columns:1fr;gap:var(--s5)}.fs{gap:var(--s4) var(--s6)}
  .sticky-cta{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:48;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -10px 30px -12px rgba(43,27,30,.25)}
  .sticky-cta .vbtn{flex:1;padding:12px 8px}.detail{padding-bottom:96px}
  .totop{bottom:88px}
  .rbox{padding:16px 18px}
  .pager a,.pager b{min-width:38px;height:38px;padding:0 10px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{.top,.band,.foot,.adslot,.adrail,.totop,.sticky-cta,.filters,.rail-side,.d-side{display:none!important}body{background:#ffffff}.card2{box-shadow:none;padding:0}}
@media (max-width:1020px){.f-head{display:none}}


/* ================= layout rules: narrow column on a tinted backdrop, rectangular bordered cards, slim ================= */
:root{--r-sm:0;--r:0;--r-lg:0;--r-pill:2px;--sh-1:none;--sh-2:none;--sh-3:0 6px 18px rgba(43,27,30,.14);
  --wrap:1060px;--head-h:56px}
body{background:var(--bg);font-size:15px;line-height:1.58}
h1,h2,h3,h4{font-family:var(--head);font-weight:700;letter-spacing:-.012em}
.hero h1,.band h1{font-weight:800;letter-spacing:-.025em}
/* the white content column on a tinted backdrop leaves the margins free for side-rail ads */
.page>.wrap,.page>section.wrap,.page>article.wrap{background:#ffffff;border:1px solid var(--line);border-top:0;padding:22px 24px 30px}
.top .wrap,.foot .wrap{max-width:var(--wrap)}
/* every card is a plain bordered rectangle */
.card2,.bigcard,.pc,.filters,.prow,.li,.rbox,.empty,.uni-card,.faq details,.pgn a,.pgn span,.acc,.ustats>div{border:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;background:#ffffff}
.pc:hover,.prow:hover,.li:hover,.lrow:hover{transform:none!important;border-color:var(--brand-300)!important;box-shadow:none!important}
.bigcard{padding:22px 24px}
.card2{padding:16px 18px}
.card2>h2,.d-side h2,.rail-side h2{font:800 .76rem var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--brand-d);padding:0 0 8px;margin:0 0 12px;border-bottom:2px solid var(--amber)}
.guide-nav a{display:block;padding:5px 0;font-size:.9rem;color:var(--ink-2)}
.guide-nav a::before{content:"\00bb";color:var(--amber-2);font-weight:800;margin-right:8px}
.guide-nav a:hover{color:var(--brand)}
.vbtn,.apply,.find,.bigsearch button,.finder button,button.vbtn{border-radius:2px!important;box-shadow:none!important;font-size:.86rem;padding:8px 16px;line-height:1.4}
.vbtn.lg{padding:10px 20px;font-size:.9rem}
input,select,textarea,.bigsearch,.finder,.top-search input{border-radius:2px!important}
.tags span,.tags a,.prow-m em,.chip,.pill{border-radius:2px!important}
.logo{border-radius:2px!important;box-shadow:none}
/* slim header */
.top{min-height:56px}.nav a{padding-top:17px;padding-bottom:15px;font-size:.88rem;font-weight:600;border-radius:0}
/* horizontal taxonomy cards: subjects, cities, provinces, levels, universities by type */
.lgrid{grid-template-columns:repeat(2,1fr);gap:10px}
.lgrid.lg2{grid-template-columns:repeat(2,1fr)}
@media(max-width:640px){.lgrid,.lgrid.lg2{grid-template-columns:1fr}}
.li{padding:13px 16px;border-left:3px solid var(--amber)!important;gap:14px}
.li b{font-size:.95rem;font-weight:700}
.li span{font-size:.78rem;color:var(--muted)}
.li::after{content:"\203A";margin-left:2px;color:var(--amber-2);font-size:1.2rem;line-height:1}
.li.lu .cnt{border-radius:2px;background:var(--brand-50)}
/* result cards stay horizontal and flat */
.pc{padding:14px 16px}
.pc h3,.pc h3 a{font-size:1.02rem;font-weight:700}
.tile .ti{width:22px;height:22px}
.sticky-cta{border-radius:0}

/* ---- compact listicle markers (less indent) ---- */
.prose ul,.ticks,.prose ol,.steps{margin:8px 0}
.prose ul li,.ticks li{padding:3px 0 3px 20px;line-height:1.5}
.prose ul li::before,.ticks li::before{width:14px;height:14px;top:7px;background-size:14px}
.prose ol>li,.steps>li{padding:4px 0 4px 26px;line-height:1.5}
.prose ol>li::before,.steps>li::before{width:18px;height:18px;top:6px;font-size:11px;border-width:1px}
.ticks.cols{grid-template-columns:1fr;column-gap:0}
.guide-nav a::before{margin-right:5px}
.careers ul li{padding:5px 10px;font-size:.85rem}
.intro .prose p{margin:0 0 12px;line-height:1.7}

/* ---- one column of horizontal cards everywhere ---- */
.plist2,.plist,.lgrid,.lgrid.lg2{grid-template-columns:1fr!important;gap:10px}
.pc{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;gap:var(--s4)}
.pc-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap}
.pc-side .ects,.pc-side .ect{font-size:1.1rem}
.pc .logo{width:52px;height:52px}
.prow{flex-direction:row!important;align-items:center!important;justify-content:space-between;gap:16px}
.prow-m{white-space:nowrap}
@media(max-width:640px){.pc{grid-template-columns:auto minmax(0,1fr)}.pc-side{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.prow{flex-direction:column!important;align-items:flex-start!important}.prow-m{white-space:normal}}

.pc-side{grid-column:auto!important;margin:0!important;align-self:center!important;flex-direction:column;align-items:flex-end}
.pc-ects{margin-right:0!important;text-align:right}
.pc-side .save{margin-right:0}
.listing{align-items:stretch!important}
.sidecol{align-self:stretch}
.sidecol>.filters{position:sticky;top:72px}
.d-side{align-self:stretch}
.share{display:flex;align-items:center;gap:6px;margin:18px 0 4px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.share a,.share button{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);background:#ffffff;color:var(--ink-2);border-radius:2px;cursor:pointer;padding:0}
.share a:hover,.share button:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}
.share svg{width:17px;height:17px}
.social{display:flex;gap:8px;margin:0 0 10px}
.social a{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.35);color:#ffffff;border-radius:2px}
.social a:hover{background:var(--amber-2);border-color:var(--amber-2);text-decoration:none}
.social svg{width:18px;height:18px}
@media(max-width:1020px){.sidecol>.filters{position:static}}

/* ---- minimum-height horizontal cards ---- */
.pc{padding:10px 14px!important;gap:12px!important;min-height:0}
.pc .logo{width:40px!important;height:40px!important;font-size:.8rem}
.pc-u{margin:0 0 1px!important;font-size:.76rem}
.pc h3,.pc h3 a{font-size:.98rem!important;line-height:1.3}
.pc .tags{margin-top:5px!important;gap:4px}
.pc .tags span{padding:1px 7px!important;font-size:.72rem!important}
.pc-s{margin:4px 0 0!important;font-size:.84rem!important;-webkit-line-clamp:2!important}
.pc-side{gap:4px!important;flex-direction:row!important;align-items:center!important}
.pc-ects{font-size:.74rem}.pc-ects b{font-size:1.05rem!important}
.pc-side .vbtn{padding:6px 12px!important;font-size:.78rem!important}
.plist2,.plist,.lgrid{gap:8px!important}
.prow{padding:9px 14px!important}.prow b{font-size:.92rem}
.li{padding:9px 14px!important}
@media(max-width:640px){.pc{grid-template-columns:auto minmax(0,1fr)!important}.pc-side{grid-column:1/-1!important;justify-content:space-between}}


/* ---- guide hub cards, polish ---- */
.brand-t,.nav a,.vbtn,.tile .k,.card2>h2,.d-side h2,.rail-side h2,.f-sum,.f-head,.share{font-family:"Inter",ui-sans-serif,-apple-system,"Segoe UI",sans-serif}
.pc h3,.pc h3 a,.prow b,.li b{font-family:var(--head)}
.card2>h2,.d-side h2,.rail-side h2{font-weight:800}
.bigcard section>h2,.d-main h2,.blk-h h2{font-size:1.45rem;font-weight:700;margin:0 0 10px}
.bigcard section{margin-top:28px}
.prose{font-size:1.02rem}
.prose h3{font-size:1.15rem;margin:18px 0 6px}
/* study-guide hub: the raw link blocks become horizontal cards */
.prose.long a:has(>p){display:block;font-size:0;position:relative;padding:12px 40px 12px 16px;border:1px solid var(--line);border-left:3px solid var(--amber);background:#ffffff;margin:0 0 8px;color:inherit;text-decoration:none}
.prose.long a:has(>p)::after{content:"\203A";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--amber-2)}
.prose.long a:has(>p) p:first-child{margin:0;font:700 1.02rem var(--head);color:var(--ink)}
.prose.long a:has(>p) p:nth-child(2){margin:2px 0 0;font:400 .88rem var(--sans);color:var(--muted)}
.prose.long a:has(>p):hover{border-color:var(--brand-300);border-left-color:var(--brand)}
.prose.long a:has(>p):hover p:first-child{color:var(--brand)}
.art-main>.card2{padding:24px 28px 28px}

/* ---- taxonomy cards aligned, human start block ---- */
.li{display:flex;align-items:center;justify-content:space-between;gap:14px}
.li b{flex:1;min-width:0}
.li b small{display:block;margin-top:3px;font:400 .84rem/1.45 var(--sans);color:var(--muted);letter-spacing:0}
.li>span{margin-left:auto;font-weight:700;color:var(--brand-d);font-size:.82rem}
.start .lgrid{grid-template-columns:1fr}

/* ---- home page only: 2-column card grids ---- */
.is-home .lgrid,.is-home .start .lgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
@media(max-width:700px){.is-home .lgrid,.is-home .start .lgrid{grid-template-columns:1fr!important}}


/* ---- Poppins 600 headings, Dannebrog red actions, plain charcoal bands ---- */
h1,h2,h3,h4{font-family:var(--head);font-weight:600;letter-spacing:-.015em}
.hero h1,.band h1{font-weight:600;letter-spacing:-.02em}
.hero h1{font-size:clamp(2rem,1.2rem + 3.2vw,3.2rem);line-height:1.15}
.band h1{font-size:clamp(1.7rem,1.1rem + 2vw,2.5rem)}
.bigcard section>h2,.d-main h2,.blk-h h2{font-size:1.3rem;font-weight:600}
.pc h3,.pc h3 a,.prow b,.li b{font-family:var(--head);font-weight:600}
.find,.bigsearch button,.vbtn,.apply{color:#fff}
.vbtn.ghost{color:var(--brand)}
.hero,.band{background:var(--dark)}
.top{background:var(--dark)}
.foot{background:var(--dark-2)}


/* ---- home = full-width block sections; footer ---- */
.is-home .page>.wrap{max-width:none;border:0;background:none;padding:0}
.is-home .page>section.wrap{padding:48px max(20px,calc((100% - var(--wrap))/2 + 24px))}
.is-home .page>section.wrap:nth-of-type(odd){background:#fff}
.is-home .page>section.wrap:nth-of-type(even){background:var(--tint)}
.is-home .page>section.wrap.trust{background:var(--dark);color:#eadfe0}
.is-home .trust .blk-h h2,.is-home .trust h3{color:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:8px}
.trust-grid h3{font-size:1.05rem;margin:0 0 6px;color:#fff;border-left:3px solid var(--amber-lt);padding-left:10px}
.trust-grid p{margin:0;color:#e0d5d6;line-height:1.65;font-size:.95rem}
@media(max-width:800px){.trust-grid{grid-template-columns:1fr}}
.is-home .page{padding-bottom:0}
.is-home .blk-h h2{font-size:1.5rem}
.foot{margin-top:0;background:var(--dark-2);color:#e0d5d6}
.foot::before{display:none}
.foot-cta{background:var(--brand);color:#fff}
.foot-cta .fc{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;padding-bottom:26px}
.foot-cta b{display:block;font:600 1.25rem var(--head);color:#fff}
.foot-cta span{display:block;margin-top:2px;font-size:.92rem;color:#fff}
.fc-b{display:flex;gap:10px;flex-wrap:wrap}
.foot-cta .vbtn{background:#fff;color:var(--brand-d);box-shadow:none}
.foot-cta .vbtn:hover{background:#f6dfe2;color:var(--brand-d)}
.foot-cta .vbtn.ghost{background:transparent;color:#fff;border:1.5px solid #fff}
.foot-cta .vbtn.ghost:hover{background:rgba(255,255,255,.14);color:#fff}
.foot-in{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:32px;padding-top:44px;padding-bottom:36px}
.foot-h{display:block;margin:0 0 12px;font:700 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--amber-lt)}
.foot a{color:#eadfe0;display:block;padding:4px 0;font-size:.92rem}
.foot a:hover{color:#fff;transform:none;text-decoration:underline;text-underline-offset:3px}
.foot p{max-width:38ch;color:#cfc3c4;line-height:1.65;margin:12px 0 14px;font-size:.9rem}
.foot-b{background:#140b0d}
.foot-b .fb{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 24px;padding-top:16px;padding-bottom:16px;font-size:.82rem;color:#c7baba}
.foot-b a{display:inline;padding:0;color:#eadfe0;text-decoration:underline;text-underline-offset:3px}
.fb-l{display:flex;gap:16px}
.foot .social a{display:inline-grid;padding:0;border-color:rgba(255,255,255,.3)}
@media(max-width:900px){.foot-in{grid-template-columns:1fr 1fr}.f-about{grid-column:1/-1}}
@media(max-width:560px){.foot-in{grid-template-columns:1fr}}

/* ---- no box borders on facts, subject icons, full-width home ---- */
.ustats>div,.tile{border:0!important;background:none!important;padding:0!important;box-shadow:none!important}
.ustats{display:flex;gap:44px;flex-wrap:wrap;margin:18px 0 10px}
.ustats b{font-weight:500!important;font-size:1.9rem;color:var(--brand-d)}
.ustats span{font-size:.85rem;color:var(--muted)}
.tile .v{font-weight:500!important;font-size:.98rem!important}
.tile .k{font-weight:600}
.dl dd{font-weight:500!important}
.stats b,.foot-cta b{font-weight:600}
h1,h2,h3,h4{font-weight:600}
.hero h1,.band h1{font-weight:600}
.pc h3,.pc h3 a,.prow b,.li b{font-weight:600!important}
.bigcard section>h2,.d-main h2,.blk-h h2{font-weight:600!important}
.li .fa{flex:none;width:34px;height:34px;display:grid;place-items:center;font-size:1rem;color:var(--brand);background:var(--brand-50);border-radius:50%}
.is-home .page>.wrap{max-width:none}
.is-home .page>section.wrap{padding:52px max(20px,4vw)}
.is-home .hero-in,.is-home .stats{max-width:none}
.is-home .lgrid,.is-home .start .lgrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important}
.is-home .trust-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.is-home .foot-in,.is-home .fc,.is-home .fb{max-width:none;padding-left:max(20px,4vw);padding-right:max(20px,4vw)}
.foot-cta .vbtn{padding:10px 22px}

/* ---- programme rows on university pages: title on top, metas below ---- */
.prow{flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:8px!important}
.prow b{display:block;width:100%}
.prow-m{display:flex;flex-wrap:wrap;gap:6px;white-space:normal;width:100%}
.prow-m em{order:0}


/* ---- home: icon grid for subjects, carousels for the rest ---- */
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-top:6px}
.st{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:26px 12px 22px;background:#fff;color:var(--ink);border:0;border-radius:0}
.st-i{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--brand-50);color:var(--brand);font-size:1.5rem;margin-bottom:8px;transition:background .2s,color .2s}
.st b{font:500 .98rem/1.3 var(--head);color:var(--ink)}
.st small{font-size:.8rem;color:var(--muted)}
.st:hover{text-decoration:none}.st:hover .st-i{background:var(--amber-lt);color:var(--dark)}
.car{position:relative}
.car-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 12px;scrollbar-width:none}
.car-track::-webkit-scrollbar{display:none}
.cc{flex:0 0 clamp(220px,22vw,280px);scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;padding:18px;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:0}
.cc.wide{flex-basis:clamp(260px,28vw,360px)}
.cc:hover{text-decoration:none;border-color:var(--brand)}
.cc .logo{width:54px;height:54px}
.cc b{font:500 1rem/1.35 var(--head);color:var(--ink)}
.cc small{font-size:.84rem;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cc i{font-style:normal;font-size:.76rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--brand)}
.cc .lr-tag{align-self:flex-start;margin-top:auto}
.car-b{position:absolute;top:42%;z-index:3;width:40px;height:40px;border:0;border-radius:50%;background:var(--brand);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.22)}
.car-b.prev{left:-14px}.car-b.next{right:-14px}
.car-b[disabled]{opacity:.35;cursor:default}
@media(max-width:700px){.car-b{display:none}.sgrid{grid-template-columns:repeat(2,1fr)}}
.sgrid{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1000px){.sgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.sgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.st{border:1px solid var(--line)!important;background:#fff}
.st:hover{border-color:var(--brand)!important}


/* ---- full-width university profile ---- */
.fw>.wrap{max-width:none;border:0;background:none;padding:0}
.fw>section.wrap{padding:44px max(20px,4vw)}
.fw>section.wrap:nth-of-type(odd){background:#fff}
.fw>section.wrap:nth-of-type(even){background:var(--tint)}
.uni-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:start}
.uni-main h2,.blk-h h2{font-size:1.5rem}
.uni-main .prose{max-width:none;font-size:1.04rem}
.uni-main .prose p{max-width:80ch}
.uni-head{display:flex;align-items:center;gap:18px;margin-bottom:22px;flex-wrap:wrap}
.uni-head .logo.big{width:84px;height:84px;border:1px solid var(--line)}
.uni-side{position:sticky;top:84px;padding-left:28px;border-left:3px solid var(--amber)}
.uni-side h3{font:600 .8rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-d);margin:0 0 10px}
.fw .ustats{display:flex;gap:64px;flex-wrap:wrap;margin:6px 0 22px}
.fw .ustats b{display:block;font:500 2.6rem/1.1 var(--head);color:var(--brand-d)}
.fw .ustats span{font-size:.9rem;color:var(--muted)}
.lvbars.wide{max-width:none}
.lvbars.wide div{grid-template-columns:minmax(180px,260px) 1fr 40px}
.ptools{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:6px 0 18px}
.ptools .pfilter{flex:0 1 380px}
.jump{display:flex;gap:8px;flex-wrap:wrap}
.jump a{padding:6px 12px;border:1px solid var(--line);background:#fff;font-size:.85rem;font-weight:600;color:var(--brand-d)}
.jump a i,.lv-h i{font-style:normal;color:var(--muted);font-weight:500;margin-left:4px}
.jump a:hover{border-color:var(--brand);text-decoration:none}
.lv-h{font:500 1.15rem var(--head);margin:26px 0 12px;scroll-margin-top:90px}
.fw .plist{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))!important;gap:10px!important;margin-top:0}
.fw .section-note,.fw .note{max-width:80ch}
@media(max-width:1000px){.uni-grid{grid-template-columns:1fr}.uni-side{position:static;padding-left:0;border-left:0;border-top:3px solid var(--amber);padding-top:16px}.fw .plist{grid-template-columns:1fr!important}}
.uni-head{flex-wrap:nowrap}.uni-head .tags{flex:1;min-width:0}

/* ---- additions: rank position, secondary card text, table links, unavailable fee tiles ---- */
.pos{font:700 .8rem var(--head);color:var(--brand)}
.li b em.sub{font-style:normal;font-weight:500;color:var(--muted)}
.cmp td a{font-weight:600}
.cmp .ext{font-size:.8rem;font-weight:500}
.pc-ects i{color:var(--muted)}
.rbox p a{font-weight:600}
.rbox .popular{margin-top:var(--s3)}
::placeholder{color:var(--muted);opacity:1}

.ck input{border-radius:50%!important}
