 /* ============ THEME TOKENS (shared) ============ */
      :root {
        --r-xl: 34px;
        --r-lg: 24px;
        --r-md: 16px;
        --ease: cubic-bezier(0.22, 1, 0.36, 1);
      }
      [data-theme="dark"] {
        --bg: #060a14;
        --bg-soft: #0a0f20;
        --surface: #0f1730;
        --surface-2: #141d3f;
        --line: rgba(255, 255, 255, 0.09);
        --text: #f4f6fb;
        --text-dim: #9aa3c8;
        --text-dimmer: #666fa0;
        --brand: #2f7dfb;
        --brand-deep: #033f88;
        --accent: #ffb020;
        --accent-2: #17c3b2;
        --shadow-strong: 0 20px 50px -14px rgba(0, 0, 0, 0.65);
        --oncta: #04101f;
      }
      [data-theme="light"] {
        --bg: #f3f6fb;
        --bg-soft: #ffffff;
        --surface: #ffffff;
        --surface-2: #eaf0f9;
        --line: rgba(3, 63, 136, 0.13);
        --text: #0a152e;
        --text-dim: #4b5678;
        --text-dimmer: #828cad;
        --brand: #033f88;
        --brand-deep: #022a5c;
        --accent: #e2900d;
        --accent-2: #0d9e91;
        --shadow-strong: 0 20px 50px -18px rgba(3, 63, 136, 0.28);
        --oncta: #ffffff;
      }
      * {
        box-sizing: border-box;
      }
      html {
        scroll-behavior: smooth;
        overflow-x: hidden;
        width: 100%;
      }
      body {
        font-family: "Vazirmatn", sans-serif;
        background: var(--bg);
        color: var(--text);
        overflow-x: hidden;
        -webkit-font-smoothing: antialiased;
        transition:
          background 0.5s var(--ease),
          color 0.5s var(--ease);
      }
      ::selection {
        background: var(--brand);
        color: #fff;
      }
      a {
        text-decoration: none;
        color: inherit;
      }
      img {
        max-width: 100%;
        display: block;
      }
      .container-x {
        max-width: 1240px;
        margin: 0 auto;
        padding: 0 24px;
      }
      ::-webkit-scrollbar {
        width: 9px;
      }
      ::-webkit-scrollbar-track {
        background: var(--bg);
      }
      ::-webkit-scrollbar-thumb {
        background: var(--surface-2);
        border-radius: 10px;
      }
      @media (prefers-reduced-motion: reduce) {
        * {
          animation-duration: 0.001ms !important;
          animation-iteration-count: 1 !important;
          transition-duration: 0.001ms !important;
          scroll-behavior: auto !important;
        }
      }
      :focus-visible {
        outline: 2px solid var(--accent-2);
        outline-offset: 3px;
        border-radius: 4px;
      }

      body.has-cursor,
      body.has-cursor * {
        cursor: none !important;
      }
      .cur-dot,
      .cur-ring {
        position: fixed;
        top: 0;
        left: 0;
        pointer-events: none;
        z-index: 9999;
        border-radius: 50%;
        transform: translate(-50%, -50%);
        will-change: transform;
      }
      .cur-dot {
        width: 7px;
        height: 7px;
        background: var(--accent);
        transition:
          transform 0.15s var(--ease),
          background 0.3s;
      }
      .cur-ring {
        width: 34px;
        height: 34px;
        border: 1.5px solid var(--brand);
        transition:
          width 0.3s var(--ease),
          height 0.3s var(--ease),
          border-color 0.3s,
          background 0.3s;
      }
      .cur-ring.hover {
        width: 58px;
        height: 58px;
        background: rgba(47, 125, 251, 0.12);
        border-color: var(--accent-2);
      }
      @media (pointer: coarse) {
        .cur-dot,
        .cur-ring {
          display: none;
        }
      }

      .eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 0.8rem;
        font-weight: 600;
        letter-spacing: 0.02em;
        color: var(--accent-2);
        background: color-mix(in srgb, var(--accent-2) 12%, transparent);
        border: 1px solid color-mix(in srgb, var(--accent-2) 30%, transparent);
        padding: 6px 16px;
        border-radius: 99px;
        margin-bottom: 18px;
      }
      .eyebrow::before {
        content: "";
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--accent-2);
        box-shadow: 0 0 0 4px
          color-mix(in srgb, var(--accent-2) 20%, transparent);
      }
      .section-title {
        font-size: clamp(1.9rem, 3.6vw, 2.9rem);
        font-weight: 800;
        line-height: 1.28;
        letter-spacing: -0.01em;
      }
      .section-sub {
        color: var(--text-dim);
        font-size: 1.02rem;
        max-width: 560px;
        line-height: 1.9;
      }
      .grad-text {
        background: linear-gradient(95deg, var(--accent-2), var(--brand) 65%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }

      .btn-flow {
        position: relative;
        display: inline-flex;
        align-items: center;
        text-align: center;
        gap: 10px;
        width:11rem;
        padding: 15px 30px;
        border-radius: 99px;
        font-weight: 700;
        font-size: 0.95rem;
        background: linear-gradient(95deg, var(--brand), var(--accent-2));
        color: var(--oncta);
        border: none;
        cursor: pointer;
        transition:
          transform 0.35s var(--ease),
          box-shadow 0.35s var(--ease);
        box-shadow: 0 10px 30px -10px
          color-mix(in srgb, var(--brand) 60%, transparent);
      }
      .btn-flow:hover {
        transform: translateY(-3px) scale(1.02);
        box-shadow: 0 16px 36px -10px
          color-mix(in srgb, var(--accent-2) 60%, transparent);
        color: var(--oncta);
      }
      .btn-flow i {
        transition: transform 0.35s var(--ease);
      }
      .btn-flow:hover i {
        transform: translateX(-4px);
      }
      .btn-ghost {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 14px 28px;
        border-radius: 99px;
        font-weight: 700;
        font-size: 0.95rem;
        border: 1px solid var(--line);
        color: var(--text);
        background: color-mix(in srgb, var(--text) 4%, transparent);
        transition: all 0.35s var(--ease);
      }
      .btn-ghost:hover {
        border-color: var(--accent-2);
        background: color-mix(in srgb, var(--accent-2) 10%, transparent);
      }

      .reveal {
        opacity: 0;
        transform: translateY(34px);
        transition:
          opacity 0.9s var(--ease),
          transform 0.9s var(--ease);
      }
      .reveal.in {
        opacity: 1;
        transform: translateY(0);
      }
      .reveal-delay-1 {
        transition-delay: 0.1s;
      }
      .reveal-delay-2 {
        transition-delay: 0.22s;
      }
      .reveal-delay-3 {
        transition-delay: 0.34s;
      }
      .reveal-delay-4 {
        transition-delay: 0.46s;
      }

      /* ============ HEADER (shared) ============ */
      .scroll-progress {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        height: 3px;
        z-index: 1010;
        background: transparent;
      }
      .scroll-progress::after {
        content: "";
        display: block;
        height: 100%;
        width: var(--sp, 0%);
        background: linear-gradient(90deg, var(--brand), var(--accent-2));
        transition: width 0.1s linear;
        box-shadow: 0 0 12px
          color-mix(in srgb, var(--accent-2) 70%, transparent);
      }
      header.site-header {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1000;
        padding: 22px 0;
        transition: all 0.5s var(--ease);
      }
      header.site-header.scrolled {
        padding: 14px 0;
      }
      .nav-wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        border-radius: 99px;
        border: 1px solid transparent;
        padding: 6px 4px;
        transition: all 0.5s var(--ease);
      }
      header.site-header.scrolled .nav-wrap {
        background: color-mix(in srgb, var(--surface) 82%, transparent);
        backdrop-filter: blur(20px) saturate(160%);
        -webkit-backdrop-filter: blur(20px) saturate(160%);
        border-color: var(--line);
        box-shadow: var(--shadow-strong);
        padding: 8px 22px 8px 8px;
      }
      header.site-header.scrolled .brand {
        transform: scale(0.94);
      }
      header.site-header.scrolled .brand .mark {
        width: 34px;
        height: 34px;
        border-radius: 10px;
      }
      .brand {
        display: flex;
        align-items: center;
        gap: 10px;
        font-weight: 800;
        font-size: 1.3rem;
        transition: transform 0.5s var(--ease);
      }
      .brand .mark {
        width: 38px;
        height: 38px;
        border-radius: 11px;
        background: linear-gradient(135deg, var(--brand), var(--accent-2));
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        overflow: hidden;
        animation: markPulse 4s ease-in-out infinite;
        transition:
          width 0.5s var(--ease),
          height 0.5s var(--ease),
          border-radius 0.5s var(--ease);
      }
      .brand .mark::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          115deg,
          transparent 30%,
          rgba(255, 255, 255, 0.55) 50%,
          transparent 70%
        );
        background-size: 250% 250%;
        animation: sheen 3.2s linear infinite;
      }
      .brand .mark i {
        color: var(--oncta);
        font-size: 1.05rem;
        z-index: 1;
      }
      @keyframes markPulse {
        0%,
        100% {
          box-shadow: 0 0 0 0 color-mix(in srgb, var(--brand) 40%, transparent);
        }
        50% {
          box-shadow: 0 0 0 10px transparent;
        }
      }
      @keyframes sheen {
        0% {
          background-position: -150% -150%;
        }
        100% {
          background-position: 150% 150%;
        }
      }
      .main-nav {
        display: flex;
        align-items: center;
        gap: 4px;
        background: color-mix(in srgb, var(--text) 4%, transparent);
        border: 1px solid var(--line);
        padding: 6px;
        border-radius: 99px;
      }
      .main-nav a {
        position: relative;
        padding: 10px 18px;
        border-radius: 99px;
        font-size: 0.92rem;
        font-weight: 500;
        color: var(--text-dim);
        transition: color 0.3s var(--ease);
      }
      .main-nav a:hover,
      .main-nav a.active {
        color: var(--text);
      }
      .main-nav a.active {
        background: var(--surface-2);
      }
      .header-cta {
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .theme-switch {
        width: 52px;
        height: 30px;
        border-radius: 99px;
        border: 1px solid var(--line);
        background: var(--surface-2);
        position: relative;
        cursor: pointer;
        flex: none;
      }
      .theme-switch .knob {
        position: absolute;
        top: 3px;
        right: 3px;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--brand), var(--accent-2));
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--oncta);
        font-size: 0.65rem;
        transition: transform 0.4s var(--ease);
      }
      [data-theme="light"] .theme-switch .knob {
        transform: translateX(-22px);
      }
      .burger {
        display: none;
        width: 44px;
        height: 44px;
        border-radius: 12px;
        border: 1px solid var(--line);
        background: color-mix(in srgb, var(--text) 4%, transparent);
        color: var(--text);
        align-items: center;
        justify-content: center;
        font-size: 1.15rem;
        cursor: pointer;
        flex: none;
      }

      .mnav-backdrop {
        position: fixed;
        inset: 0;
        background: rgba(2, 4, 10, 0.62);
        backdrop-filter: blur(4px);
        z-index: 1150;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.4s var(--ease);
      }
      .mnav-backdrop.show {
        opacity: 1;
        pointer-events: auto;
      }
      .mnav-panel {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1200;
        max-height: 88vh;
        background: var(--bg-soft);
        border: 1px solid var(--line);
        border-bottom: none;
        border-radius: 28px 28px 0 0;
        transform: translateY(105%);
        transition: transform 0.5s var(--ease);
        display: flex;
        flex-direction: column;
        padding: 14px 22px 26px;
        box-shadow: 0 -20px 60px -20px rgba(0, 0, 0, 0.5);
        overflow: hidden;
      }
      .mnav-panel::before {
        content: "";
        position: absolute;
        top: -80px;
        left: 50%;
        transform: translateX(-50%);
        width: 220px;
        height: 160px;
        background: radial-gradient(
          circle,
          color-mix(in srgb, var(--brand) 30%, transparent),
          transparent 70%
        );
        pointer-events: none;
      }
      .mnav-panel.open {
        transform: translateY(0);
      }
      .mnav-handle {
        width: 42px;
        height: 5px;
        border-radius: 99px;
        background: var(--line);
        margin: 2px auto 18px;
        flex: none;
      }
      .mnav-panel .top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
      }
      .mnav-panel .top h6 {
        margin: 0;
        font-weight: 800;
        font-size: 1.05rem;
      }
      .mnav-panel nav {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 10px;
        position: relative;
        z-index: 2;
      }
      .mnav-panel nav a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 20px 8px;
        border-radius: 18px;
        background: var(--surface-2);
        border: 1px solid var(--line);
        color: var(--text);
        font-size: 0.82rem;
        font-weight: 600;
        opacity: 0;
        transform: translateY(14px) scale(0.94);
        transition:
          background 0.3s,
          border-color 0.3s,
          transform 0.45s var(--ease),
          opacity 0.45s var(--ease);
      }
      .mnav-panel.open nav a {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
      .mnav-panel.open nav a:nth-child(1) {
        transition-delay: 0.06s;
      }
      .mnav-panel.open nav a:nth-child(2) {
        transition-delay: 0.11s;
      }
      .mnav-panel.open nav a:nth-child(3) {
        transition-delay: 0.16s;
      }
      .mnav-panel.open nav a:nth-child(4) {
        transition-delay: 0.21s;
      }
      .mnav-panel.open nav a:nth-child(5) {
        transition-delay: 0.26s;
      }
      .mnav-panel.open nav a:nth-child(6) {
        transition-delay: 0.31s;
      }
      .mnav-panel nav a i {
        font-size: 1.35rem;
        color: var(--accent-2);
      }
      .mnav-panel nav a.active {
        background: linear-gradient(140deg, var(--brand), var(--accent-2));
        border-color: transparent;
        color: var(--oncta);
      }
      .mnav-panel nav a.active i {
        color: var(--oncta);
      }
      .mnav-panel .foot {
        margin-top: 20px;
        display: flex;
        align-items: center;
        gap: 14px;
        position: relative;
        z-index: 2;
      }
      .mnav-panel .foot .btn-flow {
        flex: 1;
        justify-content: center;
      }

      /* ============ BREADCRUMB ============ */
      .breadcrumb-x {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
        font-size: 0.86rem;
        color: var(--text-dimmer);
        margin-bottom: 22px;
      }
      .breadcrumb-x a {
        color: var(--text-dim);
        transition: 0.3s;
      }
      .breadcrumb-x a:hover {
        color: var(--accent-2);
      }
      .breadcrumb-x i {
        font-size: 0.65rem;
      }
      .breadcrumb-x span.cur {
        color: var(--text);
      }

      /* ============ BLOG HERO ============ */
      .blog-hero {
        position: relative;
        padding: 170px 0 60px;
        overflow: hidden;
      }
      [data-theme="dark"] .blog-hero {
        background:
          radial-gradient(
            60% 55% at 85% 10%,
            rgba(47, 125, 251, 0.24),
            transparent 60%
          ),
          radial-gradient(
            50% 45% at 5% 90%,
            rgba(23, 195, 178, 0.13),
            transparent 60%
          ),
          var(--bg);
      }
      [data-theme="light"] .blog-hero {
        background:
          radial-gradient(
            60% 55% at 85% 10%,
            rgba(3, 63, 136, 0.1),
            transparent 60%
          ),
          radial-gradient(
            50% 45% at 5% 90%,
            rgba(13, 158, 145, 0.1),
            transparent 60%
          ),
          var(--bg);
      }
      .blog-hero h1 {
        font-size: clamp(2.1rem, 4.4vw, 3.4rem);
        font-weight: 800;
        line-height: 1.25;
        margin-bottom: 16px;
      }
      .blog-search {
        position: relative;
        max-width: 520px;
        margin-top: 30px;
      }
      .blog-search input {
        width: 100%;
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 99px;
        padding: 17px 60px 17px 22px;
        color: var(--text);
        font-family: inherit;
        font-size: 0.94rem;
        box-shadow: var(--shadow-strong);
      }
      .blog-search input:focus {
        outline: none;
        border-color: var(--accent-2);
      }
      .blog-search i {
        position: absolute;
        top: 50%;
        right: 22px;
        transform: translateY(-50%);
        color: var(--accent-2);
        font-size: 1rem;
      }

      /* ============ FEATURED POST ============ */
      .featured-wrap {
        padding: 0 0 70px;
      }
      .featured-card {
        border-radius: 32px;
        overflow: hidden;
        position: relative;
        display: grid;
        grid-template-columns: 1.1fr 0.9fr;
        align-items: stretch;
        background: var(--surface);
        border: 1px solid var(--line);
        box-shadow: var(--shadow-strong);
      }
      .featured-visual {
        position: relative;
        min-height: 340px;
        background: linear-gradient(150deg, #1d2a6b, #0b1030);
      }
      .featured-visual .deco {
        position: absolute;
        inset: 0;
        opacity: 0.6;
        background-image:
          radial-gradient(
            circle at 25% 20%,
            rgba(47, 125, 251, 0.55),
            transparent 45%
          ),
          radial-gradient(
            circle at 80% 75%,
            rgba(23, 195, 178, 0.4),
            transparent 45%
          );
      }
      .featured-visual i {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 4.4rem;
        color: rgba(255, 255, 255, 0.9);
      }
      .featured-visual .fbadge {
        position: absolute;
        top: 22px;
        right: 22px;
        background: var(--accent);
        color: #1a1200;
        font-weight: 700;
        font-size: 0.76rem;
        padding: 7px 16px;
        border-radius: 99px;
        z-index: 2;
      }
      .featured-body {
        padding: 44px;
        display: flex;
        flex-direction: column;
        justify-content: center;
      }
      .featured-body span.tag {
        color: var(--accent-2);
        font-weight: 700;
        font-size: 0.8rem;
      }
      .featured-body h2 {
        font-size: 1.5rem;
        font-weight: 800;
        margin: 12px 0 14px;
        line-height: 1.5;
      }
      .featured-body p {
        color: var(--text-dim);
        font-size: 0.93rem;
        line-height: 1.9;
        margin-bottom: 22px;
      }
      .featured-meta {
        display: flex;
        align-items: center;
        gap: 18px;
        margin-bottom: 24px;
        color: var(--text-dimmer);
        font-size: 0.8rem;
      }
      .featured-meta span {
        display: flex;
        align-items: center;
        gap: 6px;
      }

      /* ============ FILTER BAR ============ */
      .filter-bar {
        padding: 0 0 50px;
      }
      .filter-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;
      }
      .filter-tabs {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
      }
      .filter-tab {
        padding: 11px 22px;
        border-radius: 99px;
        border: 1px solid var(--line);
        background: color-mix(in srgb, var(--text) 4%, transparent);
        font-size: 0.86rem;
        font-weight: 600;
        color: var(--text-dim);
        cursor: pointer;
        transition: 0.3s;
      }
      .filter-tab.active {
        background: linear-gradient(95deg, var(--brand), var(--accent-2));
        color: var(--oncta);
        border-color: transparent;
      }
      .filter-count {
        font-size: 0.85rem;
        color: var(--text-dimmer);
      }

      /* ============ ARTICLES GRID ============ */
      .articles {
        padding: 0 0 90px;
      }
      .art-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 28px;
      }
      .art-card {
        border-radius: 26px;
        overflow: hidden;
        background: var(--surface);
        border: 1px solid var(--line);
        transition:
          transform 0.45s var(--ease),
          border-color 0.45s var(--ease);
        display: flex;
        flex-direction: column;
      }
      .art-card:hover {
        transform: translateY(-8px);
        border-color: color-mix(in srgb, var(--accent-2) 40%, transparent);
      }
      .art-thumb {
        aspect-ratio: 16/10.5;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2.2rem;
        color: #fff;
        overflow: hidden;
      }
      .art-thumb i {
        transition: transform 0.5s var(--ease);
      }
      .art-card:hover .art-thumb i {
        transform: scale(1.15) rotate(-6deg);
      }
      .art-thumb .cat {
        position: absolute;
        top: 14px;
        right: 14px;
        background: rgba(4, 9, 20, 0.55);
        backdrop-filter: blur(6px);
        color: #fff;
        font-size: 0.72rem;
        font-weight: 700;
        padding: 6px 14px;
        border-radius: 99px;
        z-index: 2;
      }
      .g1 {
        background: linear-gradient(150deg, #1d2a6b, #0b1030);
      }
      .g2 {
        background: linear-gradient(150deg, #0d5c52, #07211d);
      }
      .g3 {
        background: linear-gradient(150deg, #6b2a4a, #2b0f1e);
      }
      .g4 {
        background: linear-gradient(150deg, #2f7dfb, #0d1030);
      }
      .g5 {
        background: linear-gradient(150deg, #17c3b2, #08211f);
      }
      .g6 {
        background: linear-gradient(150deg, #ffb020, #3a2405);
      }
      .g7 {
        background: linear-gradient(150deg, #5b5cf0, #180a35);
      }
      .g8 {
        background: linear-gradient(150deg, #0d9e91, #062824);
      }
      .g9 {
        background: linear-gradient(150deg, #c74b6d, #2c0e1a);
      }
      .art-body {
        padding: 24px;
        display: flex;
        flex-direction: column;
        flex: 1;
      }
      .art-meta {
        display: flex;
        align-items: center;
        gap: 14px;
        color: var(--text-dimmer);
        font-size: 0.76rem;
        margin-bottom: 12px;
      }
      .art-meta span {
        display: flex;
        align-items: center;
        gap: 5px;
      }
      .art-body h4 {
        font-size: 1.05rem;
        font-weight: 700;
        margin-bottom: 10px;
        line-height: 1.6;
      }
      .art-body p {
        color: var(--text-dim);
        font-size: 0.85rem;
        line-height: 1.85;
        margin-bottom: 18px;
        flex: 1;
      }
      .art-link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 0.84rem;
        font-weight: 700;
        color: var(--accent-2);
      }
      .art-link i {
        transition: transform 0.4s var(--ease);
        font-size: 0.75rem;
      }
      .art-card:hover .art-link i {
        transform: translateX(-6px);
      }
      .art-card.hidden {
        display: none;
      }

      .load-more-wrap {
        text-align: center;
        margin-top: 50px;
      }

      /* ============ SIDEBAR EXTRAS (popular + categories) ============ */
      .blog-extra {
        padding: 0 0 100px;
      }
      .extra-card {
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 26px;
        padding: 30px;
      }
      .extra-card h5 {
        font-weight: 700;
        margin-bottom: 22px;
        font-size: 1.02rem;
        display: flex;
        align-items: center;
        gap: 10px;
      }
      .extra-card h5 i {
        color: var(--accent-2);
      }
      .pop-item {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 18px;
        padding-bottom: 18px;
        border-bottom: 1px solid var(--line);
      }
      .pop-item:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
      }
      .pop-item .pn {
        width: 32px;
        height: 32px;
        flex: none;
        border-radius: 9px;
        background: var(--surface-2);
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 800;
        font-size: 0.82rem;
        color: var(--accent-2);
      }
      .pop-item h6 {
        margin: 0 0 4px;
        font-size: 0.86rem;
        font-weight: 700;
        line-height: 1.5;
      }
      .pop-item span {
        font-size: 0.74rem;
        color: var(--text-dimmer);
      }
      .cat-list {
        display: flex;
        flex-direction: column;
        gap: 4px;
      }
      .cat-list a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 12px 14px;
        border-radius: 12px;
        font-size: 0.87rem;
        color: var(--text-dim);
        transition: 0.3s;
      }
      .cat-list a:hover {
        background: var(--surface-2);
        color: var(--text);
      }
      .cat-list a span.cnt {
        background: var(--surface-2);
        color: var(--text-dimmer);
        font-size: 0.72rem;
        padding: 2px 9px;
        border-radius: 99px;
      }
      .tag-cloud {
        display: flex;
        flex-wrap: wrap;
        gap: 9px;
      }
      .tag-cloud a {
        padding: 8px 15px;
        border-radius: 99px;
        background: var(--surface-2);
        border: 1px solid var(--line);
        font-size: 0.78rem;
        color: var(--text-dim);
        transition: 0.3s;
      }
      .tag-cloud a:hover {
        background: var(--accent-2);
        color: var(--oncta);
        border-color: transparent;
      }

      /* ============ FINAL CTA ============ */
      .final-cta {
        padding: 0 0 100px;
      }
      .cta-banner {
        position: relative;
        overflow: hidden;
        border-radius: 36px;
        padding: 70px 40px;
        text-align: center;
        background: linear-gradient(
          135deg,
          var(--brand),
          var(--brand-deep) 55%,
          var(--accent-2)
        );
      }
      .cta-banner::before {
        content: "";
        position: absolute;
        width: 420px;
        height: 420px;
        background: radial-gradient(
          circle,
          rgba(255, 255, 255, 0.16),
          transparent 70%
        );
        top: -160px;
        right: -100px;
      }
      .cta-banner::after {
        content: "";
        position: absolute;
        width: 340px;
        height: 340px;
        background: radial-gradient(
          circle,
          rgba(255, 255, 255, 0.12),
          transparent 70%
        );
        bottom: -140px;
        left: -80px;
      }
      .cta-banner h2 {
        position: relative;
        z-index: 2;
        font-size: clamp(1.7rem, 3.4vw, 2.5rem);
        font-weight: 800;
        color: #fff;
        margin-bottom: 16px;
      }
      .cta-banner p {
        position: relative;
        z-index: 2;
        color: rgba(255, 255, 255, 0.85);
        max-width: 480px;
        margin: 0 auto 30px;
        line-height: 1.9;
      }
      .cta-banner .btn-flow {
        position: relative;
        z-index: 2;
        background: #fff;
        color: var(--brand-deep);
        box-shadow: 0 14px 34px -10px rgba(0, 0, 0, 0.35);
      }
      .cta-banner .btn-flow:hover {
        color: var(--brand-deep);
      }

      /* ============ FOOTER (shared) ============ */
      .footer-wave {
        display: block;
        width: 100%;
        line-height: 0;
        position: relative;
        z-index: 2;
        transform: translateY(1px);
      }
      .footer-wave svg {
        width: 100%;
        height: 70px;
        display: block;
      }
      footer.site-footer {
        background: var(--bg-soft);
        position: relative;
        overflow: hidden;
        padding: 0 0 0;
        max-width: 100vw;
      }
      footer.site-footer::before {
        content: "";
        position: absolute;
        width: 560px;
        height: 560px;
        background: radial-gradient(
          circle,
          color-mix(in srgb, var(--brand) 16%, transparent),
          transparent 70%
        );
        bottom: -220px;
        right: -160px;
        pointer-events: none;
      }
      footer.site-footer::after {
        content: "";
        position: absolute;
        width: 420px;
        height: 420px;
        background: radial-gradient(
          circle,
          color-mix(in srgb, var(--accent-2) 12%, transparent),
          transparent 70%
        );
        top: -140px;
        left: -120px;
        pointer-events: none;
      }
      .footer-inner {
        position: relative;
        z-index: 2;
        padding: 56px 0 0;
      }
      .footer-island {
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 36px;
        padding: 44px 44px 0;
        position: relative;
        overflow: hidden;
        box-shadow: var(--shadow-strong);
      }
      .footer-island .dots {
        position: absolute;
        inset: 0;
        opacity: 0.5;
        background-image: radial-gradient(var(--line) 1px, transparent 1px);
        background-size: 20px 20px;
        -webkit-mask-image: radial-gradient(
          circle at 100% 0%,
          black,
          transparent 60%
        );
        mask-image: radial-gradient(circle at 100% 0%, black, transparent 60%);
      }
      .footer-newsletter {
        position: relative;
        z-index: 2;
        margin-bottom: 50px;
        background: linear-gradient(
          95deg,
          color-mix(in srgb, var(--brand) 18%, transparent),
          color-mix(in srgb, var(--accent-2) 13%, transparent)
        );
        border: 1px solid color-mix(in srgb, var(--accent-2) 30%, transparent);
        border-radius: 26px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        padding: 22px 26px;
        flex-wrap: wrap;
      }
      .footer-newsletter .fn-text {
        display: flex;
        align-items: center;
        gap: 14px;
      }
      .footer-newsletter .fn-ic {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        flex: none;
        background: linear-gradient(135deg, var(--brand), var(--accent-2));
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--oncta);
        font-size: 1.1rem;
      }
      .footer-newsletter strong {
        font-size: 0.98rem;
        display: block;
      }
      .footer-newsletter span.sub {
        font-size: 0.8rem;
        color: var(--text-dim);
      }
      .footer-newsletter form {
        display: flex;
        gap: 8px;
        background: var(--bg);
        border-radius: 99px;
        padding: 6px;
        flex: 1;
        min-width: 260px;
        max-width: 400px;
      }
      .footer-newsletter input {
        flex: 1;
        background: transparent;
        border: none;
        color: var(--text);
        padding: 9px 14px;
        font-family: inherit;
      }
      .footer-newsletter input:focus {
        outline: none;
      }
      .footer-newsletter button {
        background: var(--accent-2);
        color: var(--oncta);
        border: none;
        border-radius: 99px;
        padding: 10px 20px;
        font-weight: 700;
        font-size: 0.82rem;
      }
      .footer-3col {
        position: relative;
        z-index: 2;
        display: grid;
        grid-template-columns: 1fr 1.2fr 1fr;
        gap: 30px;
        align-items: start;
        padding-bottom: 40px;
      }
      .footer-col h5 {
        font-weight: 700;
        margin-bottom: 20px;
        font-size: 0.98rem;
        position: relative;
        display: inline-block;
      }
      .footer-col h5::after {
        content: "";
        position: absolute;
        right: 0;
        bottom: -8px;
        width: 26px;
        height: 3px;
        border-radius: 3px;
        background: linear-gradient(90deg, var(--brand), var(--accent-2));
      }
      .footer-col ul {
        list-style: none;
        padding: 0;
        margin: 0;
      }
      .footer-col ul li {
        margin-bottom: 13px;
      }
      .footer-col ul li a {
        color: var(--text-dim);
        font-size: 0.87rem;
        display: flex;
        align-items: center;
        gap: 8px;
        transition: 0.3s;
      }
      .footer-col ul li a:hover {
        color: var(--accent-2);
        gap: 12px;
      }
      .footer-col ul li a i {
        font-size: 0.6rem;
      }
      .footer-center {
        text-align: center;
      }
      .footer-brand {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        font-size: 1.6rem;
        font-weight: 800;
        margin-bottom: 16px;
      }
      .footer-tag {
        color: var(--text-dim);
        max-width: 340px;
        margin: 0 auto 22px;
        line-height: 1.9;
        font-size: 0.9rem;
      }
      .footer-social {
        display: flex;
        gap: 12px;
        justify-content: center;
      }
      .footer-social a {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        border: 1px solid var(--line);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--text-dim);
        transition: 0.35s;
        position: relative;
      }
      .footer-social a:hover {
        background: linear-gradient(135deg, var(--brand), var(--accent-2));
        color: var(--oncta);
        border-color: transparent;
        transform: translateY(-4px) scale(1.05);
      }
      .footer-badges {
        position: relative;
        z-index: 2;
        display: flex;
        justify-content: center;
        gap: 38px;
        flex-wrap: wrap;
        padding: 0 0 34px;
        border-top: 1px solid var(--line);
        margin-top: 6px;
        padding-top: 30px;
      }
      .footer-badges .fb-item {
        display: flex;
        align-items: center;
        gap: 10px;
        color: var(--text-dim);
        font-size: 0.83rem;
        font-weight: 600;
      }
      .footer-badges .fb-item i {
        color: var(--accent-2);
        font-size: 1rem;
      }
      .footer-bottom {
        padding: 22px 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        position: relative;
        z-index: 2;
      }
      .footer-bottom p {
        margin: 0;
        color: var(--text-dimmer);
        font-size: 0.82rem;
      }
      .footer-bottom .legal {
        display: flex;
        gap: 20px;
      }
      .footer-bottom .legal a {
        color: var(--text-dimmer);
        font-size: 0.82rem;
      }
      .footer-bottom .legal a:hover {
        color: var(--accent-2);
      }
      .to-top {
        position: fixed;
        bottom: 26px;
        left: 26px;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--brand), var(--accent-2));
        color: var(--oncta);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 900;
        opacity: 0;
        pointer-events: none;
        transition: 0.4s;
        box-shadow: 0 10px 24px -8px
          color-mix(in srgb, var(--brand) 60%, transparent);
      }
      .to-top.show {
        opacity: 1;
        pointer-events: auto;
      }
      .chat-fab {
        position: fixed;
        bottom: 26px;
        right: 26px;
        width: 58px;
        height: 58px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--accent-2), var(--brand));
        color: var(--oncta);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.3rem;
        z-index: 900;
        box-shadow: 0 12px 30px -8px
          color-mix(in srgb, var(--accent-2) 65%, transparent);
        border: none;
      }
      .chat-fab::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 50%;
        border: 2px solid var(--accent-2);
        animation: fabPing 2.6s ease-out infinite;
      }
      @keyframes fabPing {
        0% {
          transform: scale(1);
          opacity: 0.6;
        }
        100% {
          transform: scale(1.6);
          opacity: 0;
        }
      }

      /* ============ RESPONSIVE ============ */
      @media (max-width: 991px) {
        .main-nav,
        .header-cta .btn-flow {
          display: none;
        }
        .burger {
          display: flex;
        }
        .blog-hero {
          padding: 120px 0 40px;
        }
        .featured-card {
          grid-template-columns: 1fr;
        }
        .featured-visual {
          min-height: 220px;
        }
        .featured-body {
          padding: 30px 26px;
        }
        .featured-wrap {
          padding-bottom: 50px;
        }
        .filter-bar {
          padding-bottom: 36px;
        }
        .art-grid {
          grid-template-columns: 1fr 1fr;
          gap: 18px;
        }
        .articles {
          padding-bottom: 60px;
        }
        .blog-extra {
          padding-bottom: 70px;
        }
        .blog-extra .row > div {
          margin-bottom: 20px;
        }
        .final-cta {
          padding-bottom: 70px;
        }
        .cta-banner {
          padding: 50px 26px;
          border-radius: 28px;
        }
      }
      @media (max-width: 576px) {
        .container-x {
          padding: 0 16px;
        }
        .section-title {
          font-size: 1.6rem;
        }
        .blog-hero h1 {
          font-size: 1.85rem;
        }
        .blog-search input {
          padding: 15px 52px 15px 18px;
          font-size: 0.88rem;
        }
        .featured-body {
          padding: 24px 20px;
        }
        .featured-body h2 {
          font-size: 1.2rem;
        }
        .filter-row {
          align-items: flex-start;
        }
        .filter-tabs {
          gap: 8px;
        }
        .filter-tab {
          padding: 9px 16px;
          font-size: 0.8rem;
        }
        .art-grid {
          grid-template-columns: 1fr;
          gap: 16px;
        }
        .extra-card {
          padding: 22px;
        }
        .footer-island {
          padding: 26px 16px 0;
        }
        .footer-3col {
          grid-template-columns: 1fr;
          text-align: center;
          gap: 34px;
        }
        .footer-col h5::after {
          right: 50%;
          transform: translateX(50%);
        }
        .footer-col ul li a {
          justify-content: center;
        }
        .footer-center {
          order: -1;
        }
        .footer-newsletter {
          flex-direction: column;
          text-align: center;
          padding: 18px;
        }
        .footer-newsletter .fn-text {
          flex-direction: column;
        }
        .footer-newsletter form {
          max-width: 100%;
          min-width: 0;
        }
        .footer-bottom {
          flex-direction: column;
          text-align: center;
        }
        .chat-fab {
          width: 50px;
          height: 50px;
          font-size: 1.1rem;
          bottom: 20px;
          right: 18px;
        }
        .to-top {
          width: 42px;
          height: 42px;
          bottom: 20px;
          left: 18px;
        }
      }