/* Страница города наследует визуальную систему принятой главной. */
.city-page { overflow-x: clip; }
.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.webp'); }
.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: #ffffff;
}
.city-page .hero-title-em {
  display: block;
  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: rgba(255, 255, 255, .82);
}
.city-hero-breadcrumbs a:hover { color: var(--color-primary); }
.city-hero-breadcrumbs a, .city-hero-breadcrumbs span { color: rgba(255, 255, 255, .82); }
.city-hero-breadcrumbs a:hover, .city-hero-breadcrumbs [aria-current="page"] { color: #ffffff; }
.city-page .hero-ctas { gap: 16px; margin-top: 32px; }
.city-page .hero-metrics-left {
  position: relative;
  gap: 0;
  border-top: 1px solid rgba(255, 255, 255, .25);
  border-bottom: 1px solid rgba(255, 255, 255, .25);
  background: rgba(255, 255, 255, .2);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.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;
  border: none;
  background: transparent;
}
.city-page .hero-card-white + .hero-card-white { border-left: 1px solid rgba(255, 255, 255, .18); }
.city-page .hero-card-white .card-num {
  margin-bottom: 11px;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: -.035em;
  color: #ffffff;
}
.city-page .hero-card-white .card-label strong { display: block; color: #ffffff; font-size: 12px; font-weight: 600; line-height: 1.25; }
.city-page .hero-card-white .card-label small { display: block; margin-top: 4px; color: rgba(255, 255, 255, .72); font-size: 11px; font-weight: 400; line-height: 1.3; }

/* Рубрикатор повторяет presentation contract главной страницы. */
.city-directions { background: #f6f6f6; }
.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-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-subtitle { margin: 24px 0 7px; color: #5f6268; font: 700 12px/1.3 var(--font-body); letter-spacing: 0; text-transform: none; }*/
/*.city-directions .rubricator-subgroup:first-child .rubricator-subtitle { margin-top: 2px; }*/
/*.city-directions .rubricator-extra-list .rubricator-subgroup:first-child .rubricator-subtitle { margin-top: 24px; }*/
/*.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:nth-child(5n+1) { padding-left: 0; }*/
/*.city-directions .rubricator-column:nth-child(5n) { 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: 50px; margin: 0 0 10px; color: var(--color-title); font-family: var(--font-title); font-size: clamp(18px, 1.55vw, 16px); font-weight: 600; line-height: 1.12; border-bottom: 1px solid #E2E2E2; }*/
/*.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,*/
/*.city-directions .rubricator-link--unavailable { 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; text-decoration: none; transition: color .2s ease, background-color .2s ease, padding-left .2s ease; }*/
/*.city-directions .rubricator-link--unavailable { color: #96989d; cursor: not-allowed; }*/
/*.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-link--unavailable::after { content: none; }*/
/*.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-link--unavailable:hover,*/
/*.city-directions .rubricator-link--unavailable:focus-visible { padding-left: 8px; background: transparent; color: #96989d; }*/
/*.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); }*/
/*.city-directions .rubricator-toggle:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }*/
/*@media (min-width: 1025px) {*/
/*  .city-directions .rubricator-header { margin-bottom: 56px; }*/
/*  .city-directions .rubricator-intro { max-width: 560px; margin-top: 28px; color: #66686d; font-size: 16px; line-height: 1.65; }*/
/*}*/

/*@media (prefers-reduced-motion: reduce) {*/
/*  .city-directions .rubricator-column::before,*/
/*  .city-directions .rubricator-link,*/
/*  .city-directions .rubricator-link::after,*/
/*  .city-directions .rubricator-toggle span { transition: none; }*/
/*}*/

/* --- RUBRICATOR: DESKTOP EDITORIAL INDEX --- */
    .city-directions .rubricator-extra-list[hidden] { display: none; }
    .city-directions .rubricator-subtitle {
          margin: 24px 0 7px;
    color: #000000;
    font: 600 14px / 1.3 var(--font-body);
    letter-spacing: 0;
    text-transform: none
    }
    .city-directions .rubricator-subgroup:first-child .rubricator-subtitle { margin-top: 2px; }
    .city-directions .rubricator-extra-list .rubricator-subgroup:first-child .rubricator-subtitle { margin-top: 24px; }

    @media (min-width: 1025px) {
      .city-directions .rubricator-header { margin-bottom: 56px; }
      .city-directions .rubricator-intro {
        max-width: 560px;
        margin-top: 28px;
        color: #66686d;
        font-size: 16px;
        line-height: 1.65;
      }
      .city-directions .rubricator-grid {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        border-bottom: 1px solid rgba(21, 21, 21, 0.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, 0.34);
        border-right: 1px solid rgba(21, 21, 21, 0.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:nth-child(5n+1) { padding-left: 0; }
      .city-directions .rubricator-column:nth-child(5n) { 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 0.36s cubic-bezier(0.16, 1, 0.3, 1);
      }
      .city-directions .rubricator-column:hover::before { width: 100%; }
      .city-directions .rubricator-title {
                min-height: 50px;
        margin: 0 0 10px;
        color: var(--color-title);
        font-family: var(--font-title);
        font-size: clamp(18px, 1.55vw, 16px);
        font-weight: 600;
        line-height: 1.12;
        border-bottom: 1px solid #E2E2E2;
      }
      .city-directions .rubricator-list {
        display: flex;
        flex-direction: column;
        margin: 0;
        padding: 0;
        list-style: none;
      }
      /*.rubricator-list li { border-bottom: 1px solid rgba(21, 21, 21, 0.12); }*/
      .city-directions .rubricator-link {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 16px;
        align-items: center;
        gap: 8px;
        /* min-height: 48px; */
        margin-inline: -8px;
        padding: 4px 8px;
        color: #000000;
        font-size: 14px;
        font-weight: 300;
        line-height: 1.35;
        text-decoration: none;
        transition: color 0.2s ease, background-color 0.2s ease, padding-left 0.2s ease;
      }
      .city-directions .rubricator-link::after {
        content: '↗';
        color: var(--color-primary);
        font-size: 13px;
        opacity: 0;
        transform: translate(-4px, 4px);
        transition: opacity 0.2s ease, transform 0.2s ease;
      }
      .city-directions .rubricator-link:hover,
      .city-directions .rubricator-link:focus-visible {
        color: var(--color-primary);
        background: rgba(245, 27, 36, 0.055);
        padding-left: 12px;
        outline: 0;
      }
      .city-directions .rubricator-link:hover::after,
      .city-directions .rubricator-link:focus-visible::after { opacity: 1; transform: translate(0, 0); }
      .city-directions .rubricator-link--unavailable {
        color: #96989d;
        cursor: not-allowed;
      }
      .city-directions .rubricator-link--unavailable::after { content: none; }
      .city-directions .rubricator-link--unavailable:hover,
      .city-directions .rubricator-link--unavailable:focus-visible {
        padding-left: 8px;
        background: transparent;
        color: #96989d;
      }
      .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 0.2s ease; }
      .city-directions .rubricator-toggle:hover span,
      .city-directions .rubricator-toggle:focus-visible span { transform: translateY(3px); }
      .city-directions .rubricator-toggle:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .city-directions .rubricator-column::before, .rubricator-link, .rubricator-link::after, .rubricator-toggle span { transition: none; }
    }



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-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) {
  .city-directions .rubricator-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .city-directions .rubricator-column,
  .city-directions .rubricator-column:first-child,
  .city-directions .rubricator-column:last-child {
    padding: 28px 24px 22px;
  }
  .city-directions .rubricator-column:nth-child(odd) {
    padding-left: 0;
  }
  .city-directions .rubricator-column:nth-child(even) {
    padding-right: 0;
    border-right: 0;
  }
  .city-section-head,
  .method-proof {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .city-section-head > p {
    max-width: none;
  }
  .method-proof > a {
    justify-self: start;
    white-space: normal;
  }
  .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) {
  .city-business-cta .grow-business-bg {
    object-position: 82% center;
  }
  .city-directions .rubricator-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .city-directions .rubricator-column,
  .city-directions .rubricator-column:first-child,
  .city-directions .rubricator-column:last-child,
  .city-directions .rubricator-column:nth-child(odd),
  .city-directions .rubricator-column:nth-child(even) {
    padding: 26px 0 20px;
    border-right: 0;
  }
  .city-directions .rubricator-title {
    min-height: 0;
    margin-bottom: 18px;
  }
  .seo-layout > * {
    min-width: 0;
  }
  .seo-flow {
    flex-wrap: wrap;
  }
  .seo-quote {
    font-size: 20px;
  }
  .seo-article .seo-lead {
    font-size: 17px;
  }
}
.seo-text-section {
  overflow: visible !important;
}

.city-page .hero-top-info .hero-desc {
    max-width: 600px;
}