:root {
      --bg-main: #f5f7fb;
      --bg-card: #ffffff;
      --border-soft: #d2d8e5;
      --text-main: #0f172a;
      --text-muted: #4b5563;
      --text-soft: #6b7280;
      --accent: #1f4b7b;
      --accent-strong: #143357;
      --shadow-soft: 0 10px 24px rgba(15, 23, 42, 0.06);
      --max-width: 1180px;
      --gold: #d4a548;
    }

    * { box-sizing: border-box; }

    body {
      margin: 0;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
      background: radial-gradient(circle at top left, #f5f7ff 0, #e7edf9 40%, #dde5f5 100%);
      color: var(--text-main);
      -webkit-font-smoothing: antialiased;
    }

    a { text-decoration: none; color: inherit; }

    .page-shell {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    .page-inner {
      width: 100%;
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 24px 22px 54px;
    }

    /* HERO */
    .hero-lic-overview {
      border-radius: 26px;
      border: 1px solid var(--border-soft);
      background: #050815;
      color: #ffffff;
      overflow: hidden;
      box-shadow: var(--shadow-soft);
      margin-bottom: 24px;
      position: relative;
    }

    .hero-lic-overview-inner {
      display: grid;
      grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.1fr);
      min-height: 220px;
      position: relative;
      z-index: 2;
    }

    .hero-left {
      padding: 22px 22px 18px;
      position: relative;
      z-index: 3;
    }

    .hero-kicker {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 0.16em;
      color: #c7d7ff;
      margin-bottom: 6px;
    }

    .hero-title {
      font-size: 26px;
      line-height: 1.22;
      margin: 0 0 8px;
    }

    .hero-sub {
      font-size: 13px;
      color: #dfe7ff;
      max-width: 560px;
      margin: 0 0 12px;
      line-height: 1.6;
    }

    .hero-pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-bottom: 14px;
    }

    .hero-pill {
      font-size: 11px;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid rgba(190, 209, 255, 0.4);
      background: rgba(9, 16, 35, 0.85);
      color: #e6eeff;
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }

    .hero-pill-dot {
      width: 6px;
      height: 6px;
      border-radius: 999px;
      background: #5ee7ff;
    }

    .hero-cta-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }

    .btn-primary {
      padding: 8px 16px;
      border-radius: 999px;
      background: linear-gradient(120deg, #3b82f6, #1d4ed8);
      border: none;
      font-size: 12px;
      color: #ffffff;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
    }

    .btn-secondary {
      padding: 8px 14px;
      border-radius: 999px;
      border: 1px solid #c7d7ff;
      font-size: 12px;
      color: #e3ebff;
      text-decoration: none;
      background: rgba(7, 13, 33, 0.6);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
    }

    .hero-note {
      font-size: 11px;
      color: #c4d2ff;
      margin-top: 4px;
      max-width: 100%;
    }

    .hero-right {
      position: relative;
      min-height: 210px;
      overflow: hidden;
    }

    .hero-right-bg {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(145deg, rgba(7, 13, 33, 0.35), rgba(7, 13, 33, 0.92)),
        url("https://neveslicensingauthority.org/wp-content/uploads/2026/07/licensing-overview.jpeg")
          center/cover no-repeat;
    }

    .hero-right-mask {
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 20% 15%, rgba(56, 189, 248, 0.28), transparent 55%),
        radial-gradient(circle at 80% 80%, rgba(129, 140, 248, 0.32), transparent 60%);
      mix-blend-mode: screen;
      opacity: 0.9;
    }

    .hero-right-caption {
      position: absolute;
      right: 16px;
      bottom: 14px;
      font-size: 10px;
      padding: 4px 10px;
      border-radius: 999px;
      background: rgba(7, 9, 26, 0.86);
      border: 1px solid rgba(148, 163, 255, 0.5);
      color: #dde7ff;
      max-width: 240px;
      text-align: right;
    }

    /* NFSA vs NGA SPLIT */
    .overview-split {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr);
      gap: 16px;
      margin-bottom: 24px;
    }

    .pillar-card {
      border-radius: 18px;
      border: 1px solid var(--border-soft);
      background: var(--bg-card);
      box-shadow: var(--shadow-soft);
      padding: 16px 16px 14px;
      font-size: 12px;
      color: var(--text-muted);
    }

    .pillar-header {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 8px;
    }

    .pillar-badge {
      width: 40px;
      height: 40px;
      border-radius: 14px;
      border: 1px solid var(--border-soft);
      background: radial-gradient(circle at 20% 0, #ffffff, #dbe7ff);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 9px;
      text-transform: uppercase;
      letter-spacing: 0.12em;
      color: var(--accent-strong);
    }

    .pillar-title {
      font-size: 14px;
      font-weight: 600;
      color: var(--accent-strong);
    }

    .pillar-sub {
      font-size: 11px;
      color: var(--text-soft);
    }

    .pillar-body {
      font-size: 12px;
      color: var(--text-muted);
      margin-bottom: 8px;
      line-height: 1.6;
    }

    .pillar-list {
      margin: 0 0 10px;
      padding-left: 18px;
      font-size: 12px;
      color: var(--text-muted);
    }

    .pillar-list li {
      margin-bottom: 4px;
    }

    .pillar-footer {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }

    .link-inline {
      font-size: 11px;
      color: var(--accent-strong);
      text-decoration: none;
      border-bottom: 1px dashed rgba(20, 51, 87, 0.4);
    }

    /* TEXT BLOCKS */
    .text-block {
      border-radius: 18px;
      border: 1px solid var(--border-soft);
      background: var(--bg-card);
      box-shadow: var(--shadow-soft);
      padding: 16px 16px 14px;
      margin-bottom: 24px;
      font-size: 12px;
      color: var(--text-muted);
      line-height: 1.65;
    }

    .text-block h2 {
      font-size: 15px;
      font-weight: 600;
      color: var(--accent-strong);
      margin: 0 0 6px;
    }

    .text-block h3 {
      font-size: 13px;
      font-weight: 600;
      color: var(--accent-strong);
      margin: 14px 0 4px;
    }

    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 8px;
    }

    .pill {
      font-size: 11px;
      padding: 4px 9px;
      border-radius: 999px;
      background: #f3f4ff;
      border: 1px solid #d4dcff;
      color: var(--text-soft);
    }

    .text-block ul {
      margin: 4px 0 8px;
      padding-left: 18px;
    }

    .text-block li {
      margin-bottom: 3px;
    }

    /* SNAPSHOT GRID */
    .snapshot-section {
      border-radius: 18px;
      border: 1px solid var(--border-soft);
      background: var(--bg-card);
      box-shadow: var(--shadow-soft);
      padding: 16px 16px 14px;
      margin-bottom: 24px;
    }

    .section-heading-row {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: baseline;
      margin-bottom: 8px;
    }

    .section-heading {
      font-size: 15px;
      font-weight: 600;
      color: var(--accent-strong);
      margin: 0;
    }

    .section-tagline {
      font-size: 11px;
      color: var(--text-soft);
    }

    .snapshot-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      margin-top: 8px;
    }

    .snapshot-card {
      border-radius: 14px;
      border: 1px dashed var(--border-soft);
      background: #f8fafc;
      padding: 9px 9px 8px;
      font-size: 12px;
      color: var(--text-muted);
    }

    .snapshot-title {
      font-size: 12px;
      font-weight: 600;
      color: var(--accent-strong);
      margin-bottom: 2px;
    }

    .snapshot-note {
      font-size: 11px;
      color: var(--text-soft);
      line-height: 1.55;
    }

    /* HOW TO APPLY SECTION */
    .how-section {
      border-radius: 18px;
      border: 1px solid var(--border-soft);
      background: linear-gradient(135deg, #f9fbff, #e9f0ff);
      box-shadow: var(--shadow-soft);
      padding: 16px 16px 14px;
      margin-bottom: 24px;
      font-size: 12px;
      color: var(--text-muted);
    }

    .how-steps {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      margin-top: 10px;
    }

    .how-card {
      border-radius: 14px;
      border: 1px solid var(--border-soft);
      background: #ffffff;
      padding: 10px 10px 9px;
      font-size: 12px;
      color: var(--text-muted);
    }

    .how-step-number {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: 0.16em;
      color: var(--text-soft);
      margin-bottom: 4px;
    }

    .how-title {
      font-size: 13px;
      font-weight: 600;
      color: var(--accent-strong);
      margin-bottom: 4px;
    }

    /* CTA FOOTER */
    .cta-footer {
      text-align: center;
      margin-top: 10px;
    }

    .cta-footer-title {
      font-size: 16px;
      font-weight: 600;
      color: var(--accent-strong);
      margin-bottom: 6px;
    }

    .cta-footer-text {
      font-size: 12px;
      color: var(--text-muted);
      margin-bottom: 10px;
      line-height: 1.65;
    }

    .cta-footer-buttons {
      display: flex;
      justify-content: center;
      gap: 10px;
      flex-wrap: wrap;
    }

    footer {
      margin-top: 20px;
      font-size: 11px;
      color: var(--text-soft);
      text-align: center !important;
    }

    /* RESPONSIVE */
    @media (max-width: 980px) {
      .hero-lic-overview-inner {
        grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr);
      }
      .overview-split {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      }
      .snapshot-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .how-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 820px) {
      .hero-lic-overview-inner {
        grid-template-columns: minmax(0, 1fr);
      }
      .hero-right {
        min-height: 200px;
      }
      .overview-split {
        grid-template-columns: minmax(0, 1fr);
      }
    }

    @media (max-width: 640px) {
      .page-inner {
        padding: 20px 14px 40px;
      }
      .hero-title {
        font-size: 22px;
      }
      .snapshot-grid {
        grid-template-columns: minmax(0, 1fr);
      }
      .how-steps {
        grid-template-columns: minmax(0, 1fr);
      }
    }