/*
Theme Name: The Money Centre
Description: Generated theme for themoneycentre.net, built from design tokens.
Version: 2.0
Text Domain: pressroom
*/

:root {
  --bg: #f4f8ff;
  --text: #05070e;
  --muted: #3f4a68;
  --accent: #494376;
  --accent-contrast: #f4f8ff;
  --border: #8f9dbe;
  --surface: #d1d9ec;
  --radius: 2px;
  --space: 1.15rem;
  --maxw: 1240px;
  --font-display: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-text: "Wix Madefor Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-kicker: "JetBrains Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font-text); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
/* Serif display for headlines; clean sans for UI/labels — an editorial pairing. */
h1,h2,h3,h4,.brand__name,.card__title,.section-head,.hero__title,.pick__title,.article__title {
  font-family:var(--font-display); font-weight:700; }
.nav a,.pill,.btn,.meta,.header-search input,.brand__logo { font-family:var(--font-text); }
.container { max-width:var(--maxw); margin:0 auto; padding:0 var(--space); }

/* Top social bar */
.topbar { background:var(--text); color:var(--bg); font-size:.8rem; }
.topbar .container { display:flex; justify-content:flex-end; gap:1rem;
  padding:.4rem var(--space); }
.topbar a { color:var(--bg); opacity:.85; }

/* Header */
.site-header { border-top:3px solid var(--accent); border-bottom:1px solid var(--border);
  background:var(--bg); position:sticky; top:0; z-index:20; }
.site-header__bar { display:flex; align-items:center; gap:var(--space);
  padding:calc(var(--space)*.9) 0; }
.brand { display:flex; align-items:center; gap:.55rem; flex:0 0 auto; }
.brand__logo { display:grid; place-items:center; width:40px; height:40px;
  border-radius:calc(var(--radius)*.7); background:var(--accent);
  color:var(--accent-contrast); font-family:var(--font-display); font-weight:800;
  font-size:1.3rem; line-height:1; flex:0 0 auto; }
.brand__mark { flex:0 0 auto; line-height:0; }
.brand__mark svg { width:40px; height:40px; display:block; }
.brand__name { font-weight:800; font-size:1.5rem; letter-spacing:-.02em; white-space:nowrap; }
.nav { flex:1 1 auto; }
.nav ul { list-style:none; display:flex; flex-wrap:wrap; gap:1.15rem; margin:0; padding:0; }
.nav a { font-weight:600; font-size:.92rem; }
.nav a:hover { color:var(--accent); }
.header-actions { display:flex; align-items:center; gap:.7rem; }
/* Language switcher: endonyms, never flags; the current section is active.
   Token-driven, so it inherits each archetype's own colours and type voice. */
.lang-switch { display:inline-flex; align-items:center; gap:.1rem;
  font-family:var(--font-text); font-size:.8rem; font-weight:600; flex:0 0 auto; }
.lang-switch__opt { color:var(--muted); padding:.15rem .45rem;
  border-radius:calc(var(--radius)*.6); white-space:nowrap; }
.lang-switch__opt:hover { color:var(--accent); }
.lang-switch__opt.is-active { color:var(--text); background:var(--surface); }
.header-search input { border:1px solid var(--border); border-radius:999px;
  padding:.45rem .9rem; font:inherit; font-size:.85rem; background:var(--surface);
  color:var(--text); width:150px; }
.btn { display:inline-block; font-weight:700; font-size:.85rem; padding:.5rem 1.05rem;
  border-radius:999px; background:var(--accent); color:var(--accent-contrast);
  border:1px solid var(--accent); cursor:pointer; }
.btn:hover { filter:brightness(.95); }

/* Pills */
.pill { display:inline-block; font-size:.68rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.05em; padding:.2rem .6rem; border-radius:999px;
  background:var(--surface); color:var(--accent); }

/* Hero — sits in a soft panel so the top of the page has weight */
.hero { display:grid; grid-template-columns:1.4fr 1fr; gap:calc(var(--space)*1.6);
  align-items:center; margin:calc(var(--space)*1.4) 0;
  padding:calc(var(--space)*1.4); background:var(--surface);
  border-radius:calc(var(--radius)*1.3); }
.hero__imgwrap { aspect-ratio:4/3; overflow:hidden; border-radius:var(--radius);
  background:var(--surface); }
.hero__imgwrap img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.hero__imgwrap:hover img { transform:scale(1.03); }
.hero__title { font-size:clamp(2rem, 4.2vw, 3.25rem); line-height:1.1;
  letter-spacing:-.015em; margin:.5rem 0 .4rem; text-wrap:balance; }
.hero__excerpt { color:var(--muted); font-size:1.12rem; line-height:1.55; margin:.5rem 0;
  max-width:46ch; }
/* Not flex: mixed text nodes + a separator span in a flex row could collapse
   onto one another on wrap. Plain inline text with a comfortable line-height. */
.meta { color:var(--muted); font-size:.82rem; line-height:1.6;
  font-family:var(--font-text); }
.meta .dot { opacity:.5; margin:0 .35rem; }
@media (max-width:820px) { .hero { grid-template-columns:1fr; } }

