/* City pages premium layout — shared from krasnodar template */

    .page-city--premium {
      --krd-blue: #4f8fff;
      --krd-blue-soft: rgba(79, 143, 255, 0.14);
      --krd-blue-glow: rgba(79, 143, 255, 0.32);
      --krd-blue-border: rgba(126, 182, 255, 0.42);
    }

    .page-city--premium .hero--city {
      min-height: auto;
      padding: clamp(36px, 5vw, 56px) 0 clamp(44px, 6vw, 64px);
      background:
        radial-gradient(ellipse 70% 55% at 12% 0%, rgba(79, 143, 255, 0.22), transparent 58%),
        radial-gradient(ellipse 50% 40% at 88% 18%, rgba(126, 182, 255, 0.16), transparent 52%),
        radial-gradient(ellipse 40% 30% at 50% 100%, rgba(167, 139, 250, 0.1), transparent 50%);
    }

    .page-city--premium .hero--city .hero__actions {
      margin-top: 28px;
      gap: 14px;
    }

    .page-city--premium .krd-hero-lead {
      margin-top: 18px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      max-width: 56ch;
    }

    .page-city--premium .krd-hero-lead__intro {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      margin: 0;
      padding: 16px 18px;
      border-radius: calc(var(--radius) + 4px);
      border: 1px solid var(--krd-blue-border);
      background:
        linear-gradient(135deg, rgba(79, 143, 255, 0.16), rgba(79, 143, 255, 0.04)),
        rgba(255, 255, 255, 0.03);
      box-shadow: 0 12px 36px rgba(79, 143, 255, 0.1);
      font-size: clamp(1.02rem, 1.8vw, 1.14rem);
      line-height: 1.55;
      color: #e8f2ff;
    }

    .page-city--premium .krd-hero-lead__badge {
      flex-shrink: 0;
      width: 40px;
      height: 40px;
      display: grid;
      place-items: center;
      border-radius: 12px;
      border: 1px solid var(--krd-blue-border);
      background: var(--krd-blue-soft);
      box-shadow: 0 0 24px var(--krd-blue-glow);
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      color: var(--krd-blue);
    }

    .page-city--premium .krd-hero-lead__brand {
      color: #fff;
      font-weight: 600;
    }

    .page-city--premium .krd-hero-lead__panel {
      padding: 16px 18px 14px;
      border-radius: calc(var(--radius) + 4px);
      border: 1px solid rgba(167, 139, 250, 0.18);
      background: rgba(255, 255, 255, 0.025);
    }

    .page-city--premium .krd-hero-lead__do {
      margin: 0 0 12px;
      font-size: 0.98rem;
      line-height: 1.58;
      color: var(--readable);
    }

    .page-city--premium .krd-hero-lead__products {
      color: #dceaff;
      font-weight: 500;
    }

    .page-city--premium .krd-hero-lead__sectors {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .page-city--premium .krd-hero-lead__sectors li {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 7px 12px 7px 9px;
      border-radius: 999px;
      border: 1px solid var(--krd-blue-border);
      background: rgba(79, 143, 255, 0.08);
      color: #c8deff;
      font-size: 0.84rem;
      line-height: 1.3;
      box-shadow: 0 0 18px rgba(79, 143, 255, 0.06);
    }

    .page-city--premium .krd-hero-lead__sectors li::before {
      content: "";
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--krd-blue);
      box-shadow: 0 0 8px var(--krd-blue-glow);
      flex-shrink: 0;
    }

    @media (max-width: 900px) {
      .page-city--premium .krd-hero-lead {
        max-width: none;
      }
    }

    .page-city--premium .krd-deco {
      pointer-events: none;
      position: absolute;
      z-index: 0;
      opacity: 0.55;
    }

    .page-city--premium .hero--city {
      position: relative;
      overflow: hidden;
    }

    .page-city--premium .hero--city .hero__inner {
      position: relative;
      z-index: 2;
    }

    .page-city--premium .krd-deco--hero-a {
      width: 140px;
      top: 12%;
      right: 6%;
      animation: krd-float-a 9s ease-in-out infinite;
    }

    .page-city--premium .krd-deco--hero-b {
      width: 100px;
      bottom: 18%;
      left: 4%;
      animation: krd-float-b 11s ease-in-out infinite;
    }

    @keyframes krd-float-a {
      0%, 100% { transform: translateY(0) rotate(0deg); }
      50% { transform: translateY(-12px) rotate(4deg); }
    }

    @keyframes krd-float-b {
      0%, 100% { transform: translateY(0) rotate(0deg); }
      50% { transform: translateY(10px) rotate(-3deg); }
    }

    .page-city--premium .stack-card--3d {
      border-color: var(--krd-blue-border);
      box-shadow: 0 12px 32px rgba(79, 143, 255, 0.12);
    }

    .page-city--premium .stack-card--3d:nth-child(2) {
      background: linear-gradient(145deg, rgba(79, 143, 255, 0.18), rgba(79, 143, 255, 0.06));
    }

    .page-city--premium .stack-card__tag {
      color: var(--krd-blue);
    }

    .page-city--premium .section--krd-accent {
      background:
        radial-gradient(circle at 0% 50%, rgba(79, 143, 255, 0.08), transparent 45%),
        var(--bg-alt);
    }

    .page-city--premium .section--krd-glow {
      position: relative;
      overflow: hidden;
    }

    .page-city--premium .section--krd-glow::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 55% 40% at 90% 20%, rgba(79, 143, 255, 0.07), transparent 60%);
      pointer-events: none;
    }

    .page-city--premium .section--krd-glow > .container {
      position: relative;
      z-index: 1;
    }

    .page-city--premium .krd-intro-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .page-city--premium .krd-text-card {
      padding: 22px 24px;
      border-radius: calc(var(--radius) + 2px);
      border: 1px solid rgba(167, 139, 250, 0.14);
      background: rgba(255, 255, 255, 0.025);
      display: flex;
      gap: 16px;
      align-items: flex-start;
      transition: transform 0.2s ease, border-color 0.2s ease;
    }

    .page-city--premium .krd-text-card:hover {
      transform: translateY(-2px);
    }

    .page-city--premium .krd-text-card--blue {
      border-color: var(--krd-blue-border);
      background:
        linear-gradient(145deg, rgba(79, 143, 255, 0.14), rgba(79, 143, 255, 0.04)),
        rgba(255, 255, 255, 0.02);
      box-shadow: 0 0 40px rgba(79, 143, 255, 0.08);
    }

    .page-city--premium .krd-text-card--wide {
      grid-column: 1 / -1;
    }

    .page-city--premium .krd-text-card__ico {
      flex-shrink: 0;
      width: 44px;
      height: 44px;
      display: grid;
      place-items: center;
      border-radius: 12px;
      border: 1px solid var(--krd-blue-border);
      background: var(--krd-blue-soft);
      box-shadow: 0 0 22px var(--krd-blue-glow);
    }

    .page-city--premium .krd-text-card__ico .ico {
      width: 26px;
      height: 26px;
    }

    .page-city--premium .krd-text-card p {
      margin: 0;
      color: var(--readable);
      line-height: 1.68;
      font-size: 1.02rem;
    }

    .page-city--premium .krd-section-deco {
      display: flex;
      justify-content: center;
      padding: 8px 0 20px;
      opacity: 0.45;
    }

    .page-city--premium .viz-card--blue {
      border-color: var(--krd-blue-border);
      background:
        linear-gradient(160deg, rgba(79, 143, 255, 0.16), rgba(79, 143, 255, 0.04)),
        var(--bg-elevated);
      box-shadow: 0 14px 36px rgba(79, 143, 255, 0.1);
      transition: transform 0.22s ease, box-shadow 0.22s ease;
    }

    .page-city--premium .viz-card--blue:hover {
      transform: translateY(-3px);
      box-shadow: 0 18px 44px rgba(79, 143, 255, 0.16);
    }

    .page-city--premium .viz-card--dark {
      background: rgba(255, 255, 255, 0.025);
      border-color: rgba(167, 139, 250, 0.16);
      transition: transform 0.22s ease, border-color 0.22s ease;
    }

    .page-city--premium .viz-card--dark:hover {
      transform: translateY(-3px);
      border-color: var(--krd-blue-border);
    }

    .page-city--premium .viz-card--blue .ico-wrap {
      border-color: var(--krd-blue-border);
      background: var(--krd-blue-soft);
      box-shadow: 0 0 24px var(--krd-blue-glow);
    }

    .page-city--premium .viz-card h3 {
      color: var(--text);
    }

    .page-city--premium .viz-card--blue h3 {
      color: #e8f2ff;
    }

    .page-city--premium .krd-note-card {
      margin-top: 24px;
      padding: 22px 26px;
      border-radius: calc(var(--radius) + 2px);
      border: 1px solid var(--krd-blue-border);
      background:
        radial-gradient(circle at 0% 0%, rgba(79, 143, 255, 0.12), transparent 50%),
        rgba(255, 255, 255, 0.03);
      box-shadow: 0 0 48px rgba(79, 143, 255, 0.07);
    }

    .page-city--premium .krd-note-card p {
      margin: 0;
      line-height: 1.68;
    }

    .page-city--premium .krd-services-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .page-city--premium .krd-svc-card {
      padding: 22px 24px;
      border-radius: calc(var(--radius) + 2px);
      border: 1px solid rgba(167, 139, 250, 0.14);
      background: rgba(255, 255, 255, 0.025);
      display: flex;
      flex-direction: column;
      gap: 12px;
      transition: border-color 0.2s, transform 0.2s;
    }

    .page-city--premium .krd-svc-card:hover {
      transform: translateY(-2px);
    }

    .page-city--premium .krd-svc-card--blue {
      border-color: var(--krd-blue-border);
      background:
        linear-gradient(155deg, rgba(79, 143, 255, 0.15), rgba(79, 143, 255, 0.05)),
        rgba(255, 255, 255, 0.02);
      box-shadow: 0 12px 32px rgba(79, 143, 255, 0.1);
    }

    .page-city--premium .krd-svc-card h3 {
      margin: 0;
      font-size: 1.12rem;
      line-height: 1.3;
    }

    .page-city--premium .krd-svc-card h3 a {
      color: inherit;
      text-decoration: none;
    }

    .page-city--premium .krd-svc-card h3 a:hover {
      color: var(--accent);
    }

    .page-city--premium .krd-svc-card p {
      margin: 0;
      color: var(--readable);
      line-height: 1.62;
      font-size: 0.98rem;
    }

    .page-city--premium .krd-svc-card .ico-wrap {
      width: 48px;
      height: 48px;
    }

    .page-city--premium .krd-svc-card--blue .ico-wrap {
      border-color: var(--krd-blue-border);
      background: var(--krd-blue-soft);
      box-shadow: 0 0 20px var(--krd-blue-glow);
    }

    .page-city--premium .krd-region-grid .module {
      border-color: rgba(167, 139, 250, 0.16);
    }

    .page-city--premium .krd-region-grid .module--blue {
      border-color: var(--krd-blue-border);
      background:
        linear-gradient(160deg, rgba(79, 143, 255, 0.12), transparent 55%),
        var(--bg-elevated);
      box-shadow: 0 0 40px rgba(79, 143, 255, 0.08);
    }

    .page-city--premium .krd-region-grid .module h3 {
      padding-left: 12px;
      border-left: 3px solid var(--krd-blue);
    }

    .page-city--premium .krd-steps {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
      list-style: none;
      margin: 0 0 24px;
      padding: 0;
    }

    .page-city--premium .krd-step-card {
      padding: 22px 24px;
      border-radius: calc(var(--radius) + 2px);
      border: 1px solid rgba(167, 139, 250, 0.14);
      background: rgba(255, 255, 255, 0.025);
    }

    .page-city--premium .krd-step-card--blue {
      border-color: var(--krd-blue-border);
      background:
        linear-gradient(155deg, rgba(79, 143, 255, 0.14), rgba(79, 143, 255, 0.04)),
        rgba(255, 255, 255, 0.02);
      box-shadow: 0 0 36px rgba(79, 143, 255, 0.08);
    }

    .page-city--premium .krd-step-card__head {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 12px;
    }

    .page-city--premium .krd-step-card__num {
      font-size: 0.78rem;
      font-weight: 650;
      letter-spacing: 0.08em;
      color: var(--krd-blue);
      padding: 4px 10px;
      border-radius: 999px;
      border: 1px solid var(--krd-blue-border);
      background: var(--krd-blue-soft);
    }

    .page-city--premium .krd-step-card h3 {
      margin: 0 0 10px;
      font-size: 1.1rem;
    }

    .page-city--premium .krd-step-card p {
      margin: 0;
      line-height: 1.65;
      color: var(--readable);
    }

    .page-city--premium .krd-process-notes {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .page-city--premium .krd-process-notes p {
      margin: 0;
      padding: 20px 22px;
      border-radius: var(--radius);
      border: 1px solid rgba(167, 139, 250, 0.12);
      background: rgba(255, 255, 255, 0.02);
      line-height: 1.68;
    }

    .page-city--premium .krd-process-notes p:last-child {
      border-color: var(--krd-blue-border);
      background: linear-gradient(145deg, rgba(79, 143, 255, 0.1), transparent 60%);
    }

    .page-city--premium .section__head h2 {
      text-shadow: 0 0 40px rgba(79, 143, 255, 0.12);
    }

    .page-city--premium .section__head .eyebrow {
      color: var(--krd-blue);
      border-color: var(--krd-blue-border);
    }

    .page-city--premium .faq details {
      border-color: rgba(167, 139, 250, 0.14);
    }

    .page-city--premium .faq details:nth-child(odd) {
      border-color: var(--krd-blue-border);
      background: linear-gradient(90deg, rgba(79, 143, 255, 0.06), transparent 40%);
    }

    .page-city--premium .lead-actions {
      margin-top: 32px;
      padding-top: 8px;
    }

    .page-city--premium #contacts.contacts {
      border: 1px solid var(--krd-blue-border);
      box-shadow: 0 0 60px rgba(79, 143, 255, 0.1);
      border-radius: calc(var(--radius) + 4px);
      padding: clamp(28px, 4vw, 40px);
      background:
        radial-gradient(circle at 100% 0%, rgba(79, 143, 255, 0.1), transparent 45%),
        var(--bg-elevated);
    }

    @media (max-width: 900px) {
      .page-city--premium .krd-intro-grid,
      .page-city--premium .krd-services-grid,
      .page-city--premium .krd-steps,
      .page-city--premium .krd-process-notes {
        grid-template-columns: 1fr;
      }

      .page-city--premium .krd-text-card--wide {
        grid-column: auto;
      }

      .page-city--premium .krd-deco--hero-a,
      .page-city--premium .krd-deco--hero-b {
        display: none;
      }
    }
  