/* ICN base styles — plní se v Task 6+. */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }

/* ---- Base ---- */
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--accent); text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 { font-family: var(--font-heading); line-height: 1.15; margin: 0 0 .5em; }
.icn-mono { font-family: var(--font-mono); }

/* ---- Layout ---- */
.icn-container { max-width: 1180px; margin-inline: auto; padding-inline: 24px; }
.icn-container--narrow { max-width: 780px; }

/* ---- Buttons ---- */
.icn-btn {
  display: inline-block; font-weight: 600; font-size: 14px;
  padding: 9px 16px; border-radius: var(--radius);
  background: var(--accent); color: var(--on-accent);
}
.icn-btn--ghost { background: transparent; color: var(--accent); border: 1px solid var(--accent); }

/* ---- Gradient placeholder (když článek nemá featured image) ---- */
.icn-ph {
  border-radius: var(--radius);
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--accent) 22%, var(--surface)),
    var(--surface));
  border: 1px solid var(--border);
}

/* ---- Cards ---- */
.icn-card {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius); overflow: hidden;
}

/* ---- Featured images (fallback = decorative hero-viz) ---- */
.icn-featimg { display:block; width:100%; height:auto; border-radius: var(--radius); }

/* ---- Responsive base ---- */
@media (max-width: 768px) {
  .icn-container { padding-inline: 16px; }
}