/* Section heads */
.section { padding:calc(var(--space)*1.2) 0; }
.section-head { display:flex; align-items:center; gap:.8rem; font-size:1.2rem;
  text-transform:uppercase; letter-spacing:.06em; margin:0 0 var(--space); }
.section-head::before { content:""; width:.65rem; height:1.3rem; border-radius:3px;
  background:var(--accent); flex:0 0 auto; }
.section-head::after { content:""; flex:1; height:2px; background:var(--border); }

/* Card grids */
.grid { display:grid; gap:calc(var(--space)*1.3); }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }
@media (max-width:900px) { .grid-3,.grid-4 { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .grid-3,.grid-4 { grid-template-columns:1fr; } }
/* Flex column so the card box always encloses image + pill + title + meta;
   without it the row can end at the image and the next block (pagination)
   draws over the titles. */
.card { display:flex; flex-direction:column; transition:transform .2s ease; }
.card:hover { transform:translateY(-3px); }
.card__imgwrap { aspect-ratio:3/2; overflow:hidden; border-radius:var(--radius);
  background:var(--surface); margin-bottom:.6rem; flex:0 0 auto;
  box-shadow:0 1px 3px rgba(0,0,0,.06); }
.card:hover .card__imgwrap { box-shadow:0 8px 24px rgba(0,0,0,.12); }
.card__imgwrap img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.card:hover .card__imgwrap img { transform:scale(1.04); }
/* Never render an empty picture box: if a post has no image, drop the frame
   entirely (and let the hero fall back to a single column). */
.card__imgwrap:not(:has(img)), .hero__imgwrap:not(:has(img)),
.pick__img:not(:has(img)) { display:none; }
.hero:not(:has(.hero__imgwrap img)) { grid-template-columns:1fr; }
.card__title { font-size:1.08rem; line-height:1.35; margin:.4rem 0 .35rem; }
.card:hover .card__title { color:var(--accent); }
/* Pills sit on their own line above the title with real separation. */
.card .pill, .hero .pill, .article .pill { display:inline-block; margin-bottom:.4rem; }
/* Long unbroken Cyrillic titles must wrap, not overrun neighbouring text. */
.card__title, .hero__title, .article__title, .pick__title { overflow-wrap:break-word; }
.card__title a, .hero__title a { display:inline-block; }

/* Editor picks: alternating list */
.picks { display:flex; flex-direction:column; gap:calc(var(--space)*1.2); }
.pick { display:grid; grid-template-columns:300px 1fr; gap:calc(var(--space)*1.2);
  align-items:center; }
.pick:nth-child(even) { grid-template-columns:1fr 300px; }
.pick:nth-child(even) .pick__img { order:2; }
.pick__img { aspect-ratio:3/2; overflow:hidden; border-radius:var(--radius);
  background:var(--surface); }
.pick__img img { width:100%; height:100%; object-fit:cover; }
.pick__title { font-family:var(--font-display); font-size:1.4rem; line-height:1.2;
  margin:.4rem 0; }
.pick__excerpt { color:var(--muted); margin:.3rem 0 .6rem; }
@media (max-width:700px) { .pick,.pick:nth-child(even) { grid-template-columns:1fr; }
  .pick:nth-child(even) .pick__img { order:0; } }

/* Pagination */
.pagination { display:flex; gap:.4rem; padding:var(--space) 0; flex-wrap:wrap;
  justify-content:center; clear:both; margin-top:calc(var(--space)*1.4);
  position:relative; z-index:1; }
.pagination a,.pagination span { font-family:var(--font-display); font-weight:600;
  padding:.5rem .85rem; border-radius:var(--radius); border:1px solid var(--border); }
.pagination .current { background:var(--accent); color:var(--accent-contrast);
  border-color:var(--accent); }

/* Article */
.article { max-width:740px; margin:0 auto; padding:calc(var(--space)*1.8) 0; }
.article__title { font-size:2.5rem; line-height:1.2; letter-spacing:-.02em; margin:.5rem 0; }
.article__img { border-radius:var(--radius); overflow:hidden; margin:var(--space) 0; }
.article__body { font-size:1.12rem; }
.article__body p { margin:0 0 1.2rem; }
.article__body h2 { font-family:var(--font-display); font-size:1.6rem; margin:2rem 0 .6rem; }
.article__body h3 { font-family:var(--font-display); font-size:1.22rem; margin:1.5rem 0 .5rem; }
.article__body ul { margin:0 0 1.2rem 1.2rem; }
.article__body li { margin:0 0 .4rem; }
.article__body a { color:var(--accent); text-decoration:underline; }

/* ======================================================================
   AI-citable content blocks — FAQ / data table / key stats.
   The content pipeline may emit these inside a post's HTML; they are styled
   purely from each archetype's design tokens (colour, radius, type voices), so
   they read as native in newsroom / magazine / knowledge / longread and follow
   the same light/dark token flips (the newsroom re-pins tokens for dark mode).
   ====================================================================== */
/* FAQ — accessible disclosure: visible summary, clear open state, keyboard focus. */
.pr-faq { margin:calc(var(--space)*1.5) 0; border-top:1px solid var(--border); }
.pr-faq__item { border-bottom:1px solid var(--border); }
.pr-faq__item > summary { cursor:pointer; list-style:none; display:block;
  position:relative; padding:1rem 2.2rem 1rem 0; font-family:var(--font-display);
  font-weight:700; font-size:1.08rem; line-height:1.35; color:var(--text); }
.pr-faq__item > summary::-webkit-details-marker { display:none; }
.pr-faq__item > summary::after { content:"+"; position:absolute; right:.2rem; top:.85rem;
  font-family:var(--font-text); font-weight:400; font-size:1.5rem; line-height:1;
  color:var(--accent); transition:transform .2s ease; }
.pr-faq__item[open] > summary::after { content:"\2212"; }
.pr-faq__item > summary:focus-visible { outline:2px solid var(--accent);
  outline-offset:2px; border-radius:calc(var(--radius)*.5); }
.pr-faq__a { padding:0 0 1.1rem; color:var(--muted); line-height:1.6; max-width:70ch; }
.pr-faq__a > *:first-child { margin-top:0; }
.pr-faq__a > *:last-child { margin-bottom:0; }

/* Data / comparison table — bordered, horizontally scrollable, tabular figures. */
.pr-data { margin:calc(var(--space)*1.5) 0; overflow-x:auto;
  border:1px solid var(--border); border-radius:var(--radius); }
.pr-data figcaption { padding:.8rem 1rem; font-family:var(--font-kicker);
  text-transform:uppercase; letter-spacing:.06em; font-size:.76rem; font-weight:600;
  color:var(--muted); background:var(--surface); border-bottom:1px solid var(--border); }
.pr-data table { border-collapse:collapse; width:100%; font-size:.96rem;
  font-variant-numeric:tabular-nums; }
.pr-data th, .pr-data td { padding:.6rem .9rem; text-align:left; vertical-align:top;
  border-bottom:1px solid var(--border); }
.pr-data thead th { font-family:var(--font-display); font-weight:700; color:var(--text);
  border-bottom:2px solid var(--border); }
.pr-data tbody tr:last-child td { border-bottom:0; }
.pr-data tbody tr:hover { background:var(--surface); }

/* Key-stats callout — a tidy row of figures. */
.pr-stats { list-style:none; margin:calc(var(--space)*1.5) 0; padding:0; display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:var(--space); }
.pr-stats li { border:1px solid var(--border); border-radius:var(--radius);
  padding:calc(var(--space)*.9) var(--space); background:var(--surface);
  color:var(--muted); font-size:.9rem; line-height:1.4; }
.pr-stats b { display:block; margin-bottom:.25rem; font-family:var(--font-display);
  font-weight:800; font-size:1.75rem; line-height:1.1; color:var(--accent);
  font-variant-numeric:tabular-nums; }

/* Footer */
.site-footer { background:var(--text); color:var(--bg); margin-top:calc(var(--space)*2.2);
  padding:calc(var(--space)*2) 0 var(--space); }
.footer-cols { display:grid; grid-template-columns:2fr 1fr 1fr; gap:calc(var(--space)*1.5);
  margin-bottom:calc(var(--space)*1.4); }
@media (max-width:700px) { .footer-cols { grid-template-columns:1fr; } }
.site-footer h3 { font-size:.9rem; text-transform:uppercase; letter-spacing:.06em;
  opacity:.7; margin:0 0 .8rem; }
.site-footer a { opacity:.85; } .site-footer a:hover { opacity:1; color:var(--accent); }
.site-footer ul { list-style:none; margin:0; padding:0; line-height:2; }
.footer__brand { font-family:var(--font-display); font-weight:800; font-size:1.4rem; }
.footer__copy { border-top:1px solid rgba(255,255,255,.15); padding-top:var(--space);
  opacity:.6; font-size:.82rem; }

/* --- Knowledge base archetype: search + category tiles --- */
.kb-hero { text-align:center; background:var(--surface); border-radius:calc(var(--radius)*1.3);
  padding:calc(var(--space)*2.2) var(--space); margin:var(--space) 0 calc(var(--space)*1.6); }
.kb-hero h1 { font-size:clamp(1.8rem,3.5vw,2.6rem); margin:0 0 .4rem; }
.kb-hero p { color:var(--muted); margin:0 auto var(--space); max-width:52ch; }
.kb-hero form { display:flex; gap:.5rem; justify-content:center; }
.kb-hero input { border:1px solid var(--border); border-radius:999px; padding:.7rem 1.1rem;
  font:inherit; min-width:min(420px,70vw); background:var(--bg); color:var(--text); }
.kb-cats { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space); }
@media (max-width:760px) { .kb-cats { grid-template-columns:repeat(2,1fr); } }
@media (max-width:460px) { .kb-cats { grid-template-columns:1fr; } }
.kb-cat { display:block; border:1px solid var(--border); border-radius:var(--radius);
  padding:calc(var(--space)*1.1); background:var(--bg); transition:border-color .2s,transform .2s; }
