  *,
  *::before,
  *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
  }

  :root {
      --dark: #2C1A0E;
      --dark2: #3E2723;
      --dark3: #1A0F08;
      --brown: #7B3A0F;
      --brown2: #8B4513;
      --brown-light: #A0522D;
      --gold: #C9A84C;
      --gold2: #D4A017;
      --gold-light: #E8C97A;
      --gold-dim: rgba(201, 168, 76, 0.12);
      --cream: #FDF6E3;
      --cream2: #F5EDD4;
      --cream3: #EDE0C4;
      --text-dark: #1C0F06;
      --text-brown: #5C2E00;
      --text-mid: #7B4F2E;
      --text-muted: #A07850;
      --text-light: #FDF6E3;
      --gold-border: rgba(201, 168, 76, 0.3);
      --brown-border: rgba(123, 58, 15, 0.2);
      --shadow-sm: 0 2px 12px rgba(44, 26, 14, 0.1);
      --shadow: 0 6px 28px rgba(44, 26, 14, 0.14);
      --shadow-lg: 0 12px 48px rgba(44, 26, 14, 0.18);
      --r: 10px;
      --rl: 16px;
  }

  html {
      scroll-behavior: smooth;
  }

  body {
      font-family: 'DM Sans', sans-serif;
      background: var(--cream);
      color: var(--text-dark);
      line-height: 1.7;
      font-size: 16px;
      overflow-x: hidden;
  }

  /* ── NAV ── */
  nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 200;
      height: 64px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 2.5rem;
      background: var(--dark3);
      border-bottom: 2px solid var(--gold);
  }

  .nav-logo {
      display: flex;
      align-items: center;
      gap: 11px;
      text-decoration: none;
  }

  .nav-logo-icon {
      width: 36px;
      height: 36px;
      background: var(--gold);
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      flex-shrink: 0;
  }

  .nav-logo-text {
      display: flex;
      flex-direction: column;
      line-height: 1.15;
  }

  .nav-logo-main {
      font-weight: 500;
      font-size: 0.98rem;
      color: var(--gold);
      letter-spacing: 0.07em;
      text-transform: uppercase;
  }

  .nav-logo-sub {
      font-size: 0.62rem;
      color: rgba(201, 168, 76, 0.5);
      letter-spacing: 0.14em;
      text-transform: uppercase;
      font-weight: 300;
  }

  .nav-links {
      display: flex;
      list-style: none;
      align-items: center;
      gap: 0;
  }

  .nav-links a {
      color: rgba(253, 246, 227, 0.65);
      text-decoration: none;
      font-size: 0.84rem;
      padding: 0.45rem 0.9rem;
      transition: color .2s;
      letter-spacing: 0.01em;
  }

  .nav-links a:hover {
      color: var(--gold);
  }

  .nav-cta {
      background: var(--gold) !important;
      color: var(--dark) !important;
      border-radius: 7px;
      font-weight: 500 !important;
      margin-left: 0.6rem;
      padding: 0.42rem 1.2rem !important;
      transition: background .2s !important;
  }

  .nav-cta:hover {
      background: var(--gold2) !important;
  }

  /* ── HERO ── */
  .hero {
      min-height: 100vh;
      background: var(--dark3);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      padding: 9rem 2rem 6rem;
      position: relative;
      overflow: hidden;
  }

  .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      background-image:
          repeating-linear-gradient(60deg, transparent, transparent 60px, rgba(201, 168, 76, 0.025) 60px, rgba(201, 168, 76, 0.025) 61px),
          repeating-linear-gradient(-60deg, transparent, transparent 60px, rgba(201, 168, 76, 0.025) 60px, rgba(201, 168, 76, 0.025) 61px);
  }

  .hero-glow {
      position: absolute;
      top: 25%;
      left: 50%;
      transform: translateX(-50%);
      width: 800px;
      height: 600px;
      background: radial-gradient(ellipse, rgba(123, 58, 15, 0.28) 0%, transparent 65%);
      pointer-events: none;
  }

  .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      border: 1px solid var(--gold-border);
      border-radius: 100px;
      padding: 0.38rem 1.1rem;
      font-size: 0.72rem;
      font-weight: 500;
      color: var(--gold-light);
      margin-bottom: 2rem;
      position: relative;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      background: rgba(201, 168, 76, 0.07);
  }

  .badge-dot {
      width: 6px;
      height: 6px;
      background: var(--gold);
      border-radius: 50%;
      animation: blink 2.2s ease-in-out infinite;
  }

  @keyframes blink {

      0%,
      100% {
          opacity: 1
      }

      50% {
          opacity: 0.25
      }
  }

  .hero h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2.7rem, 5.5vw, 4.8rem);
      font-weight: 700;
      line-height: 1.1;
      color: var(--cream);
      max-width: 860px;
      position: relative;
      margin-bottom: 1.5rem;
      letter-spacing: -0.02em;
  }

  .hero h1 em {
      font-style: italic;
      color: var(--gold);
  }

  .hero-sub {
      font-size: 1.08rem;
      color: rgba(253, 246, 227, 0.6);
      max-width: 580px;
      font-weight: 300;
      position: relative;
      margin-bottom: 2.6rem;
      line-height: 1.85;
  }

  .hero-actions {
      display: flex;
      gap: 1rem;
      align-items: center;
      position: relative;
      flex-wrap: wrap;
      justify-content: center;
      margin-bottom: 3.5rem;
  }

  .btn-gold {
      background: var(--gold);
      color: var(--dark);
      padding: 0.82rem 2.2rem;
      border-radius: 9px;
      font-size: 0.9rem;
      font-weight: 500;
      text-decoration: none;
      transition: background .2s, transform .15s;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      letter-spacing: 0.02em;
  }

  .btn-gold:hover {
      background: var(--gold2);
      transform: translateY(-2px);
  }

  .btn-outline {
      background: transparent;
      color: rgba(253, 246, 227, 0.78);
      padding: 0.82rem 2.2rem;
      border-radius: 9px;
      font-size: 0.9rem;
      font-weight: 400;
      text-decoration: none;
      border: 1px solid rgba(201, 168, 76, 0.28);
      transition: border-color .2s, color .2s;
  }

  .btn-outline:hover {
      border-color: var(--gold);
      color: var(--gold);
  }

  .hero-divider {
      display: flex;
      align-items: center;
      gap: 1rem;
      width: 100%;
      max-width: 560px;
      position: relative;
  }

  .hero-divider::before,
  .hero-divider::after {
      content: '';
      flex: 1;
      height: 1px;
      background: var(--gold-border);
  }

  .hero-divider span {
      font-size: 0.7rem;
      color: rgba(201, 168, 76, 0.55);
      letter-spacing: 0.12em;
      text-transform: uppercase;
      white-space: nowrap;
  }

  /* ── STATS BAR ── */
  .stats-bar {
      display: flex;
      background: var(--dark2);
      border-bottom: 2px solid var(--gold);
      flex-wrap: wrap;
  }

  .stat-item {
      text-align: center;
      padding: 1.6rem 2rem;
      border-right: 1px solid rgba(201, 168, 76, 0.12);
      flex: 1;
      min-width: 130px;
  }

  .stat-item:last-child {
      border-right: none;
  }

  .stat-num {
      font-family: 'Playfair Display', serif;
      font-size: 1.55rem;
      font-weight: 600;
      color: var(--gold);
      display: block;
      line-height: 1;
      margin-bottom: 0.35rem;
  }

  .stat-label {
      font-size: 0.7rem;
      color: rgba(253, 246, 227, 0.42);
      letter-spacing: 0.08em;
      text-transform: uppercase;
  }

  /* ── LAYOUT HELPERS ── */
  .w {
      max-width: 1100px;
      margin: 0 auto;
      padding: 0 2rem;
  }

  .sec {
      padding: 6rem 0;
  }

  .eyebrow {
      display: inline-block;
      font-size: 0.7rem;
      font-weight: 500;
      color: var(--brown2);
      letter-spacing: 0.14em;
      text-transform: uppercase;
      margin-bottom: 0.75rem;
      padding-bottom: 0.35rem;
      border-bottom: 2px solid var(--gold);
  }

  .eyebrow-light {
      color: var(--gold-light);
      border-bottom-color: var(--gold);
  }

  h2.st {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.9rem, 3.2vw, 2.75rem);
      font-weight: 700;
      line-height: 1.18;
      color: var(--dark);
      margin-bottom: 0.9rem;
      letter-spacing: -0.02em;
  }

  h2.st-light {
      color: var(--cream);
  }

  .sd {
      color: var(--text-mid);
      font-weight: 300;
      max-width: 520px;
      font-size: 1rem;
      line-height: 1.8;
      margin-bottom: 3rem;
  }

  .sd-light {
      color: rgba(253, 246, 227, 0.55);
  }

  /* ── OVERVIEW (3-column intro) ── */
  .overview-bg {
      background: var(--cream2);
  }

  .overview-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
      gap: 1.5rem;
  }

  .ov-card {
      background: var(--cream);
      border: 1px solid var(--gold-border);
      border-radius: var(--rl);
      padding: 2rem 1.7rem;
  }

  .ov-icon {
      font-size: 2rem;
      margin-bottom: 1rem;
      display: block;
  }

  .ov-card h3 {
      font-family: 'Playfair Display', serif;
      font-size: 1.12rem;
      font-weight: 600;
      color: var(--dark);
      margin-bottom: 0.5rem;
  }

  .ov-card p {
      font-size: 0.875rem;
      color: var(--text-mid);
      font-weight: 300;
      line-height: 1.7;
  }

  /* ── MODULES SECTION ── */
  .modules-bg {
      background: var(--dark3);
  }

  .modules-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 1px;
      background: rgba(201, 168, 76, 0.1);
      border: 1px solid rgba(201, 168, 76, 0.12);
      border-radius: var(--rl);
      overflow: hidden;
  }

  .mod-card {
      background: var(--dark2);
      padding: 1.8rem 1.6rem;
      transition: background .2s;
      position: relative;
  }

  .mod-card:hover {
      background: rgba(123, 58, 15, 0.35);
  }

  .mod-num {
      font-family: 'Playfair Display', serif;
      font-size: 0.72rem;
      color: rgba(201, 168, 76, 0.3);
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      margin-bottom: 0.9rem;
  }

  .mod-icon {
      font-size: 1.6rem;
      margin-bottom: 0.9rem;
      display: block;
  }

  .mod-card h3 {
      font-size: 0.97rem;
      font-weight: 500;
      color: var(--gold-light);
      margin-bottom: 0.5rem;
  }

  .mod-card p {
      font-size: 0.82rem;
      color: rgba(253, 246, 227, 0.45);
      line-height: 1.65;
      font-weight: 300;
  }

  .mod-tag {
      display: inline-block;
      margin-top: 0.9rem;
      background: rgba(201, 168, 76, 0.1);
      border: 1px solid var(--gold-border);
      border-radius: 4px;
      padding: 0.12rem 0.55rem;
      font-size: 0.65rem;
      color: var(--gold);
      text-transform: uppercase;
      letter-spacing: 0.08em;
  }

  /* ── PAYMENTS ── */
  .pay-bg {
      background: var(--cream2);
  }

  .pay-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
      align-items: center;
  }

  .gateways {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
      margin-top: 2rem;
  }

  .gw-card {
      background: var(--cream);
      border: 1px solid var(--gold-border);
      border-radius: var(--r);
      padding: 1.1rem 1.2rem;
      display: flex;
      align-items: center;
      gap: 10px;
      transition: box-shadow .2s;
  }

  .gw-card:hover {
      box-shadow: var(--shadow-sm);
  }

  .gw-icon {
      font-size: 1.5rem;
  }

  .gw-card span {
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--text-brown);
  }

  .gw-card small {
      display: block;
      font-size: 0.72rem;
      color: var(--text-muted);
      font-weight: 300;
  }

  .method-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 0.6rem;
      margin-top: 1.5rem;
  }

  .chip-method {
      background: var(--dark);
      border: 1px solid rgba(201, 168, 76, 0.2);
      border-radius: 100px;
      padding: 0.3rem 0.9rem;
      font-size: 0.78rem;
      color: var(--gold-light);
  }

  /* ── ACCOUNTING ── */
  .acc-bg {
      background: var(--dark);
  }

  .acc-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
      align-items: start;
  }

  .check-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 0.9rem;
      margin-top: 1.5rem;
  }

  .check-list li {
      display: flex;
      align-items: flex-start;
      gap: 11px;
  }

  .ci {
      width: 20px;
      height: 20px;
      min-width: 20px;
      background: var(--gold);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 10px;
      color: var(--dark);
      font-weight: 700;
      margin-top: 2px;
  }

  .check-list li strong {
      display: block;
      font-size: 0.9rem;
      font-weight: 500;
      color: var(--cream);
      margin-bottom: 0.1rem;
  }

  .check-list li span {
      font-size: 0.82rem;
      color: rgba(253, 246, 227, 0.5);
      font-weight: 300;
      line-height: 1.55;
  }

  /* journal table */
  .journal-table {
      background: var(--dark2);
      border: 1px solid var(--gold-border);
      border-radius: var(--rl);
      overflow: hidden;
      font-size: 0.82rem;
  }

  .jt-head {
      background: var(--brown);
      padding: 1rem 1.4rem;
      display: flex;
      align-items: center;
      gap: 9px;
  }

  .jt-head span {
      color: var(--cream);
      font-size: 0.78rem;
      font-weight: 500;
      letter-spacing: 0.04em;
  }

  .jt-head .badge {
      margin-left: auto;
      background: rgba(201, 168, 76, 0.18);
      border: 1px solid var(--gold-border);
      border-radius: 100px;
      padding: 0.15rem 0.65rem;
      font-size: 0.65rem;
      color: var(--gold-light);
  }

  .jt-body {
      padding: 1.2rem 1.4rem;
  }

  .jt-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 0.5rem 0;
      border-bottom: 1px solid rgba(201, 168, 76, 0.08);
  }

  .jt-row:last-child {
      border-bottom: none;
  }

  .jt-row.hdr {
      font-size: 0.67rem;
      color: rgba(253, 246, 227, 0.28);
      text-transform: uppercase;
      letter-spacing: 0.1em;
  }

  .jt-row.tot {
      border-top: 1px solid var(--gold-border);
      margin-top: 0.4rem;
      padding-top: 0.7rem;
      font-weight: 500;
      color: var(--cream);
  }

  .c-lbl {
      color: rgba(253, 246, 227, 0.58);
  }

  .c-green {
      color: #6fcf97;
      font-variant-numeric: tabular-nums;
  }

  .c-gold {
      color: var(--gold-light);
      font-variant-numeric: tabular-nums;
  }

  .chip-s {
      display: inline-block;
      padding: 0.14rem 0.55rem;
      border-radius: 100px;
      font-size: 0.67rem;
      font-weight: 500;
  }

  .s-paid {
      background: rgba(111, 207, 151, 0.14);
      color: #6fcf97;
  }

  .s-pending {
      background: rgba(201, 168, 76, 0.14);
      color: var(--gold-light);
  }

  /* auto-journal entries table */
  .aj-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 0.8rem;
      margin-top: 2rem;
  }

  .aj-table th {
      font-size: 0.68rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: rgba(253, 246, 227, 0.35);
      font-weight: 500;
      padding: 0.5rem 0.8rem;
      text-align: left;
      border-bottom: 1px solid rgba(201, 168, 76, 0.15);
  }

  .aj-table td {
      padding: 0.55rem 0.8rem;
      color: rgba(253, 246, 227, 0.6);
      border-bottom: 1px solid rgba(201, 168, 76, 0.07);
      font-size: 0.8rem;
  }

  .aj-table td:first-child {
      color: var(--gold-light);
      font-weight: 400;
  }

  .aj-table tr:last-child td {
      border-bottom: none;
  }

  /* ── WORKFLOW ── */
  .wf-bg {
      background: var(--brown);
      position: relative;
      overflow: hidden;
  }

  .wf-bg::before {
      content: '';
      position: absolute;
      inset: 0;
      background: repeating-linear-gradient(45deg, transparent, transparent 30px, rgba(201, 168, 76, 0.04) 30px, rgba(201, 168, 76, 0.04) 31px);
      pointer-events: none;
  }

  .wf-steps {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 0;
      margin-top: 3rem;
      border: 1px solid rgba(201, 168, 76, 0.2);
      border-radius: var(--rl);
      overflow: hidden;
      position: relative;
  }

  .wf-step {
      background: rgba(44, 26, 14, 0.55);
      padding: 1.8rem 1.4rem;
      border-right: 1px solid rgba(201, 168, 76, 0.12);
      transition: background .2s;
  }

  .wf-step:last-child {
      border-right: none;
  }

  .wf-step:hover {
      background: rgba(44, 26, 14, 0.75);
  }

  .wf-n {
      font-family: 'Playfair Display', serif;
      font-size: 2.8rem;
      font-weight: 700;
      color: rgba(201, 168, 76, 0.15);
      line-height: 1;
      margin-bottom: 0.7rem;
  }

  .wf-tag {
      display: inline-block;
      background: rgba(201, 168, 76, 0.1);
      border: 1px solid var(--gold-border);
      border-radius: 4px;
      padding: 0.12rem 0.55rem;
      font-size: 0.62rem;
      color: var(--gold-light);
      text-transform: uppercase;
      letter-spacing: 0.1em;
      margin-bottom: 0.65rem;
  }

  .wf-step h3 {
      font-size: 0.9rem;
      font-weight: 500;
      color: var(--cream);
      margin-bottom: 0.4rem;
  }

  .wf-step p {
      font-size: 0.78rem;
      color: rgba(253, 246, 227, 0.48);
      line-height: 1.6;
  }

  /* ── REPORTING ── */
  .rep-bg {
      background: var(--cream);
  }

  .rep-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 1.2rem;
  }

  .rep-card {
      border-radius: var(--r);
      border: 1px solid var(--gold-border);
      background: var(--cream2);
      padding: 1.4rem 1.5rem;
      transition: box-shadow .2s, transform .2s;
  }

  .rep-card:hover {
      box-shadow: var(--shadow-sm);
      transform: translateY(-2px);
  }

  .rep-icon {
      font-size: 1.5rem;
      margin-bottom: 0.8rem;
      display: block;
  }

  .rep-card h3 {
      font-size: 0.92rem;
      font-weight: 500;
      color: var(--dark);
      margin-bottom: 0.35rem;
  }

  .rep-card p {
      font-size: 0.8rem;
      color: var(--text-mid);
      font-weight: 300;
      line-height: 1.6;
  }

  .api-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 0.9rem;
      margin-top: 2.5rem;
  }

  .api-row {
      background: var(--dark2);
      border-radius: var(--r);
      border: 1px solid rgba(201, 168, 76, 0.15);
      padding: 0.9rem 1.1rem;
  }

  .api-method {
      display: inline-block;
      background: rgba(201, 168, 76, 0.15);
      border-radius: 4px;
      padding: 0.1rem 0.5rem;
      font-size: 0.65rem;
      color: var(--gold);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      margin-bottom: 0.4rem;
  }

  .api-url {
      font-family: monospace;
      font-size: 0.78rem;
      color: var(--gold-light);
      display: block;
      margin-bottom: 0.25rem;
  }

  .api-desc {
      font-size: 0.75rem;
      color: rgba(253, 246, 227, 0.4);
      font-weight: 300;
  }

  /* ── MARKETING ── */
  .mkt-bg {
      background: var(--cream2);
  }

  .mkt-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 1.2rem;
  }

  .mkt-card {
      background: var(--cream);
      border: 1px solid var(--gold-border);
      border-top: 3px solid var(--gold);
      border-radius: var(--r);
      padding: 1.5rem 1.4rem;
      transition: box-shadow .2s;
  }

  .mkt-card:hover {
      box-shadow: var(--shadow-sm);
  }

  .mkt-icon {
      font-size: 1.5rem;
      margin-bottom: 0.8rem;
      display: block;
  }

  .mkt-card h3 {
      font-size: 0.9rem;
      font-weight: 500;
      color: var(--dark);
      margin-bottom: 0.35rem;
  }

  .mkt-card p {
      font-size: 0.8rem;
      color: var(--text-mid);
      font-weight: 300;
      line-height: 1.6;
  }

  /* ── PORTALS ── */
  .por-bg {
      background: var(--dark2);
  }

  .por-cards {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 1.4rem;
      margin-top: 2.5rem;
  }

  .por-card {
      border: 1px solid rgba(201, 168, 76, 0.2);
      border-radius: var(--rl);
      overflow: hidden;
      transition: box-shadow .2s, transform .2s;
  }

  .por-card:hover {
      box-shadow: var(--shadow);
      transform: translateY(-3px);
  }

  .por-head {
      background: var(--dark3);
      padding: 1.3rem 1.5rem;
      display: flex;
      align-items: center;
      gap: 12px;
  }

  .por-icon {
      width: 38px;
      height: 38px;
      background: var(--brown);
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.15rem;
      border: 1px solid var(--gold-border);
  }

  .por-head h3 {
      font-size: 0.92rem;
      font-weight: 500;
      color: var(--gold);
      margin-bottom: 0.1rem;
  }

  .por-head p {
      font-size: 0.72rem;
      color: rgba(253, 246, 227, 0.38);
  }

  .por-body {
      background: var(--dark2);
      padding: 1.3rem 1.5rem;
  }

  .por-url {
      font-family: monospace;
      font-size: 0.78rem;
      color: var(--brown-light);
      background: rgba(44, 26, 14, 0.6);
      border: 1px solid rgba(123, 58, 15, 0.3);
      border-radius: 6px;
      padding: 0.45rem 0.8rem;
      display: block;
      margin-bottom: 0.8rem;
      word-break: break-all;
  }

  .por-body p {
      font-size: 0.82rem;
      color: rgba(253, 246, 227, 0.45);
      font-weight: 300;
      line-height: 1.6;
  }

  /* ── LICENSING ── */
  .lic-bg {
      background: var(--cream);
  }

  .lic-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.4rem;
      margin-top: 2.5rem;
  }

  .lic-card {
      border: 1px solid var(--gold-border);
      border-radius: var(--rl);
      overflow: hidden;
      transition: box-shadow .2s, transform .2s;
  }

  .lic-card:hover {
      box-shadow: var(--shadow);
      transform: translateY(-3px);
  }

  .lic-card.featured {
      border-color: var(--gold);
      box-shadow: 0 0 0 1px var(--gold);
  }

  .lic-head {
      background: var(--dark);
      padding: 1.4rem 1.6rem;
      text-align: center;
      position: relative;
  }

  .lic-card.featured .lic-head {
      background: var(--brown);
  }

  .lic-badge {
      position: absolute;
      top: 1rem;
      right: 1rem;
      background: var(--gold);
      color: var(--dark);
      font-size: 0.62rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      padding: 0.18rem 0.6rem;
      border-radius: 100px;
  }

  .lic-head h3 {
      font-family: 'Playfair Display', serif;
      font-size: 1.3rem;
      font-weight: 600;
      color: var(--gold);
      margin-bottom: 0.2rem;
  }

  .lic-head p {
      font-size: 0.75rem;
      color: rgba(253, 246, 227, 0.45);
      font-weight: 300;
  }

  .lic-body {
      background: var(--cream2);
      padding: 1.5rem 1.6rem;
  }

  .lic-features {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
  }

  .lic-features li {
      display: flex;
      align-items: center;
      gap: 9px;
      font-size: 0.83rem;
      color: var(--text-mid);
  }

  .lic-features li::before {
      content: '✓';
      color: var(--brown2);
      font-weight: 700;
      font-size: 0.8rem;
  }

  .lic-features li.off {
      color: var(--text-muted);
  }

  .lic-features li.off::before {
      content: '–';
      color: var(--text-muted);
  }

  /* ── PRINT DOCS ── */
  .docs-bg {
      background: var(--cream2);
  }

  .docs-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 1rem;
      margin-top: 2rem;
  }

  .doc-card {
      background: var(--cream);
      border: 1px solid var(--gold-border);
      border-radius: var(--r);
      padding: 1.1rem 1.3rem;
      display: flex;
      align-items: center;
      gap: 10px;
      transition: box-shadow .2s;
  }

  .doc-card:hover {
      box-shadow: var(--shadow-sm);
  }

  .doc-icon {
      font-size: 1.3rem;
  }

  .doc-card span {
      font-size: 0.85rem;
      color: var(--text-brown);
      font-weight: 400;
  }

  /* ── CTA ── */
  .cta-section {
      background: var(--dark3);
      padding: 7rem 2rem;
      text-align: center;
      position: relative;
      overflow: hidden;
  }

  .cta-section::before {
      content: '';
      position: absolute;
      inset: 0;
      background: repeating-linear-gradient(45deg, transparent, transparent 30px, rgba(44, 26, 14, 0.07) 30px, rgba(44, 26, 14, 0.07) 31px);
      pointer-events: none;
  }

  .cta-section h2 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight: 700;
      color: var(--cream);
      margin-bottom: 1rem;
      letter-spacing: -0.02em;
      position: relative;
  }

  .cta-section p {
      color: rgba(253, 246, 227, 0.65);
      max-width: 460px;
      margin: 0 auto 2.5rem;
      font-weight: 300;
      position: relative;
      line-height: 1.8;
  }

  .cta-actions {
      display: flex;
      gap: 1rem;
      justify-content: center;
      flex-wrap: wrap;
      position: relative;
  }

  /* ── FOOTER ── */
  footer {
      background: var(--brown);
      border-top: 2px solid var(--gold);
      padding: 2rem 2.5rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 1rem;
  }

  .foot-brand {
      display: flex;
      align-items: center;
      gap: 10px;
  }

  .foot-brand span {
      font-size: 0.88rem;
      color: var(--gold);
      font-weight: 500;
      letter-spacing: 0.05em;
      text-transform: uppercase;
  }

  .foot-right {
      display: flex;
      align-items: center;
      gap: 2rem;
      flex-wrap: wrap;
  }

  .foot-links {
      display: flex;
      gap: 1.4rem;
  }

  .foot-links a {
      font-size: 0.78rem;
      color: rgba(253, 246, 227, 0.38);
      text-decoration: none;
      transition: color .2s;
  }

  .foot-links a:hover {
      color: var(--gold);
  }

  .foot-copy {
      font-size: 0.75rem;
      color: rgba(253, 246, 227, 0.22);
  }

  /* ── FADE UP ── */
  @keyframes fu {
      from {
          opacity: 0;
          transform: translateY(18px)
      }

      to {
          opacity: 1;
          transform: translateY(0)
      }
  }

  .fu {
      animation: fu .7s ease forwards
  }

  .d1 {
      animation-delay: .1s;
      opacity: 0
  }

  .d2 {
      animation-delay: .22s;
      opacity: 0
  }

  .d3 {
      animation-delay: .36s;
      opacity: 0
  }

  .d4 {
      animation-delay: .5s;
      opacity: 0
  }

  /* ── RESPONSIVE ── */
  @media(max-width:900px) {

      .acc-split,
      .pay-split {
          grid-template-columns: 1fr;
          gap: 2.5rem
      }

      .wf-steps {
          grid-template-columns: 1fr 1fr
      }

      .wf-step {
          border-right: none;
          border-bottom: 1px solid rgba(201, 168, 76, 0.12)
      }

      .lic-grid {
          grid-template-columns: 1fr
      }
  }

  @media(max-width:680px) {
      nav .nav-links li:not(:last-child) {
          display: none
      }

      .gateways {
          grid-template-columns: 1fr
      }
  }