/* Qugo brand primitives are synced with src/brand/tokens.ts. */
:root {
  --q-green: #249e55;
  --q-green-light: #39bc6d;
  --q-green-dark: #1f7e44;
  --q-green-strong: #185f33;
  --q-green-soft: #eaf6ee;
  --q-ink: #2e2e2e;
  --q-muted: #858585;
  --q-subtle: #dcdcdc;
  --q-paper: #f8f8f8;
  --q-surface: #fff;
  --q-surface-muted: #f0f0f0;
  --q-line: #f0f0f0;
  --q-line-strong: #e8e8e8;
  --q-night: #2e2e2e;
  --q-radius: 10px;
  --q-radius-sm: 8px;
  --q-radius-xl: 16px;
  --q-radius-2xl: 20px;
  --q-radius-3xl: 24px;
  --q-radius-4xl: 32px;
  --q-shell: 1200px;
  --q-reading: 720px;
  --q-shadow-xs: 0 1px 16px 2px rgba(0, 0, 0, .04);
  --q-shadow-sm: 0 4px 6px rgba(0, 0, 0, .04);
  --q-shadow-lg: 0 4px 16px rgba(46, 61, 77, .08);
  --q-shadow-focus: 0 0 0 4px rgba(36, 158, 85, .2);
  --q-font: Inter, "Inter Variable", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; }
body { margin: 0; background: var(--q-paper); color: var(--q-ink); font-family: var(--q-font); font-feature-settings: "kern" 1, "liga" 1, "calt" 1; -webkit-font-smoothing: antialiased; }
body { overflow-x: clip; }
body.admin-bar .site-header { top: 32px; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: none; box-shadow: var(--q-shadow-focus); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.shell { width: min(100%, var(--q-shell)); margin-inline: auto; padding-inline: 32px; }
.shell-narrow { width: min(100%, var(--q-reading)); margin-inline: auto; padding-inline: 32px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px; border-radius: 999px; background: var(--q-green-soft); color: var(--q-green-strong); font-size: 13px; font-weight: 500; line-height: 20px; letter-spacing: .01em; }
.eyebrow--green { color: var(--q-green-strong); }
.eyebrow--green::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--q-green); }

.reading-progress { position: fixed; inset: 0 0 auto; z-index: 1000; height: 3px; pointer-events: none; }
.reading-progress span { display: block; height: 100%; background: linear-gradient(90deg,var(--q-green),var(--q-green-light)); transform: scaleX(0); transform-origin: left; }