.kb-cat:hover { border-color:var(--accent); transform:translateY(-2px); }
.kb-cat__name { font-family:var(--font-display); font-weight:700; font-size:1.2rem; }
.kb-cat__count { color:var(--muted); font-size:.85rem; }

/* --- Long-read archetype: single column, essay-forward --- */
.lr-wrap { max-width:760px; margin:0 auto; }
.lr-lead { padding:calc(var(--space)*1.8) 0 var(--space); border-bottom:1px solid var(--border); }
.lr-lead__title { font-size:clamp(2.2rem,5vw,3.6rem); line-height:1.08; margin:.5rem 0;
  letter-spacing:-.02em; text-wrap:balance; }
.lr-lead__excerpt { font-size:1.2rem; color:var(--muted); line-height:1.6; }
.lr-list { list-style:none; margin:0; padding:0; }
.lr-item { padding:calc(var(--space)*1.3) 0; border-bottom:1px solid var(--border); }
.lr-item__title { font-size:1.7rem; line-height:1.2; margin:.2rem 0 .4rem; }
.lr-item__title a:hover { color:var(--accent); }
.lr-item__excerpt { color:var(--muted); margin:.2rem 0; }

/* ======================================================================
   MAGAZINE archetype (B) — "warm photo-led magazine"
   Photo-forward, restrained, no gimmicks. Colours come from the palette
   tokens (so every site differs); the warm-editorial feel is carried by
   structure, generous rhythm and the three-voice type system. Kickers use
   the condensed voice, headlines the serif, body the humanist sans.
   ====================================================================== */