/* Ticker */
.icn-ticker { display:flex; gap:30px; overflow:hidden; white-space:nowrap;
  background: color-mix(in srgb, var(--bg) 85%, #000); border-bottom:1px solid var(--border);
  padding:9px 24px; font-size:12.5px; }
.icn-ticker span span.up { color: var(--positive); }
.icn-ticker span span.down { color: var(--negative); }
.icn-ticker > span { color: var(--muted); }

/* Header */
.icn-header { border-bottom:1px solid var(--border); background: var(--bg); position:relative; }
.icn-header__inner { display:flex; align-items:center; justify-content:space-between; padding-block:16px; }
.icn-logo { display:flex; align-items:center; gap:11px; font-family:var(--font-heading); font-weight:700; font-size:17px; color:var(--text); }
.icn-nav__list { display:flex; gap:26px; list-style:none; margin:0; padding:0; font-size:13.5px; color:var(--muted); }
.icn-nav__list a { color: inherit; }
.icn-header__cta { display:flex; align-items:center; gap:12px; }
.icn-hamburger { display:none; flex-direction:column; gap:4px; background:none; border:0; cursor:pointer; }
.icn-hamburger span { width:20px; height:2px; background: var(--muted); }
.icn-footer { border-top:1px solid var(--border); }
.icn-footer__inner { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding-block:22px; font-size:11.5px; color:var(--muted); }

@media (max-width:768px){
  .icn-nav { position:absolute; left:0; right:0; top:100%; display:none; background:var(--surface); border-bottom:1px solid var(--border); z-index:20; }
  .icn-nav__list { flex-direction:column; padding:16px 24px; }
  body.icn-nav-open .icn-nav { display:block; }
  .icn-hamburger { display:flex; }
  /* PBH forces white nav text for its dark header; keep the mobile panel dark so it stays readable. */
  body.icn-site-portfoliobalancehub .icn-nav { background:var(--text); border-bottom-color:transparent; }
}

/* ---- Homepage ---- */
.icn-home { padding-block: 34px 44px; }
.icn-home__grid { display:grid; grid-template-columns: 1fr 300px; gap:34px; }
.icn-featured { display:grid; grid-template-columns:1.15fr 1fr; gap:24px; padding-bottom:30px; border-bottom:1px solid var(--border); margin-bottom:30px; }
.icn-eyebrow { color: var(--accent); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.icn-featured__title { font-size:30px; letter-spacing:-.02em; margin:12px 0; }
.icn-featured__title a { color: var(--text); }
.icn-featured__excerpt { color: var(--muted); font-size:14.5px; }
.icn-featured__meta { color: var(--muted); font-size:12px; }
.icn-viz { padding:18px; min-height:150px; display:flex; align-items:center; }
.icn-viz--donut { justify-content:center; }
.icn-donut { width:120px; height:120px; }
.icn-home__latesthead { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.icn-cardgrid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.icn-acard__media { display:block; }
.icn-acard__ph { display:block; height:120px; }
.icn-acard__img { display:block; width:100%; height:120px; object-fit:cover; }
.icn-acard__body { padding:14px 16px 16px; }
.icn-acard__cat { color: var(--accent); font-size:11px; }
.icn-acard__title { font-size:16px; margin:8px 0; }
.icn-acard__title a { color: var(--text); }
.icn-acard__excerpt { color: var(--muted); font-size:13px; margin:0; }
.icn-empty { grid-column:1 / -1; color:var(--muted); font-size:14px; padding:24px 0; margin:0; }
.icn-trending, .icn-news { padding:18px; margin-bottom:20px; }
.icn-trending__head { color: var(--muted); font-size:11px; letter-spacing:.1em; text-transform:uppercase; margin-bottom:14px; }
.icn-trending__row { display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--border); font-size:13px; }
.icn-trending__row .up { color:var(--positive); } .icn-trending__row .down { color:var(--negative); }
.icn-news__title { font-family:var(--font-heading); font-weight:600; font-size:16px; margin-bottom:8px; }
.icn-news__field { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); padding:10px 12px; color:var(--muted); font-size:12.5px; margin:10px 0; }
.icn-news__btn { display:block; text-align:center; }

/* Newsletter capture form */
.icn-news__form { display:flex; flex-direction:column; gap:10px; margin-top:10px; }
.icn-news__form input, .icn-news__form button { font-family:inherit; }
.icn-news__form .icn-news__field { width:100%; margin:0; color:var(--text); }
.icn-news__form .icn-news__btn { border:0; cursor:pointer; }
.icn-hp { position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.icn-news__msg { font-size:12.5px; margin-top:10px; }
.icn-news__msg:empty { margin:0; }
.icn-news__msg--ok { color:var(--positive); }
.icn-news__msg--err { color:var(--negative); }
.icn-hp { position:absolute !important; left:-9999px !important; top:auto; width:1px; height:1px; opacity:0; overflow:hidden; pointer-events:none; }

/* Lead modal (popup) */
body.icn-modal-open { overflow:hidden; }
.icn-modal { position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:20px; }
.icn-modal[hidden] { display:none; }
.icn-modal__overlay { position:absolute; inset:0; background:rgba(0,0,0,.55); }
.icn-modal__card { position:relative; z-index:1; width:100%; max-width:420px; padding:28px 26px; max-height:92vh; overflow:auto; }
.icn-modal__close { position:absolute; top:8px; right:14px; background:none; border:0; font-size:26px; line-height:1; color:var(--muted); cursor:pointer; }
.icn-modal__sub { margin:6px 0 16px; color:var(--muted); font-size:14px; }
.icn-lead-form { display:flex; flex-direction:column; gap:10px; }
.icn-lead-row { display:flex; gap:10px; }
.icn-lead-row input { flex:1; min-width:0; }
.icn-lead-form input[type="text"], .icn-lead-form input[type="email"], .icn-lead-form input[type="tel"] {
  width:100%; padding:11px 13px; border:1px solid var(--border); border-radius:10px;
  background:var(--bg); color:var(--text); font:inherit;
}
.icn-lead-form input::placeholder { color:var(--muted); }
.icn-consent { display:flex; gap:9px; align-items:flex-start; font-size:12.5px; color:var(--muted); line-height:1.4; cursor:pointer; }
.icn-consent input { margin-top:2px; flex:0 0 auto; }
.icn-lead-form__btn { margin-top:4px; }

/* ================= Editorial layout (MoneyCompass v3) ================= */
body.icn-editorial { background:#fff; color:var(--text); font-family:var(--font-body); }
.icn-editorial .icn-container { max-width:1200px; margin:0 auto; padding-left:40px; padding-right:40px; }
.icn-editorial .icn-eyebrow { font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.08em; color:var(--accent); text-transform:uppercase; display:inline-block; }
.icn-editorial .icn-main { padding:0; }

/* masthead */
.icn-mast { border-bottom:2px solid var(--ink); }
.icn-mast__top { display:flex; align-items:center; justify-content:space-between; padding-top:14px; padding-bottom:12px; }
.icn-mast__date { font-family:var(--font-body); font-weight:500; font-size:12px; color:#8a90a0; flex:1; }
.icn-mast__logo { display:flex; align-items:center; gap:9px; }
.icn-mast__mark { width:26px; height:26px; border-radius:5px; background:var(--ink); display:flex; align-items:center; justify-content:center; font-family:var(--font-heading); font-weight:600; font-size:15px; color:var(--accent); }
.icn-mast__word { font-family:var(--font-heading); font-weight:700; font-size:24px; color:var(--ink); letter-spacing:-.01em; }
.icn-mast__right { display:flex; align-items:center; gap:12px; flex:1; justify-content:flex-end; }
.icn-mast__sub { font-family:var(--font-body); font-weight:600; font-size:12.5px; color:var(--navy); background:none; border:1px solid #c8cdd6; padding:7px 15px; border-radius:5px; cursor:pointer; }
.icn-mast__sub:hover { border-color:var(--ink); color:var(--ink); }
.icn-mast__nav { display:flex; justify-content:center; gap:34px; padding-top:11px; padding-bottom:11px; border-top:1px solid var(--border); font-family:var(--font-body); font-weight:600; font-size:13.5px; text-transform:uppercase; letter-spacing:.04em; }
.icn-mast__nav a { color:#3a4353; }
.icn-mast__nav a:hover { color:var(--ink); }
.icn-mast__nav a:last-child { color:var(--accent); }
.icn-mast__burger { display:none; flex-direction:column; gap:4px; background:none; border:0; cursor:pointer; padding:4px; }
.icn-mast__burger span { display:block; width:18px; height:2px; background:#4a5262; }

/* lead feature */
.icn-ed__lead { display:grid; grid-template-columns:1.5fr 1fr; gap:0; border-bottom:1px solid var(--border); }
.icn-ed__feature { padding:40px 36px 44px 0; border-right:1px solid var(--border); }
.icn-ed__side { padding:40px 0 44px 36px; }
.icn-ed__headline { font-family:var(--font-heading); font-weight:600; font-size:44px; line-height:1.08; color:var(--ink); margin:14px 0 16px; letter-spacing:-.02em; }
.icn-ed__headline a { color:var(--ink); }
.icn-ed__headline a:hover { color:var(--navy); }
.icn-ed__deck { font-size:17px; line-height:1.6; color:#4a5262; margin:0 0 18px; max-width:560px; }
.icn-ed__byline { display:flex; gap:14px; font-family:var(--font-body); font-size:13px; color:#8a90a0; align-items:center; }
.icn-ed__author { font-weight:600; color:var(--navy); }
.icn-ed__chart { margin-top:26px; border:1px solid var(--border); border-radius:8px; padding:18px 20px; }
.icn-ed__chart-head { display:flex; justify-content:space-between; font-family:var(--font-body); font-size:11.5px; color:#8a90a0; text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px; }
.icn-ed__pos { color:var(--positive); }
.icn-ed__spark { width:100%; height:110px; display:block; }

/* sidebar */
.icn-ed__side-head { font-family:var(--font-body); font-weight:700; font-size:12px; letter-spacing:.1em; color:var(--ink); text-transform:uppercase; border-bottom:2px solid var(--accent); padding-bottom:10px; margin-bottom:6px; }
.icn-ed__item { display:block; padding:18px 0; border-bottom:1px solid var(--border); }
.icn-ed__item:last-child { border-bottom:0; }
.icn-ed__item h4 { font-family:var(--font-heading); font-weight:600; font-size:18px; line-height:1.22; color:var(--ink); margin:6px 0 0; }
.icn-ed__item:hover h4 { color:var(--navy); }

/* fundamentals */
.icn-ed__fund { padding-top:36px; padding-bottom:40px; }
.icn-ed__fund-head { display:flex; align-items:baseline; justify-content:space-between; border-bottom:1px solid var(--border); padding-bottom:12px; margin-bottom:22px; }
.icn-ed__fund-head h3 { font-family:var(--font-heading); font-weight:600; font-size:24px; color:var(--ink); margin:0; }
.icn-ed__fund-head a { font-family:var(--font-body); font-weight:600; font-size:13px; color:var(--navy); }
.icn-ed__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.icn-ed__card { display:block; }
.icn-ed__ph, .icn-ed__card-img { display:block; height:150px; width:100%; object-fit:cover; background:#eef0f3; border:1px solid var(--border); border-radius:6px; margin-bottom:14px; }
.icn-ed__card h4 { font-family:var(--font-heading); font-weight:600; font-size:19px; line-height:1.22; color:var(--ink); margin:7px 0; }
.icn-ed__card:hover h4 { color:var(--navy); }
.icn-ed__card p { font-size:14px; line-height:1.55; color:var(--muted); margin:0; }

/* newsletter band */
.icn-ed__news { background:var(--ink); }
.icn-ed__news-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; padding-top:38px; padding-bottom:38px; }
.icn-ed__news-copy { max-width:540px; }
.icn-ed__news-copy h3 { font-family:var(--font-heading); font-weight:600; font-size:26px; color:#fff; margin:0 0 6px; }
.icn-ed__news-copy p { font-size:14.5px; line-height:1.55; color:#a9b2c1; margin:0; }
.icn-ed__news-btn { background:var(--accent); color:var(--ink); font-family:var(--font-body); font-weight:600; font-size:14px; padding:11px 22px; border-radius:5px; border:0; cursor:pointer; }
.icn-ed__news-btn:hover { filter:brightness(.94); }

/* footer in editorial */
.icn-editorial .icn-footer { border-top:1px solid var(--border); background:#fff; }
.icn-editorial .icn-footer__inner { padding-top:22px; padding-bottom:22px; }
.icn-editorial .icn-footer, .icn-editorial .icn-footer__disc { color:#9aa0ac; font-size:12px; }

/* responsive */
@media (max-width:768px){
  .icn-editorial .icn-container { padding-left:16px; padding-right:16px; }
  .icn-mast__date { display:none; }
  .icn-mast__sub { display:none; }
  .icn-mast__burger { display:flex; }
  .icn-mast__right { flex:0 0 auto; }
  .icn-mast__nav { display:none; flex-direction:column; align-items:flex-start; gap:0; }
  body.icn-nav-open .icn-mast__nav { display:flex; }
  .icn-mast__nav a { padding:12px 0; width:100%; border-bottom:1px solid var(--border); }
  .icn-mast__nav a:last-child { border-bottom:0; }
  .icn-ed__lead { grid-template-columns:1fr; }
  .icn-ed__feature { padding:22px 0 24px; border-right:0; border-bottom:1px solid var(--border); }
  .icn-ed__side { padding:20px 0 8px; }
  .icn-ed__headline { font-size:30px; }
  .icn-ed__grid { grid-template-columns:1fr; }
  .icn-ed__news-inner { flex-direction:column; align-items:flex-start; }
}

/* editorial article */
.icn-editorial .icn-article__head { max-width:720px; padding-top:52px; }
.icn-editorial .icn-article__title { font-family:var(--font-heading); font-weight:600; font-size:46px; line-height:1.08; color:var(--ink); letter-spacing:-.02em; margin:14px 0 18px; }
.icn-editorial .icn-article__lead { font-size:19px; line-height:1.55; color:#4a5262; margin:0 0 24px; }
.icn-editorial .icn-byline { display:flex; align-items:center; gap:12px; padding-bottom:26px; border-bottom:1px solid var(--border); }
.icn-editorial .icn-byline__avatar { width:42px; height:42px; border-radius:50%; background:var(--ink); display:block; flex:0 0 auto; }
.icn-editorial .icn-byline__author { font-family:var(--font-body); font-weight:600; font-size:14px; color:var(--ink); }
.icn-editorial .icn-byline__meta { font-family:var(--font-body); font-weight:500; font-size:12.5px; color:#8a90a0; text-transform:none; }
.icn-editorial .icn-article__media { max-width:720px; margin-top:26px; margin-bottom:26px; }
.icn-editorial .icn-article__media .icn-featimg { border:1px solid var(--border); border-radius:8px; width:100%; height:auto; }
.icn-editorial .icn-article__ph { height:320px; background:#eef0f3; border:1px solid var(--border); border-radius:8px; }
.icn-editorial .icn-article__body { max-width:680px; padding-bottom:52px; }
.icn-editorial .icn-prose { font-size:18px; line-height:1.8; color:#33404f; }
.icn-editorial .icn-prose > p:first-of-type::first-letter { font-family:var(--font-heading); font-weight:600; font-size:52px; line-height:.8; float:left; color:var(--ink); padding:6px 12px 0 0; }
.icn-editorial .icn-prose h2 { font-family:var(--font-heading); font-weight:600; font-size:29px; color:var(--ink); margin:38px 0 14px; letter-spacing:-.01em; }
.icn-editorial .icn-prose h3 { font-family:var(--font-heading); font-weight:600; color:var(--ink); }
.icn-editorial .icn-prose blockquote { border-left:3px solid var(--accent); padding:2px 0 2px 22px; margin:28px 0; }
.icn-editorial .icn-prose blockquote p { font-family:var(--font-heading); font-weight:500; font-size:23px; line-height:1.4; color:var(--ink); margin:0; }
.icn-editorial .icn-disclaimer { border-top:1px solid var(--border); margin-top:34px; padding-top:18px; font-size:12.5px; line-height:1.6; color:#9aa0ac; }

@media (max-width:768px){
  .icn-editorial .icn-article__head { padding-top:22px; }
  .icn-editorial .icn-article__title { font-size:29px; }
  .icn-editorial .icn-prose { font-size:16px; line-height:1.75; }
  .icn-editorial .icn-prose h2 { font-size:21px; }
  .icn-editorial .icn-article__ph { height:170px; }
}

@media (max-width:768px){
  .icn-home__grid { grid-template-columns:1fr; }
  .icn-featured { grid-template-columns:1fr; }
  .icn-cardgrid { grid-template-columns:1fr; }
  .icn-featured__title { font-size:22px; }
}

.icn-article__head { padding-top:48px; }
.icn-article__title { font-size:42px; letter-spacing:-.025em; line-height:1.1; margin:8px 0 16px; }
.icn-article__lead { font-size:18px; color:var(--muted); }
.icn-byline { display:flex; align-items:center; gap:12px; padding:16px 0 28px; border-bottom:1px solid var(--border); }
.icn-byline__avatar { width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--surface)); display:block; }
.icn-byline__author { font-size:14px; font-weight:600; }
.icn-byline__meta { color:var(--muted); font-size:11.5px; }
.icn-article__media { margin:28px auto; }
.icn-article__ph { height:300px; }
.icn-prose { font-size:17px; line-height:1.75; color:var(--text); padding-bottom:48px; }
.icn-prose p { margin:0 0 22px; }
.icn-prose h2 { font-size:25px; margin:38px 0 14px; }
.icn-prose a { color:var(--accent); text-decoration:underline; }
.icn-prose ul, .icn-prose ol { margin:0 0 22px; padding-left:20px; }
.icn-prose blockquote { margin:26px 0; padding-left:22px; border-left:3px solid var(--accent); font-family:var(--font-heading); font-size:20px; line-height:1.4; }
/* tabulka */
.icn-prose table { width:100%; border-collapse:collapse; font-family:var(--font-mono); font-size:13px; margin:26px 0; }
.icn-prose th, .icn-prose td { padding:11px 18px; border-top:1px solid var(--border); text-align:right; }
.icn-prose th:first-child, .icn-prose td:first-child { text-align:left; }
.icn-datatable { border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
/* disclaimer */
.icn-disclaimer { margin-top:36px; background:color-mix(in srgb,var(--bg) 85%,#000); border:1px solid var(--border); border-radius:var(--radius); padding:16px 20px; font-size:12px; color:var(--muted); }
@media (max-width:768px){ .icn-article__title { font-size:26px; } .icn-prose { font-size:15px; } }

.icn-box { border-radius: var(--radius); padding: 20px 24px; margin: 28px 0; }
.icn-box h4 { margin:0 0 12px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.icn-box ul { margin:0; padding-left:18px; line-height:1.75; }
/* TL;DR — surface s akcentním levým okrajem */
.icn-box--tldr { background: var(--surface); border:1px solid var(--border); border-left:3px solid var(--accent); }
.icn-box--tldr h4 { color: var(--accent); }
/* Quick tip — jemné akcentní pozadí */
.icn-box--quick-tip { background: color-mix(in srgb, var(--accent) 12%, var(--bg)); display:flex; gap:16px; }
.icn-box--quick-tip h4 { color: var(--accent); }
/* Key takeaway — přerušovaný rámeček v akcentní barvě */
.icn-box--key-takeaway { background: color-mix(in srgb, var(--accent) 8%, var(--bg)); border:1px dashed var(--accent); }
.icn-box--key-takeaway h4 { color: var(--accent); }
/* Why this matters — invertovaný tmavý panel s akcentním okrajem */
.icn-box--why { background: var(--text); color: var(--bg); border-left:4px solid var(--accent); }
.icn-box--why h4 { color: var(--accent); }

.icn-list { padding-block:40px; }
.icn-list__head h1 { font-size:28px; margin-bottom:24px; }
.icn-search { display:flex; gap:8px; justify-content:center; margin:20px 0; }
.icn-search input { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:10px 12px; color:var(--text); }
.pagination, .nav-links { display:flex; gap:8px; justify-content:center; margin-top:32px; }

/* Guide hero */
.icn-hero-guide { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center; padding-block:36px 48px; }
.icn-hero-guide__title { font-size:44px; line-height:1.08; letter-spacing:-.02em; margin:14px 0 18px; }
.icn-hero-guide__sub { font-size:18px; color:var(--muted); margin:0 0 26px; }
.icn-hero-guide__viz { padding:26px; }

/* Category / asset-class karty */
.icn-cats { padding-block: 8px 32px; }
.icn-cats__grid { display:grid; gap:18px; }
.icn-cats--cards .icn-cats__grid { grid-template-columns:repeat(4,1fr); }
.icn-cats--asset_class .icn-cats__grid { grid-template-columns:repeat(5,1fr); }
.icn-cat { display:block; padding:22px; color:var(--text); }
.icn-cat__icon { display:flex; width:46px; height:46px; align-items:center; justify-content:center; border-radius:12px; background:color-mix(in srgb,var(--accent) 12%,var(--bg)); font-size:22px; margin-bottom:14px; }
.icn-cat__dot { display:block; width:12px; height:12px; border-radius:4px; margin-bottom:12px; }
.icn-cat__title { font-size:17px; margin:0; }

/* Start here */
.icn-starthere { background: var(--surface); padding-block:40px; }
.icn-starthere__head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:22px; }
.icn-cardgrid--3 { grid-template-columns:repeat(3,1fr); }

/* Lead box on guide layout (full-width, centred) */
.icn-guide-news { padding-block:44px; }
.icn-guide-news .icn-news { max-width:520px; margin:0 auto; }

@media (max-width:768px){
  .icn-hero-guide { grid-template-columns:1fr; }
  .icn-hero-guide__title { font-size:28px; }
  .icn-cats--cards .icn-cats__grid { grid-template-columns:1fr 1fr; }
  .icn-cats--asset_class .icn-cats__grid { grid-template-columns:1fr 1fr; }
  .icn-cardgrid--3 { grid-template-columns:1fr; }
}

/* Guide hero band — default světlý (MCH). */
.icn-hero-guide-band { background: var(--bg); }

/* MoneyCompassHub — sekundární oranžová (#F2A65A) pro CTA + key-takeaway (dle design brief). */
body.icn-site-moneycompasshub .icn-btn:not(.icn-btn--ghost) { background:#F2A65A; color:#3a2611; }
body.icn-site-moneycompasshub .icn-box--key-takeaway { border-color:#e6b482; background: color-mix(in srgb,#F2A65A 12%,var(--bg)); }
body.icn-site-moneycompasshub .icn-box--key-takeaway h4 { color:#c47f2e; }

/* Serif profil — kurzíva u citací */
body.icn-head-serif .icn-prose blockquote { font-style: italic; }

/* Tmavé sekce pro světlý PBH profil (nav + hero + footer jsou slate) */
body.icn-site-portfoliobalancehub .icn-header { background: var(--text); border-bottom-color: transparent; }
body.icn-site-portfoliobalancehub .icn-header .icn-logo,
body.icn-site-portfoliobalancehub .icn-nav__list { color:#fff; }
body.icn-site-portfoliobalancehub .icn-hero-guide-band { background: linear-gradient(180deg,#1E293B,#26344a); }
body.icn-site-portfoliobalancehub .icn-hero-guide__title,
body.icn-site-portfoliobalancehub .icn-hero-guide__text .icn-eyebrow { color:#fff; }
body.icn-site-portfoliobalancehub .icn-hero-guide__sub { color:#b8c1d0; }
body.icn-site-portfoliobalancehub .icn-footer { background: var(--text); border-top-color: transparent; }
body.icn-site-portfoliobalancehub .icn-footer__inner { color:#8792a3; }
