/* ============================================================
   Design 11 - "Universe".
   Deep-space navy + professional blue over a white body.
   Inter Tight display, small radii, flat colors, no emojis.
   Animated hero: nebula drift, star layers, arrival intro.
   Casing is handled in PHP (ou_titlecase), not in CSS.
   ============================================================ */

:root {
  --space: #070b16;          /* deep space */
  --space-2: #0e1526;
  --paper: #ffffff;
  --paper-2: #f6f7fa;
  --ink: #171923;
  --muted: #68707f;
  --line: #e6e8ee;
  --acc: #5684de;            /* bright blue on dark */
  --blue: #1e52ba;           /* primary blue */
  --blue-deep: #16449f;
  --blue-ink: #0f2f73;
  --blue-pale: #e9f0ff;
  --gold: #f5cb1fb0;         /* fully-funded badge (gold-yellow, ~69% alpha) */
  --gold-ink: #4a3a00;
  --hot: #c23a2f;
  --r: 4px;
  --disp: "Inter Tight", "Inter", system-ui, sans-serif;
  --sans: "Inter", system-ui, sans-serif;
}

* { box-sizing: border-box; }
body.u { margin: 0; background: var(--paper); color: var(--ink);
  font: 15px/1.6 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
h1, h2, h3 { font-family: var(--disp); margin: 0; }
.u-wrap { max-width: 1240px; margin: 0 auto; padding-inline: 28px; }
.u-gold { color: var(--acc); }
svg { display: inline-block; vertical-align: -2px; }

/* ------------------------------------------------------------ starfield */
.u-stars { position: absolute; inset: -80px; pointer-events: none; background-repeat: repeat; }
.u-stars-a { opacity: .95; background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27300%27 height=%27300%27%3E%3Ccircle cx=%2781.8%27 cy=%2745.4%27 r=%270.71%27 fill=%27%23bcd4ff%27 opacity=%270.76%27/%3E%3Ccircle cx=%27136.4%27 cy=%27173.2%27 r=%270.99%27 fill=%27%23ffffff%27 opacity=%270.68%27/%3E%3Ccircle cx=%27106.2%27 cy=%27220.2%27 r=%271.12%27 fill=%27%23ffffff%27 opacity=%270.51%27/%3E%3Ccircle cx=%27112.1%27 cy=%27266.7%27 r=%271.06%27 fill=%27%23ffffff%27 opacity=%270.58%27/%3E%3Ccircle cx=%27118%27 cy=%2720%27 r=%271.1%27 fill=%27%23bcd4ff%27 opacity=%270.99%27/%3E%3Ccircle cx=%2715.2%27 cy=%2717.3%27 r=%271.08%27 fill=%27%23ffffff%27 opacity=%270.82%27/%3E%3Ccircle cx=%27131%27 cy=%27104.1%27 r=%270.63%27 fill=%27%23ffffff%27 opacity=%270.99%27/%3E%3Ccircle cx=%2787.9%27 cy=%2754.5%27 r=%270.95%27 fill=%27%23ffffff%27 opacity=%270.81%27/%3E%3Ccircle cx=%2794.1%27 cy=%27148.4%27 r=%270.96%27 fill=%27%23bcd4ff%27 opacity=%270.62%27/%3E%3Ccircle cx=%27190.6%27 cy=%27272%27 r=%271.15%27 fill=%27%23ffffff%27 opacity=%270.59%27/%3E%3Ccircle cx=%2735.6%27 cy=%27156.4%27 r=%271.21%27 fill=%27%23ffffff%27 opacity=%270.8%27/%3E%3Ccircle cx=%27152.2%27 cy=%27220.5%27 r=%270.96%27 fill=%27%23ffffff%27 opacity=%270.57%27/%3E%3Ccircle cx=%2719.4%27 cy=%27233.4%27 r=%271.23%27 fill=%27%23bcd4ff%27 opacity=%270.92%27/%3E%3Ccircle cx=%27232.9%27 cy=%2762.6%27 r=%270.7%27 fill=%27%23ffffff%27 opacity=%270.5%27/%3E%3Ccircle cx=%27214.7%27 cy=%2722.6%27 r=%271.03%27 fill=%27%23ffffff%27 opacity=%270.9%27/%3E%3Ccircle cx=%27199.7%27 cy=%27290.6%27 r=%270.58%27 fill=%27%23ffffff%27 opacity=%270.73%27/%3E%3Ccircle cx=%27177%27 cy=%27203.9%27 r=%271.17%27 fill=%27%23bcd4ff%27 opacity=%270.99%27/%3E%3Ccircle cx=%2714.1%27 cy=%27206.1%27 r=%271.21%27 fill=%27%23ffffff%27 opacity=%270.52%27/%3E%3Ccircle cx=%2742.7%27 cy=%2755.4%27 r=%270.51%27 fill=%27%23ffffff%27 opacity=%270.87%27/%3E%3Ccircle cx=%2732.9%27 cy=%27263.3%27 r=%270.71%27 fill=%27%23ffffff%27 opacity=%270.78%27/%3E%3Ccircle cx=%2735.8%27 cy=%2777.2%27 r=%270.91%27 fill=%27%23bcd4ff%27 opacity=%270.46%27/%3E%3Ccircle cx=%27120.6%27 cy=%27173.5%27 r=%271.13%27 fill=%27%23ffffff%27 opacity=%270.62%27/%3E%3Ccircle cx=%2786.5%27 cy=%2777.4%27 r=%271.06%27 fill=%27%23ffffff%27 opacity=%270.52%27/%3E%3Ccircle cx=%2775.1%27 cy=%27272.8%27 r=%270.83%27 fill=%27%23ffffff%27 opacity=%270.99%27/%3E%3Ccircle cx=%27163.6%27 cy=%27221.4%27 r=%270.97%27 fill=%27%23bcd4ff%27 opacity=%270.54%27/%3E%3Ccircle cx=%27165.5%27 cy=%27152.4%27 r=%270.7%27 fill=%27%23ffffff%27 opacity=%270.63%27/%3E%3Ccircle cx=%27117.9%27 cy=%27243%27 r=%270.87%27 fill=%27%23ffffff%27 opacity=%270.91%27/%3E%3Ccircle cx=%27282.5%27 cy=%27251%27 r=%270.87%27 fill=%27%23ffffff%27 opacity=%270.63%27/%3E%3Ccircle cx=%27239.3%27 cy=%27118.3%27 r=%271.04%27 fill=%27%23bcd4ff%27 opacity=%270.63%27/%3E%3Ccircle cx=%27101.1%27 cy=%27109.7%27 r=%270.72%27 fill=%27%23ffffff%27 opacity=%270.77%27/%3E%3Ccircle cx=%27125.9%27 cy=%27101.8%27 r=%271.2%27 fill=%27%23ffffff%27 opacity=%271%27/%3E%3Ccircle cx=%27256.5%27 cy=%27189.9%27 r=%270.68%27 fill=%27%23ffffff%27 opacity=%270.71%27/%3E%3Ccircle cx=%2765.4%27 cy=%27125.7%27 r=%271%27 fill=%27%23bcd4ff%27 opacity=%271%27/%3E%3Ccircle cx=%2731.5%27 cy=%2753.5%27 r=%270.56%27 fill=%27%23ffffff%27 opacity=%270.49%27/%3E%3Ccircle cx=%27129.5%27 cy=%2760.5%27 r=%270.65%27 fill=%27%23ffffff%27 opacity=%270.84%27/%3E%3Ccircle cx=%27257.1%27 cy=%27104.8%27 r=%271.11%27 fill=%27%23ffffff%27 opacity=%270.57%27/%3E%3Ccircle cx=%27280.5%27 cy=%27239.6%27 r=%271.24%27 fill=%27%23bcd4ff%27 opacity=%270.52%27/%3E%3Ccircle cx=%2725.1%27 cy=%27296.4%27 r=%270.72%27 fill=%27%23ffffff%27 opacity=%270.55%27/%3E%3Ccircle cx=%27290.1%27 cy=%27145.2%27 r=%270.7%27 fill=%27%23ffffff%27 opacity=%270.46%27/%3E%3Ccircle cx=%27114.2%27 cy=%27296.1%27 r=%270.51%27 fill=%27%23ffffff%27 opacity=%270.62%27/%3E%3Ccircle cx=%2771.8%27 cy=%2757.3%27 r=%270.65%27 fill=%27%23bcd4ff%27 opacity=%270.46%27/%3E%3Ccircle cx=%27227%27 cy=%27217.4%27 r=%270.84%27 fill=%27%23ffffff%27 opacity=%270.79%27/%3E%3Ccircle cx=%27124%27 cy=%27264.7%27 r=%270.72%27 fill=%27%23ffffff%27 opacity=%270.83%27/%3E%3Ccircle cx=%27241.1%27 cy=%27111.9%27 r=%271%27 fill=%27%23ffffff%27 opacity=%270.53%27/%3E%3Ccircle cx=%27287.7%27 cy=%27239.4%27 r=%270.67%27 fill=%27%23bcd4ff%27 opacity=%270.57%27/%3E%3Ccircle cx=%2771.6%27 cy=%2724.6%27 r=%270.75%27 fill=%27%23ffffff%27 opacity=%270.6%27/%3E%3C/svg%3E"); background-size: 300px 300px; }
.u-stars-b { opacity: .8; background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27520%27 height=%27520%27%3E%3Ccircle cx=%27422.5%27 cy=%27512.9%27 r=%275.248%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%27422.5%27 cy=%27512.9%27 r=%271.64%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%27512%27 cy=%2716.9%27 r=%275.696%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%27512%27 cy=%2716.9%27 r=%271.78%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%2798.6%27 cy=%27225.9%27 r=%276.208%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%2798.6%27 cy=%27225.9%27 r=%271.94%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%27280.1%27 cy=%27515.8%27 r=%275.216%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%27280.1%27 cy=%27515.8%27 r=%271.63%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%27253.1%27 cy=%27174.7%27 r=%275.056%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%27253.1%27 cy=%27174.7%27 r=%271.58%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%27120.5%27 cy=%27371.8%27 r=%273.616%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%27120.5%27 cy=%27371.8%27 r=%271.13%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%27150%27 cy=%27453.3%27 r=%274.064%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%27150%27 cy=%27453.3%27 r=%271.27%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%27146.1%27 cy=%2743.2%27 r=%273.68%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%27146.1%27 cy=%2743.2%27 r=%271.15%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%27218.6%27 cy=%27208.2%27 r=%275.44%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%27218.6%27 cy=%27208.2%27 r=%271.7%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%27189.9%27 cy=%27507.5%27 r=%276.464%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%27189.9%27 cy=%27507.5%27 r=%272.02%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%27475%27 cy=%27153.3%27 r=%273.36%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%27475%27 cy=%27153.3%27 r=%271.05%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%27313.9%27 cy=%2767.2%27 r=%274.736%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%27313.9%27 cy=%2767.2%27 r=%271.48%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%2775%27 cy=%277.9%27 r=%276.4%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%2775%27 cy=%277.9%27 r=%272%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3Ccircle cx=%27166%27 cy=%27206.9%27 r=%273.2%27 fill=%27%23ffffff%27 opacity=%270.10%27/%3E%3Ccircle cx=%27166%27 cy=%27206.9%27 r=%271%27 fill=%27%23ffffff%27 opacity=%270.95%27/%3E%3C/svg%3E"); background-size: 520px 520px; }

/* ------------------------------------------------------------- header */
.u-header { background: #000; color: #e9ecf5; position: sticky; top: 0; z-index: 400;
  border-bottom: 1px solid rgba(255,255,255,.09); }
/* Full-width header. A 2-column grid: the brand is its own left column
   spanning both rows; the two nav rows share the right column so their
   items start at the same x. The row divider sits only under the nav
   column, so the brand area shows no line between the rows. */
.u-hwrap { width: 100%; margin: 0; padding-inline: 34px; }
.u-hgrid { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 30px; }
.u-brand { grid-column: 1; grid-row: 1 / span 2; display: inline-flex; align-items: center; gap: 11px; }
.u-brand-name { display: flex; flex-direction: column; font-family: var(--disp);
  font-weight: 800; font-size: 16.5px; line-height: 1.08; letter-spacing: .01em; color: #fff; }
.u-brand-name span:last-child { color: var(--acc); }
.u-hrow { grid-column: 2; display: flex; align-items: center; gap: 14px; }
.u-hrow1 { min-height: 54px; }
.u-hrow2 { min-height: 42px; border-top: 1px solid rgba(255,255,255,.10); }

/* clean menu items that turn slightly button-like on hover */
.u-nav1 { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; flex: 1; }
.u-navbtn { display: inline-flex; align-items: center; gap: 8px;
  font: 500 13.5px var(--sans); color: #d5dae8; white-space: nowrap;
  background: none; border: 1px solid rgba(255,255,255,.12); border-radius: 5px; padding: 7px 11px;
  cursor: pointer; transition: color .15s, background .15s, border-color .15s; }
.u-navbtn i { font-size: 12.5px; color: var(--acc); transition: color .15s; }
.u-navbtn:hover { border-color: rgba(86,132,222,.8); }
.u-h1-right { display: flex; align-items: center; gap: 14px; margin-inline-start: auto; }
.u-signin, .u-join { white-space: nowrap; }

/* "More" dropdown */
.u-navmore { position: relative; }
.u-navbtn-more { font-family: var(--sans); }
.u-navmore-menu { position: absolute; top: calc(100% + 12px); inset-inline-start: -14px; z-index: 70;
  background: #fff; color: var(--ink); border: 1px solid var(--line); border-radius: 3px;
  box-shadow: 0 16px 38px -12px rgba(6,10,24,.45); padding: 6px; min-width: 250px; display: none; }
.u-navmore:hover .u-navmore-menu, .u-navmore:focus-within .u-navmore-menu { display: block; }
.u-navmore-menu::before { content: ""; position: absolute; bottom: 100%; inset-inline: 0; height: 14px; }
.u-navmore-menu a { display: flex; align-items: center; gap: 11px; padding: 10px 12px;
  border-radius: 2px; font: 600 13.5px var(--sans); color: var(--ink); white-space: nowrap; }
.u-navmore-menu a:hover { background: var(--paper-2); color: var(--blue); }
.u-navmore-menu i { width: 17px; text-align: center; color: var(--blue); font-size: 13px; }
.u-signin { font: 600 13.5px var(--sans); color: #d5dae8; }
.u-signin:hover { color: #fff; }
.u-join { background: var(--blue); color: #fff; font: 700 13.5px var(--sans);
  padding: 9px 18px; border-radius: var(--r); }
.u-join:hover { background: var(--blue-deep); }
.u-join-lg { font-size: 15px; padding: 13px 28px; display: inline-block; }

.u-lang { position: relative; }
.u-lang summary { list-style: none; cursor: pointer; font: 700 12.5px var(--sans);
  display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.16); border-radius: 8px; color: #d5dae8;
  transition: border-color .15s, color .15s; }
.u-lang summary::-webkit-details-marker { display: none; }
.u-lang summary:hover { color: #fff; border-color: rgba(86,132,222,.5); }
.u-lang .fi { font-size: 14px; border-radius: 2px; }
.u-lang-menu { position: absolute; top: calc(100% + 8px); inset-inline-end: 0;
  background: #fff; color: var(--ink); border-radius: var(--r); border: 1px solid var(--line);
  box-shadow: 0 14px 34px -12px rgba(6,10,24,.4); padding: 6px; min-width: 200px;
  max-height: 68vh; overflow: auto; z-index: 70; }
.u-lang-menu a { display: flex; align-items: center; gap: 10px; padding: 8px 10px;
  border-radius: 3px; font: 500 13.5px var(--sans); }
.u-lang-menu a:hover { background: var(--paper-2); }
.u-lang-menu a.on { font-weight: 700; }

.u-nav2 { display: flex; gap: 22px; flex: 1; overflow-x: auto; scrollbar-width: none; }
.u-nav2::-webkit-scrollbar { display: none; }
.u-nav2 a { font: 400 12.5px var(--sans); color: #aeb6c9; white-space: nowrap;
  padding: 6px 0; border-bottom: 2px solid transparent; transition: color .15s, border-color .15s; }
.u-nav2 a:hover { color: var(--acc); border-bottom-color: var(--acc); }
.u-date { font: 600 12px var(--sans); color: #8892a8; white-space: nowrap; }
.u-burger { display: none; background: none; border: 0; cursor: pointer; padding: 6px; }
.u-burger span { display: block; width: 21px; height: 2px; background: #e9ecf5; margin: 4.5px 0; }

/* --------------------------------------------------------------- hero */
/* The whole hero is a self-contained deep-space scene. Only the BACKGROUND
   layers animate (nebula drift, a slowly rotating galaxy band, twinkling and
   drifting stars, occasional shooting stars). The content never animates. */
/* The hero is a canvas space scene: a spiral galaxy (Pinwheel/M101,
   NASA/ESA, public domain) appears, the camera dives through it, and the
   scene settles into a continuous gentle flight through a 3D starfield.
   Only the background animates; the content never moves. */
.u-hero { position: relative; overflow: hidden; color: #e9ecf5;
  display: grid; place-items: center; isolation: isolate;
  /* Fill at least the whole viewport so the deep-space scene always covers
     the first screen; the header sits above it, so the next section (the
     newsletter band) starts safely below the fold and never peeks in. */
  min-height: 100vh; min-height: 100svh;
  background: #020306; }
#ustars { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%;
  pointer-events: none; }
/* no vignette overlay: the starfield must read uniformly edge to edge
   (any radial darkening shows up as darker top/bottom bands) */

.u-hero-in { position: relative; z-index: 3; padding: 56px 28px; text-align: center; width: 100%; }
.u-hero h1 { font-size: clamp(34px, 5vw, 60px); font-weight: 800;
  letter-spacing: -.015em; color: #fff;
  text-shadow: 0 2px 40px rgba(70,120,235,.45); }
.u-hero-sub { max-width: 820px; margin: 14px auto 38px; color: #aeb6c9;
  font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.u-search { display: flex; gap: 0; max-width: 880px; margin: 0 auto; background: #fff;
  border-radius: var(--r); box-shadow: 0 24px 60px -22px rgba(2,6,18,.9); }
.u-search input[type=search] { flex: 1.7; border: 0; outline: 0; padding: 16px 18px;
  font: 500 15px var(--sans); color: var(--ink); min-width: 0; border-radius: var(--r) 0 0 var(--r); }
.u-search > button { border: 0; background: var(--blue); color: #fff;
  font: 700 14.5px var(--sans); padding-inline: 32px; cursor: pointer;
  border-radius: 0 var(--r) var(--r) 0; }
.u-search > button:hover { background: var(--blue-deep); }

/* custom dropdown (replaces native select) */
.u-cs { position: relative; }
.u-search .u-cs { flex: 1; min-width: 0; }
.u-cs-btn { width: 100%; border: 1.5px solid var(--line); border-radius: var(--r); background: #fff;
  cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 8px;
  font: 600 13.5px var(--sans); color: var(--ink); padding: 10px 12px 10px 14px; }
.u-search .u-cs-btn { height: 100%; border: 0; border-inline-start: 1px solid var(--line);
  border-radius: 0; padding: 0 12px 0 16px; }
.u-cs-btn:hover { background: var(--paper-2); }
.u-cs-lbl { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.u-cs-caret { font-size: 11px; color: var(--muted); transition: transform .15s; flex-shrink: 0; }
.u-cs.open .u-cs-caret { transform: rotate(180deg); }
.u-cs-menu { position: absolute; top: calc(100% + 6px); inset-inline-start: 0; min-width: 100%;
  text-align: start; width: max-content; max-width: 320px; z-index: 90; background: #fff; border: 1px solid var(--line);
  border-radius: var(--r); box-shadow: 0 16px 38px -12px rgba(6,10,24,.4); padding: 6px; display: none; }
.u-cs.open .u-cs-menu { display: block; }
.u-cs-opts { max-height: 300px; overflow-y: auto; }
.u-cs-opts a { display: block; padding: 8px 12px; border-radius: 3px; font: 500 13.5px var(--sans);
  color: var(--ink); cursor: pointer; white-space: nowrap; }
.u-cs-opts a:hover { background: var(--paper-2); color: var(--blue); }
.u-cs-opts a.on { font-weight: 700; color: var(--blue); }
.u-cs-filter { width: 100%; border: 1.5px solid var(--line); border-radius: 3px; padding: 8px 10px;
  font: 500 13px var(--sans); margin-bottom: 6px; outline: 0; box-sizing: border-box; }
.u-cs-filter:focus { border-color: var(--blue); }

.u-typechips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 22px; }
.u-typechips a { font: 600 12.5px var(--sans); color: #d5dae8; padding: 6px 13px;
  border: 1px solid rgba(255,255,255,.16); border-radius: var(--r);
  background: rgba(9,13,24,.4); }
.u-typechips a:hover { border-color: var(--acc); color: var(--acc); }
.u-typechips b { color: var(--acc); font-weight: 700; margin-inline-start: 5px; }
.u-typechips a:hover b { color: inherit; }

.u-stats { display: flex; flex-wrap: wrap; gap: 0; justify-content: center; margin-top: 44px;
  border-top: 1px solid rgba(255,255,255,.12); padding-top: 28px; }
.u-stat { min-width: 190px; padding: 0 34px; text-align: center;
  border-inline-end: 1px solid rgba(255,255,255,.12); }
.u-stat:last-child { border-inline-end: 0; }
.u-stat b { display: block; font: 800 34px/1.1 var(--disp); color: #fff; letter-spacing: -.01em; }
.u-stat b span { font: inherit; color: inherit; }
.u-stat b i { font-style: normal; color: var(--acc); }
.u-stat > span { font: 500 12.5px var(--sans); color: #8892a8; }

/* -------------------------------------------------- newsletter bands */
.u-nlband { background: #801515; color: #fff; padding: 36px 0; position: relative; }
.u-nlband-in { display: grid; grid-template-columns: 1.1fr 1fr; gap: 30px; align-items: center;
  position: relative; }
.u-nlband h2 { font-size: clamp(19px, 2.4vw, 26px); font-weight: 800; letter-spacing: -.01em; }
.u-nlband p { margin: 6px 0 0; font-size: 14px; color: #f2d6d6; }
.u-nlband form { display: flex; flex-wrap: wrap; gap: 10px; }
.u-nlband input[type=email] { flex: 1; min-width: 220px; border: 0;
  border-radius: var(--r); padding: 13px 15px; font: 500 14.5px var(--sans); outline: 0;
  background: #fff; color: var(--ink); }
.u-nlband button { border: 0; background: #2a0808; color: #fff;
  font: 700 14px var(--sans); padding: 0 26px; border-radius: var(--r); cursor: pointer; }
.u-nlband button:hover { background: #180404; }
.u-nlband small { flex-basis: 100%; font-size: 12px; color: #f2d6d6; }
.u-nlband-dark { background: var(--space); color: #e9ecf5; overflow: hidden; }
.u-nlband-dark h2 { color: #fff; }
.u-nlband-dark p, .u-nlband-dark small { color: #8892a8; }
.u-nlband-dark input[type=email] { border: 1px solid var(--acc); }
.u-nlband-dark button { background: var(--blue); color: #fff; }
.u-nlband-dark button:hover { background: var(--blue-deep); }

/* ------------------------------------------------------------ sections */
.u-sec { padding: 54px 0; }
.u-sec-alt { background: var(--paper-2); border-block: 1px solid var(--line); }
.u-sec-head { display: grid; grid-template-columns: 1fr auto; gap: 4px 20px;
  align-items: center; margin-bottom: 24px; }
.u-sec-head h2 { font-size: clamp(21px, 2.6vw, 28px); font-weight: 800; letter-spacing: -.012em;
  display: flex; align-items: center; gap: 12px; }
.u-sec-head h2 .u-sec-month { font-weight: 300; letter-spacing: 0; }
.u-sec-head p { grid-column: 1; margin: 0; color: var(--muted); font-size: 13.5px; }
.u-sec-head > a, .u-sec-head details { grid-column: 2; grid-row: 1 / span 2; }
.u-sec-head-dark h2 { color: #fff; }
.u-sec-head-dark p { color: #8892a8; }
.u-more { font: 700 13px var(--sans); color: var(--ink); border: 1px solid var(--line);
  padding: 8px 14px; border-radius: var(--r); display: inline-flex; align-items: center; gap: 7px;
  background: #fff; white-space: nowrap; }
.u-more:hover { border-color: #9aa1b3; }
.u-more-gold { background: transparent; color: var(--acc); border-color: rgba(86,132,222,.5); }
.u-more-gold:hover { background: rgba(86,132,222,.12); color: var(--acc); }
.u-flag { font-size: 20px; border-radius: 2px; }

/* --------------------------------------------------------------- cards */
.u-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.u-card { position: relative; background: #fff; border: 1px solid var(--line);
  border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column;
  transition: border-color .18s, box-shadow .22s, transform .22s; }
.u-card:hover { border-color: #c8cdda; transform: translateY(-5px);
  box-shadow: 0 18px 34px -16px rgba(10,16,36,.4); }
.u-card-media { position: relative; aspect-ratio: 16/7.2; overflow: hidden; display: block;
  background: var(--space-2); }
.u-card-media img { width: 100%; height: 100%; object-fit: cover;
  transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.u-card:hover .u-card-media img { transform: scale(1.08); }
/* hover reveal: a dark gradient with a description snippet and CTA slides up */
.u-card-reveal { position: absolute; inset: 0; display: flex; flex-direction: column;
  justify-content: flex-end; gap: 5px; padding: 11px 12px; color: #fff; pointer-events: none;
  background: linear-gradient(to top, rgba(5,8,18,.94) 8%, rgba(5,8,18,.55) 48%, rgba(5,8,18,0) 100%);
  opacity: 0; transition: opacity .28s ease; }
.u-card:hover .u-card-reveal { opacity: 1; }
.u-card-reveal-txt { font: 400 11.5px/1.45 var(--sans); color: #dfe4f2;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transform: translateY(10px); transition: transform .3s ease; }
.u-card:hover .u-card-reveal-txt { transform: translateY(0); }
.u-card-reveal-cta { font: 700 12px var(--sans); color: var(--acc);
  display: inline-flex; align-items: center; gap: 6px;
  transform: translateY(10px); transition: transform .3s ease .05s; }
.u-card:hover .u-card-reveal-cta { transform: translateY(0); }
.u-card-reveal-cta i { font-size: 11px; }
.u-save { position: absolute; top: 7px; inset-inline-end: 7px; width: 25px; height: 25px;
  border: 0; border-radius: var(--r); background: rgba(9,13,24,.58); color: #fff;
  display: grid; place-items: center; cursor: pointer; }
.u-save svg { width: 13px; height: 13px; }
.u-save:hover { background: rgba(9,13,24,.85); }
.u-save.on { color: var(--gold); }
.u-save.on svg path { fill: currentColor; }
.u-card-b { padding: 11px 13px 13px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.u-card-tags { display: flex; flex-wrap: nowrap; gap: 5px; overflow: hidden; }
.u-tag { font: 700 8.5px/1 var(--sans); letter-spacing: .05em; text-transform: uppercase;
  color: var(--muted); border: 1px solid var(--line); padding: 3.5px 6px; border-radius: 3px;
  white-space: nowrap; }
.u-tag-gold { background: var(--gold); border-color: var(--gold); color: var(--gold-ink);
  display: inline-flex; align-items: center; gap: 4px; }
.u-tag-gold i { font-size: 8.5px; }
.u-card h3 { font: 700 14px/1.35 var(--sans);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.u-card h3 a:hover { color: var(--blue); }
.u-card-meta { margin: 0; font: 400 12px/1.45 var(--sans); color: var(--muted);
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.u-card-dl { margin: auto 0 0; font: 600 12px var(--sans); color: var(--ink);
  display: flex; align-items: center; gap: 6px; padding-top: 4px; }
.u-card-dl.hot { color: var(--hot); }

/* the "view more" card closing a grid */
.u-morecard { display: flex; align-items: center; justify-content: center; text-align: center;
  background: transparent; border: 1.5px dashed rgba(31,94,220,.45); min-height: 180px;
  padding: 20px; }
.u-morecard:hover { border-color: var(--blue); box-shadow: none; }
.u-morecard > span { display: block; }
.u-morecard span span { display: block; margin-top: 8px; font: 700 14px/1.4 var(--disp); color: var(--blue-ink); }
.u-morecard svg { color: var(--blue); }

/* grid fill rules: hide overflow cards so rows stay complete */
@media (max-width: 1120px) {
  .u-grid { grid-template-columns: repeat(4, 1fr); }
  .u-fill15 > .u-card:nth-child(n+12):not(.u-morecard) { display: none; }
  .u-fill10 > .u-card:nth-child(n+8):not(.u-morecard) { display: none; }
}
@media (max-width: 900px) {
  .u-grid { grid-template-columns: repeat(3, 1fr); }
  .u-fill15 > .u-card:nth-child(n+9):not(.u-morecard) { display: none; }
  .u-fill10 > .u-card:nth-child(n+6):not(.u-morecard) { display: none; }
}
@media (max-width: 560px) {
  .u-grid { grid-template-columns: repeat(2, 1fr); }
  .u-fill15 > .u-card:nth-child(n+8):not(.u-morecard) { display: none; }
}

/* ----------------------------------------------------------------- map */
.u-mapsec { position: relative; background: var(--space); color: #e9ecf5;
  padding: 54px 0 60px; overflow: hidden; }
.u-mapsec .u-wrap { position: relative; }
.u-mapwrap { position: relative; }
/* isolate so Leaflet's internal high z-indexes stay contained and never
   render over the sticky header when the map scrolls under it */
#umap { height: 520px;
  background: #060a16; isolation: isolate; z-index: 0; }
.leaflet-container { font: 12px var(--sans); background: #060a16; }
/* flat, solid markers */
.u-mk { background: none; border: 0; }
.u-mk-dot { display: block; width: 8px; height: 8px; border-radius: 50%; background: rgba(79,141,240,.7); }
.u-mk-badge { display: grid; place-items: center; border-radius: 50%; box-sizing: border-box;
  background: rgba(47,107,220,.55); border: 1px solid rgba(120,160,240,.5); color: rgba(255,255,255,.9);
  font-weight: 400; font-family: var(--sans); line-height: 1; }
.u-mk:hover .u-mk-badge { background: rgba(79,141,240,.85); border-color: #fff; color: #fff; }
.u-mk:hover .u-mk-dot { background: #fff; }
.leaflet-tooltip.leaflet-tooltip-top { background: #0c1224; color: #fff; border: 1px solid rgba(255,255,255,.18);
  border-radius: 6px; box-shadow: 0 6px 18px rgba(0,0,0,.5); font: 500 12px var(--sans); }
.leaflet-tooltip.leaflet-tooltip-top::before { border-top-color: #0c1224; }
/* stats overlay + hint */
.u-mapstats { position: absolute; bottom: 16px; inset-inline-start: 16px; z-index: 2;
  display: flex; gap: 10px; flex-wrap: wrap; }
.u-mapstat { background: rgba(6,10,22,.85); border: 1px solid rgba(255,255,255,.16);
  padding: 10px 16px; }
.u-mapstat b { display: block; font: 600 22px var(--disp); color: #fff; letter-spacing: -.01em; }
.u-mapstat span { font: 500 11px var(--sans); color: #aeb6c9; }
.u-maphint { position: absolute; top: 16px; inset-inline-end: 16px; z-index: 2;
  background: rgba(6,10,22,.85); border: 1px solid rgba(255,255,255,.16); border-radius: 999px;
  padding: 7px 14px; font: 600 12px var(--sans); color: #dfe4f2;
  display: inline-flex; align-items: center; gap: 8px; }
.u-maphint i { color: var(--gold); }

/* -------------------------------------------------------- country pick */
#for-you { scroll-margin-top: 112px; }   /* anchor lands below the sticky header */
.u-ccpick { position: relative; }
.u-ccpick summary { list-style: none; cursor: pointer; font: 700 13px var(--sans);
  color: var(--ink); border: 1px solid var(--line); background: #fff; padding: 8px 14px;
  border-radius: var(--r); }
.u-ccpick summary::-webkit-details-marker { display: none; }
.u-ccpick summary:hover { border-color: var(--blue); color: var(--blue); }
.u-ccpick form { position: absolute; top: calc(100% + 8px); inset-inline-end: 0; z-index: 30;
  background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 10px;
  display: flex; gap: 8px; box-shadow: 0 14px 34px -12px rgba(10,16,36,.25); }
.u-ccpick .u-cs { min-width: 230px; }
.u-ccpick .u-cs-menu { inset-inline-start: auto; inset-inline-end: 0; }
.u-ccpick button[type=submit] { border: 0; background: var(--blue); color: #fff; border-radius: 3px;
  padding: 0 14px; cursor: pointer; }
.u-ccpick-inline form { position: static; box-shadow: none; border: 0; padding: 8px 0 0; }

/* ------------------------------------------------------------ marquees */
.u-marquees { padding: 40px 0 48px; border-block: 1px solid var(--line); background: #fff; }
.u-marq-label { text-align: center; font: 400 11px var(--sans); letter-spacing: .18em;
  text-transform: uppercase; color: var(--muted); margin: 0 0 22px; }
.u-marq { overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }

/* institution logos: logo only, larger, generous spacing, scroll left */
.u-marq-track { display: flex; align-items: center; gap: 62px; width: max-content;
  animation: u-scroll 90s linear infinite; }
.u-marq:hover .u-marq-track { animation-play-state: paused; }
@keyframes u-scroll { to { transform: translateX(-50%); } }
.u-marq-rev { animation-direction: reverse; }        /* scroll to the right */
.u-logoitem { display: inline-flex; align-items: center; }
.u-logoitem img { height: 72px; width: auto; max-width: 240px; object-fit: contain;
  filter: grayscale(1); opacity: .62; transition: filter .2s, opacity .2s; }
.u-logoitem:hover img { filter: none; opacity: 1; }
.u-logoitem img.u-logo-fav { height: 48px; }

/* keyword rows: three rows scrolling RIGHT (opposite the logos), tight chips
   with a search icon, well separated from the logo row above */
.u-kwmarq { margin-top: 44px; display: flex; flex-direction: column; gap: 9px; }
.u-kwrow { overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.u-kwtrack { display: flex; align-items: center; gap: 9px; width: max-content;
  animation: u-scroll 96s linear infinite; animation-direction: reverse; }
.u-kwrow-0 { animation-duration: 88s; }
.u-kwrow-1 { animation-duration: 114s; }
.u-kwrow-2 { animation-duration: 100s; }
.u-kwrow:hover .u-kwtrack { animation-play-state: paused; }
.u-kw { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
  font: 600 12.5px var(--sans); color: var(--ink); border: 1px solid var(--line);
  padding: 6px 13px; border-radius: 999px; background: #fff; }
.u-kw:hover { border-color: var(--blue); background: var(--blue-pale); color: var(--blue-ink); }
.u-kw-ic { color: var(--blue); flex-shrink: 0; }

/* ------------------------------------------------------ deadline rows */
.u-dlrows { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.u-dlrow { display: grid; grid-template-columns: 76px 64px 1fr 150px 120px 30px;
  gap: 14px; align-items: center; padding: 9px 14px 9px 9px; border-bottom: 1px solid var(--line);
  background: #fff; }
.u-dlrow:last-child { border-bottom: 0; }
.u-dlrow:hover { background: var(--paper-2); }
.u-dlrow img { width: 76px; height: 43px; object-fit: cover; border-radius: 3px; }
.u-dl-date { font: 600 13px var(--disp); color: var(--hot); }
.u-dl-title { font: 600 14px/1.35 var(--sans);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.u-dl-type { font: 600 11px var(--sans); letter-spacing: .05em; text-transform: uppercase;
  color: var(--muted); }
.u-dl-left { font: 700 12.5px var(--sans); text-align: end; }
.u-dl-left.hot { color: var(--hot); }
.u-dl-go { color: var(--muted); }
.u-dlrow:hover .u-dl-go { color: var(--blue); }
.u-dlrow-more { display: flex; justify-content: center; gap: 8px; padding: 13px;
  font: 700 13px var(--sans); color: var(--blue); }
.u-dlrow-more svg { color: var(--blue); }
.u-dlrow-more:hover { color: var(--blue-deep); }

/* ---------------------------------------------------------- comparison */
.u-cmp { position: relative; background: var(--space); color: #e9ecf5; padding: 60px 0;
  overflow: hidden; }
.u-cmp-grid { position: relative; display: grid; grid-template-columns: 1.05fr 1fr; gap: 44px;
  align-items: center; }
.u-cmp h2 { color: #fff; font-size: clamp(22px, 2.8vw, 30px); font-weight: 800;
  letter-spacing: -.012em; }
@media (max-width: 900px) { .u-cmp-brk { display: none; } }
.u-cmp-sub { color: #aeb6c9; font-size: 14px; margin: 10px 0 22px; max-width: 560px; }
.u-cmp-rows { display: flex; flex-direction: column; gap: 10px; }
.u-cmp-row { display: flex; align-items: center; gap: 13px; padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.13); }
.u-cmp-row img, .u-cmp-logo { width: 26px; height: 26px; border-radius: 3px; background: #fff;
  padding: 2px; display: grid; place-items: center; }
.u-cmp-logo { background: transparent; padding: 0; }
.u-cmp-name { font: 700 14px var(--sans); color: #fff; flex: 1; }
.u-cmp-row b { font: 800 20px var(--disp); color: #fff; }
.u-cmp-row.us { border-color: var(--acc); background: rgb(86 132 222 / 3%); }
.u-cmp-row.us b { color: var(--acc); }
.u-cmp-badge { font: 700 14px var(--sans); color: var(--gold); margin: 14px 0 0; }
.u-cmp-note { font: 400 12px/1.6 var(--sans); color: #8892a8; margin-top: 12px; }
.u-cmp-note a { color: #d5dae8; text-decoration: underline; text-underline-offset: 2px; }
.u-cmp-chart { position: relative; padding: 20px; }
.u-cc-hit { cursor: crosshair; }
.u-cc-tip { position: absolute; z-index: 5; pointer-events: none; min-width: 150px; white-space: nowrap;
  transform: translate(-50%, -100%); background: #0b1224; border: 1px solid rgba(255,255,255,.16);
  border-radius: 6px; padding: 8px 11px; box-shadow: 0 12px 30px rgba(0,0,0,.55); }
.u-cc-tip-below { transform: translate(-50%, 0); }
.u-cc-tm { font: 700 11px var(--sans); color: #fff; margin-bottom: 6px; }
.u-cc-tr { display: flex; align-items: center; gap: 8px; font: 500 12.5px var(--sans); color: #c9cfdd; }
.u-cc-tr + .u-cc-tr { margin-top: 3px; }
.u-cc-tr i { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.u-cc-tr span { flex: 1; }
.u-cc-tr b { font-weight: 700; color: #fff; }
.u-cmp-chart h3 { font: 700 13.5px var(--sans); color: #aeb6c9; margin-bottom: 12px; }
.u-cmp-chart svg { width: 100%; height: auto; }
.u-legend { display: flex; gap: 18px; margin-top: 10px; font: 500 12px var(--sans); color: #aeb6c9; }
.u-legend i { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-inline-end: 6px; }

/* ------------------------------------------------------- type digests */
.u-digests { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.u-digest { background: #fff; border: 1px solid var(--line); border-radius: var(--r);
  padding: 14px; display: flex; flex-direction: column; gap: 2px; }
.u-digest-h { display: flex; align-items: baseline; justify-content: space-between;
  border-bottom: 2px solid var(--ink); padding-bottom: 9px; margin-bottom: 8px; }
.u-digest-h a { font: 800 14.5px var(--disp); letter-spacing: -.01em; }
.u-digest-h a:hover { color: var(--blue); }
.u-digest-h span { font: 700 12px var(--sans); color: var(--blue); }
.u-digest-h-region { border-bottom: 0; padding-bottom: 4px; margin-bottom: 2px; }
.u-region-flags { display: flex; gap: 5px; border-bottom: 2px solid var(--ink);
  padding-bottom: 9px; margin-bottom: 8px; }
.u-region-flags .fi { width: 20px; height: 14px; border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.06); }
.u-mini { display: grid; grid-template-columns: 40px 1fr; gap: 4px 10px; padding: 7px 0;
  border-bottom: 1px solid var(--line); align-items: center; }
.u-mini:last-of-type { border-bottom: 0; }
.u-mini img { width: 40px; height: 40px; object-fit: cover; border-radius: 3px; grid-row: 1 / span 2; }
.u-mini-t { font: 600 12px/1.35 var(--sans);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.u-mini:hover .u-mini-t { color: var(--blue); }
.u-mini-d { font: 500 10.5px var(--sans); color: var(--muted); }
.u-digest-more { margin-top: auto; padding-top: 10px; font: 700 12px var(--sans);
  color: var(--ink); display: inline-flex; align-items: center; gap: 6px; }
.u-digest-more:hover { color: var(--blue); }

/* --------------------------------------------------------------- quotes */
.u-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.u-quote { margin: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--r);
  padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.u-quote img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover;
  border: 2px solid var(--blue); }
.u-quote blockquote { margin: 0; font: 500 13.5px/1.55 var(--sans); color: var(--ink); flex: 1; }
.u-quote figcaption b { display: block; font: 700 13px var(--sans); }
.u-quote figcaption span { font: 500 11.5px var(--sans); color: var(--muted); }

/* --------------------------------------------------------- registration */
.u-reg { background: var(--paper-2); border-block: 1px solid var(--line); padding: 56px 0; }
.u-reg-in { display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px; align-items: center; }
.u-freechip { display: inline-flex; align-items: center; gap: 7px; font: 700 12px var(--sans);
  color: #fff; background: var(--blue); border-radius: var(--r); padding: 6px 12px; }
.u-reg h2 { font-size: clamp(22px, 2.8vw, 30px); font-weight: 800; letter-spacing: -.012em;
  margin: 14px 0 10px; }
.u-reg p { color: var(--muted); margin: 0 0 22px; max-width: 520px; }
.u-benefits { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.u-benefits li { background: #fff; border: 1px solid var(--line); border-radius: var(--r);
  padding: 12px 16px; font: 500 13.5px var(--sans); display: flex; gap: 10px; align-items: flex-start; }
.u-benefits svg { color: var(--blue); flex-shrink: 0; margin-top: 2px; }

/* ----------------------------------------------------------------- blog */
.u-blog { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.u-bpost { background: #fff; border: 1px solid var(--line); border-radius: var(--r);
  overflow: hidden; display: flex; flex-direction: column; transition: border-color .15s, box-shadow .15s; }
.u-bpost:hover { border-color: #c8cdda; box-shadow: 0 10px 24px -14px rgba(10,16,36,.28); }
.u-bpost img { aspect-ratio: 16/7.5; object-fit: cover; width: 100%; }
.u-bpost-b { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 7px; flex: 1; }
.u-bpost h3 { font: 700 15px/1.35 var(--sans); }
.u-bpost h3 a:hover { color: var(--blue); }
.u-bpost p { margin: 0; font: 400 12.5px/1.5 var(--sans); color: var(--muted); }
.u-bpost-d { margin-top: auto; font: 600 11.5px var(--sans); color: var(--muted); padding-top: 6px; }

/* --------------------------------------------------------------- footer */
.u-footer { background: var(--space); color: #aeb6c9; padding: 50px 0 24px; }
.u-foot-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 34px; }
.u-foot-blurb { font: 400 13px/1.65 var(--sans); max-width: 300px; margin: 16px 0; }
.u-foot-h { display: block; font: 700 11.5px var(--sans); letter-spacing: .12em;
  text-transform: uppercase; color: #8892a8; margin-bottom: 12px; }
.u-foot-grid a:not(.u-brand) { display: block; font: 500 13.5px/2.1 var(--sans); color: #d5dae8; }
.u-foot-grid a:not(.u-brand):hover { color: var(--acc); }
.u-social { display: flex; gap: 10px; }
.u-social a { display: grid !important; place-items: center; width: 36px; height: 36px;
  border: 1px solid rgba(255,255,255,.16); border-radius: var(--r); color: #d5dae8; }
.u-social a:hover { border-color: var(--acc); color: var(--acc); }
.u-foot-bottom { border-top: 1px solid rgba(255,255,255,.09); margin-top: 36px;
  padding-top: 18px; font: 500 12px var(--sans); color: #8892a8; }

/* ----------------------------------------------------------- responsive */
@media (max-width: 1120px) {
  .u-digests { grid-template-columns: repeat(3, 1fr); }
  .u-burger { display: block; order: 3; }
  /* nav1 collapses behind the burger and drops as a vertical panel */
  .u-nav1 { display: none; order: 5; flex-basis: 100%; flex-direction: column;
    align-items: flex-start; gap: 14px; padding: 4px 0 14px; }
  body.u-nav-open .u-nav1 { display: flex; }
  .u-hrow1 { flex-wrap: wrap; }
  .u-navmore { flex-basis: 100%; }
  .u-navmore-menu { position: static; display: block; box-shadow: none; border: 0;
    padding: 6px 0 0; min-width: 0; background: transparent; }
  .u-navmore-menu a { color: #d5dae8; }
  .u-navmore-menu a:hover { background: rgba(255,255,255,.06); color: #fff; }
  .u-navbtn-more { display: none; }
}
@media (max-width: 900px) {
  .u-signin { display: none; }
  /* header reflows to: [brand | actions] on row 1, type links full-width row 2 */
  .u-hgrid { display: flex; flex-wrap: wrap; column-gap: 14px; }
  .u-brand { grid-row: auto; grid-column: auto; }
  .u-hrow { grid-column: auto; }
  .u-hrow1 { flex: 1; min-width: 0; min-height: 56px; }
  .u-hrow2 { flex-basis: 100%; padding-top: 4px; }
  .u-nlband-in, .u-cmp-grid, .u-reg-in { grid-template-columns: 1fr; }
  .u-dlrow { grid-template-columns: 60px 1fr 96px; }
  .u-dlrow img { width: 60px; height: 34px; }
  .u-dl-date, .u-dl-type, .u-dl-go { display: none; }
  .u-digests { grid-template-columns: 1fr 1fr; }
  .u-stat { min-width: 42%; padding: 0 12px; margin-bottom: 16px; border-inline-end: 0; }
  #umap { height: 380px; }
  .u-hero { min-height: calc(100vh - 130px); min-height: calc(100svh - 130px); }
  .u-hero-sub { white-space: normal; }
}
@media (max-width: 560px) {
  .u-search { flex-wrap: wrap; }
  .u-search input[type=search] { flex-basis: 100%; border-bottom: 1px solid var(--line); }
  .u-search .u-cs-btn { padding-block: 13px; }
  .u-search .u-cs + .u-cs .u-cs-btn { border-inline-start: 1px solid var(--line); }
  .u-search > button { flex-basis: 100%; padding-block: 13px; }
  .u-digests { grid-template-columns: 1fr; }
  .u-hero-in { padding: 40px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .u-marq-track, .u-kwtrack, .u-stars-a, .u-stars-b, .u-space { animation: none; }
}