.mag { padding-bottom:calc(var(--space)*2); }
.mag .kicker, .mag-kicker { font-family:var(--font-kicker); text-transform:uppercase;
  letter-spacing:.14em; font-size:.72rem; font-weight:600; color:var(--accent); }
.mag .pill { font-family:var(--font-kicker); }

/* Photo boxes: strict crops, hairline frame, warm neutral fill behind the
   image. When a post has no featured image the frame collapses (see guards). */
.mag-photo { display:block; overflow:hidden; background:var(--surface);
  border:1px solid var(--border); border-radius:var(--radius); }
.mag-photo img { width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .4s ease; }
a.mag-photo:hover img { transform:scale(1.03); }
.mag-photo:not(:has(img)) { display:none; }

/* --- Signature: photo-led lead. Image dominates; the headline sits in a
   SOLID ink bar directly BENEATH the photo — never overlaid on it. --- */
.mag-lead { margin:calc(var(--space)*1.6) 0 calc(var(--space)*1.2); }
.mag-lead__img { aspect-ratio:16/9; border-radius:0; border-bottom:0; }
@media (min-width:820px) {
  .mag-lead__img { aspect-ratio:auto; height:56vh; min-height:420px; max-height:640px; }
}
.mag-lead__bar { background:var(--text); color:var(--bg);
  padding:calc(var(--space)*1.2) calc(var(--space)*1.3) calc(var(--space)*1.3); }
.mag-lead__bar .pill { margin-bottom:.7rem; }
.mag-lead__title { font-family:var(--font-display); font-weight:700; color:var(--bg);
  font-size:clamp(1.8rem,4vw,3rem); line-height:1.12; letter-spacing:-.01em;
  margin:.2rem 0 0; max-width:24ch; overflow-wrap:break-word; }
.mag-lead__title a { color:inherit; }
.mag-lead__title a:hover { color:var(--accent); }
.mag-lead__foot { display:flex; flex-wrap:wrap; gap:.4rem 1.1rem; align-items:baseline;
  margin-top:calc(var(--space)*1.1); padding-top:.9rem;
  border-top:1px solid rgba(255,255,255,.18); }
.mag-lead__foot .meta { color:var(--bg); opacity:.75; }
.mag-lead__caption { color:var(--muted); font-size:.95rem; line-height:1.55;
  margin:.9rem 0 0; max-width:70ch; }

/* Section head: a ruled bar with a condensed label and an "Все →" affordance. */
.mag-sec { margin-top:calc(var(--space)*2.4); }
.mag-sec__head { display:flex; align-items:baseline; justify-content:space-between;
  gap:1rem; border-bottom:2px solid var(--text); padding-bottom:.6rem;
  margin-bottom:calc(var(--space)*1.3); }
.mag-sec__head h2 { font-family:var(--font-kicker); text-transform:uppercase;
  letter-spacing:.08em; font-weight:600; font-size:1.25rem; margin:0; color:var(--text); }
.mag-all { font-family:var(--font-kicker); text-transform:uppercase; letter-spacing:.08em;
  font-size:.8rem; font-weight:600; color:var(--accent); white-space:nowrap; }
.mag-all:hover { text-decoration:underline; text-underline-offset:3px; }

/* Story grid — strict 3:2 crops. */
.mag-grid { display:grid; grid-template-columns:repeat(3,1fr);
  gap:calc(var(--space)*1.6) calc(var(--space)*1.4); }
