/* ===== Block 1 ===== */

    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

    :root {
      --bg: #08090a;
      --bg-alt: #0a0e14;
      --bg-card: rgba(255,255,255,0.04);
      --border: rgba(255,255,255,0.08);
      --accent: #635bff;
      --accent-light: #7a73ff;
      --accent-cyan: #00d4ff;
      --gradient: linear-gradient(135deg, #635bff 0%, #00d4ff 100%);
      --gradient-cta: linear-gradient(135deg, #635bff 0%, #4b83ff 100%);
      --text: #ffffff;
      --text-muted: rgba(255,255,255,0.7);
      --text-dim: rgba(255,255,255,0.5);
      --text-dark: #0a2540;
      --text-secondary: #425466;
      --danger: #ff6b6b;
      --success: #3ddc97;
      --radius: 16px;
      --radius-sm: 10px;
      --shadow-lg: 0 8px 40px rgba(0,0,0,0.4);
    }

    html { scroll-behavior: smooth; }

    body {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
      background: var(--bg);
      color: var(--text);
      line-height: 1.6;
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
    }

    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; height: auto; display: block; }

    .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

    /* TOPBAR */
    .topbar {
      padding: 14px 24px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-bottom: 1px solid var(--border);
      background: rgba(8,9,10,0.9);
      backdrop-filter: blur(10px);
      position: sticky;
      top: 0;
      z-index: 50;
    }
    .topbar__logo {
      display: flex;
      align-items: center;
      gap: 10px;
      font-weight: 700;
      font-size: 1.15rem;
    }
    .topbar__logo img { width: 32px; height: 32px; border-radius: 7px; }
    .topbar__phone {
      color: var(--accent-cyan);
      font-weight: 600;
      font-size: 0.9rem;
    }
    .topbar__phone:hover { text-decoration: underline; }

    /* ARTICLE HEADER */
    .article-header {
      padding: 36px 24px 24px;
      max-width: 820px;
      margin: 0 auto;
    }
    .article__breadcrumb {
      font-size: 0.82rem;
      color: var(--text-dim);
      margin-bottom: 16px;
    }
    .article__breadcrumb a { color: var(--text-muted); }
    .article__breadcrumb a:hover { color: var(--accent-cyan); }
    .article__breadcrumb span { color: var(--text-dim); margin: 0 8px; }
    .article__badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(99,91,255,0.12);
      border: 1px solid rgba(99,91,255,0.3);
      color: var(--accent-light);
      font-size: 0.72rem;
      font-weight: 600;
      padding: 5px 12px;
      border-radius: 999px;
      margin-bottom: 14px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }
    .article__title {
      font-size: clamp(1.8rem, 4.2vw, 2.8rem);
      font-weight: 800;
      line-height: 1.15;
      margin-bottom: 16px;
      letter-spacing: -0.02em;
    }
    .article__title span {
      background: var(--gradient);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .article__meta {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      font-size: 0.88rem;
      color: var(--text-muted);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      padding: 14px 0;
      margin-bottom: 8px;
    }
    .article__meta strong { color: var(--text); font-weight: 600; }

    /* TOC */
    .toc {
      max-width: 820px;
      margin: 20px auto 0;
      padding: 20px 24px;
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius);
    }
    .toc__title {
      font-size: 0.82rem;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: var(--text-dim);
      margin-bottom: 12px;
    }
    .toc ol {
      list-style: none;
      counter-reset: toc;
    }
    .toc li {
      counter-increment: toc;
      padding: 6px 0 6px 28px;
      position: relative;
      font-size: 0.92rem;
    }
    .toc li::before {
      content: counter(toc);
      position: absolute;
      left: 0;
      top: 6px;
      width: 20px; height: 20px;
      background: rgba(99,91,255,0.15);
      border-radius: 50%;
      font-size: 0.72rem;
      font-weight: 700;
      color: var(--accent-light);
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .toc a { color: var(--text-muted); }
    .toc a:hover { color: var(--accent-cyan); text-decoration: underline; }

    /* ARTICLE BODY */
    .article-body {
      max-width: 820px;
      margin: 0 auto;
      padding: 24px 24px 48px;
    }
    .article-body h2 {
      font-size: clamp(1.4rem, 2.8vw, 1.8rem);
      font-weight: 800;
      letter-spacing: -0.02em;
      margin-top: 44px;
      margin-bottom: 14px;
      scroll-margin-top: 80px;
    }
    .article-body h2:first-child { margin-top: 0; }
    .article-body h2 span {
      background: var(--gradient);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .article-body h3 {
      font-size: 1.15rem;
      font-weight: 700;
      margin-top: 24px;
      margin-bottom: 10px;
      color: var(--text);
    }
    .article-body p {
      font-size: 1rem;
      color: var(--text-muted);
      margin-bottom: 14px;
      line-height: 1.7;
    }
    .article-body ul, .article-body ol {
      margin-bottom: 18px;
      padding-left: 22px;
      color: var(--text-muted);
    }
    .article-body li {
      font-size: 1rem;
      line-height: 1.65;
      margin-bottom: 8px;
    }
    .article-body strong { color: var(--text); font-weight: 600; }
    .article-body a {
      color: var(--accent-cyan);
      border-bottom: 1px dotted rgba(0,212,255,0.4);
      transition: color 0.15s, border-color 0.15s;
    }
    .article-body a:hover { color: var(--accent-light); border-bottom-color: var(--accent-light); }
    .article-body blockquote {
      border-left: 3px solid var(--accent);
      background: rgba(99,91,255,0.06);
      padding: 14px 18px;
      margin: 18px 0;
      border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
      font-size: 0.96rem;
      color: var(--text-muted);
    }

    /* CALLOUT BOX */
    .callout {
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 20px 22px;
      margin: 24px 0;
    }
    .callout--warn {
      background: rgba(255,184,0,0.06);
      border-color: rgba(255,184,0,0.2);
    }
    .callout--danger {
      background: rgba(255,107,107,0.06);
      border-color: rgba(255,107,107,0.2);
    }
    .callout--success {
      background: rgba(61,220,151,0.06);
      border-color: rgba(61,220,151,0.2);
    }
    .callout__title {
      font-size: 0.85rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-bottom: 8px;
      color: var(--accent-light);
    }
    .callout--warn .callout__title { color: #ffb800; }
    .callout--danger .callout__title { color: var(--danger); }
    .callout--success .callout__title { color: var(--success); }
    .callout p:last-child { margin-bottom: 0; }

    /* INLINE CTA */
    .inline-cta {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 14px;
      background: linear-gradient(135deg, rgba(99,91,255,0.14) 0%, rgba(0,212,255,0.08) 100%);
      border: 1px solid rgba(99,91,255,0.3);
      border-radius: var(--radius);
      padding: 22px 24px;
      margin: 28px 0;
    }
    .inline-cta__text {
      font-size: 1rem;
      color: var(--text);
      font-weight: 500;
      line-height: 1.5;
    }
    .inline-cta__text strong { font-weight: 700; }
    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 12px 22px;
      font-family: inherit;
      font-size: 0.95rem;
      font-weight: 700;
      border: none;
      border-radius: var(--radius-sm);
      cursor: pointer;
      transition: transform 0.15s, box-shadow 0.15s, opacity 0.15s;
      text-align: center;
      line-height: 1.2;
    }
    .btn--primary {
      background: var(--gradient-cta);
      color: #fff;
      box-shadow: 0 4px 16px rgba(99,91,255,0.35);
    }
    .btn--primary:hover { transform: translateY(-1px); box-shadow: 0 6px 24px rgba(99,91,255,0.45); }
    .btn--ghost {
      background: transparent;
      color: var(--accent-cyan);
      border: 1px solid var(--border);
    }
    .btn--ghost:hover { background: var(--bg-card); }

    /* TABLE */
    .article-body table {
      width: 100%;
      border-collapse: collapse;
      margin: 18px 0;
      border: 1px solid var(--border);
      border-radius: var(--radius);
      overflow: hidden;
      font-size: 0.92rem;
    }
    .article-body thead {
      background: rgba(99,91,255,0.08);
    }
    .article-body th, .article-body td {
      padding: 12px 14px;
      text-align: left;
      border-bottom: 1px solid var(--border);
    }
    .article-body th {
      font-size: 0.8rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      color: var(--text-muted);
    }
    .article-body tr:last-child td { border-bottom: none; }
    .article-body td { color: var(--text-muted); }
    .article-body td strong { color: var(--text); }

    /* RELATED */
    .related {
      background: var(--bg-alt);
      padding: 48px 24px;
      border-top: 1px solid var(--border);
    }
    .related__inner {
      max-width: 1100px;
      margin: 0 auto;
    }
    .related__title {
      font-size: clamp(1.3rem, 2.6vw, 1.6rem);
      font-weight: 800;
      letter-spacing: -0.02em;
      margin-bottom: 20px;
    }
    .related__title span {
      background: var(--gradient);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .related__grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 18px;
    }
    .related__card {
      display: block;
      background: var(--bg-card);
      border: 1px solid var(--border);
      border-radius: var(--radius);
      padding: 22px 22px;
      transition: transform 0.15s, border-color 0.15s;
    }
    .related__card:hover {
      transform: translateY(-2px);
      border-color: rgba(99,91,255,0.4);
    }
    .related__tag {
      font-size: 0.72rem;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: var(--accent-cyan);
      font-weight: 700;
      margin-bottom: 8px;
    }
    .related__heading {
      font-size: 1.05rem;
      font-weight: 700;
      color: var(--text);
      margin-bottom: 8px;
      line-height: 1.3;
    }
    .related__desc {
      font-size: 0.88rem;
      color: var(--text-muted);
      line-height: 1.55;
    }

    /* SOURCES */
    .sources {
      max-width: 820px;
      margin: 0 auto;
      padding: 0 24px 36px;
    }
    .sources__title {
      font-size: 0.82rem;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: var(--text-dim);
      margin-bottom: 12px;
    }
    .sources ul {
      list-style: none;
      padding: 0;
    }
    .sources li {
      font-size: 0.85rem;
      color: var(--text-muted);
      padding: 4px 0 4px 18px;
      position: relative;
      line-height: 1.55;
      margin-bottom: 4px;
    }
    .sources li::before {
      content: '\2192';
      position: absolute;
      left: 0;
      color: var(--accent-cyan);
    }
    .sources a { color: var(--accent-cyan); word-break: break-word; }
    .sources a:hover { text-decoration: underline; }

    /* CTA FINAL */
    .cta-final {
      padding: 56px 24px;
      text-align: center;
      max-width: 720px;
      margin: 0 auto;
    }
    .cta-final__lead {
      font-size: 1.05rem;
      color: var(--text-muted);
      margin-bottom: 16px;
    }
    .cta-final__phone {
      display: inline-block;
      font-size: clamp(1.6rem, 4vw, 2.4rem);
      font-weight: 800;
      background: var(--gradient);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      margin-bottom: 10px;
      letter-spacing: -0.01em;
    }
    .cta-final__phone:hover { opacity: 0.85; }
    .cta-final__sub {
      font-size: 0.92rem;
      color: var(--text-muted);
    }
    .cta-final__sub a { color: var(--accent-cyan); font-weight: 600; }
    .cta-final__sub a:hover { text-decoration: underline; }

    /* FOOTER */
    .footer {
      border-top: 1px solid var(--border);
      padding: 32px 24px 24px;
      background: var(--bg-alt);
    }
    .footer__grid {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 28px;
      padding-bottom: 24px;
    }
    .footer__col h4 {
      font-size: 0.82rem;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 12px;
      color: var(--text);
    }
    .footer__col ul { list-style: none; }
    .footer__col li { margin-bottom: 6px; }
    .footer__col a {
      font-size: 0.88rem;
      color: var(--text-muted);
      transition: color 0.15s;
    }
    .footer__col a:hover { color: var(--accent-cyan); }
    .footer__bottom {
      max-width: 1100px;
      margin: 0 auto;
      border-top: 1px solid var(--border);
      padding-top: 18px;
      text-align: center;
      font-size: 0.78rem;
      color: var(--text-dim);
    }

    /* RESPONSIVE */
    @media (max-width: 960px) {
      .related__grid { grid-template-columns: 1fr; }
      .footer__grid { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 640px) {
      .topbar { padding: 10px 16px; }
      .topbar__logo { font-size: 1rem; }
      .article-header { padding: 24px 16px 18px; }
      .article__title { font-size: 1.5rem; }
      .article-body { padding: 20px 16px 36px; }
      .article-body h2 { font-size: 1.3rem; }
      .toc { padding: 16px 18px; }
      .inline-cta { padding: 18px 18px; }
      .btn { width: 100%; justify-content: center; padding: 13px 18px; }
      .related { padding: 36px 16px; }
      .sources { padding: 0 16px 32px; }
      .footer__grid { grid-template-columns: 1fr; gap: 22px; }
      .cta-final { padding: 40px 16px; }
    }