/* Header: mirrors src/components/layout/SiteHeader.astro. */
.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--q-line); background: rgba(255,255,255,.95); backdrop-filter: blur(14px); }
.site-header__shell { position: relative; }
.site-header__desktop { display: grid; min-height: 104px; grid-template-columns: 144px minmax(0,1fr) auto; grid-template-rows: 56px 48px; align-items: center; padding-top: 0; }
.header-logo { display: inline-flex; width: 132px; align-items: center; }
.site-header__desktop > .header-logo { grid-column: 1; grid-row: 1; }
.header-logo img { width: 132px; max-width: none; }
.audience-nav { grid-column: 2; grid-row: 1; display: flex; height: 100%; align-items: stretch; gap: 12px; }
.audience-nav__link { display: inline-flex; height: 100%; align-items: center; gap: 8px; padding: 0 12px; border-bottom: 2px solid transparent; color: var(--q-muted); font-size: 16px; font-weight: 500; line-height: 1; transition: color .15s ease, border-color .15s ease; }
.audience-nav__link svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.audience-nav__link:hover { color: var(--q-ink); }
.audience-nav__link.is-active { border-color: var(--q-green); color: var(--q-green); }
.header-auth { grid-column: 3; grid-row: 1; display: flex; align-items: center; gap: 12px; }
.qugo-button, .header-cta { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 20px; border: 0; border-radius: var(--q-radius); background: var(--q-green); color: #fff; font-size: 16px; font-weight: 600; line-height: 1; cursor: pointer; box-shadow: var(--q-shadow-sm); transition: background .15s ease, transform .15s ease; }
.qugo-button:hover, .header-cta:hover { background: var(--q-green-dark); transform: translateY(-1px); }
.qugo-button--sm { min-height: 40px; padding-inline: 16px; font-size: 14px; }
.qugo-button--secondary { background: #fff; color: var(--q-green); box-shadow: inset 0 0 0 2px var(--q-green); }
.qugo-button--secondary:hover { background: var(--q-green-soft); color: var(--q-green-dark); }
.qugo-button--light { background: #fff; color: var(--q-green-dark); }
.product-nav { grid-column: 2; grid-row: 2; display: flex; height: 100%; align-items: center; gap: 28px; }
.product-nav > a, .product-nav summary { color: var(--q-ink); font-size: 16px; font-weight: 500; transition: color .15s ease; }
.product-nav > a:hover, .product-nav > a.is-current, .product-nav summary:hover { color: var(--q-green); }
.product-nav__dropdown { position: relative; height: 100%; }
.product-nav__dropdown summary { display: flex; height: 100%; align-items: center; gap: 5px; list-style: none; cursor: pointer; }
.product-nav__dropdown summary::-webkit-details-marker { display: none; }
.product-nav__dropdown summary svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s ease; }
.product-nav__dropdown[open] summary svg { transform: rotate(180deg); }
.product-nav__popover { position: absolute; top: calc(100% + 8px); left: 0; z-index: 10; min-width: 300px; padding: 8px; overflow: hidden; border: 1px solid var(--q-line); border-radius: var(--q-radius-xl); background: #fff; box-shadow: var(--q-shadow-lg); }
.product-nav__popover a { display: block; padding: 10px 12px; border-radius: var(--q-radius); color: var(--q-ink); font-size: 14px; line-height: 20px; }
.product-nav__popover a:hover { background: var(--q-green-soft); color: var(--q-green-strong); }
.header-search { grid-column: 3; grid-row: 2; display: flex; width: 220px; height: 38px; align-items: center; overflow: hidden; border: 1px solid var(--q-line-strong); border-radius: var(--q-radius); background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.header-search:focus-within { border-color: var(--q-green); box-shadow: var(--q-shadow-focus); }
.header-search label { min-width: 0; flex: 1; }
.header-search input { width: 100%; padding: 0 4px 0 13px; border: 0; outline: 0; background: transparent; color: var(--q-ink); font-size: 14px; }
.header-search input::placeholder { color: var(--q-muted); }
.header-search button { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border: 0; background: transparent; color: var(--q-green); cursor: pointer; }
.header-search svg, .search-form svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.site-header__mobile-bar, .mobile-nav { display: none; }

/* Blog homepage follows the Figma “Landing Pages / 8848:502” magazine layout. */
.magazine-hero { position: relative; z-index: 0; overflow: hidden; padding: 22px 0 112px; background: #fff; }
.magazine-hero::before { position: absolute; z-index: -1; inset: 0; background: #dceee8 url("../figma/blog-home/magazine-background-wide.png") center / cover no-repeat; clip-path: polygon(0 0,100% 0,100% 78%,51.5% 100%,48.5% 100%,0 78%); content: ""; }
.magazine-hero__inner, .stories-section--home { width: min(calc(100% - 64px),1200px); padding-inline: 0; }
.magazine-hero__intro { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: end; gap: 48px; margin-bottom: 42px; }
.magazine-hero__intro > div { display: grid; gap: 9px; }
.magazine-hero__intro > div > span { color: var(--q-ink); font-size: 10px; font-weight: 600; line-height: 1; text-transform: uppercase; letter-spacing: .08em; }
.magazine-hero__intro h1 { margin: 0; color: #fff; font-size: clamp(36px,3.1vw,44px); font-weight: 700; line-height: .95; text-transform: uppercase; letter-spacing: .015em; }
.magazine-hero__intro p { justify-self: end; max-width: 650px; margin: 0; color: var(--q-ink); font-size: clamp(16px,1.3vw,18px); font-weight: 400; line-height: 1.3; text-align: center; letter-spacing: .055em; }
.text-link { display: inline-flex; gap: 10px; align-items: center; margin-top: auto; padding-top: 32px; color: var(--q-green-dark); font-size: 15px; font-weight: 600; }
.text-link:hover { color: var(--q-green-strong); }
.text-link span { font-size: 19px; }
.lead-story { position: relative; display: grid; grid-template-columns: minmax(0,44%) minmax(0,56%); min-height: 460px; overflow: hidden; border-radius: 50px; background: var(--q-green); color: #fff; }
.lead-story__media { position: relative; width: 100%; min-width: 0; min-height: 460px; overflow: hidden; background: linear-gradient(145deg,#185f33,#2e2e2e); isolation: isolate; }
.lead-story__media.has-image::before { position: absolute; z-index: -1; inset: -24px; background-image: var(--lead-image); background-position: center; background-size: cover; content: ""; filter: blur(22px) saturate(.88); transform: scale(1.08); }
.lead-story__media img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.lead-story__media > span:not(.lead-story__tags) { display: flex; height: 100%; align-items: flex-end; padding: 36px; color: rgba(255,255,255,.76); font-size: 34px; font-weight: 600; line-height: 1.1; }
.lead-story__tags { position: absolute; z-index: 2; top: 36px; left: 36px; display: flex; flex-wrap: wrap; gap: 12px; }
.lead-story__tags > span { padding: 9px 18px; border-radius: 999px; background: var(--category-card-color,rgba(255,255,255,.82)); color: var(--q-ink); font-size: 10px; font-weight: 500; line-height: 1; text-transform: uppercase; backdrop-filter: blur(10px); }
.lead-story__body { position: relative; display: flex; min-height: 100%; flex: 1; flex-direction: column; align-items: flex-start; padding: 36px; }
.lead-story__author { display: inline-flex; align-items: center; gap: 12px; padding: 7px 9px 7px 14px; border-radius: 999px; background: rgba(18,119,58,.32); color: #fff; line-height: 1; }
.lead-story__author span { font-size: 10px; font-weight: 500; }
.lead-story__author strong { font-size: 13px; font-weight: 600; }
.lead-story__author img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }
.lead-story__date { margin-top: auto; padding-top: 42px; color: rgba(255,255,255,.78); font-size: 13px; line-height: 1.2; }
.lead-story h2 { max-width: 430px; margin: 20px 0 34px; color: #fff; font-size: clamp(28px,2.45vw,36px); font-weight: 400; line-height: 1.15; letter-spacing: 0; }
.lead-story h2 a:hover { color: #e9ffef; }
.lead-story__button { display: inline-flex; min-height: 48px; align-items: center; padding: 0 18px; border-radius: 14px; background: #035b2b; color: #fff; font-size: 16px; font-weight: 500; transition: background .15s ease, transform .15s ease; }
.lead-story__button:hover { background: #024822; transform: translateY(-1px); }

.category-tone--zakonodatelstvo { --category-card-color: #aaf8b9; }
.category-tone--keysy { --category-card-color: #ffc171; }
.category-tone--produktovye-obnovleniya { --category-card-color: #73b7fe; }
.category-tone--dokumenty { --category-card-color: #ffe3b3; }
.category-tone--riski { --category-card-color: #ffc6ad; }
.category-tone--meropriyatiya { --category-card-color: #b8b8b8; }
.category-tone--podkast { --category-card-color: #7beb9d; }
.category-tone--processy { --category-card-color: #e8e8e8; }
.category-tone--ispolnitelyu { --category-card-color: #a1d3fe; }
.category-tone--novosti-qugo { --category-card-color: #a4fea1; }
.category-tone--default { --category-card-color: #e8e8e8; }

.category-ribbon { padding-block: 24px; border-bottom: 1px solid var(--q-line); background: #fff; }
.category-ribbon__scroll { display: grid; width: min(calc(100% - 64px),1200px); grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; overflow: visible; padding-inline: 0; }
.category-ribbon a { display: flex; min-width: 0; min-height: 54px; align-items: center; justify-content: center; padding: 10px 14px; border: 1px solid rgba(46,46,46,.08); border-radius: 16px; background: var(--category-card-color,#e8e8e8); color: var(--q-ink); font-size: 14px; font-weight: 500; line-height: 18px; text-align: center; transition: filter .16s ease, transform .16s ease, box-shadow .16s ease; }
.category-ribbon a:hover { color: var(--q-ink); filter: brightness(.97) saturate(1.08); transform: translateY(-1px); }
.category-ribbon a.is-current { box-shadow: inset 0 0 0 2px var(--q-ink); }

.stories-section { padding-block: 80px 96px; }
.stories-section--home { padding-block: 64px 112px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 40px; }
.section-heading h2 { margin: 16px 0 0; color: var(--q-ink); font-size: clamp(38px,4vw,48px); font-weight: 600; line-height: 1.125; letter-spacing: 0; }
.story-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.story-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.story-card { display: flex; min-width: 0; min-height: 270px; flex-direction: column; overflow: hidden; border: 1px solid var(--q-line); border-radius: var(--q-radius-3xl); background: linear-gradient(308.16deg,#fff 22.03%,#f6f6f6 78.08%); box-shadow: var(--q-shadow-sm); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.story-card:hover { transform: translateY(-3px); border-color: var(--q-line-strong); box-shadow: var(--q-shadow-lg); }
.story-card__media { position: relative; display: block; aspect-ratio: 16/9.6; overflow: hidden; background: linear-gradient(145deg,#d2ecdc,#eaf6ee); }
.story-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--q-card-focus,50% 50%); }
.story-card__placeholder { display: flex; height: 100%; align-items: flex-end; padding: 28px; color: var(--q-green-strong); font-size: 32px; font-weight: 600; }
.story-card__body { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: 30px; }
.story-card__category { display: inline-flex; align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--q-green-soft); color: var(--q-green-strong); font-size: 12px; font-weight: 500; line-height: 18px; }
.story-card__title { margin: 18px 0 14px; color: var(--q-ink); font-size: clamp(22px,2vw,28px); font-weight: 600; line-height: 1.2; letter-spacing: 0; }
.story-card__title a:hover { color: var(--q-green-dark); }
.story-card__excerpt { display: -webkit-box; margin: 0 0 24px; overflow: hidden; color: var(--q-muted); font-size: 14px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.story-card__meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--q-line); color: var(--q-muted); font-size: 12px; line-height: 16px; }
.story-card__views { display: inline-flex; align-items: center; gap: 5px; }
.story-card__views svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.story-grid--three .story-card__body { padding: 24px; }
.story-grid--three .story-card__title { font-size: 22px; }

.story-grid--home { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-auto-flow: row dense; gap: 16px; }
.home-story-card { position: relative; display: flex; grid-column: span 4; min-width: 0; min-height: 300px; overflow: hidden; border-radius: 36px; background: var(--category-card-color,#e8e8e8); isolation: isolate; }
.home-story-card--span-3 { grid-column: span 3; }
.home-story-card--span-4 { grid-column: span 4; }
.home-story-card__media, .home-story-card__overlay { position: absolute; z-index: -2; inset: 0; overflow: hidden; opacity: 0; transition: opacity .28s ease; }
.home-story-card__media img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: var(--q-card-focus,50% 50%); }
.home-story-card__overlay { z-index: -1; background: linear-gradient(180deg,rgba(13,24,18,.03) 34%,rgba(6,15,9,.87) 100%); }
.home-story-card__body { display: flex; width: 100%; min-width: 0; flex-direction: column; align-items: flex-start; padding: 24px 24px 36px; transition: color .2s ease; }
.home-story-card__category { display: inline-flex; max-width: 100%; min-height: 23px; align-items: center; padding: 0 10px; overflow: hidden; border: 1px solid currentColor; border-radius: 999px; color: rgba(46,46,46,.72); font-size: 10px; font-weight: 500; line-height: 1; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; transition: opacity .16s ease; }
.home-story-card__title { display: -webkit-box; margin: 18px 0 8px; overflow: hidden; color: var(--q-ink); font-size: 20px; font-weight: 500; line-height: 1.15; letter-spacing: 0; transition: color .2s ease; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.home-story-card__date { color: rgba(46,46,46,.72); font-size: 14px; font-weight: 300; line-height: 1.25; transition: opacity .16s ease, color .2s ease; }
.home-story-card__author { display: inline-flex; max-width: 100%; align-items: center; gap: 10px; margin-top: auto; color: rgba(46,46,46,.58); font-size: 13px; line-height: 1.2; transition: opacity .16s ease, color .2s ease; }
.home-story-card__author img { width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; object-fit: cover; }
.home-story-card__author > span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-story-card__link { position: absolute; z-index: 5; inset: 0; border-radius: inherit; }
.home-story-card:not(.has-no-image):hover .home-story-card__media,
.home-story-card:not(.has-no-image):hover .home-story-card__overlay,
.home-story-card:not(.has-no-image):focus-within .home-story-card__media,
.home-story-card:not(.has-no-image):focus-within .home-story-card__overlay,
.home-story-card.is-image-visible .home-story-card__media,
.home-story-card.is-image-visible .home-story-card__overlay { opacity: 1; }
.home-story-card:not(.has-no-image):hover .home-story-card__body,
.home-story-card:not(.has-no-image):focus-within .home-story-card__body,
.home-story-card.is-image-visible .home-story-card__body { justify-content: flex-end; color: #fff; }
.home-story-card:not(.has-no-image):hover .home-story-card__category,
.home-story-card:not(.has-no-image):hover .home-story-card__date,
.home-story-card:not(.has-no-image):hover .home-story-card__author,
.home-story-card:not(.has-no-image):focus-within .home-story-card__category,
.home-story-card:not(.has-no-image):focus-within .home-story-card__date,
.home-story-card:not(.has-no-image):focus-within .home-story-card__author,
.home-story-card.is-image-visible .home-story-card__category,
.home-story-card.is-image-visible .home-story-card__date,
.home-story-card.is-image-visible .home-story-card__author { display: none; }
.home-story-card:not(.has-no-image):hover .home-story-card__title,
.home-story-card:not(.has-no-image):focus-within .home-story-card__title,
.home-story-card.is-image-visible .home-story-card__title { margin-top: auto; color: #fff; font-size: 18px; line-height: 1.18; -webkit-line-clamp: 4; }

.search-form { display: flex; width: min(100%,320px); height: 48px; align-items: center; overflow: hidden; border: 1px solid var(--q-line-strong); border-radius: var(--q-radius); background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.search-form:focus-within { border-color: var(--q-green); box-shadow: var(--q-shadow-focus); }
.search-form label { min-width: 0; flex: 1; }
.search-form input { width: 100%; padding: 0 4px 0 16px; border: 0; outline: 0; background: transparent; color: var(--q-ink); }
.search-form input::placeholder { color: var(--q-muted); }
.search-form button { display: grid; width: 48px; height: 48px; flex: 0 0 auto; place-items: center; border: 0; background: transparent; color: var(--q-green); cursor: pointer; }
.navigation.pagination { margin-top: 50px; }
.nav-links { display: flex; justify-content: center; gap: 8px; }
.page-numbers { display: inline-flex; min-width: 42px; height: 42px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--q-line); border-radius: var(--q-radius); background: #fff; font-size: 13px; }
.page-numbers.current { border-color: var(--q-green); background: var(--q-green); color: #fff; }
.stories-section--home .navigation.pagination { margin-top: 92px; }
.stories-section--home .nav-links { gap: 12px; }
.stories-section--home .page-numbers { min-width: 40px; height: 40px; padding: 0 8px; border: 0; background: transparent; color: #9a9a9a; font-size: 18px; font-weight: 400; }
.stories-section--home .page-numbers.current { color: var(--q-green); }
.stories-section--home .page-numbers.prev,
.stories-section--home .page-numbers.next { border-radius: 10px; background: #ededed; color: var(--q-ink); }
.stories-section--home .page-numbers.dots { min-width: 26px; padding-inline: 0; }

/* Article and archive typography. */
.article-page { background: #fff; }
.article-hero { padding-block: 38px 64px; background: #fff; }
.breadcrumbs { margin-bottom: 28px; color: rgba(46,46,46,.48); font-size: 16px; line-height: 20px; letter-spacing: -.02em; }
.breadcrumbs ol { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li { display: flex; min-width: 0; align-items: center; gap: 6px; }
.breadcrumbs li + li::before { display: inline-block; width: 7px; height: 7px; margin: 0 7px 0 2px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; color: rgba(46,46,46,.38); content: ""; transform: rotate(45deg); }
.breadcrumbs a { color: rgba(46,46,46,.54); text-decoration: none; transition: color .15s ease; }
.breadcrumbs a:hover { color: var(--q-green); }
.breadcrumbs__current { display: block; max-width: min(46vw,480px); overflow: hidden; color: var(--q-muted); text-overflow: ellipsis; white-space: nowrap; }
.article-hero-card { position: relative; min-height: 350px; overflow: hidden; border-radius: 36px; background: linear-gradient(135deg,var(--category-card-color,#249e55),#185f33); isolation: isolate; }
.article-hero-card__media, .article-hero-card__shade { position: absolute; inset: 0; }
.article-hero-card__media { z-index: -2; margin: 0; }
.article-hero-card__image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.article-hero-card__shade { z-index: -1; background: rgba(0,0,0,.57); }
.article-hero-card.has-no-image .article-hero-card__shade { background: linear-gradient(135deg,rgba(18,95,51,.22),rgba(13,24,18,.62)); }
.article-hero-card__content { display: flex; min-height: 350px; flex-direction: column; align-items: center; justify-content: space-between; padding: 38px 42px 34px; color: #fff; text-align: center; }
.article-hero-card__meta { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px; color: rgba(255,255,255,.78); font-size: 14px; }
.article-hero-card__category { display: inline-flex; min-height: 29px; align-items: center; padding: 0 13px; border-radius: 999px; background: var(--category-card-color,#d4fbd8); color: #2e2e2e; font-size: 10px; font-weight: 500; line-height: 1; text-transform: uppercase; }
.article-hero-card h1 { max-width: 980px; margin: 28px auto; color: #fff; font-size: clamp(34px,4.6vw,56px); font-weight: 500; line-height: 1.04; letter-spacing: -.02em; }
.article-hero-card__authors { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; }
.article-hero-card__author { display: inline-flex; min-height: 50px; align-items: center; gap: 10px; padding: 6px 14px 6px 6px; border-radius: 999px; background: rgba(18,119,58,.58); color: #fff; font-size: 13px; font-weight: 500; line-height: 1.2; backdrop-filter: blur(10px); }
.article-hero-card__author img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; background: #fff; }
.article-deck { max-width: 790px; margin: 0; color: var(--q-muted); font-size: 19px; line-height: 1.55; }
.article-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 32px; color: var(--q-muted); font-size: 12px; }
.article-meta__author { display: inline-flex; align-items: center; gap: 11px; color: var(--q-ink); }
.article-meta__author img { width: 44px; height: 44px; object-fit: cover; border-radius: 50%; background: var(--q-paper); }
.article-meta__author span { display: grid; gap: 2px; }
.article-meta__author strong { font-size: 13px; }
.article-meta__author small { color: var(--q-muted); }
.article-meta__dates { display: grid; gap: 3px; }
.article-meta__dates time { white-space: nowrap; }
.article-layout { display: grid; grid-template-columns: 160px minmax(0,816px); justify-content: center; gap: 48px; padding-top: 64px; border-top: 1px solid var(--q-line); }
.article-sidebar { position: sticky; top: 152px; grid-column: 1; grid-row: 1; display: grid; align-self: start; gap: 32px; }
.article-toc, .article-share { color: var(--q-muted); font-size: 11px; }
.article-toc > span, .article-share > span { display: block; margin-bottom: 15px; color: var(--q-ink); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.article-toc nav { display: grid; gap: 10px; padding-left: 13px; border-left: 1px solid var(--q-line-strong); }
.article-toc a { line-height: 1.4; }
.article-toc a:hover { color: var(--q-green-dark); }
.article-share { display: grid; gap: 0; }
.article-share__icons { display: flex; align-items: center; gap: 16px; }
.article-share__icons a, .article-share__icons button { display: inline-flex; width: 40px; height: 40px; flex: 0 0 40px; align-items: center; justify-content: center; overflow: hidden; padding: 0; border: 0; border-radius: 10px; background: transparent; cursor: pointer; transition: opacity .15s ease, transform .15s ease; }
.article-share__icons a:hover, .article-share__icons button:hover { opacity: .82; transform: translateY(-1px); }
.article-share__icons img { width: 40px; height: 40px; border-radius: 10px; object-fit: cover; }
.article-share__icons [data-copy-link].is-copied { outline: 2px solid var(--q-green); outline-offset: 2px; }
.article-content { min-width: 0; grid-column: 2; color: var(--q-ink); font-size: 18px; line-height: 1.72; }
.article-content > :first-child { margin-top: 0; }
.article-content h2 { margin: 60px 0 20px; scroll-margin-top: 152px; font-size: clamp(30px,3.1vw,40px); font-weight: 600; line-height: 1.15; letter-spacing: 0; }
.article-content h3 { margin: 40px 0 16px; font-size: 28px; font-weight: 600; line-height: 1.25; }
.article-content p { margin: 0 0 22px; }
.article-content a { color: var(--q-green-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-content ul, .article-content ol { margin: 22px 0 28px; padding-left: 26px; }
.article-content li { margin: 8px 0; padding-left: 5px; }
.article-content blockquote { position: relative; margin: 40px 0; padding: 34px 34px 30px 58px; border: 1px solid #d2ecdc; border-radius: var(--q-radius-2xl); background: linear-gradient(135deg,#fff 0%,var(--q-green-soft) 100%); color: var(--q-ink); font-size: 20px; line-height: 1.55; }
.article-content blockquote::before { position: absolute; top: 20px; left: 22px; color: var(--q-green); content: "“"; font-size: 48px; font-weight: 600; line-height: 1; }
.article-content blockquote p:last-child { margin-bottom: 0; }
.article-content figure { margin: 40px 0; }
.article-content img { width: auto; max-width: 100%; border-radius: var(--q-radius-xl); }
.article-content figcaption { margin-top: 10px; color: var(--q-muted); font-size: 12px; text-align: center; }
.article-table-wrap { width: 100%; max-height: none; margin: 32px 0; overflow-x: auto; overflow-y: clip; border: 1px solid var(--q-line-strong); border-radius: var(--q-radius-xl); background: #fff; scrollbar-color: var(--q-subtle) transparent; scrollbar-width: thin; }
.article-table-wrap:focus-visible { outline: none; box-shadow: var(--q-shadow-focus); }
.article-content table { display: table; width: 100% !important; height: auto !important; margin: 0; border: 0 !important; border-collapse: collapse; table-layout: fixed; font-size: 14px; line-height: 1.5; }
.article-content tr, .article-content th, .article-content td { height: auto !important; }
.article-content th, .article-content td { min-width: 0; padding: 16px; border: 0; border-right: 1px solid var(--q-line-strong); border-bottom: 1px solid var(--q-line-strong); overflow-wrap: anywhere; vertical-align: top; }
.article-content th:last-child, .article-content td:last-child { border-right: 0; }
.article-content tr:last-child th, .article-content tr:last-child td { border-bottom: 0; }
.article-content td p, .article-content th p { margin: 0; }
.article-content tr:first-child td, .article-content th { background: var(--q-paper); font-weight: 600; }
.article__quote { position: relative; margin: 38px 0; padding: 30px 32px 28px 58px; border: 1px solid #d2ecdc; border-radius: var(--q-radius-2xl); background: var(--q-green-soft); }
.article__quote::before { position: absolute; top: 18px; left: 22px; color: var(--q-green); content: "“"; font-size: 46px; font-weight: 600; line-height: 1; }
.article__quote > :last-child { margin-bottom: 0; }
.article__quote p { color: var(--q-ink); font-size: 18px; line-height: 1.65; }
.block_quote_author { margin: 44px 0; }
.block_quote_author_wrapper { overflow: hidden; border: 1px solid var(--q-line-strong); border-radius: var(--q-radius-3xl); background: linear-gradient(308.16deg,#fff 22.03%,#f6f6f6 78.08%); box-shadow: var(--q-shadow-sm); }
.block_quote_author_items, .block_quote_author_item { min-width: 0; }
.block_quote_author_item { display: grid; grid-template-columns: 72px minmax(0,1fr); column-gap: 16px; align-items: start; padding: 30px; }
.block_quote_author_photo_wrapper { grid-column: 1; grid-row: 2 / span 2; width: 72px; height: 72px; margin-top: 18px; overflow: hidden; border: 3px solid #fff; border-radius: 50%; background: var(--q-green-soft); box-shadow: var(--q-shadow-sm); }
.article-content .block_quote_author_photo { width: 72px !important; height: 72px !important; max-width: none; border-radius: 50%; object-fit: cover; }
.block_quote_author_item_text { display: contents; }
.block_quote_author_item_quote { position: relative; grid-column: 1 / -1; grid-row: 1; padding: 30px 0 22px; border-bottom: 1px solid var(--q-line-strong); }
.block_quote_author_item_quote::before { position: absolute; top: -10px; left: 0; color: var(--q-green); content: "“"; font-size: 56px; font-weight: 600; line-height: 1; }
.block_quote_author_item_quote p { margin: 0 0 18px; color: var(--q-ink); font-size: 20px; line-height: 1.55; }
.block_quote_author_item_name { grid-column: 2; grid-row: 2; margin-top: 18px; color: var(--q-ink); font-size: 15px; font-weight: 600; line-height: 20px; }
.block_quote_author_item_dolzhnost { grid-column: 2; grid-row: 3; margin-top: 2px; color: var(--q-muted); font-size: 13px; line-height: 18px; }
.qugo-expert-quote { overflow: hidden; margin: 44px 0; border: 1px solid #d2ecdc; border-radius: var(--q-radius-3xl); background: linear-gradient(135deg,#fff 0%,var(--q-green-soft) 100%); box-shadow: var(--q-shadow-sm); }
.article-content .qugo-expert-quote blockquote { position: relative; margin: 0; padding: 48px 34px 30px 64px; border: 0; border-radius: 0; background: transparent; color: var(--q-ink); font-size: 20px; line-height: 1.55; }
.article-content .qugo-expert-quote blockquote::before { position: absolute; top: 25px; left: 28px; color: var(--q-green); content: "“"; font-size: 54px; font-weight: 600; line-height: 1; }
.article-content .qugo-expert-quote blockquote p { margin: 0 0 18px; }
.article-content .qugo-expert-quote blockquote p:last-child { margin-bottom: 0; }
.article-content .qugo-expert-quote figcaption { margin: 0; padding: 20px 32px 24px; border-top: 1px solid #d2ecdc; text-align: left; }
.article-content .qugo-expert-quote__author { display: inline-flex; align-items: center; gap: 14px; color: var(--q-ink); text-decoration: none; }
.article-content a.qugo-expert-quote__author:hover strong { color: var(--q-green-dark); }
.qugo-expert-quote__photo-wrap { overflow: hidden; width: 64px; height: 64px; flex: 0 0 64px; border: 3px solid #fff; border-radius: 50%; background: #fff; box-shadow: var(--q-shadow-sm); }
.article-content .qugo-expert-quote__photo { display: block; width: 64px !important; height: 64px !important; max-width: none; border-radius: 50%; object-fit: cover; }
.qugo-expert-quote__identity { display: grid; gap: 1px; }
.qugo-expert-quote__identity strong { color: var(--q-ink); font-size: 15px; line-height: 20px; transition: color .15s ease; }
.qugo-expert-quote__identity span { color: var(--q-muted); font-size: 13px; line-height: 18px; }
.article-content iframe { max-width: 100%; }
.article-content .block_how_to, .article-content .article__fact, .article-content [class*="article__info"] { margin: 32px 0; padding: 24px; border: 1px solid var(--q-line); border-radius: var(--q-radius-2xl); background: var(--q-paper); }
.article-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 34px 0 0; padding-top: 24px; border-top: 1px solid var(--q-line); }
.article-tags a { padding: 7px 12px; border-radius: 999px; background: var(--q-surface-muted); color: var(--q-muted); font-size: 12px; text-decoration: none; }
.qugo-article-cta { position: relative; width: 100%; min-height: 210px; margin: 48px 0; overflow: hidden; padding: 24px; border-radius: 24px; background: linear-gradient(180deg,#249e55,#3bbf70); color: #fff; }
.article-content .qugo-article-cta h2 { position: relative; z-index: 2; max-width: 510px; margin: 0; color: #fff; font-size: 20px; font-weight: 400; line-height: 24px; letter-spacing: .05em; text-transform: uppercase; }
.article-content .qugo-article-cta p { position: relative; z-index: 2; max-width: 510px; margin: 8px 0 0; color: #fff; font-size: 16px; font-weight: 500; line-height: 20px; letter-spacing: .02em; }
.qugo-article-cta__copy { position: relative; z-index: 2; }
.qugo-article-cta--image .qugo-article-cta__copy { width: 67%; }
.qugo-article-cta__buttons { display: flex; align-items: center; gap: 24px; margin-top: 26px; }
.article-content .qugo-article-cta__button { display: inline-flex; width: 210px; min-height: 46px; align-items: center; justify-content: center; padding: 0 16px; border: 0; border-radius: 11px; background: #d4fbd8; color: #434343; font-size: 15px; font-weight: 400; line-height: 1; text-align: center; text-decoration: none; transition: transform .15s ease, background .15s ease; }
.article-content .qugo-article-cta__button:hover { background: #e6ffe9; color: #2e2e2e; transform: translateY(-1px); }
.article-content .qugo-article-cta__button--secondary { border: 1px solid rgba(46,46,46,.72); background: transparent; color: #263a2d; }
.article-content .qugo-article-cta__button--secondary:hover { background: rgba(255,255,255,.16); }
.article-content .qugo-article-cta__image { position: absolute; z-index: 1; right: -54px; bottom: -75px; width: 55%; max-width: none; height: auto; margin: 0; border-radius: 0; pointer-events: none; }
.article-content .qugo-article-cta__image--default { right: -54px; bottom: -80px; clip-path: inset(0 0 26.8% 0); }
.qugo-article-cta--compact { display: flex; min-height: 132px; align-items: center; justify-content: space-between; gap: 28px; }
.qugo-article-cta--compact .qugo-article-cta__copy { max-width: 585px; }
.qugo-article-cta--compact > .qugo-article-cta__button { width: 145px; min-width: 145px; min-height: 58px; }

.qugo-inline-cta { margin: 64px 0 20px; padding: 34px; border-radius: var(--q-radius-3xl); background: linear-gradient(180deg,var(--q-green),var(--q-green-light)); color: #fff; box-shadow: var(--q-shadow-lg); }
.qugo-inline-cta h2 { margin: 0 0 12px; color: #fff; font-size: 34px; }
.qugo-inline-cta p { color: rgba(255,255,255,.86); }
.qugo-inline-cta a { text-decoration: none; }
.qugo-article-lead { width: 100%; margin-left: 0; transform: none; }
.qugo-lead-form--article { display: grid; grid-template-columns: minmax(0,1fr) 220px; gap: 20px 24px; margin-top: 26px; }
.qugo-lead-form__fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.qugo-lead-field { display: grid; gap: 6px; }
.qugo-lead-field--wide { grid-column: 1/-1; }
.qugo-lead-field > span, .qugo-lead-form__audience legend { color: rgba(255,255,255,.82); font-size: 12px; line-height: 1.3; }
.qugo-lead-form input, .qugo-lead-form select, .qugo-lead-form textarea { width: 100%; min-width: 0; padding: 0 15px; border: 1px solid transparent; border-radius: 11px; background: rgba(255,255,255,.97); color: var(--q-ink); outline: 0; }
.qugo-lead-form input, .qugo-lead-form select { height: 50px; }
.qugo-lead-form textarea { min-height: 72px; padding-block: 14px; resize: vertical; }
.qugo-lead-form input:focus, .qugo-lead-form select:focus, .qugo-lead-form textarea:focus { border-color: #d4fbd8; box-shadow: 0 0 0 3px rgba(212,251,216,.28); }
.qugo-lead-form__audience { display: grid; align-content: start; gap: 10px; margin: 0; padding: 16px; border: 1px solid rgba(255,255,255,.28); border-radius: 16px; }
.qugo-lead-form__audience legend { padding: 0 5px; font-weight: 600; }
.qugo-lead-form__audience label { display: flex; align-items: center; gap: 9px; cursor: pointer; }
.qugo-lead-form__audience input { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; padding: 0; accent-color: #d4fbd8; }
.qugo-lead-form__audience span { color: #fff; font-size: 13px; line-height: 1.35; }
.qugo-lead-consent { grid-column: 1/-1; display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; margin-top: 2px; cursor: pointer; }
.qugo-lead-form .qugo-lead-consent input { width: 18px; height: 18px; min-width: 18px; margin: 1px 0 0; padding: 0; accent-color: #d4fbd8; }
.qugo-lead-form .qugo-lead-consent span { color: rgba(255,255,255,.82); font-size: 11px; line-height: 1.5; }
.qugo-lead-form .qugo-lead-consent a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.qugo-lead-form__footer { grid-column: 1/-1; display: grid; grid-template-columns: 220px minmax(0,1fr); align-items: center; gap: 18px; }
.qugo-lead-form__footer .qugo-button { width: 100%; }
.qugo-lead-form__footer p { margin: 0; color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.45; }
.qugo-lead-form__footer a { color: #fff; text-decoration: underline; }
.qugo-honeypot { position: absolute; left: -9999px; }
.qugo-lead-success { padding: 16px 18px; border-radius: var(--q-radius); background: rgba(255,255,255,.14); }
.qugo-lead-error { margin: 18px 0 0; padding: 12px 14px; border: 1px solid rgba(255,255,255,.42); border-radius: var(--q-radius); background: rgba(122,15,15,.18); color: #fff !important; }
.article-end { margin-top: 80px; padding: 72px 0 95px; background: linear-gradient(180deg,#fff 0%,#c1def9 100%); }
.article-author { display: grid; grid-template-columns: 88px 1fr; gap: 28px; margin-top: 0; margin-bottom: 80px; padding: 36px; border: 1px solid var(--q-line); border-radius: var(--q-radius-3xl); background: #fff; box-shadow: var(--q-shadow-sm); }
.article-author > img { width: 88px; height: 88px; object-fit: cover; border-radius: 50%; background: #fff; }
.article-author h2 { margin: 10px 0 8px; font-size: 28px; font-weight: 600; }
.article-author p { margin: 0; color: var(--q-muted); line-height: 1.6; }
.article-author .text-link { padding-top: 16px; }
.related { padding-block: 0; padding-inline: 64px; }
.related__heading { margin-bottom: 60px; text-align: center; }
.related__heading h2 { max-width: 760px; margin: 0 auto; color: var(--q-ink); font-size: 36px; font-weight: 600; line-height: 40px; letter-spacing: .02em; }
.related__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px 48px; }
.related-story-card { position: relative; display: grid; min-width: 0; height: 428px; grid-template-rows: 202px 202px; gap: 24px; overflow: hidden; border-radius: 36px; background: var(--category-card-color,#e8e8e8); }
.related-story-card__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: 36px 36px 32px; }
.related-story-card__category { display: inline-flex; max-width: 100%; min-height: 23px; align-items: center; padding: 0 10px; overflow: hidden; border: 1px solid rgba(46,46,46,.72); border-radius: 999px; color: rgba(46,46,46,.72); font-size: 10px; font-weight: 500; line-height: 1; letter-spacing: .04em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.related-story-card__title { display: -webkit-box; margin: 18px 0 10px; overflow: hidden; color: var(--q-ink); font-size: 20px; font-weight: 500; line-height: 1.15; letter-spacing: 0; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.related-story-card__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin: auto 0 0; color: rgba(46,46,46,.72); font-size: 16px; font-weight: 300; line-height: 20px; }
.related-story-card__media { min-width: 0; height: 202px; overflow: hidden; background: rgba(255,255,255,.35); }
.related-story-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--q-card-focus,50% 50%); }
.related-story-card__media > span { display: flex; height: 100%; align-items: center; justify-content: center; color: rgba(46,46,46,.5); font-size: 18px; }
.related-story-card__link { position: absolute; z-index: 2; inset: 0; border-radius: inherit; }
.related-story-card { transition: transform .18s ease, box-shadow .18s ease; }
.related-story-card:hover, .related-story-card:focus-within { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(33,58,73,.12); }

.article-comments { margin-top: 80px; padding: 40px; border: 1px solid var(--q-line); border-radius: var(--q-radius-3xl); background: var(--q-paper); }
.article-comments__header { margin-bottom: 32px; }
.article-comments__header h2 { margin: 12px 0 8px; font-size: 34px; }
.article-comments__header p { margin: 0; color: var(--q-muted); }
.comment-list, .comment-list .children { margin: 0; padding: 0; list-style: none; }
.comment-list { display: grid; gap: 18px; margin-bottom: 42px; }
.comment-list .children { display: grid; gap: 14px; margin-top: 14px; padding-left: 32px; }
.comment-body { padding: 20px; border: 1px solid var(--q-line); border-radius: var(--q-radius-xl); background: #fff; }
.comment-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.comment-author { display: flex; align-items: center; gap: 10px; }
.comment-author img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.comment-author .says { display: none; }
.comment-metadata { color: var(--q-muted); font-size: 11px; }
.comment-content p { margin: 0 0 12px; line-height: 1.65; }
.reply a { color: var(--q-green-dark); font-size: 12px; font-weight: 600; }
.comment-respond { margin-top: 32px; }
.comment-reply-title { margin: 0 0 10px; font-size: 28px; }
.comment-notes, .logged-in-as { color: var(--q-muted); font-size: 13px; }
.qugo-comment-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.qugo-comment-form > p { margin: 0; }
.qugo-comment-form label { display: block; margin-bottom: 6px; color: var(--q-ink); font-size: 13px; font-weight: 600; }
.qugo-comment-form input:not([type="checkbox"]), .qugo-comment-form textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--q-line-strong); border-radius: var(--q-radius); background: #fff; color: var(--q-ink); outline: 0; }
.qugo-comment-form input:focus, .qugo-comment-form textarea:focus { border-color: var(--q-green); box-shadow: var(--q-shadow-focus); }
.qugo-comment-form .comment-form-comment, .qugo-comment-form .comment-form-cookies-consent, .qugo-comment-form .form-submit, .qugo-comment-form .comment-notes, .qugo-comment-form .logged-in-as { grid-column: 1/-1; }
.qugo-comment-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 8px; }
.qugo-comment-form .comment-form-cookies-consent label { margin: 0; color: var(--q-muted); font-weight: 400; line-height: 1.45; }
.qugo-comment-honeypot { position: absolute; left: -9999px; }

.archive-hero, .author-hero { padding: 80px 0 72px; background: #fff; text-align: center; }
.archive-hero .breadcrumbs ol { justify-content: center; }
.archive-hero h1, .author-hero h1 { margin: 0 0 18px; color: var(--q-ink); font-size: clamp(42px,5vw,60px); font-weight: 600; line-height: 1.1; letter-spacing: -.01em; }
.archive-description { color: var(--q-muted); font-size: 18px; line-height: 1.6; }
.archive-description p { margin: 0; }
.archive-hero--category { padding: 56px 0 64px; background: var(--category-card-color,#e8e8e8); text-align: left; }
.archive-hero--category .archive-hero__inner { width: min(calc(100% - 64px),1200px); padding-inline: 0; }
.archive-hero--category .breadcrumbs { color: rgba(46,46,46,.66); }
.archive-hero--category .breadcrumbs ol { justify-content: flex-start; }
.archive-hero--category .breadcrumbs a { color: rgba(46,46,46,.78); }
.archive-hero--category h1 { max-width: 860px; margin: 26px 0 20px; font-size: clamp(46px,5vw,68px); }
.archive-hero--category .archive-description { max-width: 840px; color: rgba(46,46,46,.72); font-size: 18px; line-height: 1.55; }
.archive-empty { grid-column: 1/-1; margin: 0; padding: 48px; border-radius: 28px; background: var(--q-paper); text-align: center; }
.search-back { margin-top: 24px; }
.author-hero { text-align: left; }
.author-hero__grid { display: grid; grid-template-columns: 176px 1fr; gap: 40px; align-items: center; }
.author-hero__grid > img { width: 176px; height: 176px; border-radius: 50%; object-fit: cover; background: var(--q-paper); }
.author-position { color: var(--q-green-dark); font-weight: 600; }
.author-details { display: grid; gap: 24px; padding-block: 0 72px; }
.author-details__section { padding: 32px; border: 1px solid var(--q-line); border-radius: var(--q-radius-2xl); background: #fff; box-shadow: var(--q-shadow-sm); }
.author-details__section h2 { margin: 0 0 18px; font-size: 34px; }
.author-details__section p { margin: 0 0 14px; color: var(--q-muted); font-size: 17px; line-height: 1.7; }
.author-details__section p:last-child { margin-bottom: 0; }
.author-external { padding-block: 64px 88px; }
.author-external__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.author-external-card { overflow: hidden; border: 1px solid var(--q-line); border-radius: var(--q-radius-2xl); background: #fff; box-shadow: var(--q-shadow-sm); transition: transform .18s ease, box-shadow .18s ease; }
.author-external-card:hover { transform: translateY(-3px); box-shadow: var(--q-shadow-lg); }
.author-external-card__media { display: grid; width: 100%; aspect-ratio: 16/10; place-items: center; overflow: hidden; background: var(--q-green-soft); color: var(--q-green-dark); }
.author-external-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .18s ease; }
.author-external-card:hover .author-external-card__media img { transform: scale(1.02); }
.author-external-card > strong, .author-external-card > .text-link { display: block; margin-inline: 22px; }
.author-external-card > strong { margin-top: 20px; color: var(--q-ink); font-size: 20px; line-height: 1.3; }
.author-external-card > .text-link { margin-top: 14px; margin-bottom: 22px; }
.page-shell { min-height: 60vh; padding-bottom: 100px; }

.article-lightbox-image { cursor: zoom-in; }
.article-lightbox-image:focus-visible { outline: none; box-shadow: var(--q-shadow-focus); }
.article-lightbox {
  width: min(94vw,1200px);
  max-width: none;
  height: min(92vh,900px);
  max-height: none;
  padding: 0;
  border: 0;
  border-radius: var(--q-radius-2xl);
  background: #161616;
  color: #fff;
  box-shadow: 0 24px 80px rgba(0,0,0,.42);
}
.article-lightbox::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(4px); }
.article-lightbox figure { display: grid; height: 100%; margin: 0; padding: 42px 24px 20px; grid-template-rows: minmax(0,1fr) auto; }
.article-lightbox figure img { width: 100%; height: 100%; object-fit: contain; }
.article-lightbox figcaption { padding-top: 12px; color: rgba(255,255,255,.72); font-size: 13px; text-align: center; }
.article-lightbox__close { position: absolute; z-index: 2; top: 8px; right: 10px; display: grid; width: 38px; height: 38px; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }

/* Footer: mirrors the shared Qugo page footer, including its moon backdrop. */
.site-footer { position: relative; padding: 270px 0 60px; background-color: #fff; background-image: url('../landing/qugo-home/source/images/footer_moon.png'); background-repeat: no-repeat; background-position: bottom center; color: var(--q-ink); }
.site-footer__inner { padding-block: 0; }
.footer-partners { display: flex; align-items: center; gap: 24px; margin: 24px 0; }
.footer-partners__title { display: flex; align-items: center; gap: 16px; }
.footer-partners__title p { margin: 0; font-size: 16px; font-weight: 700; line-height: 20px; }
.footer-partners ul { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; margin: 0 0 0 31px; padding: 0; list-style: none; }
.footer-partners a { color: var(--q-muted); font-size: 14px; font-weight: 600; line-height: 18px; }
.footer-partners a:hover { color: var(--q-green); }
.footer-primary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.footer-secondary { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr) minmax(0,1fr); gap: 24px; margin-top: 24px; }
.footer-column h2 { margin: 0; font-size: 16px; font-weight: 700; line-height: 20px; }
.footer-column > ul, .footer-contacts address > ul { display: grid; gap: 12px; margin: 16px 0 0; padding: 0; list-style: none; }
.footer-column a, .footer-column p { color: var(--q-ink); font-size: 18px; line-height: 24px; transition: color .15s ease; }
.footer-column a:hover { color: var(--q-green); }
.footer-contacts address { margin-top: 16px; font-style: normal; }
.footer-contacts address > p { margin: 0; max-width: 330px; line-height: 24px; }
.footer-contacts address > div { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; }
.footer-contacts address > div a { color: var(--q-ink); }
.footer-socials { display: flex !important; flex-wrap: wrap; gap: 10px !important; margin-top: 16px !important; }
.footer-socials a { display: inline-flex; align-items: center; gap: 7px; color: var(--q-ink); font-size: 18px; font-weight: 400; }
.footer-socials svg { width: 24px; height: 24px; flex: 0 0 24px; fill: currentColor; }
.footer-socials a:hover { color: var(--q-green); }
.footer-legal { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--q-line-strong); color: var(--q-ink); font-size: 16px; line-height: 20px; }

@media (max-width: 1100px) {
  .site-header__desktop { grid-template-columns: 134px minmax(0,1fr) auto; }
  .product-nav { gap: 18px; }
  .product-nav > a, .product-nav summary { font-size: 14px; }
  .header-search { width: 190px; }
  .lead-story { min-height: 440px; }
  .lead-story__media { min-height: 440px; }
  .story-grid--home { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .story-grid--home .home-story-card { grid-column: span 1; }
  .article-layout { grid-template-columns: 80px minmax(0,1fr); gap: 32px; }
  .article-toc { display: none; }
  .story-grid--three { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (min-width: 821px) and (max-width: 1100px) {
  .article-share { width: 80px; min-width: 0; }
  .article-share__icons { flex-direction: column; align-items: flex-start; gap: 12px; }
}

@media (max-width: 1023px) {
  body.admin-bar .site-header { top: 32px; }
  .site-header__desktop { display: none; }
  .site-header__mobile-bar { display: flex; height: 64px; align-items: center; }
  .site-header__mobile-bar .header-logo { width: 106px; }
  .site-header__mobile-bar .header-logo img { width: 106px; }
  .mobile-blog-label { margin-left: 14px; padding-left: 14px; border-left: 1px solid var(--q-line-strong); font-size: 15px; font-weight: 600; }
  .nav-toggle { display: grid; width: 40px; height: 40px; margin-left: auto; place-items: center; padding: 0; border: 0; border-radius: var(--q-radius); background: transparent; color: var(--q-ink); cursor: pointer; }
  .nav-toggle svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
  .mobile-nav { border-top: 1px solid var(--q-line); background: #fff; }
  .mobile-nav.is-open { display: block; }
  .mobile-nav__inner { display: grid; gap: 18px; padding-block: 16px 24px; }
  .mobile-nav nav { display: grid; gap: 2px; }
  .mobile-nav nav a { padding: 12px; border-radius: var(--q-radius); color: var(--q-ink); font-size: 15px; font-weight: 500; }
  .mobile-nav nav a:hover, .mobile-nav nav a.is-current { background: var(--q-green-soft); color: var(--q-green-strong); }
  .mobile-nav nav a.mobile-nav__audience.is-active { background: var(--q-green-soft); color: var(--q-green-strong); }
  .mobile-nav__divider { height: 1px; margin: 8px 0; background: var(--q-line); }
  .mobile-nav .search-form { width: 100%; }
  .mobile-nav__auth { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .mobile-nav__auth .qugo-button { width: 100%; }
  .site-footer { padding: 48px 0 16px; background: var(--q-paper); }
}

@media (max-width: 820px) {
  body.admin-bar .site-header { top: 46px; }
  .shell, .shell-narrow { padding-inline: 16px; }
  .magazine-hero { padding-bottom: 84px; }
  .magazine-hero__inner, .stories-section--home { width: min(calc(100% - 32px),1200px); }
  .magazine-hero__intro { grid-template-columns: 1fr; gap: 18px; margin-bottom: 28px; }
  .magazine-hero__intro p { justify-self: start; max-width: 620px; text-align: left; }
  .lead-story { grid-template-columns: 1fr; border-radius: 34px; }
  .lead-story__media { order: -1; min-height: 0; max-height: none; aspect-ratio: 16/9; }
  .lead-story__body { min-height: 330px; }
  .lead-story__tags { top: 24px; left: 24px; gap: 8px; }
  .lead-story__tags > span { padding: 8px 12px; }
  .story-grid, .story-grid--three { grid-template-columns: 1fr; }
  .category-ribbon { padding-block: 16px; }
  .category-ribbon__scroll { width: min(calc(100% - 32px),1200px); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .category-ribbon a { justify-content: flex-start; min-height: 52px; padding: 10px 12px; text-align: left; }
  .archive-hero--category { padding: 36px 0 44px; }
  .archive-hero--category .archive-hero__inner { width: min(calc(100% - 32px),1200px); }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .article-hero { padding-block: 32px 48px; }
  .article-hero-card__content { padding-inline: 26px; }
  .article-layout { display: block; padding-top: 32px; }
  .article-sidebar { position: static; display: block; margin-top: 36px; }
  .article-share { display: grid; margin-top: 28px; }
  .article-share > span { margin: 0 0 15px; }
  .qugo-lead-form--article { grid-template-columns: 1fr; }
  .qugo-lead-form__footer { grid-template-columns: 200px minmax(0,1fr); }
  .article-author { padding: 28px; }
  .related__grid { gap: 28px; }
  .related { padding-inline: 16px; }
  .author-external__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-primary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-secondary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-secondary > :last-child { grid-column: 1/-1; }
  .footer-legal { align-items: flex-start; flex-direction: column; gap: 4px; }
}

@media (max-width: 540px) {
  .shell, .shell-narrow { padding-inline: 8px; }
  .magazine-hero { padding: 22px 0 70px; }
  .magazine-hero::before { clip-path: polygon(0 0,100% 0,100% 92%,52% 100%,48% 100%,0 92%); }
  .magazine-hero__intro h1 { font-size: 36px; }
  .magazine-hero__intro p { font-size: 13px; line-height: 1.35; letter-spacing: .055em; }
  .category-ribbon a { padding: 10px 12px; font-size: 13px; }
  .lead-story { min-height: 0; border-radius: 28px; }
  .lead-story__body { padding: 24px; }
  .lead-story__author { gap: 8px; padding-left: 10px; }
  .lead-story__author span { display: none; }
  .lead-story__date { padding-top: 34px; }
  .lead-story h2 { margin-bottom: 26px; font-size: 28px; }
  .story-grid--home { grid-template-columns: 1fr; }
  .home-story-card { min-height: 290px; grid-column: 1 !important; border-radius: 28px; }
  .story-card { min-height: 270px; }
  .stories-section { padding-block: 56px 72px; }
  .stories-section--home { padding-block: 40px 72px; }
  .stories-section--home .navigation.pagination { margin-top: 54px; }
  .section-heading h2 { font-size: 36px; }
  .breadcrumbs { font-size: 13px; }
  .breadcrumbs__current { max-width: 42vw; }
  .article-hero-card { min-height: 390px; border-radius: 28px; }
  .article-hero-card__content { min-height: 390px; padding: 26px 18px 24px; }
  .article-hero-card h1 { margin-block: 24px; font-size: 34px; }
  .article-hero-card__meta { font-size: 12px; }
  .article-deck { font-size: 17px; }
  .article-content { font-size: 17px; }
  .article-content h2 { font-size: 30px; }
  .article-content blockquote, .article__quote { padding: 54px 22px 24px; }
  .article-content blockquote::before, .article__quote::before { top: 14px; left: 20px; }
  .article-table-wrap table { min-width: 640px; table-layout: auto; }
  .block_quote_author_item { grid-template-columns: 56px minmax(0,1fr); column-gap: 14px; padding: 22px 18px; }
  .block_quote_author_photo_wrapper { width: 56px; height: 56px; }
  .article-content .block_quote_author_photo { width: 56px !important; height: 56px !important; }
  .block_quote_author_item_quote { padding-top: 28px; }
  .block_quote_author_item_quote p { font-size: 18px; }
  .qugo-article-cta { width: 100%; margin-block: 40px; padding: 22px 18px; }
  .qugo-article-cta--image { min-height: 390px; }
  .qugo-article-cta--image .qugo-article-cta__copy { width: 100%; }
  .qugo-article-cta__buttons { align-items: stretch; flex-direction: column; gap: 10px; margin-top: 22px; }
  .article-content .qugo-article-cta__button { width: 100%; }
  .article-content .qugo-article-cta__image { right: -28%; bottom: -42px; width: 105%; opacity: .42; }
  .article-content .qugo-article-cta__image--default { bottom: -70px; }
  .qugo-article-cta--compact { align-items: stretch; flex-direction: column; }
  .qugo-article-cta--compact > .qugo-article-cta__button { width: 100%; min-width: 0; }
  .qugo-inline-cta { margin-inline: -4px; padding: 26px 20px; }
  .qugo-article-lead { width: 100%; margin-left: 0; }
  .qugo-lead-form__fields { grid-template-columns: 1fr; }
  .qugo-lead-field--wide { grid-column: auto; }
  .qugo-lead-form__footer { grid-template-columns: 1fr; }
  .article-author { grid-template-columns: 1fr; }
  .article-end { margin-top: 56px; padding: 48px 0 64px; }
  .related__heading { margin-bottom: 32px; }
  .related__heading h2 { font-size: 30px; line-height: 34px; }
  .related__grid { grid-template-columns: 1fr; gap: 24px; }
  .related { padding-inline: 8px; }
  .related-story-card { height: auto; min-height: 390px; grid-template-rows: minmax(188px,auto) 180px; gap: 0; }
  .related-story-card__content { padding: 26px 22px; }
  .related-story-card__media { height: 180px; }
  .author-hero__grid { grid-template-columns: 1fr; text-align: center; }
  .author-hero__grid > img { margin-inline: auto; }
  .article-content .qugo-expert-quote blockquote { padding: 54px 20px 24px; font-size: 18px; }
  .article-content .qugo-expert-quote blockquote::before { top: 14px; left: 20px; }
  .article-content .qugo-expert-quote figcaption { padding: 18px 20px 22px; }
  .qugo-expert-quote__photo-wrap { width: 56px; height: 56px; flex-basis: 56px; }
  .article-content .qugo-expert-quote__photo { width: 56px !important; height: 56px !important; }
  .article-comments { margin-inline: 8px; padding: 26px 18px; }
  .qugo-comment-form { grid-template-columns: 1fr; }
  .comment-list .children { padding-left: 14px; }
  .comment-meta { align-items: flex-start; flex-direction: column; }
  .author-details__section { padding: 24px 20px; }
  .author-external__grid { grid-template-columns: 1fr; }
  .article-lightbox { width: 96vw; height: 88vh; }
  .footer-partners { align-items: flex-start; flex-direction: column; gap: 20px; }
  .footer-partners__title { flex-direction: column; align-items: flex-start; }
  .footer-partners ul { margin-left: 0; }
  .footer-primary, .footer-secondary { grid-template-columns: 1fr; }
  .footer-secondary > :last-child { grid-column: auto; }
  .mobile-nav__auth { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