@media (max-width:820px) { .mag-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px) { .mag-grid { grid-template-columns:1fr; } }
.mag-card__img { aspect-ratio:3/2; }
.mag-card .pill { display:inline-block; margin:.85rem 0 .5rem; }
.mag-card__title { font-family:var(--font-display); font-weight:700; font-size:1.2rem;
  line-height:1.24; margin:0; overflow-wrap:break-word; }
.mag-card__title a:hover { color:var(--accent); }
.mag-card .meta { display:block; margin-top:.55rem; }

/* Topic rails: a lead story + two columns of headline-only items. */
.mag-rail { display:grid; grid-template-columns:1.5fr 1fr 1fr;
  gap:calc(var(--space)*1.5); }
@media (max-width:820px) { .mag-rail { grid-template-columns:1fr 1fr; } }
@media (max-width:520px) { .mag-rail { grid-template-columns:1fr; } }
.mag-rail__img { aspect-ratio:3/2; margin-bottom:.9rem; }
.mag-rail__lead h3 { font-family:var(--font-display); font-weight:700; font-size:1.5rem;
  line-height:1.18; margin:.5rem 0 0; overflow-wrap:break-word; }
.mag-rail__lead h3 a:hover { color:var(--accent); }
.mag-rail__dek { color:var(--muted); font-size:.98rem; line-height:1.55; margin:.7rem 0 0;
  max-width:52ch; }
.mag-rail__col { display:flex; flex-direction:column; gap:calc(var(--space)*1.1); }
.mag-rail__item { border-top:1px solid var(--border); padding-top:.9rem; }
.mag-rail__item h4 { font-family:var(--font-text); font-weight:600; font-size:1rem;
  line-height:1.3; margin:0; overflow-wrap:break-word; }
.mag-rail__item h4 a:hover { color:var(--accent); }
.mag-rail__item .meta { display:block; margin-top:.4rem; }

/* Популярное — a text-only ranked list, plus an optional English teaser aside. */
.mag-pop { display:grid; grid-template-columns:2fr 1fr;
  gap:calc(var(--space)*2.4); align-items:start; }
.mag-pop--solo { grid-template-columns:1fr; }
@media (max-width:820px) { .mag-pop { grid-template-columns:1fr;
  gap:calc(var(--space)*1.8); } }
.mag-poplist { list-style:none; margin:0; padding:0; }
.mag-poplist li { display:grid; grid-template-columns:auto 1fr; gap:1.1rem;
  align-items:baseline; padding:.95rem 0; border-top:1px solid var(--border); }
.mag-poplist li:first-child { border-top:0; padding-top:0; }
.mag-num { font-family:var(--font-kicker); font-weight:600; font-size:1.7rem;
  line-height:1; color:var(--accent); min-width:1.4em; }
.mag-poplist a { font-family:var(--font-display); font-weight:700; font-size:1.08rem;
  line-height:1.3; overflow-wrap:break-word; }
.mag-poplist a:hover { color:var(--accent); }
.mag-poplist .meta { display:block; margin-top:.35rem; }

/* English-edition teaser (only rendered when the site has a secondary language). */
.mag-eng__dek { color:var(--muted); font-size:.95rem; line-height:1.55; margin:.2rem 0 1rem; }
.mag-eng__link { font-family:var(--font-kicker); text-transform:uppercase; letter-spacing:.08em;
  font-weight:600; font-size:.85rem; color:var(--accent); }
.mag-eng__link:hover { text-decoration:underline; text-underline-offset:3px; }

/* Light magazine footer — paper canvas, hairline rule, muted text. */
.mag-foot { display:flex; flex-wrap:wrap; gap:1.4rem 2.4rem;
  justify-content:space-between; align-items:flex-start; }
.mag-foot__brand { font-family:var(--font-display); font-weight:800; font-size:1.35rem;
  letter-spacing:-.01em; color:var(--text); }
.mag-foot small { display:block; margin-top:.5rem; color:var(--muted); font-size:.85rem;
  max-width:44ch; line-height:1.5; }
.mag-foot__nav { display:flex; flex-wrap:wrap; gap:.7rem 1.3rem; list-style:none;
  margin:0; padding:0; }
.mag-foot__nav a { font-family:var(--font-kicker); text-transform:uppercase;
  letter-spacing:.08em; font-size:.78rem; color:var(--muted); }
.mag-foot__nav a:hover { color:var(--accent); }
.site-footer--light { background:var(--bg); color:var(--text);
  border-top:1px solid var(--border);
  padding:calc(var(--space)*2) 0 calc(var(--space)*1.6); margin-top:calc(var(--space)*2.2); }

/* Cookie consent bar */
.cookie-bar { position:fixed; left:0; right:0; bottom:0; z-index:50;
  background:var(--text); color:var(--bg); padding:.85rem var(--space);
  display:flex; gap:1rem; align-items:center; justify-content:center;
  flex-wrap:wrap; font-size:.9rem; box-shadow:0 -2px 16px rgba(0,0,0,.18); }
/* The class's display:flex would otherwise beat the [hidden] attribute, so the
   bar could never be dismissed (nor stay dismissed). This wins on specificity. */
