/* Страница города наследует визуальную систему принятой главной. */
.city-page main .btn {
  min-height: 52px;
  padding: 0 26px;
  border-radius: 9999px;
  font-size: 15px;
  font-weight: 600;
}
.city-page main .btn-secondary { border-color: rgba(21, 21, 21, .58); }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.city-kicker {
  display: block;
  font: 500 12px/1.3 'Iosevka Charon Mono', monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--color-muted);
}

/* Hero — та же композиция, геометрия и левая колонка, что на главной. */
.city-page .city-hero { background-image: url('/assets/images/astana-city-hero.jpg'); }
.city-page .hero-grid { padding-top: 185px; }
.city-page .hero-top-info { max-width: 800px; }
.city-page .hero-main-title {
  margin: 0 0 28px;
  font-family: var(--font-title);
  font-size: clamp(54px, 5.15vw, 76px);
  font-weight: 540;
  line-height: .96;
  letter-spacing: -.057em;
  color: var(--color-title);
}
.city-page .hero-title-em {
  color: var(--color-primary);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -.045em;
}
.city-hero-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 34px;
  font: 500 11px/1.3 'Iosevka Charon Mono', monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--color-muted);
}
.city-hero-breadcrumbs a:hover { color: var(--color-primary); }
.city-page .hero-section .unified-search-bar {
  height: 64px;
  margin-top: 32px;
  padding: 7px;
  border-color: rgba(21, 21, 21, .14);
  border-radius: 9999px;
  box-shadow: none;
}
.city-fixed-select {
  min-width: 72px;
  font-size: .875rem;
  font-weight: 600;
  color: var(--color-title);
}
.city-page .unified-search-btn {
  height: 48px;
  min-height: 48px;
  margin: 0;
  padding-inline: 28px;
  border: 0;
  border-radius: 9999px;
  font-family: var(--font-body);
  font-weight: 600;
  cursor: pointer;
}
.city-search-hint {
  margin: -4px 0 20px 20px;
  font: 500 10px/1.3 'Iosevka Charon Mono', monospace;
  letter-spacing: .04em;
  color: var(--color-muted);
}
.city-page .hero-metrics-left {
  position: relative;
  gap: 0;
  border-top: 1px solid rgba(13, 14, 18, .26);
  border-bottom: 1px solid rgba(13, 14, 18, .26);
  background: rgba(255, 255, 255, .5);
}
.city-page .hero-metrics-left::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 36px;
  height: 2px;
  background: var(--color-primary);
}
.city-page .hero-card-white {
  width: 220px;
  min-height: 112px;
  padding: 18px 22px;
  border-radius: 0;
  background: transparent;
}
.city-page .hero-card-white + .hero-card-white { border-left: 1px solid rgba(13, 14, 18, .18); }
.city-page .hero-card-white .card-num {
  margin-bottom: 11px;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -.035em;
}
.city-page .hero-card-white .card-label strong { display: block; color: #292b30; font-size: 12px; line-height: 1.25; }
.city-page .hero-card-white .card-label small { display: block; margin-top: 4px; color: #777b84; font-size: 11px; line-height: 1.3; }

/* Рубрикатор — редакционный индекс главной, расширенный до шести групп. */
.city-directions { padding: 120px 0; background: #fff; }
.city-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 72px;
  align-items: end;
  margin-bottom: 56px;
}
.city-section-head h2,
.city-faq h2,
.city-nearby h2,
.editorial-lead h2 {
  margin: 24px 0 0;
  font-family: var(--font-title);
  font-size: clamp(2rem, 3.5vw, 2.75rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.04em;
  color: var(--color-title);
}
.city-section-head h2 em,
.city-faq h2 em,
.editorial-lead h2 em { color: var(--color-primary); font-weight: 400; letter-spacing: -.035em; }
.city-section-head > p { max-width: 420px; color: #66686d; font-size: 16px; line-height: 1.65; }
.city-route {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 38px;
  font: 600 11px/1.2 'Iosevka Charon Mono', monospace;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--color-muted);
}
.city-route i { width: 42px; height: 1px; background: rgba(21, 21, 21, .26); }
.city-route .is-current { color: var(--color-primary); }
.direction-index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid rgba(21, 21, 21, .34); }
.direction-group { position: relative; min-width: 0; padding: 30px 28px 22px; border-top: 1px solid rgba(21, 21, 21, .34); border-right: 1px solid rgba(21, 21, 21, .18); }
.direction-group:nth-child(3n + 1) { padding-left: 0; }
.direction-group:nth-child(3n) { padding-right: 0; border-right: 0; }
.direction-group::before { content: ''; position: absolute; top: -1px; left: 0; width: 38px; height: 2px; background: var(--color-primary); transition: width .36s cubic-bezier(.16, 1, .3, 1); }
.direction-group:hover::before { width: 100%; }
.direction-group header { min-height: 112px; }
.direction-group header > span { display: block; margin-bottom: 12px; font: 500 10px/1 'Iosevka Charon Mono', monospace; color: var(--color-muted); }
.direction-group h3 {
  margin: 0;
  color: var(--color-title);
  font-family: var(--font-title);
  font-size: clamp(20px, 1.55vw, 24px);
  font-weight: 680;
  line-height: 1.12;
  letter-spacing: -.035em;
}
.direction-group header p { margin-top: 8px; color: var(--color-muted); font-size: 13px; line-height: 1.35; }
.direction-group ul { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.direction-group li { border-bottom: 1px solid rgba(21, 21, 21, .12); }
.direction-group li[hidden], .direction-group[hidden] { display: none; }
.direction-group a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16px;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  margin-inline: -8px;
  padding: 10px 8px;
  color: #4f5156;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  transition: color .2s ease, background-color .2s ease, padding-left .2s ease;
}
.direction-group a::after { content: '↗'; color: var(--color-primary); font-size: 13px; opacity: 0; transform: translate(-4px, 4px); transition: opacity .2s ease, transform .2s ease; }
.direction-group a:hover,
.direction-group a:focus-visible { color: var(--color-primary); background: rgba(245, 27, 36, .055); padding-left: 12px; outline: 0; }
.direction-group a:hover::after,
.direction-group a:focus-visible::after { opacity: 1; transform: translate(0, 0); }
.city-results { margin: -20px 0 30px; color: var(--color-primary); font-weight: 600; }
.city-empty { margin-top: 32px; padding: 28px 0; border-top: 1px solid rgba(21, 21, 21, .34); border-bottom: 1px solid rgba(21, 21, 21, .34); }
.city-empty strong { color: var(--color-title); font-size: 20px; }
.city-empty p { margin-top: 6px; }
.city-empty button { margin-top: 18px; padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--color-primary); font-weight: 600; cursor: pointer; }

/* Методология — тот же процесс и блок независимости, что на главной. */
.city-method { padding: 120px 0; background: #f6f6f6; }
.city-section-head--compact { margin-bottom: 64px; }
.method-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid rgba(21, 21, 21, .34); border-bottom: 1px solid rgba(21, 21, 21, .34); list-style: none; }
.method-track li { min-height: 260px; padding: 28px 28px 30px; border-right: 1px solid rgba(21, 21, 21, .18); }
.method-track li:first-child { padding-left: 0; }
.method-track li:last-child { padding-right: 0; border-right: 0; }
.method-track li > span { display: block; margin-bottom: 70px; font: 500 11px/1 'Iosevka Charon Mono', monospace; color: var(--color-primary); }
.method-track h3 { margin: 0 0 12px; color: var(--color-title); font-size: 20px; line-height: 1.2; }
.method-track p { color: #66686d; font-size: 15px; line-height: 1.55; }
.method-proof { display: grid; grid-template-columns: 1fr 1.1fr auto; gap: 54px; align-items: center; margin-top: 56px; padding: 34px 0; border-top: 1px solid rgba(21, 21, 21, .18); border-bottom: 1px solid rgba(21, 21, 21, .18); }
.method-proof h3 { margin-top: 12px; color: var(--color-title); font-size: 25px; letter-spacing: -.03em; }
.method-proof > p { color: #66686d; line-height: 1.6; }
.method-proof > a { color: var(--color-primary); font-weight: 600; white-space: nowrap; }

/* Featured — точная карточная композиция главной. */
.city-featured { background: #fff; overflow: hidden; }
.city-featured .featured-header { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 72px; align-items: end; margin-bottom: 52px; }
.city-featured .featured-header-side { display: flex; justify-content: flex-end; align-items: flex-end; }
.city-featured .featured-controls { display: flex; gap: 10px; }
.city-featured .featured-control { width: 44px; height: 44px; border: 1px solid rgba(21,21,21,.3); border-radius: 50%; background: #fff; color: #18191c; font-size: 18px; font-weight: 600; cursor: pointer; transition: color .2s ease, border-color .2s ease, background-color .2s ease; }
.city-featured .featured-control:hover,
.city-featured .featured-control:focus-visible { color: #fff; border-color: var(--color-primary); background: var(--color-primary); outline: 0; }
.city-featured .featured-control:disabled { opacity: .28; cursor: default; color: #18191c; border-color: rgba(21,21,21,.3); background: #fff; }
.city-featured .featured-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px) / 3); gap: 20px; overflow-x: auto; padding: 2px 1px 10px; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.city-featured .featured-track::-webkit-scrollbar { display: none; }
.city-featured .featured-card { position: relative; min-height: 380px; padding: 28px; display: flex; flex-direction: column; scroll-snap-align: start; border: 1px solid rgba(21,21,21,.24); background: #fff; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.city-featured .featured-card::before { content: ''; position: absolute; top: -1px; left: -1px; width: 44px; height: 2px; background: var(--color-primary); transition: width .32s ease; }
.city-featured .featured-card:hover { transform: translateY(-3px); border-color: rgba(245,27,36,.55); box-shadow: 0 18px 42px rgba(24,25,28,.08); }
.city-featured .featured-card:hover::before { width: calc(100% + 2px); }
.city-featured .featured-meta { display: flex; justify-content: space-between; align-items: center; color: #8a8e96; font: 600 11px/1.2 'Iosevka Charon Mono', monospace; text-transform: uppercase; letter-spacing: .06em; }
.city-featured .featured-label { padding: 6px 8px; color: var(--color-primary); background: rgba(245,27,36,.065); }
.city-featured .featured-logo { width: 126px; height: 54px; margin: 34px 0 28px; object-fit: contain; object-position: left center; }
.city-featured .featured-body { flex: 1; }
.city-featured .featured-category { margin: 0 0 10px; color: #777a81; font-size: 13px; }
.city-featured .featured-body h3 { margin: 0 0 14px; color: #17181b; font-family: var(--font-title); font-size: 26px; line-height: 1.08; letter-spacing: -.03em; }
.city-featured .featured-body > p:last-child { margin: 0; color: #5f6268; font-size: 15px; line-height: 1.55; }
.city-featured .featured-profile-link { display: flex; justify-content: space-between; align-items: center; margin-top: 28px; padding-top: 18px; border-top: 1px solid rgba(21,21,21,.16); color: #222428; font-size: 14px; font-weight: 650; }
.city-featured .featured-profile-link span { color: var(--color-primary); transition: transform .2s ease; }
.city-featured .featured-profile-link:hover { color: var(--color-primary); }
.city-featured .featured-profile-link:hover span { transform: translate(3px, -3px); }
.city-featured .featured-disclosure { display: flex; align-items: center; gap: 24px; margin-top: 18px; padding: 14px 0; border-top: 1px solid rgba(21,21,21,.22); border-bottom: 1px solid rgba(21,21,21,.22); color: #74777d; font-size: 12px; line-height: 1.5; }
.city-featured .featured-disclosure-label { flex: 0 0 auto; padding-left: 12px; border-left: 2px solid var(--color-primary); color: #34363a; font: 600 10px/1.2 'Iosevka Charon Mono', monospace; text-transform: uppercase; letter-spacing: .06em; }
.city-featured .featured-disclosure p { flex: 1; margin: 0; }
.city-featured .featured-disclosure strong { color: #34363a; font-weight: 600; }
.city-featured .featured-disclosure a { display: inline-flex; align-items: center; gap: 12px; flex: 0 0 auto; color: #34363a; font-weight: 600; }
.city-featured .featured-disclosure a span { color: var(--color-primary); transition: transform .2s ease; }
.city-featured .featured-disclosure a:hover { color: var(--color-primary); }
.city-featured .featured-disclosure a:hover span { transform: translateX(4px); }

/* SEO/editorial — двухчастная светлая композиция главной. */
.city-editorial { padding: 120px 0; background: #fff; }
.editorial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(21, 21, 21, .34); }
.editorial-grid article { min-height: 330px; padding: 34px 42px 36px 0; border-bottom: 1px solid rgba(21, 21, 21, .22); }
.editorial-grid article:nth-child(even) { padding-right: 0; padding-left: 42px; border-left: 1px solid rgba(21, 21, 21, .18); }
.editorial-grid h3 { margin: 0 0 22px; color: var(--color-title); font-size: 24px; font-weight: 600; line-height: 1.2; letter-spacing: -.03em; }
.editorial-grid p { color: #5c5f65; font-size: 16px; line-height: 1.72; }
.editorial-grid p + p { margin-top: 16px; }
.editorial-answer { display: grid; grid-template-columns: 170px minmax(0, 1fr) auto; gap: 36px; align-items: center; margin-top: 52px; padding: 30px 0; border-top: 1px solid rgba(21, 21, 21, .34); border-bottom: 1px solid rgba(21, 21, 21, .34); }
.editorial-answer p { color: #4f5259; font-size: 18px; line-height: 1.55; }
.editorial-answer strong { color: var(--color-title); }
.editorial-answer a { color: var(--color-primary); font-weight: 600; white-space: nowrap; }

/* Баннер-призыв — точная композиция второго Hero главной. */
.city-business-cta { position: relative; isolation: isolate; overflow: hidden; min-height: 720px; padding: 118px 0; background: #eef0f2; }
.city-business-cta::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(247,248,249,.98) 0%, rgba(247,248,249,.94) 32%, rgba(247,248,249,.68) 49%, rgba(247,248,249,.12) 69%, rgba(247,248,249,0) 80%); }
.city-business-cta .grow-business-bg { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; object-position: center right; filter: saturate(1.18) contrast(1.04); }
.city-business-cta .grow-business-inner { position: relative; z-index: 1; display: flex; align-items: center; min-height: 484px; }
.city-business-cta .grow-business-copy { width: min(760px, 61%); }
.city-business-cta .grow-business-title { margin: 30px 0 28px; font-family: var(--font-title); font-size: clamp(54px, 5.15vw, 76px); font-weight: 540; line-height: .96; letter-spacing: -.057em; color: #151515; }
.city-business-cta .grow-business-title em { color: var(--color-primary); font-weight: 400; letter-spacing: -.045em; }
.city-business-cta .grow-business-text { max-width: 625px; margin: 0 0 40px; color: #4f5259; font-size: 19px; line-height: 1.65; }
.city-business-cta .grow-business-actions { display: flex; align-items: center; gap: 30px; }
.city-business-cta .grow-business-actions .btn-primary { min-height: 58px; padding-inline: 30px; font-size: 15px; }
.city-business-cta .grow-business-secondary { min-height: 58px; padding-inline: 30px; border-color: rgba(21,21,21,.58); }
.city-business-cta .grow-business-secondary span { color: var(--color-primary); transition: transform .2s ease; }
.city-business-cta .grow-business-secondary:hover span { transform: translate(3px, -3px); }
.city-business-cta .grow-business-benefits { display: flex; margin: 66px 0 0; padding: 20px 0; border-top: 1px solid rgba(21,21,21,.26); border-bottom: 1px solid rgba(21,21,21,.26); list-style: none; }
.city-business-cta .grow-business-benefits li { position: relative; padding: 0 26px; color: #45484e; font: 600 12px/1.3 'Iosevka Charon Mono', monospace; }
.city-business-cta .grow-business-benefits li:first-child { padding-left: 18px; }
.city-business-cta .grow-business-benefits li::before { content: ''; position: absolute; top: 4px; left: 0; width: 5px; height: 5px; background: var(--color-primary); }

/* FAQ и другие города — те же редакционные линии и hover-состояния главной. */
.city-faq { padding: 120px 0; background: #f6f6f6; overflow: visible; }
.city-faq__grid { display: grid; grid-template-columns: minmax(330px, .68fr) minmax(0, 1.32fr); gap: 96px; align-items: start; }
.city-faq header { position: sticky; top: 120px; }
.city-faq header > p:not(.city-kicker) { max-width: 390px; margin-top: 24px; color: #66686d; line-height: 1.65; }
.city-faq header > a { display: inline-block; margin-top: 28px; color: var(--color-primary); font-weight: 600; }
.faq-list { border-top: 1px solid rgba(21, 21, 21, .34); }
.faq-list details { border-bottom: 1px solid rgba(21, 21, 21, .22); }
.faq-list summary { display: flex; justify-content: space-between; gap: 30px; padding: 28px 0; color: var(--color-title); font-size: 19px; font-weight: 600; line-height: 1.35; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--color-primary); font-size: 24px; font-weight: 400; transition: transform .2s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 760px; padding: 0 50px 28px 0; color: #5c5f65; font-size: 16px; line-height: 1.7; }
.city-nearby { padding: 120px 0; background: #fff; }
.city-nearby__top { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 56px; }
.city-nearby__top > a { color: var(--color-primary); font-weight: 600; }
.nearby-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(21, 21, 21, .34); }
.nearby-list a { display: flex; justify-content: space-between; align-items: center; min-height: 84px; padding: 0 24px 0 0; border-bottom: 1px solid rgba(21, 21, 21, .22); color: var(--color-title); }
.nearby-list a:nth-child(3n + 2), .nearby-list a:nth-child(3n) { padding-left: 24px; border-left: 1px solid rgba(21, 21, 21, .18); }
.nearby-list span { font-size: 20px; font-weight: 600; }
.nearby-list small { color: var(--color-muted); font: 500 10px/1 'Iosevka Charon Mono', monospace; text-transform: uppercase; }
.nearby-list a:hover span { color: var(--color-primary); }

/* Рубрикатор полностью повторяет пятиколоночную секцию главной. */
.city-directions .rubricator-extra-list[hidden] { display: none; }
.city-directions .rubricator-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid rgba(21,21,21,.34); }
.city-directions .rubricator-column { position: relative; min-width: 0; padding: 30px clamp(18px, 1.65vw, 28px) 22px; border-top: 1px solid rgba(21,21,21,.34); border-right: 1px solid rgba(21,21,21,.18); }
.city-directions .rubricator-column:first-child { padding-left: 0; }
.city-directions .rubricator-column:last-child { padding-right: 0; border-right: 0; }
.city-directions .rubricator-column::before { content: ''; position: absolute; top: -1px; left: 0; width: 38px; height: 2px; background: var(--color-primary); transition: width .36s cubic-bezier(.16,1,.3,1); }
.city-directions .rubricator-column:hover::before { width: 100%; }
.city-directions .rubricator-title { min-height: 72px; margin: 0; color: var(--color-title); font-family: var(--font-title); font-size: clamp(20px,1.55vw,24px); font-weight: 680; line-height: 1.12; letter-spacing: -.035em; }
.city-directions .rubricator-list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.city-directions .rubricator-list li { border-bottom: 1px solid rgba(21,21,21,.12); }
.city-directions .rubricator-list li[hidden] { display: none; }
.city-directions .rubricator-list a { display: grid; grid-template-columns: minmax(0,1fr) 16px; align-items: center; gap: 8px; min-height: 48px; margin-inline: -8px; padding: 10px 8px; color: #4f5156; font-size: 16px; font-weight: 500; line-height: 1.35; transition: color .2s ease, background-color .2s ease, padding-left .2s ease; }
.city-directions .rubricator-list a::after { content: '↗'; color: var(--color-primary); font-size: 13px; opacity: 0; transform: translate(-4px,4px); transition: opacity .2s ease, transform .2s ease; }
.city-directions .rubricator-list a:hover,
.city-directions .rubricator-list a:focus-visible { color: var(--color-primary); background: rgba(245,27,36,.055); padding-left: 12px; outline: 0; }
.city-directions .rubricator-list a:hover::after,
.city-directions .rubricator-list a:focus-visible::after { opacity: 1; transform: translate(0,0); }
.city-directions .rubricator-toggle { width: 100%; min-height: 48px; padding: 12px 0; border: 0; background: transparent; color: var(--color-primary); font: 650 13px/1.2 var(--font-body); text-align: left; cursor: pointer; }
.city-directions .rubricator-toggle span { display: inline-block; margin-left: 7px; transition: transform .2s ease; }
.city-directions .rubricator-toggle:hover span,
.city-directions .rubricator-toggle:focus-visible span { transform: translateY(3px); }

html.motion-ready .city-reveal {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .72s cubic-bezier(.16, 1, .3, 1), transform .72s cubic-bezier(.16, 1, .3, 1);
}
html.motion-ready .city-reveal.is-visible { opacity: 1; transform: none; }
.city-page :focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }

@media (min-width: 1025px) and (max-height: 820px) {
  .city-page .hero-grid { padding-top: clamp(100px, 12vh, 130px); }
  .city-page .hero-main-title { margin-bottom: 16px; font-size: clamp(42px, 4.2vw, 56px); }
  .city-page .hero-section .unified-search-bar { margin-top: 20px; }
  .city-page .hero-desc { font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
  html.motion-ready .city-reveal { opacity: 1; transform: none; transition: none; }
  .direction-group::before,
  .direction-group a,
  .direction-group a::after { transition: none; }
}

/* --- SEO STYLES FOR CITIES --- */
.seo-text-section {
  background-color: #F6F6F6 !important;
  border-top: none !important;
  border-bottom: none !important;
  padding: 120px 0;
}
.seo-layout {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 100px;
  align-items: start;
}
.seo-aside {
  position: sticky;
  top: 100px;
}
.seo-aside .section-header {
  position: relative;
  margin-bottom: 0;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(21,21,21,.32);
}
.seo-aside .section-header::after { content: ''; position: absolute; left: 0; bottom: -1px; width: 76px; height: 2px; background: var(--color-primary); }
.seo-flow {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
  padding-top: 26px;
}
.seo-flow span {
  padding: 9px;
  border: 1px solid rgba(21,21,21,.28);
  border-radius: 9999px;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  color: #5f646d;
}
.seo-flow i {
  font-style: italic;
  font-size: 14px;
  color: var(--color-primary);
}
.seo-article {
  max-width: 800px;
}
.seo-article p {
  margin-bottom: 24px;
  font-size: 15px;
  line-height: 1.82;
  color: #5b606a;
}
.seo-article p strong {
  color: var(--color-title);
  font-weight: 700;
}
.seo-article .seo-lead {
  margin-bottom: 34px;
  font-size: 19px;
  line-height: 1.65;
  color: #25272d;
}
.seo-quote {
  margin: 38px 0;
  padding: 28px 0 28px 28px;
  border-left: 3px solid var(--color-primary);
  font-size: 24px;
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: -.025em;
  color: var(--color-title);
}

@media (max-width: 1024px) {
  .faq-layout, .seo-layout {
    gap: 54px;
    grid-template-columns: 1fr;
  }
  .faq-header, .seo-aside {
    position: static;
  }
  .seo-article {
    max-width: none;
  }
}
@media (max-width: 640px) {
  .seo-quote {
    font-size: 20px;
  }
  .seo-article .seo-lead {
    font-size: 17px;
  }
}
.seo-text-section {
  overflow: visible !important;
}
