/* Урядовий кур'єр — редизайн, варіант A
   Шрифти: Forum (логотип), Fira Sans, Fira Sans Condensed, PT Serif
   Брейкпоінт мобільної версії: < 768px */

:root {
  --blue-nav: #2396bf;      /* oklch(0.6 0.12 228) */
  --blue: #0f86ad;          /* oklch(0.55 0.12 228) */
  --link: #006a92;          /* oklch(0.45 0.11 235) */
  --link-hover: #005478;
  --flag-blue: #1a7fc0;
  --yellow: #f2cf3a;        /* oklch(0.88 0.16 92) */
  --flag-yellow: #edc31e;
  --yellow-soft: #f7e8a8;
  --ink: #1c2630;           /* oklch(0.22 0.02 240) */
  --text-2: #3f4a55;
  --muted: #5f6a75;
  --faint: #8e969e;
  --tint: #eef6f9;          /* oklch(0.97 0.012 215) */
  --rule: #e0e7ea;
  --white: #fff;

  --f-logo: 'Forum', serif;
  --f-sans: 'Fira Sans', sans-serif;
  --f-cond: 'Fira Sans Condensed', sans-serif;
  --f-serif: 'PT Serif', serif;

  --r-xs: 6px; --r-sm: 8px; --r-md: 14px; --r-lg: 16px; --r-xl: 20px; --r-pill: 999px;
  --shadow-shell: 0 20px 60px rgba(40, 90, 120, .12);
  --shadow-pop: 0 24px 60px rgba(40, 70, 100, .22);
  --placeholder: repeating-linear-gradient(135deg, #f0f4f6 0 10px, #e5ecef 10px 20px);
}

*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0; font-family: var(--f-sans); color: var(--ink); -webkit-font-smoothing: antialiased;
  background: linear-gradient(115deg, #e0f1f7 0%, #f9fcfd 45%, #fdfcf7 60%, #f9efc6 100%) fixed;
}
a { color: var(--link); text-decoration: none; }
a:hover { color: var(--link-hover); text-decoration: underline; }
img { max-width: 100%; display: block; }
h1, h2, h3, p, figure, blockquote { margin: 0; }
button { font: inherit; cursor: pointer; }

/* ---------- Placeholder for images (replace with <img>) ---------- */
.ph {
  background: var(--placeholder); display: flex; align-items: center; justify-content: center;
  font: 12px 'JetBrains Mono', monospace; color: var(--muted); overflow: hidden;
}
.ph > img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Shell ---------- */
.page { padding: 24px 16px; }
.shell {
  max-width: 1300px; margin: 0 auto; background: var(--white);
  border-radius: var(--r-xl); box-shadow: var(--shadow-shell);
}

/* ---------- Header ---------- */
.header { padding: 20px 28px 0; }
.utilbar {
  display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
  font-size: 12px; color: var(--muted); padding-bottom: 14px; border-bottom: 1px solid #e8edf0;
}
.utilbar__nav { display: flex; gap: 18px; flex-wrap: wrap; text-transform: uppercase; letter-spacing: .04em; font-weight: 500; }
.utilbar__nav a { color: inherit; }
.utilbar__auth { display: flex; gap: 14px; font-weight: 600; }

.masthead { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; padding: 22px 0 26px; }
.brand { flex: 1 1 360px; display: flex; flex-direction: column; gap: 2px; }
.brand__meta { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; color: #4a5560; }
.brand__date { color: var(--blue); font-weight: 600; }
.brand__logo { font-family: var(--f-logo); font-size: 56px; line-height: 1; letter-spacing: .01em; color: #1a222b; }
.brand__logo:hover { text-decoration: none; color: #1a222b; }

.search {
  flex: 1 1 260px; display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 18px;
  border-radius: 24px; background: var(--tint); color: var(--muted);
}
.search input { flex: 1; min-width: 0; border: 0; background: transparent; font: 15px var(--f-sans); color: var(--ink); outline: none; }
.search input::placeholder { color: var(--muted); }
.search__adv { font-size: 12px; font-weight: 600; color: var(--blue); }
.icon-search { width: 14px; height: 14px; border: 2px solid currentColor; border-radius: 50%; flex: none; }

.issue { display: flex; align-items: center; gap: 14px; flex: none; }
.issue__cover { width: 72px; height: 96px; border-radius: 4px; box-shadow: 0 6px 16px rgba(40, 70, 100, .22); transform: rotate(-3deg); font-size: 8px; }
.issue__info { display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: var(--muted); }
.btn-yellow {
  display: inline-flex; align-items: center; gap: 8px; background: var(--yellow); color: var(--ink);
  font-weight: 600; font-size: 14px; padding: 10px 14px; border-radius: var(--r-sm);
}
.btn-yellow:hover { color: var(--ink); text-decoration: none; filter: brightness(1.03); }

/* Mobile-only header controls */
.icon-btn {
  width: 44px; height: 44px; border-radius: 12px; background: var(--tint); border: 0; color: var(--ink);
  display: none; align-items: center; justify-content: center; flex-direction: column; gap: 4px;
}
.icon-btn .bar { width: 18px; height: 2px; background: currentColor; }

/* ---------- Main navigation ---------- */
.mainnav { position: relative; }
.mainnav__box { display: flex; border-radius: var(--r-md); overflow: hidden; }
.mainnav__flag { width: 64px; flex: none; display: flex; flex-direction: column; }
.mainnav__flag::before, .mainnav__flag::after { content: ""; flex: 1; }
.mainnav__flag::before { background: var(--flag-blue); }
.mainnav__flag::after { background: var(--flag-yellow); }
.mainnav__rows { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.navrow { display: flex; flex-wrap: wrap; gap: 4px; padding: 6px 12px; margin: 0; list-style: none; }
.navrow--blue { background: var(--blue-nav); }
.navrow--yellow { background: var(--yellow); }
.navlink {
  display: block; font-family: var(--f-cond); font-weight: 600; font-size: 15px; text-transform: uppercase;
  letter-spacing: .03em; padding: 9px 12px; border-radius: var(--r-sm); transition: background .15s ease;
}
.navrow--blue .navlink { color: var(--white); }
.navrow--blue .navlink:hover, .navrow--blue .navlink.is-active { background: rgba(255, 255, 255, .2); text-decoration: none; }
.navrow--yellow .navlink { color: var(--ink); }
.navrow--yellow .navlink:hover { background: rgba(255, 255, 255, .4); text-decoration: none; }
.has-mega:hover > .navlink, .has-mega:focus-within > .navlink, .navrow--yellow .navlink.is-active { background: var(--tint); color: var(--link); }
.navstripe { display: none; height: 4px; background: linear-gradient(90deg, var(--flag-blue) 50%, var(--flag-yellow) 50%); }

/* ---------- Mega menu ---------- */
.mega {
  position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 30;
  background: var(--white); border-radius: var(--r-md); box-shadow: var(--shadow-pop);
  display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.1fr) minmax(0, 1.2fr); overflow: hidden;
  opacity: 0; visibility: hidden; transform: translateY(-4px);
  transition: opacity .15s ease .15s, transform .15s ease .15s, visibility 0s linear .3s;
}
.has-mega:hover .mega, .has-mega:focus-within .mega { opacity: 1; visibility: visible; transform: none; transition-delay: .15s, .15s, 0s; }
/* Hover bridge over the 8px gap */
.mega::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 8px; }
.mega__col { padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.mega__col--tint { background: var(--tint); gap: 2px; }
.mega__col--feature { border-left: 1px solid var(--rule); gap: 12px; }
.mega__label { font: 600 13px var(--f-cond); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.mega__sub { color: #333e48; font-size: 15px; padding: 6px 10px; border-radius: var(--r-xs); }
.mega__sub:hover { background: var(--white); color: var(--link); text-decoration: none; }
.mega__head { display: flex; justify-content: space-between; align-items: baseline; }
.mega__title { font: 600 18px var(--f-cond); text-transform: uppercase; color: var(--link); }
.mega__item { display: flex; flex-direction: column; gap: 2px; color: var(--ink); padding-bottom: 12px; border-bottom: 1px solid #e8edf0; }
.mega__item:hover { text-decoration: none; color: var(--link); }
.mega__item b { font-weight: 600; font-size: 16px; line-height: 1.3; }
.mega__feature-img { aspect-ratio: 16 / 9; border-radius: 10px; }
.mega__feature-title { font-weight: 700; font-size: 20px; line-height: 1.25; color: var(--ink); }

/* ---------- Layout ---------- */
.layout { max-width: 1300px; margin: 0 auto; padding: 36px 28px; display: flex; flex-wrap: wrap; gap: 36px; align-items: flex-start; }
.main { flex: 1 1 640px; min-width: 0; display: flex; flex-direction: column; gap: 40px; }
.aside { flex: 1 1 280px; max-width: 340px; display: flex; flex-direction: column; gap: 36px; }

/* ---------- Common pieces ---------- */
.sec-head { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 10px; border-bottom: 3px solid var(--blue); }
.sec-title { font: 600 22px var(--f-cond); text-transform: uppercase; letter-spacing: .02em; }
.sec-more { font-size: 13px; }
.tag {
  display: inline-block; background: var(--yellow); color: var(--ink); font: 600 13px var(--f-cond);
  padding: 4px 10px; border-radius: var(--r-sm); text-transform: uppercase; letter-spacing: .05em;
}
.meta-row { display: flex; gap: 10px; align-items: center; font-size: 13px; color: var(--muted); }
.date { font-size: 12px; color: #6e7882; }
.crumbs { font-size: 13px; color: var(--muted); display: flex; gap: 6px; flex-wrap: wrap; }
.crumbs a { color: inherit; }
.stack { display: flex; flex-direction: column; gap: 18px; }

/* ---------- Home ---------- */
.hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 28px; align-items: center; }
.hero__img { aspect-ratio: 4 / 3; border-radius: var(--r-md); }
.hero__body { display: flex; flex-direction: column; gap: 14px; }
.hero__title { font-weight: 700; font-size: 36px; line-height: 1.12; color: #1a222b; text-wrap: pretty; }
.hero__title a { color: inherit; }
.hero__lead { font-size: 17px; line-height: 1.55; color: var(--text-2); text-wrap: pretty; }
.dots { display: flex; gap: 8px; margin-top: 4px; }
.dots button { width: 6px; height: 6px; border-radius: 3px; border: 0; padding: 0; background: #d3dde2; }
.dots button.is-active { width: 24px; background: var(--blue); }

.grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px; }
.news-item { display: flex; flex-direction: column; gap: 6px; padding-bottom: 16px; border-bottom: 1px solid var(--rule); color: var(--ink); }
.news-item:hover { text-decoration: none; }
.news-item:hover .news-item__title { color: var(--link); }
.news-item__title { font-weight: 700; font-size: 17px; line-height: 1.3; }
.news-item__lead { font-size: 14px; line-height: 1.5; color: #505b66; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.quote-card { background: var(--blue); color: var(--white); border-radius: var(--r-lg); padding: 26px; display: flex; flex-direction: column; gap: 14px; }
.card-label { font: 600 13px var(--f-cond); letter-spacing: .1em; text-transform: uppercase; }
.quote-card .card-label { opacity: .85; }
.quote-mark { font-family: var(--f-serif); font-size: 64px; line-height: .5; height: 24px; color: var(--yellow); }
.quote-card__text { font: italic 19px/1.45 var(--f-serif); text-wrap: pretty; }
.quote-card__annotation { font-size: 12px; line-height: 1.4; opacity: .6; }
.quote-card__author { font-size: 14px; }

.figure-card { background: var(--tint); border-radius: var(--r-lg); padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.figure-card .card-label { color: var(--link); }
.figure-card__num { font-weight: 700; font-size: 64px; line-height: 1; }
.figure-card__num small { font-size: 32px; }
.figure-card__text { font-size: 15px; line-height: 1.5; color: var(--text-2); }

.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px; }
.card { display: flex; flex-direction: column; gap: 10px; color: var(--ink); }
.card:hover { text-decoration: none; }
.card:hover .card__title { color: var(--link); }
.card__img { aspect-ratio: 3 / 2; border-radius: var(--r-md); font-size: 11px; }
.card__rubric { font-size: 12px; color: var(--link); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.card__title { font-weight: 700; font-size: 18px; line-height: 1.3; }

/* ---------- Sidebar ---------- */
.toplist { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: top; }
.toplist a { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 10px; color: var(--ink); font-weight: 600; font-size: 15px; line-height: 1.35; }
.toplist a::before { counter-increment: top; content: counter(top); font-weight: 700; font-size: 26px; line-height: 1; color: var(--blue); }

.cal { background: var(--tint); border-radius: var(--r-lg); padding: 16px; }
.cal__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.cal__head b { font-size: 15px; color: #2e4150; }
.cal__arrow { width: 30px; height: 30px; border-radius: 50%; border: 0; background: transparent; color: var(--link); font-size: 18px; }
.cal__arrow:hover { background: var(--white); }
.cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; text-align: center; font-size: 13px; }
.cal__wd { font-size: 11px; color: #6e7882; padding: 4px 0; text-transform: uppercase; }
.cal__day { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; border-radius: var(--r-sm); color: var(--ink); }
.cal__day.is-pub { background: var(--yellow-soft); font-weight: 600; }
.cal__day.is-pub:hover { background: var(--yellow); text-decoration: none; }
.cal__day.is-today { background: var(--blue); color: var(--white); font-weight: 600; }
.cal__day.is-future { color: var(--faint); }
.cal__day.is-out { color: #c6cdd2; }
.cal__legend { display: flex; gap: 14px; margin-top: 12px; font-size: 12px; color: var(--muted); }
.cal__legend span { display: flex; align-items: center; gap: 6px; }
.cal__legend i { width: 10px; height: 10px; border-radius: 2px; }

.issue-banner { display: none; }

/* ---------- Rubric ---------- */
.page-title { font-weight: 700; font-size: 40px; line-height: 1.1; margin: 4px 0 8px; padding-bottom: 14px; border-bottom: 3px solid var(--blue); }
.rubric-item { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--rule); }
.rubric-item__date { font-size: 13px; color: var(--muted); padding-top: 4px; }
.rubric-item__body { display: flex; flex-direction: column; gap: 8px; }
.rubric-item__title { font-weight: 700; font-size: 22px; line-height: 1.25; color: #1a222b; }
.rubric-item__lead { font-size: 16px; line-height: 1.55; color: var(--text-2); text-wrap: pretty; }
.actions { display: flex; gap: 20px; font-size: 13px; margin-top: 4px; }
.actions a { color: var(--muted); }
.pager { display: flex; gap: 6px; margin-top: 20px; font-size: 14px; }
.pager a, .pager span { min-width: 36px; height: 36px; padding: 0 12px; display: flex; align-items: center; justify-content: center; border-radius: var(--r-sm); border: 1px solid #e3e9ec; color: #333e48; }
.pager .is-active { background: var(--blue); border-color: var(--blue); color: var(--white); font-weight: 600; }
.pager .gap { border: 0; }
.load-more { display: none; }

/* ---------- Article ---------- */
.article { display: flex; flex-direction: column; gap: 18px; max-width: 760px; }
.article__title { font-weight: 700; font-size: 44px; line-height: 1.1; text-wrap: balance; }
.article__lead { font-size: 21px; line-height: 1.45; font-weight: 500; color: #333e48; text-wrap: pretty; }
.article__meta { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 13px; color: var(--muted); padding: 12px 0; border-block: 1px solid var(--rule); }
.article__meta b { color: #333e48; }
.article__meta div { display: flex; gap: 18px; }
.article__meta a { color: inherit; }
.article__figure { margin: 6px 0; display: flex; flex-direction: column; gap: 8px; }
.article__figure .ph { aspect-ratio: 16 / 9; border-radius: var(--r-md); }
.article__figure figcaption { font-size: 13px; color: var(--muted); }
.article__body { font-size: 18px; line-height: 1.7; display: flex; flex-direction: column; gap: 18px; }
.article__body p { text-wrap: pretty; }
.pullquote { margin: 8px 0; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 8px; }
.pullquote::before { content: "“"; font-family: var(--f-serif); font-size: 64px; line-height: .9; color: var(--flag-yellow); }
.pullquote p { font: italic 21px/1.5 var(--f-serif); }
.pullquote cite { display: block; font: normal 14px var(--f-sans); margin-top: 10px; color: #505b66; }
.readbar, .article-dock { display: none; }

/* ---------- Footer ---------- */
.footer { margin-top: 24px; padding: 28px 32px; border-top: 1px solid var(--rule); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--muted); }
.footer__logo { font-family: var(--f-logo); font-size: 22px; color: #2a343e; }

/* ---------- Mobile drawer ---------- */
.drawer { display: none; }

/* =====================================================
   MOBILE  (< 768px)
   ===================================================== */
@media (max-width: 767px) {
  body { background: var(--white); }
  .page { padding: 0; }
  .shell { border-radius: 0; box-shadow: none; }

  .header { padding: 0; position: sticky; top: 0; z-index: 40; background: var(--white); }
  .utilbar, .mainnav, .search, .issue, .brand__meta, .mainnav__flag, .navrow--yellow { display: none; }
  .masthead { padding: 14px 16px 12px; gap: 12px; flex-wrap: nowrap; justify-content: space-between; }
  .icon-btn { display: flex; }
  .brand { flex: 0 1 auto; align-items: center; }
  .brand::before { content: "Газета Кабінету Міністрів України"; font-size: 9px; color: var(--muted); }
  .brand__logo { font-size: 27px; white-space: nowrap; }

  .mainnav__box { border-radius: 0; }
  .navrow--blue { flex-wrap: nowrap; overflow-x: auto; padding: 6px 10px; scrollbar-width: none; }
  .navrow--blue::-webkit-scrollbar { display: none; }
  .navrow--blue .navlink { font-size: 14px; padding: 8px 10px; white-space: nowrap; }
  .navstripe { display: none; }
  .mega { display: none; }

  .layout { padding: 16px; gap: 28px; flex-direction: column; }
  .main, .aside { flex: none; width: 100%; max-width: none; gap: 28px; }

  .sec-title { font-size: 20px; }
  .tag { font-size: 12px; padding: 4px 8px; border-radius: var(--r-xs); }
  .hero { grid-template-columns: 1fr; gap: 12px; }
  .hero__title { font-size: 26px; line-height: 1.15; }
  .hero__lead { font-size: 16px; line-height: 1.5; }
  .news-item { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; padding-bottom: 12px; }
  .news-item__title { font-size: 16px; }
  .news-item__lead { display: none; }
  .quote-card, .figure-card { padding: 22px; }
  .quote-card__text { font-size: 17px; }
  .figure-card__num { font-size: 52px; }
  .figure-card__num small { font-size: 26px; }
  .cards { display: flex; overflow-x: auto; gap: 12px; margin-right: -16px; padding-right: 16px; scroll-snap-type: x mandatory; }
  .card { width: 240px; flex: none; scroll-snap-align: start; gap: 8px; }
  .card__img { border-radius: 12px; }
  .card__title { font-size: 16px; }
  .cal { padding: 14px; }
  .cal__arrow { width: 44px; height: 44px; font-size: 20px; }
  .cal__grid { font-size: 14px; }
  .cal__day { aspect-ratio: auto; height: 44px; }
  .issue-banner { display: flex; align-items: center; gap: 14px; background: var(--yellow); border-radius: var(--r-lg); padding: 14px; color: var(--ink); }
  .issue-banner:hover { text-decoration: none; color: var(--ink); }
  .issue-banner .ph { width: 52px; height: 70px; border-radius: 3px; flex: none; box-shadow: 0 4px 10px rgba(40, 70, 100, .2); }
  .issue-banner span { display: flex; flex-direction: column; gap: 2px; font-size: 13px; }
  .issue-banner b { font-size: 16px; }

  .page-title { font-size: 32px; margin-top: 6px; padding-bottom: 12px; }
  .rubric-item { grid-template-columns: 1fr; gap: 6px; padding: 16px 0; }
  .rubric-item__date { font-size: 12px; padding: 0; }
  .rubric-item__title { font-size: 18px; line-height: 1.28; }
  .rubric-item__lead { font-size: 15px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .rubric-item .actions { display: none; }
  .pager { display: none; }
  .load-more { display: flex; height: 48px; border-radius: 12px; background: var(--tint); align-items: center; justify-content: center; font-weight: 600; margin-top: 20px; }

  .article { gap: 14px; }
  .article__title { font-size: 30px; line-height: 1.12; }
  .article__lead { font-size: 18px; }
  .article__meta { display: none; }
  .article__figure { margin: 0 -16px; }
  .article__figure .ph { border-radius: 0; aspect-ratio: 16 / 10; }
  .article__figure figcaption { padding: 0 16px; font-size: 12px; }
  .article__body { font-size: 17px; line-height: 1.65; }
  .pullquote { grid-template-columns: 28px minmax(0, 1fr); gap: 6px; }
  .pullquote::before { font-size: 52px; }
  .pullquote p { font-size: 19px; }
  .readbar { display: block; height: 3px; background: #e8edf0; }
  .readbar i { display: block; height: 3px; width: 0; background: var(--yellow); }
  .article-dock { display: flex; justify-content: space-around; position: sticky; bottom: 0; padding: 8px 16px 18px; border-top: 1px solid var(--rule); background: var(--white); font-size: 12px; }
  .article-dock a { height: 44px; padding: 0 12px; display: flex; align-items: center; border-radius: 10px; background: var(--tint); color: #3f4a55; font-weight: 500; }
  .page--article .aside { display: none; }

  .footer { flex-direction: column; padding: 20px 16px 28px; }
  .footer__logo { font-size: 20px; }

  /* Drawer */
  .drawer { position: fixed; inset: 0; z-index: 100; background: var(--white); display: flex; flex-direction: column; overflow-y: auto; transform: translateX(-100%); transition: transform .25s ease; visibility: hidden; }
  .drawer.is-open { transform: none; visibility: visible; }
  .drawer__top { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 12px; }
  .drawer__close { width: 44px; height: 44px; border-radius: 12px; background: var(--ink); color: var(--white); border: 0; font-size: 22px; }
  .drawer .search { display: flex; margin: 0 16px 14px; flex: none; }
  .drawer__blue { background: var(--blue-nav); padding: 6px 0; }
  .drawer__yellow { background: var(--yellow); padding: 6px 0; }
  .drawer__link { display: flex; align-items: center; justify-content: space-between; height: 48px; padding: 0 20px; font: 600 17px var(--f-cond); text-transform: uppercase; width: 100%; background: none; border: 0; text-align: left; }
  .drawer__blue .drawer__link { color: var(--white); border-bottom: 1px solid rgba(255, 255, 255, .14); }
  .drawer__yellow .drawer__link { color: var(--ink); border-top: 1px solid rgba(30, 40, 50, .1); }
  .drawer__yellow .drawer__link:first-child { border-top: 0; }
  .drawer__subs { display: none; grid-template-columns: 1fr 1fr; background: var(--tint); margin: 0 10px 6px; border-radius: 12px; padding: 6px 0; }
  .drawer__subs.is-open { display: grid; }
  .drawer__subs a { height: 44px; padding: 0 14px; display: flex; align-items: center; font-size: 15px; color: #333e48; }
  .drawer__util { padding: 18px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; font-size: 14px; }
  .drawer__util a { height: 40px; display: flex; align-items: center; color: #4a5560; }
  .drawer__auth { margin-top: auto; padding: 16px 20px 24px; display: flex; gap: 10px; border-top: 1px solid var(--rule); }
  .drawer__auth a { flex: 1; height: 48px; border-radius: 12px; font-weight: 600; display: flex; align-items: center; justify-content: center; border: 1px solid #d8e2e7; }
  .drawer__auth a:first-child { background: var(--blue); color: var(--white); border-color: var(--blue); }
}
@media (max-width: 767px) {
  .header::after {
    content: "";
    display: block;
    height: 3px;
    background: linear-gradient(105deg, var(--flag-blue) 0 50%, var(--flag-yellow) 50% 100%);
  }
}
@media (max-width: 767px) {
  .masthead { position: relative; justify-content: center; }
  .masthead > .icon-btn { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); }
  .masthead .brand { flex: none; text-align: center; }
}
.hero__img { background-size: cover; background-position: center; }
/* Main story: stable text height between slides */
.hero__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  min-height: 4.48em;
  max-height: 4.48em;
}
.hero__lead {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  min-height: 7.75em;
  max-height: 7.75em;
}
/* Title is never truncated; JS scales it only when needed */
.hero__title {
  display: block;
  overflow: visible;
  min-height: 4.48em;
  max-height: none;
  -webkit-line-clamp: unset;
}
.card.is-hidden { display: none; }
.card__img { background-size: cover; background-position: center; }
.article-dots { justify-content: center; margin-top: 16px; }
/* Keep article carousel height stable between groups */
.article-carousel .cards { align-items: stretch; }
.article-carousel .card { min-height: 300px; }
.article-carousel .card__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  min-height: 3.9em;
  max-height: 3.9em;
}
.mainnav, .mainnav__box, .mainnav__rows, .navrow { position: relative; }
.mega { top: 100%; }
.mega__feature-img { background-size: cover; background-position: center; }
@media (min-width: 768px) {
  .brand { flex: 0 0 auto; width: max-content; }
  .brand__meta { justify-content: flex-start; }
  .masthead__date { flex: 1 1 auto; text-align: right; color: var(--blue); font-weight: 600; font-size: 14px; }
}
@media (max-width: 767px) { .masthead__date { display: none; } }
@media (min-width: 768px) {
  .brand__meta { justify-content: space-between; }
  .header, .mainnav { position: relative; z-index: 50; overflow: visible; }
  .mainnav__box, .mainnav__rows, .navrow { overflow: visible; }
  .mega { z-index: 100; }
}
@media (max-width: 767px) {
  .drawer__menu { border-top: 3px solid var(--blue); }
  .drawer__menu > .drawer__link { color: var(--ink); border-bottom: 1px solid var(--rule); }
  .drawer__menu > button.drawer__link { cursor: pointer; }
  .drawer__subs { margin: 0; border-radius: 0; padding: 4px 10px 10px; background: var(--tint); }
  .drawer__subs .drawer__all { grid-column: 1 / -1; color: var(--link); font-weight: 700; }
  .drawer__subs a { height: auto; min-height: 42px; line-height: 1.25; }
  .article-carousel .cards { overflow: hidden; margin-right: 0; padding-right: 0; }
  .article-carousel .card { width: 100%; }
}
.mega__feature-lead { margin: 0; font-size: 14px; line-height: 1.5; color: var(--text-2); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
@media (min-width: 768px) {
  .footer { justify-content: flex-start; align-items: center; }
  .footer__menu { margin-left: auto; display: flex; gap: 18px; }
  .footer__copyright { margin-left: 24px; }
}
@media (min-width: 768px) {
  .mainnav__box { border-radius: var(--r-md); }
  .mainnav__flag { overflow: hidden; border-radius: var(--r-md) 0 0 var(--r-md); }
  .navrow--blue { border-radius: 0 var(--r-md) 0 0; }
  .navrow--yellow { border-radius: 0 0 var(--r-md) 0; }
}
@media (max-width: 767px) {
  .drawer__menu > .drawer__link { height: 54px; padding: 0 18px; }
  .drawer__label { font: 600 17px var(--f-cond); text-transform: uppercase; }
  .drawer__toggle { font: 600 20px var(--f-sans); }
  .drawer__subs { display: none; grid-template-columns: 1fr; padding: 4px 18px 10px; }
  .drawer__subs.is-open { display: grid; }
  .drawer__subs a { min-height: 40px; padding: 7px 0; font-size: 15px; border-bottom: 1px solid rgba(30,40,50,.06); }
  .drawer__subs a:last-child { border-bottom: 0; }
  .drawer__subs .drawer__all { grid-column: auto; font-weight: 700; }
}
.brand__mobile-date { display: none; }
@media (max-width: 767px) {
  .brand__mobile-date { display: block; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 11px; font-weight: 600; color: var(--blue); white-space: nowrap; }
}
@media (max-width: 767px) {
  .hero__title { min-height: 0; }
  .hero__lead { min-height: 0; max-height: none; }
}
@media (min-width: 768px) {
  .masthead .issue { margin-left: auto; }
}
.static-page { min-width: 0; }
.static-page__content { font-size: 17px; line-height: 1.7; color: var(--text-2); }
.static-page__content p { margin: 0 0 1em; }
.static-page__content h2, .static-page__content h3 { color: var(--ink); margin: 1.5em 0 .6em; line-height: 1.25; }
.static-page__content a { color: var(--blue); text-decoration: underline; text-underline-offset: 2px; }
.static-page__content img { max-width: 100%; height: auto; }
@media (max-width: 767px) { .static-page__content { font-size: 16px; line-height: 1.65; } }
.content-page { min-width: 0; }
.content-page__meta { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:10px; color:var(--muted); font-size:13px; }
.content-page__title { margin:0 0 18px; font-size:clamp(32px,4vw,54px); line-height:1.05; letter-spacing:-.025em; color:var(--ink); }
.content-page__annotation { font-size:20px; line-height:1.5; font-weight:600; margin-bottom:22px; color:var(--text-2); }
.content-page__annotation p { margin:0 0 .8em; }
.content-page__photo { display:block; width:100%; height:auto; max-height:620px; object-fit:cover; margin:0 0 24px; border-radius:4px; }
.content-page__intro, .content-page__body { font-size:18px; line-height:1.75; color:var(--text-2); }
.content-page__intro { font-weight:600; margin-bottom:18px; }
.content-page__body p, .content-page__intro p { margin:0 0 1.15em; }
.content-page__body img { max-width:100%; height:auto; }
.content-page__body h2, .content-page__body h3 { color:var(--ink); line-height:1.25; margin:1.5em 0 .6em; }
.content-page__body blockquote { margin:1.5em 0; padding:4px 0 4px 20px; border-left:4px solid var(--yellow); font-size:1.08em; }
.content-page__copyright { margin-top:28px; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
@media (max-width:767px) { .content-page__title{font-size:34px}.content-page__annotation{font-size:18px}.content-page__intro,.content-page__body{font-size:17px;line-height:1.68} }
.archive-section{margin:0 0 38px}.archive-issue{display:flex;align-items:center;gap:22px;padding:18px;background:var(--soft);border-radius:18px}.archive-issue .issue__cover{width:90px;height:120px;flex:0 0 auto}.archive-issue>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.archive-item{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.archive-item b{font-size:20px;line-height:1.25}.archive-item small{display:block;margin-top:7px;color:var(--muted);font-size:15px;line-height:1.45;font-weight:400}.archive-empty{padding:30px 0;color:var(--muted)}
@media(max-width:767px){.archive-section{margin-bottom:30px}.archive-item b{font-size:18px}.archive-item small{font-size:14px}.archive-issue{gap:16px}.archive-issue .issue__cover{width:72px;height:96px}}

.archive-day-title{border-bottom:0;padding-bottom:0;margin-bottom:34px}
.site-announcement[hidden]{display:none}.site-announcement{position:fixed;z-index:1200;top:18px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 32px));pointer-events:none}.site-announcement__card{position:relative;pointer-events:auto;background:#fff;border-radius:18px;border-top:5px solid var(--yellow);box-shadow:0 14px 45px rgba(18,34,45,.18);padding:20px 54px 17px 22px;color:var(--ink)}.site-announcement__content{font-size:16px;line-height:1.5}.site-announcement__content p{margin:0 0 8px}.site-announcement__content p:last-child{margin-bottom:0}.site-announcement__close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:var(--ink);font-size:30px;line-height:1;cursor:pointer}.site-announcement__never{margin-top:10px;padding:0;border:0;background:transparent;color:var(--blue);font:600 14px 'Fira Sans',sans-serif;cursor:pointer}.site-announcement__never:hover{text-decoration:underline}
@media(max-width:767px){.site-announcement{top:12px;width:calc(100% - 24px)}.site-announcement__card{border-radius:16px;padding:18px 46px 15px 18px}.site-announcement__content{font-size:15px}.site-announcement__never{font-size:13px}}
/* announcement emphasis */
.site-announcement{left:auto;right:24px;transform:none;width:min(520px,calc(100% - 48px))}.site-announcement__card{background:linear-gradient(135deg,#fff9d9 0%,#fff3b0 48%,#eaf4ff 100%);border-top:0;border-left:5px solid var(--yellow);box-shadow:0 16px 48px rgba(18,34,45,.24)}
@media(max-width:767px){.site-announcement{left:12px;right:12px;width:auto;transform:none}.site-announcement__card{border-left:0;border-top:5px solid var(--yellow)}}
.site-announcement{top:118px}
@media(max-width:767px){.site-announcement{top:86px}}
.sidebar-links{margin-top:26px}.sidebar-links__list{display:flex;flex-direction:column;gap:10px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--soft);border-radius:12px;color:var(--ink);text-decoration:none;font-weight:600;transition:.15s ease}.sidebar-link:hover{transform:translateX(2px);background:var(--yellow-soft)}.sidebar-link__icon{width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:#fff;display:grid;place-items:center;overflow:hidden}.sidebar-link__icon img{max-width:24px;max-height:24px;object-fit:contain}.sidebar-link__icon--default{color:var(--blue);font-size:18px}
.mainnav__flag{display:flex;align-items:center;justify-content:center;text-decoration:none}.mainnav__flag img{display:block;width:46px;height:58px;object-fit:contain}
@media(max-width:767px){.mainnav__flag{display:none}}
/* Tryzub: simple white silhouette on the dark-blue nav block */
.mainnav__flag{position:relative;background:var(--flag-blue);overflow:hidden}
.mainnav__flag::before,.mainnav__flag::after{display:none}
.mainnav__flag img{width:40px;height:52px;object-fit:contain;filter:brightness(0) invert(1);opacity:.96}
/* preserve original two-tone darker flag block; white Tryzub silhouette */
.mainnav__flag{background:none;display:flex;align-items:center;justify-content:center;position:relative}
.mainnav__flag::before,.mainnav__flag::after{display:block;position:absolute;left:0;right:0;z-index:0}
.mainnav__flag::before{content:"";top:0;height:50%;background:#1685bd}
.mainnav__flag::after{content:"";bottom:0;height:50%;background:#e9bd12}
.mainnav__flag img{position:relative;z-index:1;width:34px;height:56px;object-fit:contain;filter:brightness(0) invert(1);opacity:1}
/* nav emblem: keep the original darker blue/yellow flag halves */
.mainnav__flag{background:none;position:relative;display:flex;align-items:center;justify-content:center}
.mainnav__flag::before,.mainnav__flag::after{display:block;position:absolute;left:0;right:0;z-index:0;content:""}
.mainnav__flag::before{top:0;height:50%;background:var(--flag-blue)}
.mainnav__flag::after{bottom:0;height:50%;background:var(--flag-yellow)}
.mainnav__flag img{position:relative;z-index:1;width:32px;height:54px;object-fit:contain;filter:brightness(0) invert(1);opacity:1}
.mainnav__flag img{filter:brightness(0) invert(1) drop-shadow(0 3px 3px rgba(0,0,0,.28));}
.footer__contacts{display:flex;align-items:center;gap:16px;margin-left:12px}.footer__contacts a{display:flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;white-space:nowrap}.footer__contacts a:hover{color:var(--blue)}.footer__contacts svg{width:15px;height:15px;fill:currentColor;flex:0 0 15px}
@media(max-width:767px){.footer__contacts{margin-left:0;flex-wrap:wrap;gap:8px 16px}}
/* Images inserted by publication editor */
.content-page__body img.article-image { max-width:100%; height:auto; display:block; }
.content-page__body img.article-image-left { float:left; margin:.35em 1.25em .8em 0; }
.content-page__body img.article-image-right { float:right; margin:.35em 0 .8em 1.25em; }
.content-page__body img.article-image-center { float:none; margin:.8em auto; }
.content-page__body::after { content:""; display:block; clear:both; }
@media (max-width:767px) {
  .content-page__body img.article-image { float:none!important; width:100%!important; margin:.8em 0!important; }
}
/* Calendar navigation links share the old button geometry without browser link decoration */
.cal__arrow { display:flex; align-items:center; justify-content:center; padding:0; text-decoration:none!important; line-height:1; cursor:pointer; box-sizing:border-box; }
.cal__arrow:visited { color:var(--link); }
/* Keep desktop content column width stable while sidebar assets/widgets load. */
@media (min-width:768px){
  .layout > .main{flex:1 1 0;min-width:0}
  .layout > .aside{flex:0 0 340px;width:340px;max-width:340px}
}
.cookie-consent{position:fixed;z-index:10000;left:24px;right:24px;bottom:24px;max-width:980px;margin:auto;background:#102d4f;color:#fff;border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.35);border-left:6px solid #ffd500;padding:20px 22px;display:flex;align-items:center;gap:24px}.cookie-consent[hidden]{display:none}.cookie-consent__text{flex:1;font-size:14px;line-height:1.5}.cookie-consent__text b{display:block;font-family:'Fira Sans Condensed',sans-serif;font-size:20px;margin-bottom:4px}.cookie-consent__text a{color:#ffd500;text-decoration:underline}.cookie-consent__actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-consent button{border:0;border-radius:8px;padding:11px 16px;font:600 14px 'Fira Sans',sans-serif;cursor:pointer;white-space:nowrap}.cookie-consent__accept{background:#ffd500;color:#102d4f}.cookie-consent__reject{background:#fff;color:#102d4f}@media(max-width:767px){.cookie-consent{left:12px;right:12px;bottom:12px;padding:17px;display:block}.cookie-consent__actions{margin-top:14px}.cookie-consent button{flex:1}}

@media (min-width:768px){.layout{display:grid;grid-template-columns:minmax(0,868px) 340px}.layout>.main{width:100%;min-width:0}.layout>.aside{width:340px;max-width:340px}}
@media(max-width:767px){
  .footer{display:grid;grid-template-columns:1fr;gap:18px;padding:28px 20px 32px;align-items:start}
  .footer__logo{margin:0;font-size:20px}
  .footer__contacts{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0}
  .footer__contacts a{font-size:14px}
  .footer__menu{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
  .footer__menu a{display:block;line-height:1.35}
  .footer__copyright{margin:4px 0 0;line-height:1.4}
}
@media(max-width:767px){
  .drawer>.search{display:none!important}
  .drawer__util{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:18px 28px!important}
  .drawer__util a{display:block!important;width:100%!important;padding:10px 0!important;margin:0!important}
}
@media(max-width:767px){.brand__mobile-date{display:none!important}}
.pdf-reader-page{width:100%;margin:0;padding:36px 0 60px}.pdf-reader-head{padding:0 28px}.pdf-reader-head{margin-bottom:24px}.pdf-reader-head h1{margin:0 0 4px;font:700 34px 'Fira Sans Condensed',sans-serif;color:var(--ink)}.pdf-reader-head span{color:var(--muted)}.pdf-reader{display:flex;flex-direction:column;gap:18px;align-items:center}.pdf-reader__page{width:100%;background:#fff}.pdf-reader__page canvas{display:block;width:100%;height:auto}.pdf-reader__loading,.pdf-reader__error{padding:60px 20px;text-align:center;color:var(--muted)}.pdf-reader-download{text-align:center;margin-top:28px}.pdf-reader-download .btn-yellow{display:inline-block}@media(max-width:767px){.pdf-reader-page{padding:20px 0 40px}.pdf-reader-head{padding:0 12px}.pdf-reader-head h1{font-size:28px}.pdf-reader{gap:10px}}
.pdf-reader-head{margin-bottom:0}.pdf-reader-head h1{margin-bottom:0}.pdf-reader-head span{display:block;margin:0}.pdf-reader{margin-top:0}

@media(min-width:1200px){.page--pdf-reader .shell{max-width:1300px}}

.pdf-reader-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.pdf-reader-head__download{display:inline-flex;align-items:center;gap:7px;padding-bottom:2px;font-size:14px;font-weight:500;color:var(--muted);white-space:nowrap}.pdf-reader-head__download:hover{color:var(--ink)}.pdf-reader-head__icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:600px){.pdf-reader-head{align-items:flex-end}.pdf-reader-head__download{font-size:13px}}