.cookie-bar[hidden] { display:none; }
.cookie-bar a { color:var(--bg); text-decoration:underline; }
.cookie-bar .btn { padding:.4rem .95rem; }

/* Mobile */
@media (max-width:820px) {
  body { font-size:16px; }
  .site-header__bar { flex-wrap:wrap; gap:.6rem; }
  .brand { flex:1 1 auto; }
  .nav { order:3; flex-basis:100%; overflow-x:auto; }
  .nav ul { flex-wrap:nowrap; gap:1rem; padding-bottom:.2rem; }
  .header-actions { margin-left:auto; }
  .header-search input { width:120px; }
  .hero__title { font-size:1.9rem; }
  .article__title { font-size:2rem; }
  .article__body { font-size:1.05rem; }
}
@media (max-width:460px) {
  .header-search { display:none; }
  .hero__title { font-size:1.6rem; }
}


/* ---------- CORP: electric-blue-on-navy tokens (LIGHT, pinned) ---------- */
:root {
  --blue:#1D5BFF; --blue-wash:#E7EEFF; --navy:#0C1B33; --green:#12B981; --red:#EF4E64;
  --mc-ink2:#41506B; --mc-muted:#7A879C; --mc-tint:#F2F6FC; --mc-line:#E4EBF4;
  --bg:#FFFFFF; --text:#0C1B33; --muted:#7A879C; --border:#E4EBF4; --surface:#F2F6FC;
  --accent:#1D5BFF; --accent-contrast:#FFFFFF; --maxw:1200px;
}
:root[data-theme="light"] {
  --bg:#FFFFFF; --text:#0C1B33; --muted:#7A879C; --border:#E4EBF4; --surface:#F2F6FC;
  --accent:#1D5BFF; --accent-contrast:#FFFFFF;
}
body { color:var(--text); font-size:16px; }
h1,h2,h3,h4 { letter-spacing:-.01em; }
:focus-visible { outline:2px solid var(--blue); outline-offset:3px; border-radius:6px; }
.mc-ic { width:1em; height:1em; display:inline-block; }
.mc-num { font-family:var(--font-kicker); font-variant-numeric:tabular-nums; }
.mc-up { color:var(--green); } .mc-dn { color:var(--red); }
.mc-eyebrow { font-family:var(--font-kicker); font-weight:600; font-size:12.5px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--blue); display:inline-block; }

/* ---------- CORP: shared chrome restyle — navy topbar + sticky white header ---------- */
.mc-topbar { background:var(--navy); color:#C3D0E6; font-size:12.5px; }
.mc-topbar__row { display:flex; justify-content:space-between; align-items:center;
  gap:1rem; padding:9px 0; font-family:var(--font-kicker); flex-wrap:wrap; }
.mc-open { display:inline-flex; align-items:center; gap:8px; }
.mc-chk { color:var(--green); display:inline-flex; font-size:15px; }
/* Live world-markets running line */
.mc-ticker { overflow:hidden; }
.mc-ticker__track { display:inline-flex; align-items:center; white-space:nowrap; padding:9px 0;
  will-change:transform; animation:mc-scroll 60s linear infinite; }
.mc-ticker:hover .mc-ticker__track { animation-play-state:paused; }
.mc-tk__item { display:inline-flex; align-items:center; gap:6px; padding:0 18px;
  font-family:var(--font-kicker); }
.mc-tk__dot { width:7px; height:7px; border-radius:50%; flex:0 0 auto; }
.mc-tk__dot.is-open { background:var(--green); box-shadow:0 0 0 3px rgba(22,199,132,.16); }
.mc-tk__dot.is-closed { background:#EA3943; }
.mc-tk__city { color:#fff; font-weight:600; }
.mc-tk__time { color:#C3D0E6; opacity:.85; font-variant-numeric:tabular-nums; }
.mc-tk__st { text-transform:uppercase; font-size:.82em; letter-spacing:.03em; }
.mc-tk__st.is-open { color:var(--green); }
.mc-tk__st.is-closed { color:#EA3943; opacity:.9; }
@keyframes mc-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .mc-ticker { overflow-x:auto; }
  .mc-ticker__track { animation:none; }
}
.mc-topbar__meta { color:#C3D0E6; opacity:.9; }

.site-header { position:sticky; top:0; z-index:30; background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px); border-top:0; border-bottom:1px solid var(--border); }
.brand__logo { background:var(--blue); color:#fff; border-radius:9px;
  font-family:var(--font-display); font-weight:800;
  box-shadow:0 8px 18px -8px var(--blue); }
.brand__name { font-family:var(--font-display); font-weight:800; letter-spacing:-.02em;
  text-transform:none; color:var(--navy); }
.nav a { font-family:var(--font-display); font-weight:600; font-size:15px; color:var(--mc-ink2); }
.nav a:hover { color:var(--blue); }
.header-search input { border-radius:10px; background:var(--surface); border-color:var(--border); }
.lang-switch { border:1px solid var(--border); border-radius:9px; overflow:hidden;
  font-family:var(--font-kicker); font-size:12px; gap:0; }
.lang-switch__opt { color:var(--mc-muted); padding:7px 11px; border-radius:0; }
.lang-switch__opt:hover { color:var(--blue); }
.lang-switch__opt.is-active { background:var(--navy); color:#fff; }

/* ---------- CORP: buttons ---------- */
.mc-btn { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-display);
  font-weight:700; font-size:14.5px; background:var(--blue); color:#fff; padding:13px 22px;
  border-radius:11px; box-shadow:0 14px 26px -14px var(--blue); transition:transform .15s; }
.mc-btn:hover { transform:translateY(-2px); color:#fff; }
.mc-btn--ghost { background:#fff; color:var(--navy); border:1px solid var(--border); box-shadow:none; }
.mc-btn--ghost:hover { color:var(--navy); border-color:#D3E0F5; }

/* ---------- CORP: section shell ---------- */
.sec { padding:64px 0; }
.mc-featured-sec { background:var(--mc-tint); }
.mc-sechead { max-width:640px; margin:0 auto 40px; text-align:center; }
.mc-sechead h2 { font-weight:800; font-size:clamp(28px,3.4vw,40px); margin:12px 0 0; color:var(--navy); }

/* ---------- CORP: split hero + floating quote card ---------- */
.mc-hero { background:linear-gradient(180deg,var(--mc-tint),#fff); border-bottom:1px solid var(--border); }
.mc-hero__grid { display:grid; grid-template-columns:1.05fr .95fr; gap:50px;
  padding-top:56px; padding-bottom:60px; align-items:center; }
.mc-hero__body h1 { font-family:var(--font-display); font-weight:800;
  font-size:clamp(36px,4.6vw,56px); line-height:1.06; margin:.35rem 0 0; color:var(--navy); }
.mc-hero__body h1 a { color:var(--navy); }
.mc-hero__body h1 a:hover { color:var(--blue); }
.mc-hero__dek { color:var(--mc-ink2); font-size:19px; line-height:1.55; margin:18px 0 26px; max-width:46ch; }
.mc-hero__cta { display:flex; gap:12px; flex-wrap:wrap; }
.mc-hero__trust { display:flex; gap:26px; margin-top:30px; flex-wrap:wrap; }
.mc-trust b { font-family:var(--font-display); font-weight:800; font-size:24px; display:block; color:var(--navy); }
.mc-trust span { font-size:13px; color:var(--mc-muted); }
.mc-hero__media { position:relative; }
.mc-hero__photo { display:block; border-radius:20px; overflow:hidden;
  box-shadow:0 40px 80px -40px rgba(12,27,51,.5); background:var(--surface); }
.mc-hero__photo img { width:100%; height:440px; object-fit:cover; display:block; }
.mc-hero__photo:not(:has(img)) { display:none; }
.mc-floatcard { position:absolute; left:-26px; bottom:-24px; background:#fff;
  border:1px solid var(--border); border-radius:16px; padding:16px 18px;
  box-shadow:0 30px 50px -30px rgba(12,27,51,.4); width:250px; }
.mc-floatcard__h { display:flex; justify-content:space-between; align-items:center;
  font-family:var(--font-display); font-weight:700; font-size:13px; }
.mc-pill { font-family:var(--font-kicker); font-size:11px; padding:3px 8px; border-radius:20px;
  background:rgba(18,185,129,.12); color:var(--green); }
.mc-floatcard__big { font-family:var(--font-display); font-weight:800; font-size:26px;
  margin:8px 0 2px; color:var(--navy); }
.mc-floatcard__sub { font-family:var(--font-kicker); font-size:12px; color:var(--mc-muted); }
.mc-spark { width:100%; height:46px; margin-top:6px; display:block; }

/* ---------- CORP: navy stats bar ---------- */
.mc-stats { background:var(--navy); color:#fff; }
.mc-stats__row { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:28px 0; }
.mc-stat b { font-family:var(--font-display); font-weight:800; font-size:30px; display:block; color:#fff; }
.mc-stat b em { color:#6E9BFF; font-style:normal; }
.mc-stat span { font-size:13.5px; color:#9DB0CE; }

/* ---------- CORP: "What we cover" desk cards + SVG-icon wells ---------- */
.mc-desk-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.mc-desk { display:block; background:#fff; border:1px solid var(--border); border-radius:16px;
  padding:26px; transition:transform .15s,box-shadow .15s,border-color .15s; }
.mc-desk:hover { transform:translateY(-4px); box-shadow:0 30px 50px -34px rgba(12,27,51,.35);
  border-color:#D3E0F5; }
.mc-desk__ic { width:54px; height:54px; border-radius:14px; background:var(--blue-wash);
  color:var(--blue); display:grid; place-items:center; margin-bottom:18px; }
.mc-desk__ic .mc-ic { width:26px; height:26px; }
.mc-desk h3 { font-family:var(--font-display); font-weight:700; font-size:19px; color:var(--navy); }
.mc-desk p { color:var(--mc-muted); font-size:14.5px; line-height:1.5; margin:8px 0 14px; }
.mc-desk__go { font-family:var(--font-display); font-weight:700; font-size:13.5px; color:var(--blue); }

/* ---------- CORP: featured photo cards (real images + empty-image guard) ---------- */
.mc-feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.mc-acard { background:#fff; border:1px solid var(--border); border-radius:16px; overflow:hidden;
  transition:transform .15s,box-shadow .15s; }
.mc-acard:hover { transform:translateY(-4px); box-shadow:0 30px 54px -34px rgba(12,27,51,.4); }
.mc-acard__img { display:block; width:100%; height:200px; background:var(--surface); overflow:hidden; }
.mc-acard__img img { width:100%; height:200px; object-fit:cover; display:block; }
.mc-acard__img:not(:has(img)) { display:none; }
.mc-acard__b { padding:20px; }
.mc-acard__tag { font-family:var(--font-display); font-weight:700; font-size:11.5px;
  letter-spacing:.04em; text-transform:uppercase; color:var(--blue); }
.mc-acard h3 { font-family:var(--font-display); font-weight:700; font-size:20px;
  margin:10px 0 10px; line-height:1.22; color:var(--navy); }
.mc-acard h3 a { color:var(--navy); }
.mc-acard h3 a:hover { color:var(--blue); }
.mc-acard__m { font-family:var(--font-kicker); font-size:12px; color:var(--mc-muted); }

/* ---------- CORP: navy "Powered by TradingView" markets band ---------- */
.mc-markets { background:var(--navy); color:#fff; border-radius:24px; padding:36px;
  display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:center; }
.mc-markets h2 { color:#fff; font-weight:800; font-size:32px; margin:12px 0 12px; }
.mc-eyebrow--onnavy { color:#7FA8FF; }
.mc-markets p { color:#AEBEDA; font-size:16px; line-height:1.55; margin-bottom:20px; }
.mc-mboard { background:#0A1730; border:1px solid #1E3255; border-radius:16px; overflow:hidden; }
.mc-mrow { display:grid; grid-template-columns:1fr auto auto; gap:16px; padding:14px 18px;
  border-bottom:1px solid #16294A; font-family:var(--font-kicker); font-size:14px; align-items:center; }
.mc-mrow:last-child { border-bottom:0; }
.mc-mrow__a { font-family:var(--font-display); font-weight:700; color:#fff; }
.mc-mrow__a small { font-family:var(--font-kicker); color:#7A8BAA; font-weight:400; margin-left:7px; }

/* ---------- CORP: English teaser (only when bilingual) ---------- */
.mc-english { background:var(--navy); color:#fff; border-radius:24px; padding:36px 40px;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.mc-english h2 { color:#fff; font-weight:800; font-size:26px; margin:8px 0 0; }
.mc-english .mc-eyebrow { color:#7FA8FF; }

/* ---------- CORP: navy footer (repaints the light-footer markup) ---------- */
.site-footer--light { background:var(--navy); color:#9DB0CE; border-top:0;
  margin-top:0; padding:52px 0 40px; }
.site-footer--light .mag-foot__brand { color:#fff; font-family:var(--font-display);
  font-weight:800; text-transform:none; }
.site-footer--light .mag-foot small { color:#9DB0CE; }
.site-footer--light .mag-foot__nav a { color:#9DB0CE; font-family:var(--font-text);
  text-transform:none; letter-spacing:0; font-size:14px; }
.site-footer--light .mag-foot__nav a:hover { color:#fff; }

/* ---------- CORP: official TradingView embed widgets ---------- */
/* Each widget is given a reserved height so the async TradingView script does
   not cause layout shift when it swaps in its iframe. The scripts manage their
   own motion, so no prefers-reduced-motion handling is needed here. */
.mc-tvtape { background:#fff; border-bottom:1px solid var(--border); }
.mc-tvtape .tradingview-widget-container { min-height:52px; }
.mc-overview-sec { background:var(--mc-tint); }
.mc-tvoverview { min-height:460px; background:#fff; border:1px solid var(--border);
  border-radius:16px; overflow:hidden; }
.mc-tvoverview .tradingview-widget-container,
.mc-tvoverview .tradingview-widget-container__widget { height:460px; }
.mc-tvchart { min-height:360px; margin-bottom:14px; border-radius:12px; overflow:hidden;
  background:#fff; }
.mc-tvchart .tradingview-widget-container,
.mc-tvchart .tradingview-widget-container__widget { height:360px; }
.mc-markets .tradingview-widget-copyright { font-family:var(--font-kicker); font-size:11px; }
.mc-markets .tradingview-widget-copyright a { color:#7A8BAA; }

/* ---------- CORP: responsive ---------- */
@media (max-width:960px) {
  .mc-hero__grid, .mc-markets, .mc-english { grid-template-columns:1fr; }
  .mc-desk-grid, .mc-feat-grid, .mc-stats__row { grid-template-columns:1fr 1fr; }
  .mc-floatcard { left:auto; right:16px; }
}
@media (max-width:560px) {
  .mc-desk-grid, .mc-feat-grid, .mc-stats__row { grid-template-columns:1fr; }
  .mc-hero__photo img { height:300px; }
}
