/* ============================================================
   wht-tp.css — Transfer Pricing Case Study — yourtechlegal.com
   All selectors scoped under .wht-tp-* to prevent conflicts
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Mulish:wght@300;400;500;600;700&display=swap');

/* ── Variables ─────────────────────────────────────────── */
.wht-tp-root {
  --navy: #0F1724;
  --navy-mid: #162033;
  --navy-soft: #1E2D45;
  --slate: #2A3A52;
  --amber: #F59E0B;
  --amber-light: #FCD34D;
  --amber-pale: #FFFBEB;
  --sky: #38BDF8;
  --teal: #2DD4BF;
  --red: #EF4444;
  --green: #22C55E;
  --warm-white: #FAFAF8;
  --warm-off: #F4F3EF;
  --warm-border: rgba(245,158,11,0.15);
  --warm-border-light: rgba(245,158,11,0.08);
  --body-color: #334155;
  --muted: #64748B;
  --font-display: 'Libre Baskerville', Georgia, serif;
  --font-body: 'Mulish', sans-serif;
  --radius: 6px;
  --radius-lg: 10px;
  --shadow-sm: 0 2px 10px rgba(15,23,36,0.06);
  --shadow: 0 4px 24px rgba(15,23,36,0.10);
  --shadow-lg: 0 16px 48px rgba(15,23,36,0.18);
  --transition: 0.35s cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ── Base ───────────────────────────────────────────────── */
.wht-tp-root {
  font-family: var(--font-body);
  color: var(--navy);
  background: var(--warm-white);
  overflow-x: hidden;
}

/* ══ HERO ══════════════════════════════════════════════════ */
.wht-tp-hero {
  position: relative;
  background: var(--navy);
  padding-bottom: 0;
  overflow: hidden;
}

.wht-tp-hero-backdrop {
  position: relative;
  height: 580px;
  overflow: hidden;
}

.wht-tp-hero-bgimg {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 35%;
  display: block;
  filter: saturate(0.6);
}

.wht-tp-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(15,23,36,0.5) 0%, rgba(15,23,36,0.85) 70%, rgba(15,23,36,1) 100%),
    linear-gradient(to right, rgba(15,23,36,0.7) 0%, transparent 60%);
}

.wht-tp-hero-grid-lines {
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(90deg, transparent, transparent 79px, rgba(245,158,11,0.04) 80px),
    repeating-linear-gradient(0deg, transparent, transparent 79px, rgba(245,158,11,0.04) 80px);
}

.wht-tp-hero-inner {
  position: absolute;
  bottom: 0;
  left: 0; right: 0;
  padding: 0 48px 56px;
  max-width: 1280px;
  margin: 0 auto;
  animation: wht-tp-rise 0.9s ease both;
}

@keyframes wht-tp-rise {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: translateY(0); }
}

.wht-tp-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  font-size: 11.5px;
  letter-spacing: 0.05em;
  color: rgba(255,255,255,0.35);
}
.wht-tp-breadcrumb a {
  color: rgba(255,255,255,0.38);
  text-decoration: none;
  transition: color 0.2s;
}
.wht-tp-breadcrumb a:hover { color: var(--amber); }

.wht-tp-hero-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.wht-tp-hero-title {
  font-family: var(--font-display);
  font-size: clamp(34px, 5vw, 66px);
  font-weight: 400;
  line-height: 1.1;
  color: #fff;
  margin: 0 0 18px;
  letter-spacing: -0.025em;
  max-width: 820px;
}
.wht-tp-hero-title em {
  font-style: italic;
  color: var(--amber-light);
}

.wht-tp-hero-sub {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255,255,255,0.6);
  line-height: 1.75;
  max-width: 620px;
  margin-bottom: 55px;
}

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

.wht-tp-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 40px;
  padding: 6px 14px;
  font-size: 12px;
  color: rgba(255,255,255,0.5);
}
.wht-tp-meta-pill svg { opacity: 0.5; }

/* Hero stats bar */
.wht-tp-hero-stats {
  background: #232a37;
  border-top: 1px solid rgba(245,158,11,0.15);
  display: flex;
  justify-content: center;
  gap: 0;
  padding: 28px 48px;
  animation: wht-tp-rise 1s 0.2s ease both;
}

.wht-tp-hero-stat {
  flex: 1;
  max-width: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 0 24px;
  border-right: 1px solid rgba(245,158,11,0.12);
}
.wht-tp-hero-stat:last-child { border-right: none; }

.wht-tp-stat-num {
  font-family: var(--font-display);
  font-size: 38px;
  font-weight: 700;
  color: #f59e0bcc;
  line-height: 1;
}

.wht-tp-stat-lbl {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  text-align: center;
}

/* Tags */
.wht-tp-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 40px;
  border: 1px solid;
}
.wht-tp-tag.tax { color: var(--amber); border-color: rgba(245,158,11,0.35); background: rgba(245,158,11,0.1); }
.wht-tp-tag.web3 { color: var(--sky); border-color: rgba(56,189,248,0.35); background: rgba(56,189,248,0.1); }
.wht-tp-tag.cross { color: var(--teal); border-color: rgba(45,212,191,0.35); background: rgba(45,212,191,0.1); }
.wht-tp-tag.wp { color: rgba(255,255,255,0.6); border-color: rgba(255,255,255,0.15); background: rgba(255,255,255,0.05); }

/* ══ LAYOUT ═══════════════════════════════════════════════ */
.wht-tp-layout {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 48px;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 64px;
  align-items: start;
}

/* ── TOC ──────────────────────────────────────────────────── */
.wht-tp-toc {
  position: sticky;
  top: 80px;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  scrollbar-width: none;
}
.wht-tp-toc::-webkit-scrollbar { display: none; }

.wht-tp-toc-box {
  background: #1b3566;
  border-radius: var(--radius-lg);
  padding: 26px 24px;
  border: 1px solid rgba(245,158,11,0.12);
}

.wht-tp-toc-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgb(244 246 246 / 65%);
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(245,158,11,0.1);
}

.wht-tp-toc-nav {
  display: flex;
  flex-direction: column;
  gap: 1px;
  margin-bottom: 20px;
}

.wht-tp-toc-a {
  display: block;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 400;
  color: rgb(244 246 246 / 65%);
  text-decoration: none;
  border-radius: 4px;
  border-left: 2px solid transparent;
  transition: color 0.2s, background 0.2s, border-color 0.2s;
  line-height: 1.4;
}
.wht-tp-toc-a:hover { color: rgba(255,255,255,0.7); background: rgba(255,255,255,0.04); }
.wht-tp-toc-a.active {
  color: var(--amber);
  border-left-color: var(--amber);
  background: rgba(245,158,11,0.07);
  font-weight: 600;
}

.wht-tp-toc-cta-btn {

  align-items: center;
  justify-content: center;
  gap: 7px;
  background: var(--amber);
  color: var(--navy);
  text-decoration: none;
  padding: 11px 14px;
  border-radius: var(--radius);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  width: 100%;
  transition: background 0.3s, box-shadow 0.3s;
}
.wht-tp-toc-cta-btn:hover {
  background: var(--amber-light);
  box-shadow: 0 4px 16px rgba(245,158,11,0.3);
}

/* ══ MAIN ══════════════════════════════════════════════════ */
.wht-tp-main { min-width: 0; }

.wht-tp-sec {
  padding-bottom: 68px;
  margin-bottom: 68px;
  border-bottom: 1px solid var(--warm-border-light);
  scroll-margin-top: 100px;
  opacity: 0;
  transform: translateY(18px);
}
.wht-tp-sec.wht-tp-revealed {
  opacity: 1;
  transform: none;
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.wht-tp-sec-num {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--amber);
  margin-bottom: 10px;
}

.wht-tp-h2 {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 400;
  color: #1b3566;
  margin: 0 0 26px;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.wht-tp-h3 {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 400;
  color: var(--navy);
  margin: 36px 0 18px;
  letter-spacing: -0.01em;
}

.wht-tp-body {
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.85;
  color: var(--body-color);
  margin: 0 0 20px;
}
.wht-tp-body strong { font-weight: 700; color: var(--navy); }

/* ── Alerts ───────────────────────────────────────────────── */
.wht-tp-alert {
  display: flex;
  gap: 14px;
  padding: 20px 22px;
  border-radius: var(--radius-lg);
  border-left: 3px solid;
  margin-bottom: 24px;
}
.wht-tp-alert p { margin: 0; font-size: 14.5px; line-height: 1.7; }
.wht-tp-alert strong { font-weight: 700; }

.wht-tp-alert--amber {
  background: rgba(245,158,11,0.07);
  border-color: var(--amber);
}
.wht-tp-alert--amber .wht-tp-alert-icon { color: var(--amber); flex-shrink: 0; margin-top: 1px; }
.wht-tp-alert--amber p { color: var(--body-color); }

.wht-tp-alert--blue {
  background: rgba(56,189,248,0.06);
  border-color: var(--sky);
}
.wht-tp-alert--blue .wht-tp-alert-icon { color: var(--sky); flex-shrink: 0; margin-top: 1px; }
.wht-tp-alert--blue p { color: var(--body-color); }

/* ── KPI Strip ────────────────────────────────────────────── */
.wht-tp-kpi-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 32px;
}

.wht-tp-kpi {
  display: flex;
  gap: 12px;
  padding: 20px 18px;
  background: var(--warm-off);
  border: 1px solid var(--warm-border);
  border-radius: var(--radius-lg);
  align-items: flex-start;
  opacity: 0;
  transform: translateY(14px);
}
.wht-tp-kpi.wht-tp-revealed {
  opacity: 1; transform: none;
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.wht-tp-kpi-icon { flex-shrink: 0; color: var(--amber); margin-top: 2px; }
.wht-tp-kpi-text strong { display: block; font-size: 13px; font-weight: 700; color: var(--navy); margin-bottom: 5px; }
.wht-tp-kpi-text span { font-size: 12px; color: var(--muted); line-height: 1.5; }

/* ── Asset Grid ───────────────────────────────────────────── */
.wht-tp-asset-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 24px 0;
}

.wht-tp-asset-item {
  padding: 22px 18px;
  background: #1b3566;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(245,158,11,0.12);
  text-align: center;
}

.wht-tp-asset-icon { color: var(--amber); margin-bottom: 12px; display: flex; justify-content: center; }
.wht-tp-asset-item strong { display: block; font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 8px; }
.wht-tp-asset-item p { font-size: 12px; font-weight: 300; color: rgba(255,255,255,0.5); line-height: 1.55; margin: 0; }

/* ── Feature Image ────────────────────────────────────────── */
.wht-tp-img-block {
  margin: 28px 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
}
.wht-tp-feature-img {
  width: 100%; height: 340px;
  object-fit: cover;
  display: block;
}
.wht-tp-img-cap {
  font-size: 12.5px;
  font-style: italic;
  color: var(--muted);
  background: var(--warm-off);
  padding: 13px 18px;
  margin: 0;
  border: 1px solid var(--warm-border);
  border-top: none;
}

/* ── Structure Diagram ────────────────────────────────────── */
.wht-tp-structure-diagram {
  background: #1b3566;
  border-radius: var(--radius-lg);
  padding: 36px 40px 32px;
  margin: 28px 0 24px;
  border: 1px solid rgba(245,158,11,0.12);
  position: relative;
  overflow: hidden;
}
.wht-tp-structure-diagram::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(90deg, transparent, transparent 59px, rgba(245,158,11,0.03) 60px), repeating-linear-gradient(0deg, transparent, transparent 59px, rgba(245,158,11,0.03) 60px);
}

.wht-tp-struct-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin-bottom: 32px;
  position: relative;
}

.wht-tp-struct-body {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0;
  position: relative;
  margin-bottom: 28px;
}

.wht-tp-struct-entity {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(245,158,11,0.18);
  border-radius: var(--radius-lg);
  padding: 24px 22px;
  position: relative;
}

.wht-tp-struct-parent { border-color: rgba(245,158,11,0.35); }
.wht-tp-struct-sub-co { border-color: rgba(56,189,248,0.3); }

.wht-tp-struct-flag { margin-bottom: 10px; border-radius: 3px; overflow: hidden; display: inline-block; }
.wht-tp-struct-label { font-family: var(--font-display); font-size: 22px; font-weight: 700; color: #fff; margin-bottom: 3px; }
.wht-tp-struct-sub { font-size: 11px; color: rgba(255,255,255,0.4); letter-spacing: 0.06em; margin-bottom: 14px; }

.wht-tp-struct-roles {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.wht-tp-struct-roles li {
  font-size: 12px;
  color: rgba(255,255,255,0.55);
  padding-left: 12px;
  position: relative;
}
.wht-tp-struct-roles li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--amber);
  opacity: 0.6;
}

.wht-tp-struct-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 40px;
  margin-top: 14px;
}
.parent-badge { background: rgba(245,158,11,0.12); color: var(--amber); border: 1px solid rgba(245,158,11,0.3); }
.sub-badge { background: rgba(56,189,248,0.1); color: var(--sky); border: 1px solid rgba(56,189,248,0.25); }

.wht-tp-struct-flows {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 0 20px;
}

.wht-tp-flow { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.wht-tp-flow-label {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  max-width: 90px;
}
.wht-tp-flow-label.down { color: #FCD34D; }
.wht-tp-flow-label.up { color: var(--sky); }

.wht-tp-struct-legend {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.06);
  position: relative;
}

.wht-tp-legend-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: rgba(255,255,255,0.4);
}

.wht-tp-legend-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.wht-tp-legend-dot.amber { background: var(--amber); }
.wht-tp-legend-dot.blue { background: var(--sky); }
.wht-tp-legend-dot.teal { background: var(--teal); }

/* ── Table ────────────────────────────────────────────────── */
.wht-tp-txn-table-wrap {
  overflow-x: auto;
  border-radius: var(--radius-lg);
  border: 1px solid var(--warm-border);
  box-shadow: var(--shadow-sm);
}

.wht-tp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
}

.wht-tp-table thead tr { background: var(--navy); }
.wht-tp-table thead th {
  padding: 13px 18px;
  text-align: left;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  white-space: nowrap;
  background: #1b3566;
}

.wht-tp-table tbody tr {
  border-bottom: 1px solid var(--warm-border-light);
  transition: background 0.2s;
}
.wht-tp-table tbody tr:last-child { border-bottom: none; }
.wht-tp-table tbody tr:hover { background: var(--warm-off); }

.wht-tp-table tbody td {
  padding: 14px 18px;
  color: var(--body-color);
  line-height: 1.5;
  vertical-align: top;
}
.wht-tp-table tbody td strong { color: var(--navy); display: block; font-weight: 700; }
.wht-tp-table tbody td span { font-size: 12px; color: var(--muted); }

.wht-tp-table-note {
  font-size: 11.5px;
  color: var(--muted);
  font-style: italic;
  margin-top: 10px;
  margin-bottom: 0;
}

/* Pills */
.wht-tp-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 40px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.wht-tp-pill.red { background: rgba(239,68,68,0.1); color: #EF4444; border: 1px solid rgba(239,68,68,0.25); }
.wht-tp-pill.amber { background: rgba(245,158,11,0.1); color: var(--amber); border: 1px solid rgba(245,158,11,0.25); }
.wht-tp-pill.green { background: rgba(34,197,94,0.1); color: var(--green); border: 1px solid rgba(34,197,94,0.25); }

/* ── Approach Steps ───────────────────────────────────────── */
.wht-tp-approach-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  margin-top: 28px;
}
.wht-tp-approach-steps::before {
  content: '';
  position: absolute;
  left: 20px;
  top: 0; bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom, var(--amber) 0%, rgba(245,158,11,0.1) 100%);
}

.wht-tp-step {
  display: flex;
  gap: 24px;
  padding-bottom: 32px;
  position: relative;
  opacity: 0;
  transform: translateX(-12px);
}
.wht-tp-step.wht-tp-revealed {
  opacity: 1; transform: none;
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.wht-tp-step-num {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: #1b3566;
  border: 2px solid var(--amber);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  color: var(--amber);
  position: relative;
  z-index: 1;
  margin-top: 2px;
}

.wht-tp-step-content {
  flex: 1;
  padding: 22px 26px;
  background: var(--warm-off);
  border: 1px solid var(--warm-border);
  border-radius: var(--radius-lg);
}

.wht-tp-step-content h3 {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 10px;
}

.wht-tp-step-content p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
  color: var(--body-color);
  margin: 0 0 14px;
}

.wht-tp-step-outputs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.wht-tp-step-outputs span {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 12px;
  background: rgba(245,158,11,0.08);
  border: 1px solid rgba(245,158,11,0.2);
  border-radius: 40px;
  color: var(--amber);
}

/* ── Methods Grid ─────────────────────────────────────────── */
.wht-tp-methods-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 24px 0;
}

.wht-tp-method {
  padding: 22px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--warm-border);
  background: var(--warm-off);
}

.wht-tp-method.selected {
  background: #1b3566;
  border-color: rgba(245,158,11,0.3);
}

.wht-tp-method-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.wht-tp-method.selected .wht-tp-method-header { color: #fff; }
.wht-tp-method:not(.selected) .wht-tp-method-header { color: var(--navy); }

.wht-tp-method-header strong { font-size: 16px; font-weight: 700; font-family: var(--font-display); }

.wht-tp-method-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 40px;
}
.selected-badge { background: rgba(245,158,11,0.15); color: var(--amber); border: 1px solid rgba(245,158,11,0.3); }
.alt-badge { background: var(--warm-border-light); color: var(--muted); border: 1px solid var(--warm-border); }

.wht-tp-method p {
  font-size: 13px;
  line-height: 1.65;
  margin: 0 0 14px;
}
.wht-tp-method.selected p { color: rgba(255,255,255,0.6); }
.wht-tp-method:not(.selected) p { color: var(--body-color); }

.wht-tp-method-plp {
  font-size: 12px;
  font-weight: 600;
  border-top: 1px solid;
  padding-top: 10px;
}
.wht-tp-method.selected .wht-tp-method-plp { border-color: rgba(245,158,11,0.15); color: var(--amber); }
.wht-tp-method:not(.selected) .wht-tp-method-plp { border-color: var(--warm-border); color: var(--muted); }

/* ── Benchmark Visual ─────────────────────────────────────── */
.wht-tp-benchmark-visual {
  background: #1b3566;
  border-radius: var(--radius-lg);
  padding: 32px 36px;
  margin: 24px 0;
  border: 1px solid rgba(245,158,11,0.15);
}

.wht-tp-bm-label-row, .wht-tp-bm-value-row {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 600;
}
.wht-tp-bm-label-row { color: rgba(255,255,255,0.35); margin-bottom: 12px; }
.wht-tp-bm-value-row { color: rgba(255,255,255,0.7); margin-top: 8px; }

.wht-tp-bm-bar-wrap { position: relative; }

.wht-tp-bm-bar {
  height: 12px;
  background: rgba(255,255,255,0.06);
  border-radius: 10px;
  position: relative;
  overflow: visible;
}

.wht-tp-bm-range {
  position: absolute;
  left: 15%;
  right: 22%;
  top: 0; bottom: 0;
  background: rgba(56,189,248,0.15);
  border-radius: 10px;
  border: 1px solid rgba(56,189,248,0.3);
}

.wht-tp-bm-median-line {
  position: absolute;
  left: 42%;
  top: -6px;
  bottom: -6px;
  width: 2px;
  background: var(--sky);
  border-radius: 2px;
}

.wht-tp-bm-client-marker {
  position: absolute;
  left: 46%;
  top: -8px;
  width: 14px; height: 28px;
  transform: translateX(-50%);
}
.wht-tp-bm-client-marker::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 0; bottom: 0;
  width: 3px;
  transform: translateX(-50%);
  background: var(--amber);
  border-radius: 2px;
}
.wht-tp-bm-client-marker::before {
  content: 'Client';
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 9px;
  font-weight: 700;
  color: var(--amber);
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.wht-tp-bm-note {
  font-size: 11px;
  color: rgba(255,255,255,0.25);
  margin-top: 16px;
  text-align: center;
  letter-spacing: 0.03em;
}

.wht-tp-bm-client-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding: 12px 16px;
  background: #4e699c;
  border-radius: var(--radius);
  border: 1px solid rgba(245,158,11,0.2);
  font-size: 13px;
  color: rgba(255,255,255,0.7);
}
.wht-tp-bm-client-note strong { color: var(--amber); }

.wht-tp-bm-client-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--amber);
  flex-shrink: 0;
}

/* ── Regulations List ─────────────────────────────────────── */
.wht-tp-regs-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--warm-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-top: 24px;
}

.wht-tp-reg-item {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--warm-border-light);
  opacity: 0;
  transform: translateY(10px);
}
.wht-tp-reg-item.wht-tp-revealed {
  opacity: 1; transform: none;
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.wht-tp-reg-item:last-child { border-bottom: none; }
.wht-tp-reg-item:hover { background: var(--warm-off); }

.wht-tp-reg-ref {
  flex-shrink: 0;
  width: 80px;
  background: #1b3566;
  padding: 20px 16px;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  color: var(--amber);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 22px;
}

.wht-tp-reg-body {
  flex: 1;
  padding: 18px 22px;
}
.wht-tp-reg-body strong { display: block; font-size: 14px; font-weight: 700; color: var(--navy); margin-bottom: 7px; }
.wht-tp-reg-body p { font-size: 13.5px; font-weight: 400; line-height: 1.7; color: var(--body-color); margin: 0; }

/* ── OECD Grid ────────────────────────────────────────────── */
.wht-tp-oecd-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 24px;
}

.wht-tp-oecd-item {
  padding: 22px;
  background: var(--warm-off);
  border: 1px solid var(--warm-border);
  border-radius: var(--radius-lg);
  opacity: 0;
  transform: translateY(12px);
}
.wht-tp-oecd-item.wht-tp-revealed {
  opacity: 1; transform: none;
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.wht-tp-oecd-chapter {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--amber);
  background: rgba(245,158,11,0.08);
  border: 1px solid rgba(245,158,11,0.2);
  border-radius: 40px;
  padding: 3px 10px;
  margin-bottom: 10px;
}

.wht-tp-oecd-item h4 {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 10px;
}

.wht-tp-oecd-item p {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--body-color);
  margin: 0;
}

/* ── Risk Cards ───────────────────────────────────────────── */
.wht-tp-risks-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 24px;
}

.wht-tp-risk-card {
  border-radius: var(--radius-lg);
  border: 1px solid;
  padding: 24px;
  opacity: 0;
  transform: translateY(14px);
}
.wht-tp-risk-card.wht-tp-revealed {
  opacity: 1; transform: none;
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.wht-tp-risk-card.risk-high {
  background: rgba(239,68,68,0.04);
  border-color: rgba(239,68,68,0.2);
}
.wht-tp-risk-card.risk-medium {
  background: rgba(245,158,11,0.04);
  border-color: rgba(245,158,11,0.2);
}

.wht-tp-risk-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.wht-tp-risk-severity {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #EF4444;
}
.wht-tp-risk-severity.med { color: var(--amber); }

.wht-tp-risk-num {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 700;
  color: rgba(0,0,0,0.07);
}

.wht-tp-risk-card h4 {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 10px;
}

.wht-tp-risk-card p {
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--body-color);
  margin: 0 0 14px;
}

.wht-tp-risk-mitigation {
  display: flex;
  gap: 8px;
  padding: 10px 12px;
  background: rgba(34,197,94,0.06);
  border-radius: var(--radius);
  border: 1px solid rgba(34,197,94,0.15);
  align-items: flex-start;
}
.wht-tp-risk-mitigation svg { color: var(--green); flex-shrink: 0; margin-top: 1px; }
.wht-tp-risk-mitigation span { font-size: 12px; color: var(--body-color); line-height: 1.5; }

/* ── Outcomes ─────────────────────────────────────────────── */
.wht-tp-outcomes-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 24px;
}

.wht-tp-outcome-item {
  display: flex;
  gap: 16px;
  padding: 22px 0;
  border-bottom: 1px solid var(--warm-border-light);
  opacity: 0;
  transform: translateY(10px);
}
.wht-tp-outcome-item.wht-tp-revealed {
  opacity: 1; transform: none;
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.wht-tp-outcome-item:last-child { border-bottom: none; }

.wht-tp-outcome-check {
  flex-shrink: 0;
  color: var(--teal);
  margin-top: 2px;
}

.wht-tp-outcome-text strong {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 7px;
}
.wht-tp-outcome-text p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--body-color);
  margin: 0;
}

/* ── Outcome Highlight ────────────────────────────────────── */
.wht-tp-outcome-highlight {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-top: 36px;
  border: 1px solid var(--warm-border);
  box-shadow: var(--shadow);
}

.wht-tp-oh-left {
  padding: 40px 44px;
  background: #1b3566;
  position: relative;
}

.wht-tp-oh-quote {
  color: var(--amber);
  margin-bottom: 18px;
}

.wht-tp-oh-text {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 400;
  font-style: italic;
  line-height: 1.65;
  color: rgba(255,255,255,0.8);
  margin: 0 0 24px;
}

.wht-tp-oh-attr strong { display: block; font-size: 13px; font-weight: 700; color: #fff; }
.wht-tp-oh-attr span { font-size: 12px; color: rgba(255,255,255,0.35); }

.wht-tp-oh-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.7);
}

/* ── Recommendations ──────────────────────────────────────── */
.wht-tp-recs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 28px;
}

.wht-tp-rec-card {
  padding: 24px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--warm-border);
  background: var(--warm-off);
  opacity: 0;
  transform: translateY(14px);
}
.wht-tp-rec-card.wht-tp-revealed {
  opacity: 1; transform: none;
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.wht-tp-rec-urgency {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 40px;
  display: inline-block;
  margin-bottom: 14px;
}
.wht-tp-rec-card.urgent .wht-tp-rec-urgency { background: rgba(239,68,68,0.1); color: #EF4444; border: 1px solid rgba(239,68,68,0.25); }
.wht-tp-rec-card.short .wht-tp-rec-urgency { background: rgba(245,158,11,0.1); color: var(--amber); border: 1px solid rgba(245,158,11,0.25); }
.wht-tp-rec-card.medium .wht-tp-rec-urgency { background: rgba(56,189,248,0.1); color: var(--sky); border: 1px solid rgba(56,189,248,0.25); }
.wht-tp-rec-card.ongoing .wht-tp-rec-urgency { background: rgba(34,197,94,0.1); color: var(--green); border: 1px solid rgba(34,197,94,0.25); }

.wht-tp-rec-icon { color: var(--amber); display: block; margin-bottom: 12px; }

.wht-tp-rec-card h4 {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 10px;
}
.wht-tp-rec-card p {
  font-size: 13px;
  line-height: 1.7;
  color: var(--body-color);
  margin: 0;
}

/* ── Paper Footer ─────────────────────────────────────────── */
.wht-tp-paper-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  padding-top: 32px;
  margin-top: 36px;
  border-top: 1px solid var(--warm-border);
  flex-wrap: wrap;
}
.wht-tp-disclaimer {
  font-size: 12px;
  font-style: italic;
  color: var(--muted);
  line-height: 1.65;
  max-width: 520px;
  margin: 0;
}
.wht-tp-share-row {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.wht-tp-share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  border-radius: var(--radius);
  border: 1px solid var(--warm-border);
  color: var(--muted);
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s;
}
.wht-tp-share-btn:hover { border-color: var(--amber); color: var(--amber); }

/* ══ CTA ══════════════════════════════════════════════════════ */
.wht-tp-cta {
  position: relative;
  overflow: hidden;
  padding: 96px 48px;
}
.wht-tp-cta-bg-img {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.wht-tp-cta-bg-img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.5); }
.wht-tp-cta-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(15,23,36,0.96) 0%, rgba(30,45,69,0.92) 100%);
}
.wht-tp-cta-veil::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(45deg, transparent, transparent 60px, rgba(245,158,11,0.02) 61px);
}

.wht-tp-cta-inner {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 72px;
  align-items: center;
}

.wht-tp-cta-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--amber);
  margin-bottom: 14px;
}
.wht-tp-cta-title {
  font-family: var(--font-display);
  font-size: clamp(26px, 3.2vw, 42px);
  font-weight: 400;
  color: #fff;
  line-height: 1.15;
  margin: 0 0 18px;
  letter-spacing: -0.02em;
}
.wht-tp-cta-title em { font-style: italic; color: var(--amber-light); }

.wht-tp-cta-desc {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.75;
  color: rgba(255,255,255,0.55);
  margin-bottom: 32px;
}

.wht-tp-cta-btns { display: flex; gap: 14px; flex-wrap: wrap; }

.wht-tp-cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--amber);
  color: var(--navy);
  text-decoration: none;
  padding: 15px 26px;
  border-radius: var(--radius);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  transition: background 0.3s, gap 0.3s, box-shadow 0.3s;
}
.wht-tp-cta-primary:hover { background: var(--amber-light); gap: 16px; box-shadow: 0 6px 24px rgba(245,158,11,0.3); }

.wht-tp-cta-ghost {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  padding: 15px 26px;
  border-radius: var(--radius);
  font-size: 13px;
  font-weight: 500;
  color: rgb(233 239 241 / 98%);
    border: 1px solid rgb(255 235 59 / 77%);
  transition: border-color 0.3s, color 0.3s;
}
.wht-tp-cta-ghost:hover { border-color: rgba(245,158,11,0.4); color: var(--amber-light); }

.wht-tp-cta-services-panel { display: flex; flex-direction: column; gap: 12px; }
.wht-tp-cta-service-row {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13.5px;
  font-weight: 400;
  color: rgba(255,255,255,0.58);
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.wht-tp-cta-service-row:last-child { border-bottom: none; }
.wht-tp-cta-service-row svg { flex-shrink: 0; }

/* ══ RELATED ══════════════════════════════════════════════════ */
.wht-tp-related {
  background: var(--warm-off);
  border-top: 1px solid var(--warm-border);
  padding: 72px 48px;
}
.wht-tp-related-inner { max-width: 1280px; margin: 0 auto; }
.wht-tp-related-title {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.8vw, 34px);
  font-weight: 400;
  color: var(--navy);
  margin: 0 0 36px;
  letter-spacing: -0.02em;
}

.wht-tp-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.wht-tp-rel-card {
  border-radius: var(--radius-lg);
  overflow: hidden;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--warm-border);
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition), transform var(--transition);
  opacity: 0;
  transform: translateY(14px);
}
.wht-tp-rel-card.wht-tp-revealed {
  opacity: 1; transform: none;
  transition: opacity 0.55s ease, transform 0.55s ease, box-shadow var(--transition);
}
.wht-tp-rel-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px) !important; }

.wht-tp-rel-img { height: 170px; overflow: hidden; }
.wht-tp-rel-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.7s ease; filter: saturate(0.8); }
.wht-tp-rel-card:hover .wht-tp-rel-img img { transform: scale(1.06); }

.wht-tp-rel-body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 8px; }
.wht-tp-rel-body h4 {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: var(--navy);
  line-height: 1.35;
  margin: 0;
}
.wht-tp-rel-read {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--amber);
}

/* ══ RESPONSIVE ══════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .wht-tp-layout { grid-template-columns: 1fr; padding: 48px 32px; gap: 40px; }
  .wht-tp-toc { position: static; max-height: none; }
  .wht-tp-toc-box { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 16px 20px; }
  .wht-tp-toc-label { width: 100%; margin-bottom: 4px; }
  .wht-tp-toc-nav { flex-direction: row; flex-wrap: wrap; margin-bottom: 8px; }
  .wht-tp-toc-a { border-left: none; border-bottom: 2px solid transparent; font-size: 11.5px; }
  .wht-tp-toc-a.active { border-left: none; border-bottom-color: var(--amber); }
  .wht-tp-toc-cta-btn { width: auto; }
  .wht-tp-kpi-strip { grid-template-columns: 1fr 1fr; }
  .wht-tp-asset-grid { grid-template-columns: 1fr 1fr; }
  .wht-tp-oecd-grid { grid-template-columns: 1fr 1fr; }
  .wht-tp-recs-grid { grid-template-columns: 1fr 1fr; }
  .wht-tp-cta-inner { grid-template-columns: 1fr; gap: 48px; }
  .wht-tp-related-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .wht-tp-hero-inner { padding: 0 24px 48px; }
  .wht-tp-hero-backdrop { height: 480px; }
  .wht-tp-hero-stats { padding: 20px 24px; gap: 0; flex-wrap: wrap; }
  .wht-tp-hero-stat { padding: 12px 16px; border-right: none; border-bottom: 1px solid rgba(245,158,11,0.1); flex: 0 0 50%; max-width: 50%; }
  .wht-tp-kpi-strip { grid-template-columns: 1fr; }
  .wht-tp-asset-grid { grid-template-columns: 1fr 1fr; }
  .wht-tp-methods-grid { grid-template-columns: 1fr; }
  .wht-tp-risks-grid { grid-template-columns: 1fr; }
  .wht-tp-outcome-highlight { grid-template-columns: 1fr; }
  .wht-tp-oh-right { display: none; }
  .wht-tp-recs-grid { grid-template-columns: 1fr; }
  .wht-tp-related-grid { grid-template-columns: 1fr; }
  .wht-tp-cta { padding: 64px 24px; }
  .wht-tp-related { padding: 56px 24px; }
  .wht-tp-struct-body { grid-template-columns: 1fr; gap: 20px; }
  .wht-tp-struct-flows { flex-direction: row; justify-content: center; }
  .wht-tp-oecd-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .wht-tp-hero-title { font-size: 32px; }
  .wht-tp-asset-grid { grid-template-columns: 1fr; }
  .wht-tp-layout { padding: 36px 20px; }
  .wht-tp-paper-footer { flex-direction: column; }
}

/* ============================================================
   cst-hnk.css — HK VATP Case Study — yourtechlegal.com
   All selectors scoped under .cst-hnk-* to prevent conflicts
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Outfit:wght@300;400;500;600;700&display=swap');

/* ── Variables ─────────────────────────────────────────── */
.cst-hnk-root {
  --jade: #1A5C44;
  --jade-mid: #236B50;
  --jade-soft: #2E7D5E;
  --jade-light: #48A882;
  --jade-pale: #EEF7F2;
  --jade-tint: #F3FAF6;
  --ink: #0D1F17;
  --ink-mid: #1A3028;
  --cream: #FDFCF8;
  --off-white: #F5F3EE;
  --warm-border: rgba(26,92,68,0.14);
  --warm-border-soft: rgba(26,92,68,0.08);
  --body: #2D4039;
  --muted: #6B8278;
  --amber: #D97706;
  --amber-light: #F59E0B;
  --red: #DC2626;
  --yellow: #CA8A04;
  --font-display: 'Lora', Georgia, serif;
  --font-body: 'Outfit', sans-serif;
  --r: 6px;
  --r-lg: 10px;
  --sh: 0 2px 12px rgba(13,31,23,0.06);
  --sh-md: 0 4px 28px rgba(13,31,23,0.10);
  --sh-lg: 0 16px 52px rgba(13,31,23,0.16);
  --ease: 0.38s cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ── Base ───────────────────────────────────────────────── */
.cst-hnk-root {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--cream);
  overflow-x: hidden;
}

/* ══ HERO ══════════════════════════════════════════════════ */
.cst-hnk-hero {
  position: relative;
  min-height: 95vh;
  display: grid;
  grid-template-columns: 1fr 300px;
  align-items: end;
  background: var(--ink);
  overflow: hidden;
}

.cst-hnk-hero-media {
  position: absolute;
  inset: 0;
}

.cst-hnk-hero-photo {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 45%;
  display: block;
  filter: saturate(0.65) brightness(0.8);
}

.cst-hnk-hero-wash {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(13,31,23,0.97) 0%, rgba(13,31,23,0.72) 55%, rgba(13,31,23,0.3) 100%),
    linear-gradient(to right, rgba(13,31,23,0.65) 0%, transparent 55%);
}

.cst-hnk-hero-stripe {
  position: absolute;
  bottom: 0; right: 0;
  width: 45%;
  height: 100%;
  background: linear-gradient(135deg, transparent 0%, rgba(26,92,68,0.08) 100%);
  clip-path: polygon(30% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.cst-hnk-hero-content {
  position: relative;
  z-index: 3;
  padding: 0 56px 72px;
  animation: cst-hnk-up 0.9s ease both;
}

@keyframes cst-hnk-up {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

.cst-hnk-breadcrumb {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 22px;
  font-size: 11.5px;
  color: rgba(255,255,255,0.35);
}
.cst-hnk-breadcrumb a { color: rgba(255,255,255,0.38); text-decoration: none; transition: color 0.2s; }
.cst-hnk-breadcrumb a:hover { color: var(--jade-light); }
.cst-hnk-breadcrumb svg { opacity: 0.35; }

.cst-hnk-tag-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }

.cst-hnk-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 40px;
  border: 1px solid;
}
.cst-hnk-tag.hk { color: var(--jade-light); border-color: rgba(72,168,130,0.35); background: rgba(72,168,130,0.1); }
.cst-hnk-tag.vatp { color: #FCD34D; border-color: rgba(252,211,77,0.35); background: rgba(252,211,77,0.08); }
.cst-hnk-tag.sfc { color: #93C5FD; border-color: rgba(147,197,253,0.35); background: rgba(147,197,253,0.08); }
.cst-hnk-tag.wp { color: rgba(255,255,255,0.5); border-color: rgba(255,255,255,0.12); background: rgba(255,255,255,0.05); }

.cst-hnk-hero-h1 {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 68px);
  font-weight: 400;
  line-height: 1.08;
  color: #fff;
  margin: 0 0 20px;
  letter-spacing: -0.025em;
  max-width: 750px;
}
.cst-hnk-hero-h1 em { font-style: italic; color: var(--jade-light); }

.cst-hnk-hero-sub {
  font-size: 16px;
  font-weight: 300;
  color: rgba(255,255,255,0.58);
  line-height: 1.75;
  max-width: 600px;
  margin-bottom: 32px;
}

.cst-hnk-hero-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.cst-hnk-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 40px;
  padding: 7px 14px;
  font-size: 12px;
  color: rgba(255,255,255,0.5);
}
.cst-hnk-pill svg { opacity: 0.5; }

/* Hero aside stats */
.cst-hnk-hero-aside {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding-bottom: 72px;
  padding-right: 40px;
  animation: cst-hnk-up 1s 0.2s ease both;
}

.cst-hnk-aside-stat {
  text-align: center;
  padding: 20px 0;
}

.cst-hnk-aside-num {
  display: block;
  font-family: var(--font-display);
  font-size: 40px;
  font-weight: 600;
  color: var(--jade-light);
  line-height: 1;
}

.cst-hnk-aside-lbl {
  display: block;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgb(225 234 235 / 60%);
  margin-top: 5px;
  max-width: 140px;
  text-align: center;
}

.cst-hnk-aside-divider {
  width: 40px;
  height: 1px;
  background: rgba(72,168,130,0.3);
}

/* ══ LAYOUT ═══════════════════════════════════════════════ */
.cst-hnk-layout {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 48px;
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 60px;
  align-items: start;
}

/* ── TOC ──────────────────────────────────────────────────── */
.cst-hnk-toc {
  position: sticky;
  top: 80px;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  scrollbar-width: none;
}
.cst-hnk-toc::-webkit-scrollbar { display: none; }

.cst-hnk-toc-inner {
  background: var(--jade-tint);
  border: 1px solid var(--warm-border);
  border-radius: var(--r-lg);
  padding: 24px 20px;
}

.cst-hnk-toc-hd {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--warm-border);
}

.cst-hnk-toc-inner nav { display: flex; flex-direction: column; gap: 1px; margin-bottom: 20px; }

.cst-hnk-toc-lnk {
  display: block;
  padding: 7px 10px;
  font-size: 12px;
  color: var(--muted);
  text-decoration: none;
  border-radius: var(--r);
  border-left: 2px solid transparent;
  transition: color 0.2s, background 0.2s, border-color 0.2s;
  line-height: 1.4;
}
.cst-hnk-toc-lnk:hover { color: var(--ink); background: rgba(26,92,68,0.07); }
.cst-hnk-toc-lnk.active {
  color: var(--jade);
  font-weight: 600;
  border-left-color: var(--jade);
  background: rgba(26,92,68,0.07);
}

.cst-hnk-toc-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--jade);
  color: #fff;
  text-decoration: none;
  padding: 12px 14px;
  border-radius: var(--r);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: background 0.3s, box-shadow 0.3s;
}
.cst-hnk-toc-btn:hover {
  background: var(--jade-soft);
  box-shadow: 0 4px 16px rgba(26,92,68,0.25);
}

/* ══ MAIN ══════════════════════════════════════════════════ */
.cst-hnk-main { min-width: 0; }

/* ── Section ──────────────────────────────────────────────── */
.cst-hnk-sec {
  padding-bottom: 64px;
  margin-bottom: 64px;
  border-bottom: 1px solid var(--warm-border-soft);
  scroll-margin-top: 100px;
  opacity: 0;
  transform: translateY(18px);
}
.cst-hnk-sec.cst-hnk-vis {
  opacity: 1; transform: none;
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.cst-hnk-sec-label {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--jade);
  margin-bottom: 10px;
}

.cst-hnk-h2 {
  font-family: var(--font-display);
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 24px;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.cst-hnk-h3 {
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 500;
  color: var(--ink);
  margin: 32px 0 16px;
  letter-spacing: -0.01em;
}

.cst-hnk-body {
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.85;
  color: var(--body);
  margin: 0 0 18px;
}
.cst-hnk-body strong { font-weight: 700; color: var(--ink); }

/* ── Callouts ─────────────────────────────────────────────── */
.cst-hnk-callout {
  display: flex;
  gap: 14px;
  padding: 20px 22px;
  border-radius: var(--r-lg);
  border-left: 3px solid;
  margin-bottom: 24px;
}
.cst-hnk-callout p { margin: 0; font-size: 14.5px; line-height: 1.72; }
.cst-hnk-callout-icon { flex-shrink: 0; margin-top: 1px; }
.cst-hnk-callout strong { font-weight: 700; }

.cst-hnk-callout.jade {
  background: var(--jade-tint);
  border-color: var(--jade);
}
.cst-hnk-callout.jade .cst-hnk-callout-icon { color: var(--jade); }
.cst-hnk-callout.jade p { color: var(--body); }

.cst-hnk-callout.amber {
  background: #FFFBEB;
  border-color: var(--amber-light);
}
.cst-hnk-callout.amber .cst-hnk-callout-icon { color: var(--amber); }
.cst-hnk-callout.amber p { color: var(--body); }

/* ── Summary Strip ────────────────────────────────────────── */
.cst-hnk-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 28px;
}

.cst-hnk-sum-item {
  padding: 22px 18px;
  background: var(--off-white);
  border: 1px solid var(--warm-border);
  border-radius: var(--r-lg);
  display: flex;
  flex-direction: column;
  gap: 8px;
  opacity: 0;
  transform: translateY(14px);
}
.cst-hnk-sum-item.cst-hnk-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }

.cst-hnk-sum-icon { color: var(--jade); }
.cst-hnk-sum-item strong { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.cst-hnk-sum-item span { font-size: 12.5px; color: var(--muted); line-height: 1.5; }

/* ── Two Col ──────────────────────────────────────────────── */
.cst-hnk-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-bottom: 24px; }

/* ── Platform Features ────────────────────────────────────── */
.cst-hnk-platform-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 28px 0;
}

.cst-hnk-feat {
  padding: 20px 18px;
  background: #216446eb;
  border-radius: var(--r-lg);
  border: 1px solid rgba(72,168,130,0.15);
  opacity: 0;
  transform: translateY(12px);
}
.cst-hnk-feat.cst-hnk-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }

.cst-hnk-feat-icon { color: var(--jade-light); margin-bottom: 10px; }
.cst-hnk-feat strong { display: block; font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.cst-hnk-feat span { font-size: 12px; font-weight: 300; color: rgba(255,255,255,0.45); line-height: 1.5; }

/* ── Image Block ──────────────────────────────────────────── */
.cst-hnk-imgblock { margin: 28px 0; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-md); }
.cst-hnk-feat-img { width: 100%; height: 340px; object-fit: cover; display: block; }
.cst-hnk-imgcap { font-size: 12.5px; font-style: italic; color: var(--muted); background: var(--off-white); padding: 13px 18px; margin: 0; border: 1px solid var(--warm-border); border-top: none; border-radius: 0 0 var(--r-lg) var(--r-lg); }

/* ── Timeline ─────────────────────────────────────────────── */
.cst-hnk-timeline {
  background: #216446eb;
  border-radius: var(--r-lg);
  padding: 36px 40px;
  margin: 28px 0;
  border: 1px solid rgba(72,168,130,0.15);
  position: relative;
  overflow: hidden;
}
.cst-hnk-timeline::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(90deg, transparent, transparent 79px, rgba(72,168,130,0.03) 80px), repeating-linear-gradient(0deg, transparent, transparent 79px, rgba(72,168,130,0.03) 80px);
}

.cst-hnk-tl-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
  margin-bottom: 32px;
  position: relative;
}

.cst-hnk-tl-track {
  position: relative;
  padding-left: 28px;
}
.cst-hnk-tl-track::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 6px;
  bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom, var(--jade-light), rgba(72,168,130,0.1));
}

.cst-hnk-tl-item {
  position: relative;
  padding-bottom: 32px;
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 18px;
  align-items: start;
  opacity: 0;
  transform: translateX(-10px);
}
.cst-hnk-tl-item.cst-hnk-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }
.cst-hnk-tl-item:last-child { padding-bottom: 0; }

.cst-hnk-tl-dot {
  position: absolute;
  left: -24px;
  top: 4px;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--jade-mid);
  border: 2px solid rgba(72,168,130,0.4);
  z-index: 1;
}
.cst-hnk-tl-dot.key { background: var(--jade-light); border-color: var(--jade-light); width: 14px; height: 14px; left: -26px; top: 2px; box-shadow: 0 0 0 4px rgba(72,168,130,0.2); }
.cst-hnk-tl-dot.future { background: transparent; border-color: rgba(72,168,130,0.3); }

.cst-hnk-tl-year {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  color: rgba(255,255,255,0.35);
  padding-top: 2px;
}
.cst-hnk-tl-year.key { color: var(--jade-light); }
.cst-hnk-tl-year.future { color: rgba(255,255,255,0.2); }

.cst-hnk-tl-content strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 6px;
}
.cst-hnk-tl-item--key .cst-hnk-tl-content strong { color: var(--jade-light); }

.cst-hnk-tl-content p {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.45);
  line-height: 1.65;
  margin: 0 0 8px;
}

.cst-hnk-tl-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: rgba(72,168,130,0.12);
  border: 1px solid rgba(72,168,130,0.3);
  color: var(--jade-light);
  padding: 3px 10px;
  border-radius: 40px;
}

/* ── Regulators ───────────────────────────────────────────── */
.cst-hnk-regulators { display: flex; flex-direction: column; gap: 16px; margin-top: 20px; }

.cst-hnk-regulator {
  display: flex;
  gap: 0;
  border: 1px solid var(--warm-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  opacity: 0;
  transform: translateY(10px);
}
.cst-hnk-regulator.cst-hnk-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }

.cst-hnk-reg-abbr {
  flex-shrink: 0;
  width: 72px;
  background: #216446eb;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.05em;
}

.cst-hnk-reg-body {
  flex: 1;
  padding: 18px 22px;
  background: var(--off-white);
}
.cst-hnk-reg-body strong { display: block; font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.cst-hnk-reg-body p { font-size: 13.5px; color: var(--body); line-height: 1.68; margin: 0 0 10px; }

.cst-hnk-reg-scope {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--jade);
  letter-spacing: 0.04em;
}

/* ── Requirements Matrix ──────────────────────────────────── */
.cst-hnk-matrix {
  margin: 28px 0;
  border: 1px solid var(--warm-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--sh);
}

.cst-hnk-matrix-title {
  background: var(--jade);
  padding: 14px 22px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.8);
}

.cst-hnk-matrix-grid { display: flex; flex-direction: column; }

.cst-hnk-mx-item {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--warm-border-soft);
  transition: background 0.2s;
  opacity: 0;
  transform: translateY(8px);
}
.cst-hnk-mx-item.cst-hnk-vis { opacity: 1; transform: none; transition: opacity 0.45s ease, transform 0.45s ease, background 0.2s; }
.cst-hnk-mx-item:last-child { border-bottom: none; }
.cst-hnk-mx-item:hover { background: var(--jade-tint); }

.cst-hnk-mx-num {
  flex-shrink: 0;
  width: 52px;
  background: var(--jade-tint);
  border-right: 1px solid var(--warm-border-soft);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 20px;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 600;
  color: var(--jade);
}

.cst-hnk-mx-body { flex: 1; padding: 17px 20px; }
.cst-hnk-mx-body strong { display: block; font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 5px; }
.cst-hnk-mx-body p { font-size: 13px; color: var(--body); line-height: 1.65; margin: 0 0 8px; }

.cst-hnk-mx-req {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--jade);
  background: var(--jade-tint);
  border: 1px solid var(--warm-border);
  border-radius: 4px;
  padding: 4px 10px;
  display: inline-block;
}

/* ── Licence Compare ──────────────────────────────────────── */
.cst-hnk-lic-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }

.cst-hnk-lic-item {
  padding: 28px;
  border-radius: var(--r-lg);
  border: 1px solid var(--warm-border);
}

.cst-hnk-lic-item.lic-primary {
  background: #216446eb;
  border-color: var(--jade);
}
.cst-hnk-lic-item.lic-secondary { background: var(--off-white); }

.cst-hnk-lic-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 40px;
  margin-bottom: 12px;
}
.lic-primary .cst-hnk-lic-badge { background: rgba(255,255,255,0.15); color: #fff; border: 1px solid rgba(255,255,255,0.3); }
.cst-hnk-lic-badge.secondary { background: rgba(26,92,68,0.08); color: var(--jade); border: 1px solid var(--warm-border); }

.cst-hnk-lic-name {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 12px;
}
.lic-primary .cst-hnk-lic-name { color: #fff; }
.lic-secondary .cst-hnk-lic-name { color: var(--ink); }

.lic-primary p { font-size: 14px; color: rgba(255,255,255,0.72); line-height: 1.68; margin: 0 0 16px; }
.lic-secondary p { font-size: 14px; color: var(--body); line-height: 1.68; margin: 0 0 16px; }

.cst-hnk-lic-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.cst-hnk-lic-list li {
  font-size: 13px;
  padding-left: 14px;
  position: relative;
  line-height: 1.4;
}
.cst-hnk-lic-list li::before {
  content: '';
  position: absolute;
  left: 0; top: 7px;
  width: 5px; height: 5px;
  border-radius: 50%;
}
.lic-primary .cst-hnk-lic-list li { color: rgba(255,255,255,0.65); }
.lic-primary .cst-hnk-lic-list li::before { background: rgba(255,255,255,0.4); }
.lic-secondary .cst-hnk-lic-list li { color: var(--body); }
.lic-secondary .cst-hnk-lic-list li::before { background: var(--jade-light); }

/* ── Pillars ──────────────────────────────────────────────── */
.cst-hnk-pillars { display: flex; flex-direction: column; gap: 20px; margin-top: 24px; }

.cst-hnk-pillar {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 0;
  border: 1px solid var(--warm-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--sh);
  opacity: 0;
  transform: translateX(-12px);
}
.cst-hnk-pillar.cst-hnk-vis { opacity: 1; transform: none; transition: opacity 0.55s ease, transform 0.55s ease; }

.cst-hnk-pillar-num {
  background: #216446eb;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 24px;
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  color: rgba(255,255,255,0.7);
  font-style: italic;
}

.cst-hnk-pillar-body { padding: 22px 26px; background: var(--off-white); }
.cst-hnk-pillar-body h3 {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 600;
  color: var(--ink);
  margin: 0 0 10px;
}
.cst-hnk-pillar-body p { font-size: 14px; color: var(--body); line-height: 1.75; margin: 0 0 14px; }

.cst-hnk-pillar-outputs { display: flex; gap: 8px; flex-wrap: wrap; }
.cst-hnk-pillar-outputs span {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 4px 10px;
  background: rgba(26,92,68,0.07);
  border: 1px solid var(--warm-border);
  border-radius: 40px;
  color: var(--jade);
}

/* ── Gap Table ────────────────────────────────────────────── */
.cst-hnk-gap-table-wrap {
  overflow-x: auto;
  border-radius: var(--r-lg);
  border: 1px solid var(--warm-border);
  box-shadow: var(--sh);
  margin-top: 20px;
}

.cst-hnk-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
}
.cst-hnk-table thead tr { background: var(--jade); }
.cst-hnk-table thead th {
  padding: 13px 16px;
  text-align: left;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
  white-space: nowrap;
}
.cst-hnk-table tbody tr { border-bottom: 1px solid var(--warm-border-soft); transition: background 0.2s; }
.cst-hnk-table tbody tr:last-child { border-bottom: none; }
.cst-hnk-table tbody tr:hover { background: var(--jade-tint); }
.cst-hnk-table tbody td { padding: 13px 16px; color: var(--body); line-height: 1.5; vertical-align: top; }
.cst-hnk-table tbody td strong { display: block; color: var(--ink); font-weight: 700; }
.cst-hnk-table tbody td span { font-size: 12px; color: var(--muted); }

.cst-hnk-domain {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 40px;
  white-space: nowrap;
}
.cst-hnk-domain.gov { background: rgba(147,197,253,0.12); color: #2563EB; border: 1px solid rgba(147,197,253,0.3); }
.cst-hnk-domain.aml { background: rgba(252,211,77,0.12); color: #92400E; border: 1px solid rgba(252,211,77,0.3); }
.cst-hnk-domain.tech { background: rgba(72,168,130,0.12); color: var(--jade-mid); border: 1px solid rgba(72,168,130,0.3); }
.cst-hnk-domain.fin { background: rgba(167,243,208,0.15); color: #065F46; border: 1px solid rgba(167,243,208,0.4); }
.cst-hnk-domain.tok { background: rgba(221,214,254,0.2); color: #5B21B6; border: 1px solid rgba(221,214,254,0.4); }

.cst-hnk-badge {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 40px;
}
.cst-hnk-badge.red { background: rgba(220,38,38,0.08); color: var(--red); border: 1px solid rgba(220,38,38,0.25); }
.cst-hnk-badge.amber { background: rgba(217,119,6,0.08); color: var(--amber); border: 1px solid rgba(217,119,6,0.25); }
.cst-hnk-badge.yellow { background: rgba(202,138,4,0.08); color: var(--yellow); border: 1px solid rgba(202,138,4,0.25); }

/* ── Architecture ─────────────────────────────────────────── */
.cst-hnk-arch {
  background: #216446eb;
  border-radius: var(--r-lg);
  padding: 32px 36px;
  margin: 28px 0;
  border: 1px solid rgba(72,168,130,0.15);
  overflow: hidden;
  position: relative;
}
.cst-hnk-arch::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(90deg, transparent, transparent 79px, rgba(72,168,130,0.025) 80px);
}

.cst-hnk-arch-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
  margin-bottom: 24px;
  position: relative;
}

.cst-hnk-arch-layers { display: flex; flex-direction: column; gap: 10px; position: relative; }

.cst-hnk-arch-layer {
  border-radius: var(--r);
  padding: 16px 20px;
  border: 1px solid;
}
.layer1 { background: rgb(25 66 26 / 51%); border-color: rgba(72,168,130,0.25); }
.layer2 { background: rgb(25 66 26 / 51%); border-color: rgba(72,168,130,0.18); }
.layer3 { background: rgb(25 66 26 / 51%); border-color: rgba(72,168,130,0.12); }

.cst-hnk-arch-layer-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
  margin-bottom: 5px;
}

.cst-hnk-arch-layer-title {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,0.75);
  margin-bottom: 12px;
}

.cst-hnk-arch-cells { display: flex; gap: 8px; flex-wrap: wrap; }

.cst-hnk-arch-cell {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,0.55);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(72,168,130,0.15);
  border-radius: var(--r);
  padding: 6px 14px;
}

.cst-hnk-arch-footer {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(72,168,130,0.12);
  position: relative;
}

.cst-hnk-arch-board {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255,255,255,0.35);
  letter-spacing: 0.04em;
}

/* ── Phases ───────────────────────────────────────────────── */
.cst-hnk-phases {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 0;
  align-items: center;
  margin-top: 24px;
}

.cst-hnk-phase {
  padding: 24px 20px;
  background: var(--off-white);
  border: 1px solid var(--warm-border);
  border-radius: var(--r-lg);
  opacity: 0;
  transform: translateY(12px);
}
.cst-hnk-phase.cst-hnk-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }
.cst-hnk-phase--final { background: #216446eb; border-color: var(--jade); }

.cst-hnk-phase-num {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--jade);
  margin-bottom: 3px;
}
.cst-hnk-phase--final .cst-hnk-phase-num { color: rgba(255,255,255,0.6); }

.cst-hnk-phase-duration {
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 10px;
}
.cst-hnk-phase--final .cst-hnk-phase-duration { color: rgba(255,255,255,0.5); }

.cst-hnk-phase strong { display: block; font-size: 13px; font-weight: 700; color: var(--ink); margin-bottom: 12px; }
.cst-hnk-phase--final strong { color: #fff; }

.cst-hnk-phase ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
.cst-hnk-phase ul li { font-size: 12px; color: var(--body); padding-left: 12px; position: relative; line-height: 1.4; }
.cst-hnk-phase ul li::before { content: '·'; position: absolute; left: 2px; color: var(--jade-light); font-weight: 700; }
.cst-hnk-phase--final ul li { color: rgba(255,255,255,0.65); }
.cst-hnk-phase--final ul li::before { color: rgba(255,255,255,0.5); }

.cst-hnk-phase-arrow { flex-shrink: 0; color: var(--jade); opacity: 0.5; padding: 0 4px; }

/* ── Risk Cards ───────────────────────────────────────────── */
.cst-hnk-risks-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 20px; }

.cst-hnk-risk-card {
  padding: 22px;
  border-radius: var(--r-lg);
  border: 1px solid;
  opacity: 0;
  transform: translateY(12px);
}
.cst-hnk-risk-card.cst-hnk-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }

.cst-hnk-risk-card.critical { background: rgba(220,38,38,0.04); border-color: rgba(220,38,38,0.18); }
.cst-hnk-risk-card.high { background: rgba(217,119,6,0.04); border-color: rgba(217,119,6,0.18); }
.cst-hnk-risk-card.medium { background: var(--off-white); border-color: var(--warm-border); }

.cst-hnk-risk-header {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  margin-bottom: 10px;
  color: var(--red);
}
.cst-hnk-risk-header.high { color: var(--amber); }
.cst-hnk-risk-header.medium { color: var(--jade-mid); }

.cst-hnk-risk-card h4 { font-family: var(--font-display); font-size: 16px; font-weight: 600; color: var(--ink); margin: 0 0 9px; }
.cst-hnk-risk-card p { font-size: 13.5px; color: var(--body); line-height: 1.7; margin: 0 0 12px; }

.cst-hnk-risk-mit {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  background: rgba(26,92,68,0.06);
  border-radius: var(--r);
  border: 1px solid var(--warm-border);
  font-size: 12px;
  color: var(--body);
  line-height: 1.5;
}
.cst-hnk-risk-mit svg { color: var(--jade); flex-shrink: 0; margin-top: 1px; }

/* ── Outcomes ─────────────────────────────────────────────── */
.cst-hnk-outcomes { display: flex; flex-direction: column; gap: 0; margin-top: 20px; }

.cst-hnk-outcome-row {
  display: flex;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid var(--warm-border-soft);
  opacity: 0;
  transform: translateY(10px);
}
.cst-hnk-outcome-row.cst-hnk-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }
.cst-hnk-outcome-row:last-child { border-bottom: none; }

.cst-hnk-oc-icon { flex-shrink: 0; color: var(--jade); margin-top: 2px; }
.cst-hnk-oc-body strong { display: block; font-size: 15px; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.cst-hnk-oc-body p { font-size: 14px; color: var(--body); line-height: 1.73; margin: 0; }

/* ── Quote Panel ──────────────────────────────────────────── */
.cst-hnk-quote-panel {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 0;
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-top: 32px;
  border: 1px solid var(--warm-border);
  box-shadow: var(--sh-md);
}

.cst-hnk-qp-text {
  padding: 40px 44px;
  background: #216446eb;
  position: relative;
}

.cst-hnk-qp-mark { color: rgba(255,255,255,0.2); margin-bottom: 18px; }

.cst-hnk-qp-text p {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 400;
  font-style: italic;
  line-height: 1.7;
  color: rgba(255,255,255,0.85);
  margin: 0 0 24px;
}

.cst-hnk-qp-attr strong { display: block; font-size: 13px; font-weight: 700; color: #fff; }
.cst-hnk-qp-attr span { font-size: 12px; color: rgba(255,255,255,0.5); }

.cst-hnk-qp-img img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(0.65); }

/* ── Recommendations ──────────────────────────────────────── */
.cst-hnk-recs-list { display: flex; flex-direction: column; gap: 0; margin-top: 20px; }

.cst-hnk-rec {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 0;
  border: 1px solid var(--warm-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-bottom: 12px;
  opacity: 0;
  transform: translateY(10px);
}
.cst-hnk-rec.cst-hnk-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }

.cst-hnk-rec-tag {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 18px 8px;
  padding-top: 22px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.4;
}
.cst-hnk-rec-tag.immediate { background: rgba(220,38,38,0.08); color: var(--red); }
.cst-hnk-rec-tag.short { background: rgba(217,119,6,0.08); color: var(--amber); }
.cst-hnk-rec-tag.medium { background: rgba(26,92,68,0.07); color: var(--jade-mid); }
.cst-hnk-rec-tag.ongoing { background: rgba(72,168,130,0.07); color: var(--jade-soft); }

.cst-hnk-rec-body { padding: 18px 22px; background: var(--off-white); }
.cst-hnk-rec-body strong { display: block; font-size: 14.5px; font-weight: 700; color: var(--ink); margin-bottom: 7px; }
.cst-hnk-rec-body p { font-size: 13.5px; color: var(--body); line-height: 1.72; margin: 0; }

/* ── Paper Footer ─────────────────────────────────────────── */
.cst-hnk-paper-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  padding-top: 28px;
  margin-top: 32px;
  border-top: 1px solid var(--warm-border);
  flex-wrap: wrap;
}
.cst-hnk-disclaimer { font-size: 12px; font-style: italic; color: var(--muted); line-height: 1.65; max-width: 520px; margin: 0; }

.cst-hnk-share {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--muted);
  flex-shrink: 0;
}
.cst-hnk-share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  border-radius: var(--r);
  border: 1px solid var(--warm-border);
  color: var(--muted);
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s;
}
.cst-hnk-share-btn:hover { border-color: var(--jade); color: var(--jade); }

/* ══ CTA ══════════════════════════════════════════════════════ */
.cst-hnk-cta {
  position: relative;
  overflow: hidden;
  padding: 96px 56px;
}

.cst-hnk-cta-bg { position: absolute; inset: 0; z-index: 0; }
.cst-hnk-cta-bgimg { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.55) brightness(0.55); }
.cst-hnk-cta-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgb(31 133 88 / 96%) 0%, rgba(26, 92, 68, 0.88) 100%);
}
.cst-hnk-cta-veil::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(135deg, transparent, transparent 50px, rgba(72,168,130,0.025) 51px);
}

.cst-hnk-cta-inner {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 80px;
  align-items: center;
}

.cst-hnk-cta-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--jade-light); margin-bottom: 14px; }

.cst-hnk-cta-title {
  font-family: var(--font-display);
  font-size: clamp(26px, 3.2vw, 44px);
  font-weight: 500;
  color: #fff;
  line-height: 1.15;
  margin: 0 0 18px;
  letter-spacing: -0.02em;
}
.cst-hnk-cta-title em { font-style: italic; color: var(--jade-light); }

.cst-hnk-cta-body { font-size: 15.5px; font-weight: 300; color: rgba(255,255,255,0.55); line-height: 1.75; margin-bottom: 32px; }

.cst-hnk-cta-actions { display: flex; gap: 14px; flex-wrap: wrap; }

.cst-hnk-cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--jade-light);
  color: var(--ink);
  text-decoration: none;
  padding: 15px 26px;
  border-radius: var(--r);
  font-size: 13px;
  font-weight: 700;
  transition: background 0.3s, gap 0.3s, box-shadow 0.3s;
}
.cst-hnk-cta-primary:hover { background: #5EC496; gap: 16px; box-shadow: 0 6px 24px rgba(72,168,130,0.35); }

.cst-hnk-cta-ghost {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  padding: 15px 26px;
  border-radius: var(--r);
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.55);
  border: 1px solid rgba(255,255,255,0.12);
  transition: border-color 0.3s, color 0.3s;
}
.cst-hnk-cta-ghost:hover { border-color: rgba(72,168,130,0.4); color: var(--jade-light); }

.cst-hnk-cta-services { display: flex; flex-direction: column; gap: 0; }
.cst-hnk-cta-svc {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13.5px;
  color: rgba(255,255,255,0.55);
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
.cst-hnk-cta-svc:last-child { border-bottom: none; }
.cst-hnk-cta-svc svg { flex-shrink: 0; }

/* ══ RELATED ══════════════════════════════════════════════════ */
.cst-hnk-related { background: var(--jade-tint); border-top: 1px solid var(--warm-border); padding: 72px 56px; }
.cst-hnk-rel-inner { max-width: 1280px; margin: 0 auto; }
.cst-hnk-rel-title { font-family: var(--font-display); font-size: clamp(22px, 2.8vw, 34px); font-weight: 500; color: var(--ink); margin: 0 0 36px; letter-spacing: -0.02em; }

.cst-hnk-rel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }

.cst-hnk-rel-card {
  border-radius: var(--r-lg);
  overflow: hidden;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--warm-border);
  box-shadow: var(--sh);
  transition: box-shadow var(--ease), transform var(--ease);
  opacity: 0;
  transform: translateY(12px);
}
.cst-hnk-rel-card.cst-hnk-vis { opacity: 1; transform: none; transition: opacity 0.55s ease, transform 0.55s ease, box-shadow var(--ease); }
.cst-hnk-rel-card:hover { box-shadow: var(--sh-lg); transform: translateY(-4px) !important; }

.cst-hnk-rel-img { height: 170px; overflow: hidden; }
.cst-hnk-rel-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.7s ease; filter: saturate(0.75); }
.cst-hnk-rel-card:hover .cst-hnk-rel-img img { transform: scale(1.06); }

.cst-hnk-rel-body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 8px; }
.cst-hnk-rel-body h4 { font-family: var(--font-display); font-size: 16px; font-weight: 600; color: var(--ink); line-height: 1.35; margin: 0; }

.cst-hnk-rel-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--jade);
}

/* ══ RESPONSIVE ══════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .cst-hnk-hero { grid-template-columns: 1fr; }
  .cst-hnk-hero-aside { display: none; }
  .cst-hnk-layout { grid-template-columns: 1fr; padding: 48px 32px; gap: 40px; }
  .cst-hnk-toc { position: static; max-height: none; }
  .cst-hnk-toc-inner { display: flex; flex-wrap: wrap; gap: 6px; padding: 16px 18px; }
  .cst-hnk-toc-hd { width: 100%; margin-bottom: 4px; }
  .cst-hnk-toc-inner nav { flex-direction: row; flex-wrap: wrap; margin-bottom: 8px; gap: 2px; }
  .cst-hnk-toc-lnk { border-left: none; border-bottom: 2px solid transparent; font-size: 11.5px; }
  .cst-hnk-toc-lnk.active { border-left: none; border-bottom-color: var(--jade); }
  .cst-hnk-toc-btn { width: auto; }
  .cst-hnk-summary-strip { grid-template-columns: 1fr 1fr; }
  .cst-hnk-platform-features { grid-template-columns: 1fr 1fr 1fr; }
  .cst-hnk-phases { grid-template-columns: 1fr; gap: 12px; }
  .cst-hnk-phase-arrow { transform: rotate(90deg); width: 28px; margin: 0 auto; }
  .cst-hnk-lic-compare { grid-template-columns: 1fr; }
  .cst-hnk-cta-inner { grid-template-columns: 1fr; gap: 48px; }
  .cst-hnk-rel-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .cst-hnk-hero-content { padding: 0 24px 60px; }
  .cst-hnk-summary-strip { grid-template-columns: 1fr; }
  .cst-hnk-two-col { grid-template-columns: 1fr; }
  .cst-hnk-platform-features { grid-template-columns: 1fr 1fr; }
  .cst-hnk-risks-grid { grid-template-columns: 1fr; }
  .cst-hnk-quote-panel { grid-template-columns: 1fr; }
  .cst-hnk-qp-img { display: none; }
  .cst-hnk-rec { grid-template-columns: 80px 1fr; }
  .cst-hnk-rel-grid { grid-template-columns: 1fr; }
  .cst-hnk-cta { padding: 64px 24px; }
  .cst-hnk-related { padding: 56px 24px; }
  .cst-hnk-paper-footer { flex-direction: column; }
}

@media (max-width: 480px) {
  .cst-hnk-hero-h1 { font-size: 32px; }
  .cst-hnk-layout { padding: 36px 20px; }
  .cst-hnk-platform-features { grid-template-columns: 1fr; }
}

/* ============================================================
   gib-car.css — VEGA Web3 Gaming Case Study — yourtechlegal.com
   Dark sci-fi editorial aesthetic · All selectors .gib-car-*
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=IBM+Plex+Serif:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap');

/* ── Variables ─────────────────────────────────────────── */
.gib-car-root {
  
  --deep: #0D1220;
  --dark: #131929;
  --slate: #1C2540;
  --violet: #7C3AED;
  --violet-light: #A78BFA;
  --violet-glow: rgba(124,58,237,0.2);
  --cyan: #06B6D4;
  --cyan-light: #67E8F9;
  --cyan-glow: rgba(6,182,212,0.18);
  --teal: #14B8A6;
  --amber: #F59E0B;
  --amber-light: #FCD34D;
  --red: #EF4444;
  --green: #10B981;
  --gold: #D4AF37;
  --text: #E2E8F0;
  --text-muted: #64748B;
  --text-dim: #94A3B8;
  --border: rgba(124,58,237,0.18);
  --border-soft: rgba(255,255,255,0.06);
  --font-display: 'Syne', sans-serif;
  --font-body: 'IBM Plex Serif', Georgia, serif;
  --r: 6px;
  --r-lg: 10px;
  --sh: 0 2px 14px rgba(0,0,0,0.4);
  --sh-md: 0 6px 32px rgba(0,0,0,0.5);
  --sh-lg: 0 16px 60px rgba(0,0,0,0.6);
  --ease: 0.38s cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ── Base ───────────────────────────────────────────────── */
.gib-car-root {
  font-family: var(--font-body);
  color: var(--text);
  background: var(--void);
  overflow-x: hidden;
}

/* ══ HERO ══════════════════════════════════════════════════ */
.gib-car-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
}

.gib-car-hero-bg { position: absolute; inset: 0; z-index: 0; }

.gib-car-hero-img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  filter: saturate(0.4) brightness(0.4);
}

.gib-car-hero-veil {
  position: absolute; inset: 0;
  background:
    linear-gradient(to top, var(--void) 0%, rgba(8,11,20,0.8) 50%, rgba(8,11,20,0.3) 100%),
    linear-gradient(135deg, rgba(124,58,237,0.12) 0%, transparent 50%, rgba(6,182,212,0.07) 100%);
}

/* Star-field dots */
.gib-car-starfield {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 15% 20%, rgba(255,255,255,0.5) 0%, transparent 100%),
    radial-gradient(1px 1px at 30% 65%, rgba(255,255,255,0.35) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 55% 15%, rgba(255,255,255,0.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 70% 45%, rgba(255,255,255,0.3) 0%, transparent 100%),
    radial-gradient(1px 1px at 85% 25%, rgba(255,255,255,0.45) 0%, transparent 100%),
    radial-gradient(1px 1px at 45% 80%, rgba(255,255,255,0.25) 0%, transparent 100%),
    radial-gradient(1px 1px at 90% 70%, rgba(255,255,255,0.35) 0%, transparent 100%),
    radial-gradient(2px 2px at 25% 40%, rgba(167,139,250,0.5) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 65% 55%, rgba(103,232,249,0.4) 0%, transparent 100%);
}

/* Scanning line */
.gib-car-scanline {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(255,255,255,0.01) 2px,
    rgba(255,255,255,0.01) 4px
  );
  pointer-events: none;
}

.gib-car-hero-inner {
  position: relative;
  z-index: 3;
  padding: 50px 56px 56px;
  max-width: 900px;
  animation: gib-up 0.9s ease both;
}

@keyframes gib-up {
  from { opacity: 0; transform: translateY(32px); }
  to { opacity: 1; transform: none; }
}

.gib-car-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  font-family: var(--font-display);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
}
.gib-car-breadcrumb a { color: rgba(255,255,255,0.3); text-decoration: none; transition: color 0.2s; }
.gib-car-breadcrumb a:hover { color: var(--violet-light); }
.gib-car-bc-sep { opacity: 0.2; }

.gib-car-client-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--violet-light);
  background: rgba(124,58,237,0.12);
  border: 1px solid rgba(124,58,237,0.3);
  border-radius: 40px;
  padding: 5px 14px;
  margin-bottom: 18px;
}
.gib-car-client-dot {
  width: 6px; height: 6px;
  background: var(--violet-light);
  border-radius: 50%;
  box-shadow: 0 0 6px var(--violet-light);
  animation: gib-pulse 2s infinite;
}
@keyframes gib-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

.gib-car-tag-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }

.gib-car-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 40px;
  border: 1px solid;
}
.gib-car-tag.violet { color: var(--violet-light); border-color: rgba(167,139,250,0.3); background: rgba(124,58,237,0.1); }
.gib-car-tag.cyan { color: var(--cyan-light); border-color: rgba(103,232,249,0.3); background: rgba(6,182,212,0.1); }
.gib-car-tag.teal { color: #5EEAD4; border-color: rgba(94,234,212,0.3); background: rgba(20,184,166,0.1); }
.gib-car-tag.ghost { color: rgba(255,255,255,0.4); border-color: rgba(255,255,255,0.1); background: rgba(255,255,255,0.04); }
.gib-car-tag.sfc { color: #93C5FD; border-color: rgba(147,197,253,0.3); background: rgba(147,197,253,0.08); }

.gib-car-hero-h1 {
  font-family: var(--font-display);
  font-size: clamp(38px, 5.5vw, 76px);
  font-weight: 800;
  line-height: 1.0;
  color: #fff;
  margin: 0 0 20px;
  letter-spacing: -0.03em;
}
.gib-car-hero-h1 em {
  font-style: normal;
  background: linear-gradient(90deg, var(--violet-light), var(--cyan-light));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.gib-car-hero-sub {
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  color: rgb(230 234 235 / 75%);
  line-height: 1.75;
  max-width: 620px;
  margin-bottom: 28px;
}

.gib-car-hero-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.gib-car-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 11px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 40px;
  padding: 6px 12px;
  color: rgba(255,255,255,0.4);
}
.gib-car-pill svg { opacity: 0.4; }

/* Jurisdiction indicators */
.gib-car-jur-indicators {
  position: absolute;
  right: 48px;
  bottom: 56px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 10px;
  animation: gib-up 1s 0.2s ease both;
}

.gib-car-jur-ind {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: rgba(13,18,32,0.85);
  backdrop-filter: blur(12px);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  min-width: 210px;
}
.gib-car-jur-ind.recommended {
  border-color: rgba(167,139,250,0.4);
  background: rgba(124,58,237,0.12);
}

.gib-car-jur-flag { font-size: 22px; line-height: 1; }
.gib-car-jur-info { flex: 1; }
.gib-car-jur-info strong { display: block; font-family: var(--font-display); font-size: 13px; font-weight: 700; color: #fff; }
.gib-car-jur-info span { font-size: 10px; color: var(--text-muted); letter-spacing: 0.06em; }

.gib-car-jur-score {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 800;
  color: var(--violet-light);
}
.gib-car-jur-ind:not(.recommended) .gib-car-jur-score { color: var(--text-dim); }

/* ══ LAYOUT ═══════════════════════════════════════════════ */
.gib-car-layout {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 48px;
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 56px;
  align-items: start;
}

/* ── TOC ──────────────────────────────────────────────────── */
.gib-car-toc { position: sticky; top: 80px; max-height: calc(100vh - 100px); overflow-y: auto; scrollbar-width: none; }
.gib-car-toc::-webkit-scrollbar { display: none; }

.gib-car-toc-box {
  background: #2f80a6;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 22px 18px;
}

.gib-car-toc-hd {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fbfbfb;
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-soft);
}

.gib-car-toc-nav { display: flex; flex-direction: column; gap: 1px; margin-bottom: 18px; }

.gib-car-toc-a {
  display: block;
  padding: 7px 10px;
  font-family: var(--font-display);
  font-size: 11.5px;
  font-weight: 400;
  color: #fbfbfbc9;
  text-decoration: none;
  border-radius: 4px;
  border-left: 2px solid transparent;
  transition: color 0.2s, background 0.2s, border-color 0.2s;
  line-height: 1.4;
}
.gib-car-toc-a:hover { color: #ffeb3b; background: rgb(139 195 74 / 34%); }
.gib-car-toc-a.active { color: var(--violet-light); border-left-color: var(--violet-light); background: rgba(124,58,237,0.08); font-weight: 600; }

.gib-car-toc-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: linear-gradient(135deg, #009688, #4CAF50);
  color: #fff;
  text-decoration: none;
  padding: 11px 14px;
  border-radius: var(--r);
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  transition: opacity 0.3s, box-shadow 0.3s;
}
.gib-car-toc-btn:hover { opacity: 0.9; box-shadow: 0 0 20px rgba(124,58,237,0.4); }

/* ══ MAIN ══════════════════════════════════════════════════ */
.gib-car-main { min-width: 0; }

.gib-car-sec {
  padding-bottom: 64px;
  margin-bottom: 64px;
  border-bottom: 1px solid var(--border-soft);
  scroll-margin-top: 100px;
  opacity: 0;
  transform: translateY(20px);
}
.gib-car-sec.gib-vis { opacity: 1; transform: none; transition: opacity 0.65s ease, transform 0.65s ease; }

.gib-car-sec-label {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #9e9e9e;
  margin-bottom: 10px;
}

.gib-car-h2 {
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 800;
  color: #03a9f4cf;
  margin: 0 0 24px;
  letter-spacing: -0.025em;
}

.gib-car-h3 {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin: 32px 0 14px;
}

.gib-car-body {
  font-size: 15.5px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.85;
  color: #505256e6;
  margin: 0 0 18px;
}
.gib-car-body strong { font-weight: 600; font-style: normal; color: #878d94; }

/* ── Alerts ───────────────────────────────────────────────── */
.gib-car-alert {
  display: flex;
  gap: 14px;
  padding: 20px 22px;
  border-radius: var(--r-lg);
  border-left: 3px solid;
  margin-bottom: 24px;
}
.gib-car-alert p { margin: 0; font-size: 14px; line-height: 1.75; font-style: italic; }
.gib-car-alert strong { font-style: normal; font-weight: 700; }
.gib-car-alert-ico { flex-shrink: 0; margin-top: 1px; }

.gib-car-alert.violet { background: rgba(124,58,237,0.08); border-color: var(--violet-light); }
.gib-car-alert.violet .gib-car-alert-ico { color: var(--violet-light); }
.gib-car-alert.violet p { color: rgb(102 104 106 / 70%); }

.gib-car-alert.cyan { background: #314852; border-color: var(--cyan); }
.gib-car-alert.cyan .gib-car-alert-ico { color: var(--cyan); }
.gib-car-alert.cyan p { color: rgba(226,232,240,0.8); }

/* ── Score Strip ──────────────────────────────────────────── */
.gib-car-score-strip {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  margin-top: 32px;
}

.gib-car-score-card {
  background: #314852;
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  padding: 24px 20px;
  text-align: center;
  opacity: 0;
  transform: translateY(14px);
}
.gib-car-score-card.gib-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }

.gib-car-score-card.recommended-card {
  border-color: rgba(167,139,250,0.35);
  background: #314852;
  box-shadow: 0 0 30px rgba(124,58,237,0.12);
}

.gib-car-score-flag { font-size: 36px; margin-bottom: 8px; }
.gib-car-score-name { font-family: var(--font-display); font-size: 18px; font-weight: 800; color: #fff; margin-bottom: 4px; }
.gib-car-score-label { font-family: var(--font-display); font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #c2ccdbbf; margin-bottom: 16px; }

.gib-car-score-num {
  font-family: var(--font-display);
  font-size: 42px;
  font-weight: 800;
  color: var(--violet-light);
  line-height: 1;
  margin-bottom: 12px;
}
.gib-car-score-num span { font-size: 16px; color: var(--text-muted); }

.gib-car-score-bar-wrap {
  height: 4px;
  background: rgba(255,255,255,0.06);
  border-radius: 10px;
  margin-bottom: 16px;
  overflow: hidden;
}

.gib-car-score-bar {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, var(--violet), var(--cyan));
  border-radius: 10px;
  transition: width 1.2s cubic-bezier(0.25,0.46,0.45,0.94) 0.3s;
}
.gib-car-score-bar.gib-bar-fill { width: var(--fill); }

.gib-car-score-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
.gib-car-score-tags li { font-family: var(--font-display); font-size: 11px; color: #ccd2dbcc; padding: 4px 8px; background: rgb(96 127 142 / 73%); border: 1px solid rgba(255,255,255,0.06); border-radius: 4px; }

/* ── Game Features ────────────────────────────────────────── */
.gib-car-game-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 24px 0;
}

.gib-car-gf-item {
  padding: 20px 16px;
  background: #314852;
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  opacity: 0;
  transform: translateY(12px);
}
.gib-car-gf-item.gib-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }

.gib-car-gf-icon { color: var(--violet-light); margin-bottom: 10px; }
.gib-car-gf-item strong { display: block; font-family: var(--font-display); font-size: 13px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.gib-car-gf-item span { font-size: 12px; font-style: italic; color: #d4dbe4bf; line-height: 1.5; }

/* ── Image Block ──────────────────────────────────────────── */
.gib-car-imgblock { margin: 24px 0; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--border-soft); }
.gib-car-feat-img { width: 100%; height: 320px; object-fit: cover; display: block; filter: saturate(0.7); }
.gib-car-imgcap { font-size: 12.5px; font-style: italic; color: #9ba0a6; background: var(--dark); padding: 12px 18px; margin: 0; border-top: 1px solid var(--border-soft); }

/* ── Jurisdiction Panels ──────────────────────────────────── */
.gib-car-jur-panel {
  background: #314852;
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  margin-bottom: 20px;
  overflow: hidden;
  opacity: 0;
  transform: translateY(14px);
}
.gib-car-jur-panel.gib-vis { opacity: 1; transform: none; transition: opacity 0.55s ease, transform 0.55s ease; }

.jur-malta { border-color: rgba(167,139,250,0.25); }
.jur-gib { border-color: rgba(103,232,249,0.18); }
.jur-cur { border-color: rgba(255,255,255,0.08); }

.gib-car-jur-panel-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-soft);
}
.jur-malta .gib-car-jur-panel-header { background: rgba(6,182,212,0.06); }
.jur-gib .gib-car-jur-panel-header { background: rgba(6,182,212,0.06); }
.jur-cur .gib-car-jur-panel-header { background: rgba(255,255,255,0.02); }

.gib-car-jur-flag-lg { font-size: 36px; }
.gib-car-jur-panel-title h3 { font-family: var(--font-display); font-size: 22px; font-weight: 800; color: #fff; margin: 0 0 3px; }
.gib-car-jur-panel-title span { font-family: var(--font-display); font-size: 11px; color: #a5b0c0; letter-spacing: 0.06em; }

.gib-car-jur-panel-badge {
  margin-left: auto;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 40px;
  border: 1px solid;
}
.recommended-badge { background: rgba(124,58,237,0.15); color: var(--violet-light); border-color: rgba(167,139,250,0.4); }
.contender-badge { background: rgba(6,182,212,0.1); color: var(--cyan-light); border-color: rgba(103,232,249,0.3); }
.entry-badge { background: rgba(255,255,255,0.04); color: var(--text-muted); border-color: rgba(255,255,255,0.1); }

.gib-car-jur-panel-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  padding: 24px;
}

.gib-car-jur-panel-col h4 { font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--text-dim); letter-spacing: 0.08em; text-transform: uppercase; margin: 0 0 8px; }
.gib-car-jur-panel-col p { font-size: 13.5px; font-style: italic; font-weight: 300; color: var(--text-dim); line-height: 1.72; margin: 0 0 20px; }

.gib-car-jur-pros-cons { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 8px; }
.gib-car-pros, .gib-car-cons { padding: 14px; border-radius: var(--r); }
.gib-car-pros { background: rgba(16,185,129,0.05); border: 1px solid rgba(16,185,129,0.15); }
.gib-car-cons { background: rgba(239,68,68,0.05); border: 1px solid rgba(239,68,68,0.12); }

.gib-car-pc-hd { font-family: var(--font-display); font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 10px; }
.pros-hd { color: var(--green); }
.cons-hd { color: rgb(255 152 0 / 87%); }

.gib-car-pros ul, .gib-car-cons ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
.gib-car-pros ul li, .gib-car-cons ul li { font-size: 11.5px; font-style: italic; padding-left: 12px; position: relative; color: #9ba2ac; line-height: 1.4; }
.gib-car-pros ul li::before { content: '+'; position: absolute; left: 0; color: var(--green); font-weight: 700; font-style: normal; }
.gib-car-cons ul li::before { content: '−'; position: absolute; left: 0; color: rgb(255 152 0 / 87%); font-weight: 700; font-style: normal; }

/* ── Comparative Matrix ───────────────────────────────────── */
.gib-car-matrix-wrap { overflow-x: auto; border-radius: var(--r-lg); border: 1px solid var(--border); margin-top: 20px; }

.gib-car-table { width: 100%; border-collapse: collapse; font-size: 13px; background: #45938b;}
.gib-car-table thead tr { background: var(--slate); }
.gib-car-table thead th { padding: 14px 16px; text-align: left;     background: #365657; font-family: var(--font-display); font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #dee3eb; white-space: nowrap; }
.th-malta { color: var(--violet-light) !important; }
.th-gib { color: var(--cyan-light) !important; }
.th-cur { color: var(--text-dim) !important; }
.th-rec { background: rgba(124,58,237,0.2); color: var(--violet-light); font-size: 9px; padding: 2px 7px; border-radius: 40px; margin-left: 6px; }

.gib-car-table tbody tr { border-bottom: 1px solid rgba(255,255,255,0.04); transition: background 0.2s; }
.gib-car-table tbody tr:last-child { border-bottom: none; }
.gib-car-table tbody tr:hover { background: rgba(255,255,255,0.02); }
.gib-car-table tbody td { padding: 12px 16px; color: #cfd7e2; vertical-align: middle; font-style: italic; }
.gib-car-table tbody td strong { font-style: normal; font-weight: 700; color: var(--text); display: block; margin-bottom: 3px; }
.gib-car-table tbody td span { font-size: 11px; }

.td-malta { background: rgba(124,58,237,0.04); }
.score-cell strong { font-family: var(--font-display); font-size: 16px; font-weight: 800; }
.td-malta .score-cell strong { color: var(--violet-light); }
.criteria-cell { min-width: 160px; }

.gib-car-pill {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 3px 9px;
  border-radius: 40px;
  font-style: normal;
      color: #f0f0f0ba;
}
.gib-car-pill.v { background: rgb(105 177 22 / 44%); color: #dddae6; border: 1px solid rgba(167,139,250,0.25); }
.gib-car-pill.c { background: rgba(6,182,212,0.1); color: #ffeb3bab; border: 1px solid rgba(103,232,249,0.2); }
.gib-car-pill.e { background: rgba(255,255,255,0.04); color: #cfd7e2; border: 1px solid rgba(255,255,255,0.08); }

/* ── Approach Grid ────────────────────────────────────────── */
.gib-car-approach-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 24px; }

.gib-car-ap-card {
  padding: 24px;
  background: #314852;
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(12px);
}
.gib-car-ap-card.gib-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }
.gib-car-ap-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 3px; height: 100%;
  background: linear-gradient(to bottom, var(--violet), var(--cyan));
}

.gib-car-ap-num {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--violet-light);
  margin-bottom: 8px;
}

.gib-car-ap-card h3 { font-family: var(--font-display); font-size: 16px; font-weight: 700; color: #fff; margin: 0 0 10px; }
.gib-car-ap-card p { font-size: 13.5px; font-style: italic; font-weight: 300; color: #cdd1d6db; line-height: 1.7; margin: 0 0 14px; }

.gib-car-ap-outputs { display: flex; gap: 6px; flex-wrap: wrap; }
.gib-car-ap-outputs span {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 3px 9px;
  background: #607D8B;
    border: 1px solid rgba(167, 139, 250, 0.2);
    border-radius: 40px;
    color: #f9f9f7ab;
}

/* ── Token Map ────────────────────────────────────────────── */
.gib-car-token-map {
  background: #314852;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 28px;
  margin: 24px 0;
  position: relative;
  overflow: hidden;
}
.gib-car-token-map::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(90deg, transparent, transparent 79px, rgba(124,58,237,0.04) 80px), repeating-linear-gradient(0deg, transparent, transparent 79px, rgba(124,58,237,0.04) 80px);
}

.gib-car-token-map-title {
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c7cad0c7;
  margin-bottom: 24px;
  position: relative;
}

.gib-car-token-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0;
  align-items: center;
  position: relative;
}

.gib-car-token-card {
  padding: 24px;
  border-radius: var(--r-lg);
  border: 1px solid;
  position: relative;
}
.gib-car-token-card.governance { background: rgba(124,58,237,0.08); border-color: rgba(167,139,250,0.25); }
.gib-car-token-card.utility { background: rgba(6,182,212,0.07); border-color: rgba(103,232,249,0.22); }

.gib-car-token-badge {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 40px;
  margin-bottom: 10px;
  background: rgba(124,58,237,0.15);
  border: 1px solid rgba(167,139,250,0.3);
  color: var(--violet-light);
}
.gib-car-token-badge.utility-b { background: rgba(6,182,212,0.12); border-color: rgba(103,232,249,0.25); color: var(--cyan-light); }

.gib-car-token-name { font-family: var(--font-display); font-size: 36px; font-weight: 800; color: #fff; line-height: 1; margin-bottom: 4px; }
.gib-car-token-std { font-family: var(--font-display); font-size: 10px; color: var(--text-muted); letter-spacing: 0.1em; margin-bottom: 14px; }

.gib-car-token-uses { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 5px; }
.gib-car-token-uses li { font-size: 12px; font-style: italic; color: #c7cad0c7; padding-left: 12px; position: relative; }
.gib-car-token-uses li::before { content: '·'; position: absolute; left: 2px; color: var(--violet-light); font-style: normal; }
.gib-car-token-card.utility .gib-car-token-uses li::before { color: var(--cyan-light); }

.gib-car-token-class-row { display: flex; flex-direction: column; gap: 6px; }
.gib-car-tc-item { display: flex; align-items: center; gap: 8px; font-size: 11px; }
.gib-car-tc-jur { font-family: var(--font-display); font-size: 10.5px; font-weight: 700; color: #c7cad0c7; min-width: 70px; }
.gib-car-tc-verdict { padding: 2px 8px; border-radius: 4px; font-family: var(--font-display); font-size: 10px; font-weight: 600; letter-spacing: 0.04em; }
.amber-v { background: rgba(245,158,11,0.1); color: var(--amber-light); border: 1px solid rgba(245,158,11,0.2); }
.cyan-v { background: rgba(6,182,212,0.1); color: var(--cyan-light); border: 1px solid rgba(6,182,212,0.2); }
.green-v { background: rgba(16,185,129,0.1); color: #6EE7B7; border: 1px solid rgba(16,185,129,0.2); }
.grey-v { background: rgba(255,255,255,0.04); color: #c7cad0c7; border: 1px solid rgba(255,255,255,0.08); }

.gib-car-token-vs {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  gap: 8px;
}
.gib-car-token-vs span { font-family: var(--font-display); font-size: 20px; font-weight: 800; color: rgba(167,139,250,0.4); }
.gib-car-token-vs-line { width: 1px; height: 40px; background: linear-gradient(to bottom, transparent, rgba(167,139,250,0.3), transparent); }

/* ── Loot Grid ────────────────────────────────────────────── */
.gib-car-loot-grid { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }

.gib-car-loot-item {
  display: flex;
  gap: 16px;
  padding: 18px 20px;
  background: #314852;
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  align-items: flex-start;
  opacity: 0;
  transform: translateY(10px);
}
.gib-car-loot-item.gib-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }

.gib-car-loot-jur { font-size: 28px; flex-shrink: 0; }
.gib-car-loot-body { flex: 1; }
.gib-car-loot-body strong { display: block; font-family: var(--font-display); font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 7px; }
.gib-car-loot-body p { font-size: 13.5px; font-style: italic; font-weight: 300; color: #c7cad0c7; line-height: 1.68; margin: 0 0 10px; }

.gib-car-loot-verdict { display: inline-block; font-family: var(--font-display); font-size: 10.5px; font-weight: 600; letter-spacing: 0.05em; padding: 3px 10px; border-radius: 4px; }
.verdict-amber { background: rgba(245,158,11,0.1); color: var(--amber-light); border: 1px solid rgba(245,158,11,0.2); }
.verdict-cyan { background: rgba(6,182,212,0.1); color: var(--cyan-light); border: 1px solid rgba(6,182,212,0.2); }
.verdict-grey { background: rgba(255,255,255,0.04); color: v#c3c8d0; border: 1px solid rgba(255,255,255,0.08); }

/* ── IP Grid ──────────────────────────────────────────────── */
.gib-car-ip-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px; }

.gib-car-ip-item {
  padding: 22px;
  background: #314852;
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  opacity: 0;
  transform: translateY(12px);
}
.gib-car-ip-item.gib-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }

.gib-car-ip-icon { color: var(--violet-light); margin-bottom: 12px; }
.gib-car-ip-item h4 { font-family: var(--font-display); font-size: 15px; font-weight: 700; color: #fff; margin: 0 0 10px; }
.gib-car-ip-item p { font-size: 13px; font-style: italic; font-weight: 300; color: #c7cad0c7; line-height: 1.7; margin: 0; }

/* IP Structure */
.gib-car-ip-structure {
  background:#314852;
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 28px 36px;
  margin-top: 24px;
  text-align: center;
}

.gib-car-ips-title { font-family: var(--font-display); font-size: 10.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #e2e5e9ad; margin-bottom: 28px; }

.gib-car-ips-flow { display: flex; flex-direction: column; align-items: center; gap: 0; }

.gib-car-ips-node {
  background: rgba(124,58,237,0.12);
  border: 1px solid rgba(167,139,250,0.25);
  border-radius: var(--r-lg);
  padding: 16px 28px;
  min-width: 300px;
}

.gib-car-ips-label { font-family: var(--font-display); font-size: 15px; font-weight: 800; color: #fff; margin-bottom: 6px; }
.gib-car-ips-sub { font-size: 12px; font-style: italic; color: #e2e5e9c7; }

.gib-car-ips-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 4px 0;
  color: rgba(167,139,250,0.5);
}
.gib-car-ips-arrow span { font-family: var(--font-display); font-size: 10px; letter-spacing: 0.06em; color: #e2e5e9c7; }

/* ── Risk Cards ───────────────────────────────────────────── */
.gib-car-risks-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px; }

.gib-car-risk-card {
  padding: 22px;
  border-radius: var(--r-lg);
  border: 1px solid;
  opacity: 0;
  transform: translateY(12px);
}
.gib-car-risk-card.gib-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }

.risk-crit { background: rgba(239,68,68,0.05); border-color: rgba(239,68,68,0.18); }
.risk-high { background: rgba(245,158,11,0.04); border-color: rgba(245,158,11,0.15); }
.risk-med { background: #314852; border-color: var(--border-soft); }

.gib-car-risk-hd {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 10px;
  color: #EF4444;
}
.gib-car-risk-hd.high { color: var(--amber-light); }
.gib-car-risk-hd.med { color: var(--violet-light); }

.gib-car-risk-card h4 { font-family: var(--font-display); font-size: 15px; font-weight: 700; color: #fff; margin: 0 0 9px; }
.gib-car-risk-card p { font-size: 13.5px; font-style: italic; font-weight: 300; color: #c1c6cead; line-height: 1.7; margin: 0 0 12px; }

.gib-car-risk-mit {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  background: rgba(16,185,129,0.05);
  border: 1px solid rgba(16,185,129,0.15);
  border-radius: var(--r);
  font-size: 12px;
  font-style: italic;
  color: #c1c6cead;
  line-height: 1.5;
}
.gib-car-risk-mit svg { color: var(--green); flex-shrink: 0; margin-top: 2px; }

/* ── Outcomes ─────────────────────────────────────────────── */
.gib-car-outcomes-list { display: flex; flex-direction: column; gap: 0; margin-top: 20px; }

.gib-car-oc-row {
  display: flex;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid var(--border-soft);
  opacity: 0;
  transform: translateY(10px);
}
.gib-car-oc-row.gib-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }
.gib-car-oc-row:last-child { border-bottom: none; }

.gib-car-oc-check { flex-shrink: 0; color: var(--green); margin-top: 2px; }
.gib-car-oc-body strong { display: block; font-family: var(--font-display); font-size: 14.5px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.gib-car-oc-body p { font-size: 14px; font-style: italic; font-weight: 300; color: var(--text-muted); line-height: 1.72; margin: 0; }

/* ── Quote ────────────────────────────────────────────────── */
.gib-car-quote {
  background: linear-gradient(135deg, #151616, #607D8B);
  border: 1px solid rgba(167,139,250,0.25);
  border-radius: var(--r-lg);
  padding: 36px 40px;
  margin-top: 28px;
}

.gib-car-quote-inner { position: relative; }
.gib-car-quote-mark { font-family: var(--font-display); font-size: 72px; font-weight: 800; line-height: 0.5; color: rgba(167,139,250,0.15); margin-bottom: 16px; }
.gib-car-quote p { font-family: var(--font-body); font-size: 18px; font-weight: 300; font-style: italic; line-height: 1.7; color: rgba(226,232,240,0.8); margin: 0 0 24px; }
.gib-car-quote-attr strong { display: block; font-family: var(--font-display); font-size: 13px; font-weight: 700; color: #fff; }
.gib-car-quote-attr span { font-family: var(--font-display); font-size: 11px; color: #b0b9c4de; letter-spacing: 0.04em; }

/* ── Recommendations ──────────────────────────────────────── */
.gib-car-recs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; }

.gib-car-rec-item {
  padding: 22px;
  background: #314852;
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(12px);
}
.gib-car-rec-item.gib-vis { opacity: 1; transform: none; transition: opacity 0.5s ease, transform 0.5s ease; }

.gib-car-rec-tag {
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 40px;
  display: inline-block;
  margin-bottom: 12px;
}
.urgent .gib-car-rec-tag { background: rgba(239,68,68,0.1); color: #FCA5A5; border: 1px solid rgba(239,68,68,0.25); }
.short .gib-car-rec-tag { background: rgba(245,158,11,0.1); color: var(--amber-light); border: 1px solid rgba(245,158,11,0.22); }
.medium .gib-car-rec-tag { background: rgba(124,58,237,0.1); color: var(--violet-light); border: 1px solid rgba(167,139,250,0.22); }
.ongoing .gib-car-rec-tag { background: rgba(16,185,129,0.1); color: #6EE7B7; border: 1px solid rgba(16,185,129,0.2); }

.gib-car-rec-item h4 { font-family: var(--font-display); font-size: 14.5px; font-weight: 700; color: #fff; margin: 0 0 8px; }
.gib-car-rec-item p { font-size: 13px; font-style: italic; font-weight: 300; color: #c1c6cead; line-height: 1.7; margin: 0; }

/* Footer */
.gib-car-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  padding-top: 28px;
  margin-top: 32px;
  border-top: 1px solid var(--border-soft);
  flex-wrap: wrap;
}
.gib-car-disclaimer { font-size: 12px; font-style: italic; color: var(--text-muted); line-height: 1.65; max-width: 520px; margin: 0; }

.gib-car-share-row { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); flex-shrink: 0; }
.gib-car-share-btn { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: var(--r); border: 1px solid var(--border-soft); color: var(--text-muted); text-decoration: none; transition: border-color 0.2s, color 0.2s; }
.gib-car-share-btn:hover { border-color: var(--violet-light); color: var(--violet-light); }

/* ══ CTA ══════════════════════════════════════════════════════ */
.gib-car-cta { position: relative; overflow: hidden; padding: 96px 56px; }
.gib-car-cta-bg { position: absolute; inset: 0; z-index: 0; }
.gib-car-cta-bg img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.3) brightness(0.3); }
.gib-car-cta-veil { position: absolute; inset: 0;}
.gib-car-cta-stars {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1px 1px at 10% 20%, rgba(255,255,255,0.4) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 40% 10%, rgba(167,139,250,0.5) 0%, transparent 100%),
    radial-gradient(1px 1px at 70% 35%, rgba(255,255,255,0.3) 0%, transparent 100%),
    radial-gradient(1px 1px at 85% 70%, rgba(103,232,249,0.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 25% 80%, rgba(255,255,255,0.25) 0%, transparent 100%);
}

.gib-car-cta-inner {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 80px;
  align-items: center;
}

.gib-car-cta-eyebrow { font-family: var(--font-display); font-size: 10px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: #00bcd4db; margin-bottom: 14px; }

.gib-car-cta-h2 { font-family: var(--font-display); font-size: clamp(26px, 3.2vw, 48px); font-weight: 800; color: #fff; line-height: 1.1; margin: 0 0 18px; letter-spacing: -0.03em; }
.gib-car-cta-h2 em {
  font-style: normal;
  background: linear-gradient(90deg, var(--violet-light), var(--cyan-light));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.gib-car-cta-desc { font-size: 15px; font-style: italic; font-weight: 300; color: rgb(232 239 240 / 72%); line-height: 1.78; margin-bottom: 32px; }

.gib-car-cta-btns { display: flex; gap: 14px; flex-wrap: wrap; }

.gib-car-cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #03A9F4, #00BCD4);
  color: #fff;
  text-decoration: none;
  padding: 15px 26px;
  border-radius: var(--r);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: opacity 0.3s, gap 0.3s, box-shadow 0.3s;
}
.gib-car-cta-primary:hover { opacity: 0.9; gap: 16px; box-shadow: 0 0 28px rgba(124,58,237,0.4); }

.gib-car-cta-ghost {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  padding: 15px 26px;
  border-radius: var(--r);
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  border: 1px solid rgba(255,255,255,0.1);
  transition: border-color 0.3s, color 0.3s;
}
.gib-car-cta-ghost:hover { border-color: rgba(167,139,250,0.4); color: var(--violet-light); }

.gib-car-cta-svcs { display: flex; flex-direction: column; gap: 0; }
.gib-car-cta-svc { display: flex; align-items: center; gap: 12px; font-size: 13px; font-style: italic; color:rgb(232 239 240 / 72%); padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.04); }
.gib-car-cta-svc:last-child { border-bottom: none; }
.gib-car-cta-svc svg { flex-shrink: 0; }

/* ══ RELATED ══════════════════════════════════════════════════ */
.gib-car-related { background: var(--deep); border-top: 1px solid var(--border-soft); padding: 72px 56px; }
.gib-car-rel-inner { max-width: 1280px; margin: 0 auto; }
.gib-car-rel-h2 { font-family: var(--font-display); font-size: clamp(22px, 2.8vw, 34px); font-weight: 800; color: #fff; margin: 0 0 36px; letter-spacing: -0.025em; }

.gib-car-rel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

.gib-car-rel-card {
  border-radius: var(--r-lg);
  overflow: hidden;
  text-decoration: none;
  background: var(--dark);
  border: 1px solid var(--border-soft);
  transition: border-color var(--ease), transform var(--ease), box-shadow var(--ease);
  opacity: 0;
  transform: translateY(12px);
}
.gib-car-rel-card.gib-vis { opacity: 1; transform: none; transition: opacity 0.55s ease, transform 0.55s ease, border-color var(--ease); }
.gib-car-rel-card:hover { border-color: rgba(167,139,250,0.3); transform: translateY(-4px) !important; box-shadow: 0 16px 40px rgba(0,0,0,0.4); }

.gib-car-rel-img { height: 170px; overflow: hidden; }
.gib-car-rel-img img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(0.6); transition: transform 0.7s ease; }
.gib-car-rel-card:hover .gib-car-rel-img img { transform: scale(1.06); }

.gib-car-rel-body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 8px; }
.gib-car-rel-body h4 { font-family: var(--font-display); font-size: 15px; font-weight: 700; color: #fff; line-height: 1.35; margin: 0; }

.gib-car-rel-lnk { display: inline-flex; align-items: center; gap: 5px; font-family: var(--font-display); font-size: 10.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--violet-light); }

/* ══ RESPONSIVE ══════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .gib-car-jur-indicators { display: none; }
  .gib-car-layout { grid-template-columns: 1fr; padding: 48px 32px; gap: 36px; }
  .gib-car-toc { position: static; max-height: none; }
  .gib-car-toc-box { display: flex; flex-wrap: wrap; gap: 6px; padding: 14px 16px; }
  .gib-car-toc-hd { width: 100%; margin-bottom: 4px; }
  .gib-car-toc-nav { flex-direction: row; flex-wrap: wrap; margin-bottom: 8px; }
  .gib-car-toc-a { border-left: none; border-bottom: 2px solid transparent; font-size: 11px; }
  .gib-car-toc-a.active { border-left: none; border-bottom-color: var(--violet-light); }
  .gib-car-toc-btn { width: auto; }
  .gib-car-score-strip { grid-template-columns: 1fr; gap: 12px; }
  .gib-car-approach-grid { grid-template-columns: 1fr; }
  .gib-car-jur-panel-body { grid-template-columns: 1fr; }
  .gib-car-jur-pros-cons { grid-template-columns: 1fr 1fr; }
  .gib-car-token-row { grid-template-columns: 1fr; }
  .gib-car-token-vs { flex-direction: row; padding: 12px 0; }
  .gib-car-token-vs-line { width: 40px; height: 1px; }
  .gib-car-ip-grid { grid-template-columns: 1fr; }
  .gib-car-risks-grid { grid-template-columns: 1fr; }
  .gib-car-recs-grid { grid-template-columns: 1fr; }
  .gib-car-cta-inner { grid-template-columns: 1fr; gap: 48px; }
  .gib-car-rel-grid { grid-template-columns: 1fr 1fr; }
  .gib-car-cta { padding: 64px 32px; }
  .gib-car-related { padding: 56px 32px; }
}

@media (max-width: 768px) {
  .gib-car-hero-inner { padding: 0 24px 56px; }
  .gib-car-game-features { grid-template-columns: 1fr 1fr; }
  .gib-car-jur-pros-cons { grid-template-columns: 1fr; }
  .gib-car-rel-grid { grid-template-columns: 1fr; }
  .gib-car-footer { flex-direction: column; }
  .gib-car-cta { padding: 56px 24px; }
}

@media (max-width: 480px) {
  .gib-car-hero-h1 { font-size: 34px; }
  .gib-car-layout { padding: 36px 20px; }
  .gib-car-game-features { grid-template-columns: 1fr; }
  .gib-car-score-strip { grid-template-columns: 1fr; }
}

/* ============================================================
   bvi-tp.css — Tech Legal BVI Token Case Study
   Scope: .cs-bvi-root and all descendants
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@400;500&display=swap');

/* ── Tokens ──────────────────────────────────────────────── */
.cs-bvi-root {
  --bvi-gold:        #B8943F;
  --bvi-gold-light:  #D4AE63;
  --bvi-gold-pale:   #F5EDD8;
  --bvi-navy:        #0D1B2A;
  --bvi-navy-mid:    #132236;
  --bvi-ink:         #1A1A2E;
  --bvi-slate:       #3D4B5C;
  --bvi-mist:        #F7F5F1;
  --bvi-white:       #FFFFFF;
  --bvi-line:        rgba(184,148,63,0.25);

  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'DM Sans', sans-serif;
  --font-mono:    'DM Mono', monospace;

  --max-w: 1180px;
  --section-pad: clamp(72px, 9vw, 130px) clamp(20px, 5vw, 60px);

  font-family: var(--font-body);
  color: var(--bvi-ink);
  overflow-x: hidden;
  background: var(--bvi-white);
}

/* ── Utility ─────────────────────────────────────────────── */
.cs-bvi-root *,
.cs-bvi-root *::before,
.cs-bvi-root *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.cs-bvi-root a { text-decoration: none; }
.cs-bvi-root img { display: block; max-width: 100%; }

.cs-bvi-section__inner {
  max-width: var(--max-w);
  margin-inline: auto;
}

/* ── Tags ────────────────────────────────────────────────── */
.cs-bvi-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: var(--bvi-gold);
  color: var(--bvi-white);
  padding: 5px 14px;
  border-radius: 2px;
}

.cs-bvi-tag--outline {
  background: transparent;
  color: var(--bvi-gold-light);
  border: 1px solid var(--bvi-gold-light);
}

/* ── Eyebrow ─────────────────────────────────────────────── */
.cs-bvi-eyebrow {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bvi-gold);
  margin-bottom: 16px;
}

.cs-bvi-eyebrow--light { color: var(--bvi-gold-light); }

/* ── Section Titles ──────────────────────────────────────── */
.cs-bvi-section__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
  line-height: 1.18;
  color: var(--bvi-navy);
  margin-bottom: 28px;
}

.cs-bvi-section__title--light { color: var(--bvi-white); }

.cs-bvi-section__title em {
  font-style: italic;
  color: var(--bvi-gold);
}

/* ── Body ────────────────────────────────────────────────── */
.cs-bvi-body {
  font-size: 1rem;
  line-height: 1.78;
  color: var(--bvi-slate);
  margin-bottom: 20px;
  max-width: 680px;
}

.cs-bvi-body--lead {
  font-size: 1.08rem;
  color: var(--bvi-navy);
}

.cs-bvi-body--light {
  color: rgba(255,255,255,0.78);
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}

/* ════════════════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════════════════ */
.cs-bvi-hero {
  position: relative;
  min-height: 100svh;
  background: #253a51;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 0;
  padding: clamp(100px, 6vw, 160px) clamp(24px, 6vw, 80px) clamp(72px, 8vw, 120px);
  overflow: hidden;
}

/* animated grid lines */
.cs-bvi-hero__grid-lines {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(184,148,63,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184,148,63,0.06) 1px, transparent 1px);
  background-size: 64px 64px;
  animation: cs-bvi-gridshift 20s linear infinite;
}

@keyframes cs-bvi-gridshift {
  0%   { background-position: 0 0; }
  100% { background-position: 64px 64px; }
}

.cs-bvi-hero__inner {
  position: relative;
  z-index: 2;
  padding-right: 40px;
}

.cs-bvi-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 36px;
  animation: cs-bvi-fadein 0.8s ease both;
}

.cs-bvi-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 5vw, 4rem);
  font-weight: 500;
  line-height: 1.12;
  color: var(--bvi-white);
  margin-bottom: 28px;
  animation: cs-bvi-fadein 0.9s 0.15s ease both;
}

.cs-bvi-hero__title em {
  font-style: italic;
  color: var(--bvi-gold-light);
}

.cs-bvi-hero__sub {
  font-size: 1.05rem;
  line-height: 1.72;
  color: rgba(255,255,255,0.65);
  max-width: 560px;
  margin-bottom: 52px;
  animation: cs-bvi-fadein 1s 0.3s ease both;
}

/* Stats row */
.cs-bvi-hero__stats {
  display: flex;
  gap: 0;
  border: 1px solid var(--bvi-line);
  width: fit-content;
  animation: cs-bvi-fadein 1.1s 0.45s ease both;
}

.cs-bvi-stat {
  padding: 18px 28px;
  border-right: 1px solid var(--bvi-line);
}

.cs-bvi-stat:last-child { border-right: none; }

.cs-bvi-stat__num {
  display: block;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--bvi-gold-light);
  line-height: 1.2;
}

.cs-bvi-stat__label {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-top: 4px;
}

/* Hero visual */
.cs-bvi-hero__visual {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: cs-bvi-fadein 1s 0.6s ease both;
}

.cs-bvi-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
}

.cs-bvi-orb--1 {
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(184,148,63,0.22), transparent 70%);
  top: -80px;
  right: -60px;
  animation: cs-bvi-pulse 6s ease-in-out infinite alternate;
}

.cs-bvi-orb--2 {
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(13,27,42,0.5), transparent 70%);
  bottom: -60px;
  left: 60px;
  animation: cs-bvi-pulse 8s 1s ease-in-out infinite alternate;
}

@keyframes cs-bvi-pulse {
  from { transform: scale(1); opacity: 0.8; }
  to   { transform: scale(1.15); opacity: 1; }
}

.cs-bvi-hero__img-frame {
  position: relative;
  width: min(100%, 520px);
}

.cs-bvi-hero__img {
  width: 100%;
  height: 540px;
  object-fit: cover;
  border: 1px solid var(--bvi-line);
}

.cs-bvi-hero__img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, transparent 40%, rgba(13,27,42,0.55));
  pointer-events: none;
}

.cs-bvi-hero__img-badge {
  position: absolute;
  bottom: 24px;
  left: 24px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(13,27,42,0.88);
  backdrop-filter: blur(12px);
  border: 1px solid var(--bvi-line);
  padding: 12px 18px;
  color: var(--bvi-gold-light);
  font-size: 0.82rem;
  font-family: var(--font-mono);
  letter-spacing: 0.06em;
}

/* ════════════════════════════════════════════════════════════
   CONTEXT STRIP
   ════════════════════════════════════════════════════════════ */
.cs-bvi-context-strip {
  background: var(--bvi-gold-pale);
  border-top: 2px solid var(--bvi-gold);
  border-bottom: 1px solid rgba(184,148,63,0.2);
  padding: 20px clamp(20px, 5vw, 60px);
}

.cs-bvi-context-strip__inner {
  max-width: var(--max-w);
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: center;
}

.cs-bvi-context-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.88rem;
  color: var(--bvi-navy);
}

.cs-bvi-context-item svg { color: var(--bvi-gold); flex-shrink: 0; }

.cs-bvi-context-sep {
  width: 1px;
  height: 28px;
  background: rgba(184,148,63,0.3);
}

/* ════════════════════════════════════════════════════════════
   GENERIC SECTION
   ════════════════════════════════════════════════════════════ */
.cs-bvi-section {
  padding: var(--section-pad);
}

/* ── Layout: Split ───────────────────────────────────────── */
.cs-bvi-layout-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 6vw, 100px);
  align-items: center;
}

.cs-bvi-layout-split--reverse .cs-bvi-split__content { order: 2; }
.cs-bvi-layout-split--reverse .cs-bvi-split__visual  { order: 1; }

/* ════════════════════════════════════════════════════════════
   BACKGROUND SECTION (background / intro)
   ════════════════════════════════════════════════════════════ */
.cs-bvi-bg-section {
  background: var(--bvi-mist);
  position: relative;
}

.cs-bvi-bg-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 3px;
  height: 100%;
  background: linear-gradient(to bottom, var(--bvi-gold), transparent);
}

/* Highlight box */
.cs-bvi-highlight-box {
  display: flex;
  gap: 14px;
  background: var(--bvi-white);
  border-left: 3px solid var(--bvi-gold);
  padding: 20px 22px;
  margin-top: 30px;
  box-shadow: 0 2px 20px rgba(0,0,0,0.05);
}

.cs-bvi-highlight-box svg {
  color: var(--bvi-gold);
  flex-shrink: 0;
  margin-top: 3px;
}

.cs-bvi-highlight-box p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--bvi-slate);
  margin: 0;
}

/* Image stack */
.cs-bvi-img-stack {
  position: relative;
}

.cs-bvi-img-stack__main {
  width: 100%;
  height: 480px;
  object-fit: cover;
  box-shadow: 16px 16px 0 var(--bvi-gold-pale), 16px 16px 0 1px rgba(184,148,63,0.25);
}

.cs-bvi-img-stack__accent {
  position: absolute;
  bottom: -36px;
  left: -36px;
  width: 52%;
  border: 4px solid var(--bvi-white);
  box-shadow: 0 8px 30px rgba(0,0,0,0.18);
}

.cs-bvi-img-stack__secondary {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.cs-bvi-img-stack__label {
  position: absolute;
  top: 20px;
  right: -20px;
  background: var(--bvi-gold);
  color: var(--bvi-white);
  font-size: 0.72rem;
  font-family: var(--font-mono);
  letter-spacing: 0.08em;
  padding: 8px 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* ════════════════════════════════════════════════════════════
   CHALLENGE SECTION
   ════════════════════════════════════════════════════════════ */
.cs-bvi-challenge-section {
  background: #253a51;
  position: relative;
  overflow: hidden;
  text-align: left;
}

.cs-bvi-challenge__pattern {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    45deg,
    rgba(184,148,63,0.04) 0px,
    rgba(184,148,63,0.04) 1px,
    transparent 1px,
    transparent 40px
  );
}

.cs-bvi-challenge-section .cs-bvi-section__inner { position: relative; z-index: 1; }
.cs-bvi-challenge-section .cs-bvi-section__title { margin-bottom: 52px; max-width: 820px; }
.cs-bvi-challenge-section .cs-bvi-body { max-width: 820px; }

.cs-bvi-challenge-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  background: var(--bvi-line);
}

.cs-bvi-challenge-card {
  background: var(--bvi-navy-mid);
  padding: 40px 36px;
  position: relative;
  transition: background 0.3s ease;
}

.cs-bvi-challenge-card:hover {
  background: rgba(255,255,255,0.04);
}

.cs-bvi-challenge-card__icon {
  width: 52px;
  height: 52px;
  border: 1px solid var(--bvi-line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bvi-gold);
  margin-bottom: 22px;
  transition: border-color 0.3s, background 0.3s;
}

.cs-bvi-challenge-card:hover .cs-bvi-challenge-card__icon {
  border-color: var(--bvi-gold);
  background: rgba(184,148,63,0.1);
}

.cs-bvi-challenge-card h3 {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--bvi-white);
  margin-bottom: 14px;
}

.cs-bvi-challenge-card p {
  font-size: 0.9rem;
  line-height: 1.72;
  color: rgba(255,255,255,0.55);
}

/* ════════════════════════════════════════════════════════════
   APPROACH SECTION — TIMELINE
   ════════════════════════════════════════════════════════════ */
.cs-bvi-approach-section {
  background: var(--bvi-white);
}

.cs-bvi-approach-section .cs-bvi-section__title { max-width: 780px; }
.cs-bvi-approach-section .cs-bvi-body--lead { margin-bottom: 64px; }

.cs-bvi-approach-timeline {
  position: relative;
}

.cs-bvi-timeline-item {
  display: grid;
  grid-template-columns: 72px 2px 1fr;
  gap: 0 28px;
  margin-bottom: 0;
}

.cs-bvi-timeline-item__num {
  font-family: var(--font-display);
  font-size: 2.8rem;
  font-weight: 400;
  color: var(--bvi-gold-pale);
  line-height: 1;
  padding-top: 6px;
  text-align: right;
  user-select: none;
  letter-spacing: -0.03em;
}

.cs-bvi-timeline-item__line {
  background: linear-gradient(to bottom, var(--bvi-gold), rgba(184,148,63,0.15));
  width: 2px;
  min-height: 100%;
  position: relative;
}

.cs-bvi-timeline-item__line::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 10px;
  height: 10px;
  background: var(--bvi-gold);
  border-radius: 50%;
  border: 2px solid var(--bvi-white);
  box-shadow: 0 0 0 2px var(--bvi-gold);
}

.cs-bvi-timeline-item__line--last {
  background: linear-gradient(to bottom, var(--bvi-gold), transparent);
}

.cs-bvi-timeline-item__body {
  padding: 0 0 64px 0;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 36px;
  align-items: start;
}

.cs-bvi-timeline-item__img-wrap {
  flex-shrink: 0;
}

.cs-bvi-timeline-item__img-wrap img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border: 1px solid rgba(184,148,63,0.15);
}

.cs-bvi-timeline-item__text h3 {
  font-family: var(--font-display);
  font-size: 1.45rem;
  font-weight: 500;
  color: var(--bvi-navy);
  margin-bottom: 14px;
  padding-top: 4px;
}

.cs-bvi-timeline-item__text p {
  font-size: 0.93rem;
  line-height: 1.78;
  color: var(--bvi-slate);
}

/* ════════════════════════════════════════════════════════════
   OUTCOME SECTION
   ════════════════════════════════════════════════════════════ */
.cs-bvi-outcome-section {
  background: var(--bvi-mist);
  position: relative;
  overflow: hidden;
}

.cs-bvi-outcome-section::after {
  content: '';
  position: absolute;
  top: -120px; right: -120px;
  width: 480px; height: 480px;
  background: radial-gradient(circle, rgba(184,148,63,0.08), transparent 70%);
  pointer-events: none;
}

.cs-bvi-outcome-list {
  list-style: none;
  margin: 20px 0 24px;
}

.cs-bvi-outcome-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.93rem;
  line-height: 1.65;
  color: var(--bvi-slate);
  padding: 12px 0;
  border-bottom: 1px solid rgba(184,148,63,0.12);
}

.cs-bvi-outcome-list li:last-child { border-bottom: none; }

.cs-bvi-outcome-list li svg {
  color: var(--bvi-gold);
  flex-shrink: 0;
  margin-top: 3px;
}

/* Outcome visual */
.cs-bvi-outcome-visual {
  position: relative;
}

.cs-bvi-outcome-img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  box-shadow: -16px 16px 0 var(--bvi-gold-pale), -16px 16px 0 1px rgba(184,148,63,0.25);
}

.cs-bvi-outcome-badge-wrap {
  position: absolute;
  bottom: 36px;
  left: -24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cs-bvi-outcome-badge {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--bvi-white);
  border: 1px solid rgba(184,148,63,0.2);
  border-left: 3px solid var(--bvi-gold);
  padding: 12px 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  min-width: 200px;
}

.cs-bvi-outcome-badge svg {
  color: var(--bvi-gold);
  flex-shrink: 0;
}

.cs-bvi-outcome-badge strong {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--bvi-navy);
}

.cs-bvi-outcome-badge span {
  display: block;
  font-size: 0.72rem;
  color: var(--bvi-slate);
  margin-top: 1px;
}

/* ════════════════════════════════════════════════════════════
   WHY BVI SECTION
   ════════════════════════════════════════════════════════════ */
.cs-bvi-why-section {
  position: relative;
  padding: var(--section-pad);
  text-align: center;
  overflow: hidden;
}

.cs-bvi-why-section__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.cs-bvi-why-section__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

.cs-bvi-why-section__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(13,27,42,0.92) 0%, rgba(13,27,42,0.85) 60%, rgba(13,27,42,0.95) 100%);
}

.cs-bvi-why-section .cs-bvi-section__inner {
  position: relative;
  z-index: 1;
}

.cs-bvi-why-section .cs-bvi-section__title {
  max-width: 700px;
  margin-inline: auto;
  margin-bottom: 20px;
}

.cs-bvi-why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(184,148,63,0.2);
  margin-top: 56px;
  text-align: left;
}

.cs-bvi-why-item {
  background: #253a51;
  backdrop-filter: blur(10px);
  padding: 36px 28px;
  transition: background 0.3s;
}

.cs-bvi-why-item:hover {
  background: rgba(255,255,255,0.05);
}

.cs-bvi-why-item svg {
  color: var(--bvi-gold);
  margin-bottom: 18px;
}

.cs-bvi-why-item h4 {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--bvi-white);
  margin-bottom: 12px;
}

.cs-bvi-why-item p {
  font-size: 0.875rem;
  line-height: 1.72;
  color: rgba(255,255,255,0.55);
}

/* ════════════════════════════════════════════════════════════
   CTA SECTION
   ════════════════════════════════════════════════════════════ */
.cs-bvi-cta-section {
  position: relative;
  background: var(--bvi-gold-pale);
  padding: var(--section-pad);
  text-align: center;
  overflow: hidden;
}

.cs-bvi-cta-section__pattern {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(184,148,63,0.3) 1px, transparent 0);
  background-size: 28px 28px;
  opacity: 0.5;
}

.cs-bvi-cta-section__inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin-inline: auto;
}

.cs-bvi-cta-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bvi-gold);
  border: 1px solid var(--bvi-gold);
  padding: 6px 16px;
  margin-bottom: 28px;
}

.cs-bvi-cta__title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 500;
  color: var(--bvi-navy);
  margin-bottom: 22px;
  line-height: 1.18;
}

.cs-bvi-cta__body {
  font-size: 1rem;
  line-height: 1.75;
  color: var(--bvi-slate);
  margin-bottom: 44px;
  max-width: 640px;
  margin-inline: auto;
  text-align: center;
}

.cs-bvi-cta__actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ── Buttons ─────────────────────────────────────────────── */
.cs-bvi-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 16px 32px;
  cursor: pointer;
  transition: all 0.25s ease;
  border: none;
}

.cs-bvi-btn--primary {
  background: var(--bvi-navy);
  color: var(--bvi-white);
}

.cs-bvi-btn--primary:hover {
  background: var(--bvi-gold);
  color: var(--bvi-white);
}

.cs-bvi-btn--primary svg {
  transition: transform 0.25s;
}

.cs-bvi-btn--primary:hover svg {
  transform: translateX(4px);
}

.cs-bvi-btn--secondary {
  background: transparent;
  color: var(--bvi-navy);
  border: 1.5px solid var(--bvi-navy);
}

.cs-bvi-btn--secondary:hover {
  background: var(--bvi-navy);
  color: var(--bvi-white);
}

/* ── Entrance animation ──────────────────────────────────── */
@keyframes cs-bvi-fadein {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .cs-bvi-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: clamp(100px, 14vw, 140px);
  }

  .cs-bvi-hero__inner { padding-right: 0; }

  .cs-bvi-hero__visual {
    margin-top: 48px;
  }

  .cs-bvi-hero__img {
    height: 380px;
  }

  .cs-bvi-layout-split {
    grid-template-columns: 1fr;
  }

  .cs-bvi-layout-split--reverse .cs-bvi-split__content,
  .cs-bvi-layout-split--reverse .cs-bvi-split__visual {
    order: unset;
  }

  .cs-bvi-img-stack__main {
    height: 320px;
  }

  .cs-bvi-img-stack__accent {
    bottom: -20px;
    left: -16px;
  }

  .cs-bvi-challenge-grid {
    grid-template-columns: 1fr;
  }

  .cs-bvi-timeline-item__body {
    grid-template-columns: 1fr;
  }

  .cs-bvi-timeline-item__img-wrap img {
    height: 240px;
  }

  .cs-bvi-why-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cs-bvi-outcome-img { box-shadow: none; }
  .cs-bvi-outcome-badge-wrap {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 20px;
  }
}

@media (max-width: 640px) {
  .cs-bvi-hero__stats {
    flex-direction: column;
    width: 100%;
  }

  .cs-bvi-stat { border-right: none; border-bottom: 1px solid var(--bvi-line); }
  .cs-bvi-stat:last-child { border-bottom: none; }

  .cs-bvi-context-strip__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .cs-bvi-context-sep { display: none; }

  .cs-bvi-timeline-item {
    grid-template-columns: 40px 2px 1fr;
    gap: 0 14px;
  }

  .cs-bvi-timeline-item__num {
    font-size: 1.8rem;
  }

  .cs-bvi-timeline-item__body {
    padding-bottom: 40px;
  }

  .cs-bvi-why-grid {
    grid-template-columns: 1fr;
  }

  .cs-bvi-cta__actions {
    flex-direction: column;
    align-items: center;
  }

  .cs-bvi-btn {
    width: 100%;
    justify-content: center;
  }

  .cs-bvi-outcome-badge-wrap {
    flex-direction: column;
  }
}

/* ============================================================
   thai-up.css — Tech Legal Thailand Utility Token Case Study
   Scope: .th-root and all descendants
   No global/root overrides — fully sandboxed
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,700;1,400;1,500&family=Outfit:wght@300;400;500;600&family=Inconsolata:wght@400;500&display=swap');

/* ── Design Tokens ───────────────────────────────────────── */
.th-root {
  --th-terra:       #C4622D;
  --th-terra-light: #E07A48;
  --th-terra-pale:  #FAF0E8;
  --th-jade:        #2A6049;
  --th-jade-light:  #3D7A5E;
  --th-jade-pale:   #EBF4EF;
  --th-sage-bg:     #F0F5F2;
  --th-ink:         #1C1C1C;
  --th-charcoal:    #2E2E2E;
  --th-slate:       #5A5A5A;
  --th-stone:       #8A8070;
  --th-white:       #FFFFFF;
  --th-cream:       #FAF8F4;
  --th-line:        rgba(196, 98, 45, 0.18);
  --th-jade-line:   rgba(42, 96, 73, 0.18);

  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'Outfit', sans-serif;
  --font-mono:    'Inconsolata', monospace;

  --max-w: 1180px;
  --pad-x: clamp(20px, 5vw, 60px);
  --pad-y: clamp(72px, 9vw, 120px);

  font-family: var(--font-body);
  color: var(--th-ink);
  background: var(--th-white);
  overflow-x: hidden;
}

/* ── Reset inside scope ──────────────────────────────────── */
.th-root *, .th-root *::before, .th-root *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.th-root a { text-decoration: none; }
.th-root img { display: block; max-width: 100%; }
.th-root ul { list-style: none; }

/* ── Layout wrapper ──────────────────────────────────────── */
.th-section__inner {
  max-width: var(--max-w);
  margin-inline: auto;
}

/* ── Pills ───────────────────────────────────────────────── */
.th-pill {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.67rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: var(--th-terra);
  color: var(--th-white);
  padding: 5px 13px 4px;
  border-radius: 1px;
}

.th-pill--ghost {
  background: transparent;
  color: rgba(255,255,255,0.7);
  border: 1px solid rgba(255,255,255,0.35);
}

/* ── Eyebrow ─────────────────────────────────────────────── */
.th-eyebrow {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--th-terra);
  margin-bottom: 14px;
}

.th-eyebrow--light { color: rgba(255,255,255,0.75); }
.th-eyebrow--sage  { color: var(--th-jade); }

/* ── Section Titles ──────────────────────────────────────── */
.th-section-title {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.8vw, 2.9rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--th-charcoal);
  margin-bottom: 28px;
}

.th-section-title--narrow { max-width: 720px; }
.th-section-title--light  { color: var(--th-white); }
.th-section-title--dark   { color: var(--th-charcoal); }

/* ── Body ────────────────────────────────────────────────── */
.th-body {
  font-size: 0.97rem;
  line-height: 1.8;
  color: var(--th-slate);
  margin-bottom: 18px;
  max-width: 700px;
}

.th-body--lead {
  font-size: 1.06rem;
  color: var(--th-charcoal);
  margin-bottom: 52px;
}

.th-body--reg-sub {
  max-width: 580px;
}

/* ════════════════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════════════════ */
.th-hero {
  position: relative;
  min-height: 100svh;
  background: var(--th-jade);
  display: grid;
  grid-template-columns: 55% 45%;
  align-items: center;
  padding: clamp(60px, 5vw, 150px) var(--pad-x) clamp(72px, 5vw, 110px);
  overflow: hidden;
  gap: 0;
}

/* Organic texture overlay */
.th-hero__texture {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse 80% 60% at 70% 50%, rgba(196,98,45,0.12), transparent),
    url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}

.th-hero__left {
  position: relative;
  z-index: 2;
  padding-right: 48px;
}

.th-hero__label-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 36px;
  animation: th-rise 0.8s ease both;
}

.th-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 5.5vw, 4.4rem);
  font-weight: 500;
  line-height: 1.06;
  color: var(--th-white);
  margin-bottom: 28px;
  animation: th-rise 0.9s 0.12s ease both;
}

.th-hero__title-accent {
  color: #ECA96B;
  font-style: italic;
}

.th-hero__sub {
  font-size: 1rem;
  line-height: 1.72;
  color: rgba(255,255,255,0.62);
  max-width: 540px;
  margin-bottom: 44px;
  animation: th-rise 1s 0.24s ease both;
}

.th-hero__meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  animation: th-rise 1.1s 0.36s ease both;
}

.th-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 0.78rem;
  color: rgba(255,255,255,0.65);
  border: 1px solid rgba(255,255,255,0.2);
  padding: 7px 14px;
  letter-spacing: 0.03em;
}

.th-meta-chip svg { color: #ECA96B; flex-shrink: 0; }

/* Hero right */
.th-hero__right {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: th-rise 1s 0.5s ease both;
}

.th-hero__img-container {
  position: relative;
  width: min(100%, 480px);
}

.th-hero__img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: center;
  border: 1px solid rgba(255,255,255,0.12);
}

.th-hero__img-caption {
  position: absolute;
  bottom: 20px;
  left: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(28,60,45,0.9);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.8);
  font-size: 0.75rem;
  font-family: var(--font-mono);
  letter-spacing: 0.06em;
  padding: 10px 14px;
}

.th-hero__img-caption svg { color: #ECA96B; }

/* Float stats */
.th-hero__float-stat {
  position: absolute;
  background: rgba(28, 60, 45, 0.88);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,0.12);
  border-top: 2px solid #ECA96B;
  padding: 14px 20px;
  text-align: center;
}

.th-hero__float-stat--a { top: 10%; right: -12px; }
.th-hero__float-stat--b { bottom: 18%; left: -20px; }

.th-fstat__val {
  display: block;
  font-family: var(--font-display);
  font-size: 1.1rem;
  color: #ECA96B;
  line-height: 1.1;
  font-weight: 600;
}

.th-fstat__lbl {
  display: block;
  font-size: 0.65rem;
  font-family: var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  margin-top: 4px;
}

/* ════════════════════════════════════════════════════════════
   CONTEXT BAR
   ════════════════════════════════════════════════════════════ */
.th-context-bar {
  background: var(--th-terra-pale);
  border-bottom: 1px solid var(--th-line);
  border-top: 2px solid var(--th-terra);
  padding: 18px var(--pad-x);
}

.th-context-bar__inner {
  max-width: var(--max-w);
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
}

.th-ctx {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.83rem;
}

.th-ctx svg { color: var(--th-terra); flex-shrink: 0; }

.th-ctx strong {
  display: block;
  font-size: 0.65rem;
  font-family: var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--th-stone);
  margin-bottom: 1px;
}

.th-ctx span {
  font-size: 0.83rem;
  color: var(--th-charcoal);
  font-weight: 500;
}

.th-ctx-div {
  width: 1px;
  height: 32px;
  background: var(--th-line);
}

/* ════════════════════════════════════════════════════════════
   SECTIONS
   ════════════════════════════════════════════════════════════ */
.th-section {
  padding: var(--pad-y) var(--pad-x);
}

.th-section--cream  { background: var(--th-cream); }
.th-section--white  { background: var(--th-white); }
.th-section--sage   { background: var(--th-sage-bg); }
.th-section--terracotta { background: var(--th-terra); }

/* ── 2-col layout ────────────────────────────────────────── */
.th-layout-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
}

/* ── Stacked images ──────────────────────────────────────── */
.th-stacked-imgs {
  position: relative;
}

.th-stacked-imgs__main {
  width: 100%;
  height: 440px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 20px 20px 0 var(--th-terra-pale), 20px 20px 0 1px rgba(196,98,45,0.2);
}

.th-stacked-imgs__secondary {
  position: absolute;
  bottom: -28px;
  left: -24px;
  width: 55%;
  height: 170px;
  object-fit: cover;
  border: 4px solid var(--th-white);
  border-radius: 2px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.14);
}

.th-stacked-imgs__tag {
  position: absolute;
  top: 20px;
  right: -12px;
  background: var(--th-terra);
  color: var(--th-white);
  font-size: 0.7rem;
  font-family: var(--font-mono);
  letter-spacing: 0.07em;
  padding: 8px 14px;
  display: flex;
  align-items: center;
  gap: 7px;
}

/* ════════════════════════════════════════════════════════════
   REGULATORY LANDSCAPE
   ════════════════════════════════════════════════════════════ */
.th-reg-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
  margin-bottom: 64px;
}

.th-reg-header .th-section-title { margin-bottom: 0; }

.th-body--reg-sub {
  align-self: end;
  padding-top: 16px;
}

.th-reg-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  background: rgba(196,98,45,0.1);
}

.th-reg-item {
  background: var(--th-white);
  overflow: hidden;
  transition: box-shadow 0.3s;
}

.th-reg-item:hover {
  box-shadow: 0 4px 32px rgba(0,0,0,0.1);
  z-index: 1;
}

.th-reg-item__num {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  color: var(--th-terra);
  padding: 20px 28px 0;
  text-transform: uppercase;
}

.th-reg-item__img img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  margin-top: 12px;
  transition: transform 0.5s ease;
}

.th-reg-item:hover .th-reg-item__img img {
  transform: scale(1.04);
}

.th-reg-item__img {
  overflow: hidden;
}

.th-reg-item__content {
  padding: 24px 28px 32px;
}

.th-reg-item__content h3 {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--th-charcoal);
  margin-bottom: 12px;
  line-height: 1.3;
}

.th-reg-item__content p {
  font-size: 0.88rem;
  line-height: 1.74;
  color: var(--th-slate);
}

/* ════════════════════════════════════════════════════════════
   CHALLENGE SECTION
   ════════════════════════════════════════════════════════════ */
.th-section--terracotta .th-section-title { max-width: 820px; margin-bottom: 56px; }

.th-challenge-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: rgba(255,255,255,0.15);
}

.th-challenge-block {
  background: rgb(193 72 34 / 80%);
  padding: 36px 24px;
  transition: background 0.3s;
}

.th-challenge-block:hover {
  background: rgba(255,255,255,0.13);
}

.th-challenge-block__icon {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ECA96B;
  margin-bottom: 20px;
  transition: border-color 0.3s;
}

.th-challenge-block:hover .th-challenge-block__icon {
  border-color: rgba(255,255,255,0.5);
}

.th-challenge-block h4 {
  font-family: var(--font-display);
  font-size: 1.05rem;
  color: var(--th-white);
  margin-bottom: 12px;
}

.th-challenge-block p {
  font-size: 0.83rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.55);
}

/* ════════════════════════════════════════════════════════════
   APPROACH SECTION — MAGAZINE GRID
   ════════════════════════════════════════════════════════════ */
.th-approach-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  background: rgba(196,98,45,0.08);
  margin-top: 8px;
}

.th-approach-item {
  background: var(--th-white);
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  transition: box-shadow 0.3s;
}

.th-approach-item:hover { box-shadow: 0 6px 40px rgba(0,0,0,0.1); z-index: 1; }

.th-approach-item--wide {
  grid-column: span 2;
  grid-template-rows: auto;
  grid-template-columns: 420px 1fr;
}

.th-approach-item__photo {
  overflow: hidden;
}

.th-approach-item__photo img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.th-approach-item:hover .th-approach-item__photo img {
  transform: scale(1.04);
}

.th-approach-item--wide .th-approach-item__photo img {
  height: 100%;
  min-height: 280px;
}

.th-approach-item__body {
  padding: 32px 28px 36px;
}

.th-approach-num {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--th-terra);
  margin-bottom: 10px;
}

.th-approach-item__body h3 {
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--th-charcoal);
  margin-bottom: 14px;
  line-height: 1.25;
}

.th-approach-item__body p {
  font-size: 0.88rem;
  line-height: 1.76;
  color: var(--th-slate);
}

/* ════════════════════════════════════════════════════════════
   OUTCOME SECTION
   ════════════════════════════════════════════════════════════ */
.th-outcome-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 6vw, 80px);
  align-items: start;
  margin-top: 48px;
}

.th-outcome-results {
  margin-top: 32px;
  border-top: 1px solid var(--th-jade-line);
  padding-top: 8px;
}

.th-result {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--th-jade-line);
}

.th-result:last-child { border-bottom: none; }

.th-result svg {
  color: var(--th-jade);
  flex-shrink: 0;
  margin-top: 3px;
}

.th-result p {
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--th-charcoal);
  margin: 0;
}

.th-outcome-img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: -14px 14px 0 var(--th-jade-pale), -14px 14px 0 1px var(--th-jade-line);
}

.th-outcome-badges {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 24px;
}

.th-obadge {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--th-white);
  border: 1px solid var(--th-jade-line);
  border-left: 3px solid var(--th-jade);
  padding: 13px 16px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.th-obadge svg { color: var(--th-jade); flex-shrink: 0; }

.th-obadge strong {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--th-charcoal);
}

.th-obadge span {
  display: block;
  font-size: 0.72rem;
  color: var(--th-stone);
  margin-top: 1px;
}

/* ════════════════════════════════════════════════════════════
   WHY THAILAND
   ════════════════════════════════════════════════════════════ */
.th-why-header {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: 56px;
}

.th-why-layout {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: clamp(40px, 6vw, 80px);
  align-items: start;
}

.th-why-img-side {
  position: relative;
}

.th-why-img-side img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  border-radius: 2px;
}

.th-why-img-note {
  position: absolute;
  bottom: -1px;
  left: 0; right: 0;
  background: rgba(28, 60, 45, 0.92);
  color: rgba(255,255,255,0.82);
  font-size: 0.72rem;
  font-family: var(--font-mono);
  letter-spacing: 0.06em;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.th-why-img-note svg { color: #ECA96B; }

.th-why-points {
  padding-top: 8px;
}

.th-why-point {
  display: grid;
  grid-template-columns: 12px 1fr;
  gap: 18px;
  align-items: start;
  padding: 22px 0;
  border-bottom: 1px solid rgba(196,98,45,0.1);
}

.th-why-point:last-child { border-bottom: none; }

.th-why-point__dot {
  width: 10px;
  height: 10px;
  background: var(--th-terra);
  border-radius: 50%;
  margin-top: 8px;
  flex-shrink: 0;
}

.th-why-point h4 {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--th-charcoal);
  margin-bottom: 8px;
}

.th-why-point p {
  font-size: 0.88rem;
  line-height: 1.72;
  color: var(--th-slate);
}

/* ════════════════════════════════════════════════════════════
   CTA SECTION
   ════════════════════════════════════════════════════════════ */
.th-cta-section {
  position: relative;
  padding: var(--pad-y) var(--pad-x);
  text-align: center;
  overflow: hidden;
}

.th-cta-section__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.th-cta-section__bgimg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}

.th-cta-section__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(28,60,45,0.93) 0%, rgba(28,60,45,0.88) 50%, rgba(42,42,42,0.95) 100%);
}

.th-cta-section__inner {
  position: relative;
  z-index: 1;
  max-width: 740px;
  margin-inline: auto;
}

.th-cta-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 0.67rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #ECA96B;
  border: 1px solid rgba(236,169,107,0.4);
  padding: 6px 16px;
  margin-bottom: 28px;
}

.th-cta__title {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 4vw, 3rem);
  font-weight: 500;
  color: var(--th-white);
  line-height: 1.18;
  margin-bottom: 22px;
}

.th-cta__body {
  font-size: 1rem;
  line-height: 1.74;
  color: rgba(255,255,255,0.62);
  margin-bottom: 44px;
}

.th-cta__actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* ── Buttons ─────────────────────────────────────────────── */
.th-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 15px 32px;
  cursor: pointer;
  transition: all 0.25s ease;
  border-radius: 1px;
}

.th-btn--primary {
  background: var(--th-terra);
  color: var(--th-white);
  border: none;
}

.th-btn--primary:hover {
  background: var(--th-terra-light);
}

.th-btn--primary svg { transition: transform 0.25s; }
.th-btn--primary:hover svg { transform: translateX(4px); }

.th-btn--outline {
  background: transparent;
  color: var(--th-white);
  border: 1.5px solid rgba(255,255,255,0.45);
}

.th-btn--outline:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.7);
}

/* ── Animations ──────────────────────────────────────────── */
@keyframes th-rise {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .th-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: clamp(100px, 16vw, 140px);
  }

  .th-hero__left { padding-right: 0; }

  .th-hero__right {
    margin-top: 48px;
  }

  .th-hero__float-stat--a,
  .th-hero__float-stat--b {
    display: none;
  }

  .th-layout-2col,
  .th-outcome-layout {
    grid-template-columns: 1fr;
  }

  .th-stacked-imgs__main { height: 300px; }
  .th-stacked-imgs__secondary { display: none; }

  .th-reg-header { grid-template-columns: 1fr; }

  .th-challenge-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .th-approach-item--wide {
    grid-column: span 1;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }

  .th-approach-item--wide .th-approach-item__photo img {
    height: 260px;
  }

  .th-why-layout {
    grid-template-columns: 1fr;
  }

  .th-why-img-side img { height: 320px; }

  .th-outcome-img { box-shadow: none; }
}

@media (max-width: 700px) {
  .th-approach-grid,
  .th-reg-grid {
    grid-template-columns: 1fr;
  }

  .th-approach-item--wide {
    grid-column: span 1;
  }

  .th-challenge-strip {
    grid-template-columns: 1fr;
  }

  .th-context-bar__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .th-ctx-div { display: none; }

  .th-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .th-btn {
    justify-content: center;
  }

  .th-outcome-badges {
    flex-direction: column;
  }

  .th-hero__img { height: 320px; }
}

/* ============================================================
   el-sal.css — Tech Legal El Salvador Utility Token Case Study
   Scope: .els-root — fully sandboxed, no global overrides
   Aesthetic: Typographic brutalism meets legal authority
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=Lora:ital,wght@0,400;0,500;1,400&family=JetBrains+Mono:wght@300;400;500&display=swap');

/* ── Design Tokens ───────────────────────────────────────── */
.els-root {
  --el-black:       #0A0A0A;
  --el-near-black:  #111111;
  --el-dark:        #1A1A1A;
  --el-charcoal:    #2C2C2C;
  --el-mid:         #555555;
  --el-muted:       #888888;
  --el-border:      #E2E2E2;
  --el-offwhite:    #F5F4F1;
  --el-white:       #FFFFFF;
  --el-blue:        #1A6BFF;
  --el-blue-mid:    #2B7BFF;
  --el-blue-pale:   #EBF1FF;
  --el-blue-dark:   #0D3FA6;
  --el-accent:      #FF4A1C;

  --font-display: 'Syne', sans-serif;
  --font-serif:   'Lora', Georgia, serif;
  --font-mono:    'JetBrains Mono', monospace;

  --max-w: 1200px;
  --pad-x: clamp(20px, 5.5vw, 70px);
  --pad-y: clamp(72px, 9vw, 120px);

  font-family: var(--font-serif);
  color: var(--el-dark);
  background: var(--el-white);
  overflow-x: hidden;
}

/* ── Reset ───────────────────────────────────────────────── */
.els-root *, .els-root *::before, .els-root *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.els-root a { text-decoration: none; color: inherit; }
.els-root img { display: block; max-width: 100%; }

.els-section__inner {
  max-width: var(--max-w);
  margin-inline: auto;
}

/* ── Tags / Pills ────────────────────────────────────────── */
.els-tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: #558196;
  color: var(--el-white);
  padding: 5px 12px 4px;
}

.els-tag--blue {
  background: #2196f3;
}

/* ── Eyebrow ─────────────────────────────────────────────── */
.els-eyebrow {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--el-muted);
  margin-bottom: 16px;
}

.els-eyebrow--blue { color: #03a9f4e3; }

/* ── Section Titles ──────────────────────────────────────── */
.els-section-title {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.5vw, 2.9rem);
  font-weight: 700;
  line-height: 1.1;
  color: #03a9f4c7;
  margin-bottom: 28px;
  letter-spacing: -0.02em;
}

.els-section-title--light { color: var(--el-white); }
.els-section-title--narrow { max-width: 640px; }

/* ── Body ────────────────────────────────────────────────── */
.els-body {
  font-family: var(--font-serif);
  font-size: 0.97rem;
  line-height: 1.82;
  color: var(--el-mid);
  margin-bottom: 20px;
}

.els-body--muted { color: rgba(255,255,255,0.55); }
.els-body--wide  { max-width: 780px; }

/* ════════════════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════════════════ */
.els-hero {
  position: relative;
  background: #1a3644de;
  padding: clamp(110px, 5vw, 160px) var(--pad-x) clamp(80px, 10vw, 120px);
  overflow: hidden;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Noise texture */
.els-hero__noise {
  position: absolute;
  inset: 0;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px;
  pointer-events: none;
}

/* Diagonal accent line */
.els-hero__diagonal {
  position: absolute;
  top: 0;
  right: 0;
  width: 40%;
  height: 100%;
  background: linear-gradient(135deg, transparent 0%, transparent 49.5%, rgba(26,107,255,0.06) 49.5%, rgba(26,107,255,0.06) 50.5%, transparent 50.5%);
  pointer-events: none;
}

.els-hero__inner {
  position: relative;
  z-index: 2;
  max-width: var(--max-w);
  margin-inline: auto;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 60px;
  align-items: start;
}

.els-hero__breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  color: rgba(255,255,255,0.3);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 28px;
  animation: els-fadein 0.7s ease both;
}

.els-hero__breadcrumb svg { color: rgba(255,255,255,0.2); }

.els-hero__tag-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 40px;
  animation: els-fadein 0.8s 0.1s ease both;
}

.els-hero__title {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 44px;
  animation: els-fadein 0.9s 0.2s ease both;
}

.els-hero__title-line {
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.04em;
  display: block;
}

.els-hero__title-line--1 {
  font-size: clamp(3.5rem, 7vw, 6.5rem);
  color: var(--el-white);
}

.els-hero__title-line--2 {
  font-size: clamp(3.5rem, 7vw, 6.5rem);
  color: #2196f3;
}

.els-hero__title-line--3 {
  font-size: clamp(3.5rem, 7vw, 6.5rem);
  color: rgba(255,255,255,0.18);
  -webkit-text-stroke: 1px rgba(255,255,255,0.25);
}

.els-hero__desc {
  display: flex;
  gap: 20px;
  max-width: 600px;
  animation: els-fadein 1s 0.35s ease both;
}

.els-hero__desc-bar {
  width: 3px;
  background: var(--el-blue);
  flex-shrink: 0;
  border-radius: 2px;
}

.els-hero__desc p {
  font-family: var(--font-serif);
  font-size: 0.97rem;
  line-height: 1.76;
  color: rgba(255,255,255,0.5);
}

/* Stat block */
.els-hero__stat-block {
  border: 1px solid rgba(255,255,255,0.1);
  animation: els-fadein 1s 0.4s ease both;
}

.els-hstat {
  padding: 18px 24px;
}

.els-hstat__label {
  font-family: var(--font-mono);
  font-size: 0.58rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin-bottom: 5px;
}

.els-hstat__val {
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--el-white);
  letter-spacing: -0.01em;
}

.els-hstat-sep {
  height: 1px;
  background: rgba(255,255,255,0.07);
}

/* Badge */
.els-hero__badge {
  margin-top: 20px;
  background: rgba(26,107,255,0.12);
  border: 1px solid rgba(26,107,255,0.3);
  padding: 18px 22px;
  animation: els-fadein 1.1s 0.5s ease both;
}

.els-hero__badge-inner {
  display: flex;
  align-items: center;
  gap: 14px;
}

.els-hero__badge-inner svg { color: var(--el-blue); flex-shrink: 0; }

.els-hero__badge-inner strong {
  display: block;
  font-family: var(--font-display);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--el-white);
  letter-spacing: -0.01em;
}

.els-hero__badge-inner span {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  color: rgba(255,255,255,0.4);
  letter-spacing: 0.06em;
  margin-top: 3px;
}

/* Scroll indicator */
.els-hero__scroll-line {
  position: relative;
  z-index: 2;
  max-width: var(--max-w);
  margin-inline: auto;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 80px;
  animation: els-fadein 1.2s 0.7s ease both;
}

.els-hero__scroll-line span {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgb(205 220 57 / 73%);
  white-space: nowrap;
}

.els-hero__scroll-track {
  width: 60px;
  height: 2px;
  background: rgba(255,255,255,0.1);
  position: relative;
  overflow: hidden;
}

.els-hero__scroll-thumb {
  position: absolute;
  left: 0; top: 0;
  height: 100%;
  width: 30px;
  background: var(--el-blue);
  animation: els-scrollthumb 2.5s ease-in-out infinite;
}

@keyframes els-scrollthumb {
  0%   { left: -30px; }
  50%  { left: 60px; }
  100% { left: -30px; }
}

/* ════════════════════════════════════════════════════════════
   INTRO BAND
   ════════════════════════════════════════════════════════════ */
.els-intro-band {
  background: #3d5e6eed;
  padding: 28px var(--pad-x);
}

.els-intro-band__inner {
  max-width: var(--max-w);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 32px;
}

.els-intro-band__text {
  font-family: var(--font-serif);
  font-size: 0.97rem;
  line-height: 1.72;
  color: rgba(255,255,255,0.88);
  flex: 1;
}

.els-intro-band__text strong { color: var(--el-white); }

.els-intro-band__divider {
  color: rgba(255,255,255,0.4);
  flex-shrink: 0;
}

/* ════════════════════════════════════════════════════════════
   SECTIONS
   ════════════════════════════════════════════════════════════ */
.els-section {
  padding: var(--pad-y) var(--pad-x);
}

.els-section--white    { background: var(--el-white); }
.els-section--offwhite { background: var(--el-offwhite); }
.els-section--dark     { background: #1a3644de; position: relative; overflow: hidden; }
.els-section--outcome  { background: #1a3644de; position: relative; overflow: hidden; }

/* ════════════════════════════════════════════════════════════
   BACKGROUND SECTION
   ════════════════════════════════════════════════════════════ */
.els-two-col-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
  margin-bottom: 64px;
  padding-bottom: 48px;
  border-bottom: 1px solid var(--el-border);
}

.els-two-col-header .els-section-title { margin-bottom: 0; }

.els-bg-blocks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 1px solid var(--el-border);
}

.els-bg-block {
  padding: 36px 32px;
  border-right: 1px solid var(--el-border);
  position: relative;
  transition: background 0.3s;
}

.els-bg-block:last-child { border-right: none; }

.els-bg-block:hover { background: var(--el-offwhite); }

.els-bg-block--accent {
  border-top: 3px solid var(--el-blue);
}

.els-bg-block__num {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.15em;
  color: var(--el-muted);
  margin-bottom: 14px;
}

.els-bg-block h3 {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--el-dark);
  margin-bottom: 14px;
  letter-spacing: -0.01em;
}

.els-bg-block p {
  font-family: var(--font-serif);
  font-size: 0.88rem;
  line-height: 1.76;
  color: var(--el-mid);
}

/* ════════════════════════════════════════════════════════════
   REGULATORY FRAMEWORK TABLE
   ════════════════════════════════════════════════════════════ */
.els-reg-pattern {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.015) 0px,
    rgba(255,255,255,0.015) 1px,
    transparent 1px,
    transparent 48px
  );
  pointer-events: none;
}

.els-section--dark .els-section__inner { position: relative; z-index: 1; }

.els-section--dark .els-section-title { margin-bottom: 12px; }
.els-section--dark .els-body { margin-bottom: 44px; }

.els-reg-table {
  border: 1px solid rgba(255,255,255,0.1);
  overflow: hidden;
}

.els-reg-row {
  display: grid;
  grid-template-columns: 2fr 0.6fr 3fr 1.5fr;
  gap: 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: background 0.25s;
}

.els-reg-row:hover:not(.els-reg-row--head) {
  background: rgba(255,255,255,0.03);
}

.els-reg-row--head {
  background: rgba(255,255,255,0.05);
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
}

.els-reg-row--last { border-bottom: none; }

.els-reg-row > div {
  padding: 22px 24px;
  border-right: 1px solid rgba(255,255,255,0.07);
  font-family: var(--font-serif);
  font-size: 0.88rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.55);
}

.els-reg-row > div:last-child { border-right: none; }

.els-reg-row__name {
  display: flex !important;
  align-items: flex-start;
  gap: 12px;
  font-family: var(--font-display) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--el-white) !important;
  letter-spacing: -0.01em;
}

.els-reg-row__year {
  font-family: var(--font-mono) !important;
  font-size: 0.8rem !important;
  color: #03a9f4fa !important;
  font-weight: 500 !important;
}

.els-reg-row__reg {
  font-family: var(--font-mono) !important;
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.38) !important;
  letter-spacing: 0.02em;
}

.els-reg-dot {
  width: 8px;
  height: 8px;
  background: var(--el-white);
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 7px;
}

.els-reg-dot--blue     { background: var(--el-blue); }
.els-reg-dot--grey     { background: var(--el-muted); }
.els-reg-dot--outline  { background: transparent; border: 1.5px solid var(--el-muted); }

/* ════════════════════════════════════════════════════════════
   CHALLENGE SECTION
   ════════════════════════════════════════════════════════════ */
.els-challenge-layout {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 72px;
  align-items: start;
}

.els-challenge-intro { position: sticky; top: 32px; }
.els-challenge-intro .els-section-title { margin-bottom: 20px; }

.els-challenge-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.els-ch-item {
  padding: 32px 0;
  border-bottom: 1px solid var(--el-border);
}

.els-ch-item:first-child { padding-top: 0; border-top: 1px solid var(--el-border); }

.els-ch-item__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.els-ch-item__num {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.12em;
  color: var(--el-blue);
  flex-shrink: 0;
}

.els-ch-item__header h3 {
  font-family: var(--font-display);
  font-size: 1.08rem;
  font-weight: 700;
  color: var(--el-dark);
  letter-spacing: -0.02em;
}

.els-ch-item__line {
  flex: 1;
  height: 1px;
  background: var(--el-border);
}

.els-ch-item p {
  font-family: var(--font-serif);
  font-size: 0.92rem;
  line-height: 1.78;
  color: var(--el-mid);
  padding-left: 48px;
}

/* ════════════════════════════════════════════════════════════
   APPROACH — VERTICAL FLOW
   ════════════════════════════════════════════════════════════ */
.els-approach-flow {
  margin-top: 52px;
}

.els-af-step {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 32px;
  margin-bottom: 0;
}

.els-af-step__marker {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}

.els-af-step__circle {
  width: 52px;
  height: 52px;
  border: 2px solid var(--el-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--el-blue);
  background: var(--el-white);
  flex-shrink: 0;
  z-index: 1;
  transition: border-color 0.3s, background 0.3s;
}

.els-af-step:hover .els-af-step__circle {
  border-color: var(--el-blue);
  background: var(--el-blue-pale);
}

.els-af-step__connector {
  width: 2px;
  flex: 1;
  background: repeating-linear-gradient(
    to bottom,
    var(--el-border) 0px,
    var(--el-border) 6px,
    transparent 6px,
    transparent 12px
  );
  margin-top: 0;
  min-height: 60px;
}

.els-af-step__content {
  padding: 0 0 56px 0;
}

.els-af-step--last .els-af-step__content {
  padding-bottom: 0;
}

.els-af-step__phase {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--el-blue);
  margin-bottom: 8px;
}

.els-af-step__content h3 {
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--el-dark);
  margin-bottom: 16px;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.els-af-step__content p {
  font-family: var(--font-serif);
  font-size: 0.93rem;
  line-height: 1.8;
  color: var(--el-mid);
  max-width: 740px;
  margin-bottom: 20px;
}

.els-af-step__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.els-af-step__tags span {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--el-blue-dark);
  background: var(--el-blue-pale);
  border: 1px solid rgba(26,107,255,0.15);
  padding: 4px 10px;
}

/* ════════════════════════════════════════════════════════════
   OUTCOME SECTION
   ════════════════════════════════════════════════════════════ */
.els-outcome-bg-text {
  position: absolute;
  bottom: -20px;
  right: -20px;
  font-family: var(--font-display);
  font-size: clamp(80px, 14vw, 200px);
  font-weight: 800;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,0.05);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -0.05em;
}

.els-section--outcome .els-section__inner { position: relative; z-index: 1; }
.els-section--outcome .els-section-title { margin-bottom: 48px; }

.els-outcome-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 60px;
  align-items: start;
}

.els-outcome-lead {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.76;
  color: rgba(255,255,255,0.65);
  margin-bottom: 36px;
  border-left: 3px solid var(--el-blue);
  padding-left: 20px;
}

.els-outcome-items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.els-oi {
  display: flex;
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  align-items: flex-start;
}

.els-oi:last-child { border-bottom: none; }

.els-oi__mark {
  width: 28px;
  height: 28px;
  background: rgba(26,107,255,0.2);
  border: 1px solid rgba(26,107,255,0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--el-blue);
}

.els-oi strong {
  display: block;
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--el-white);
  margin-bottom: 7px;
  letter-spacing: -0.01em;
}

.els-oi p {
  font-family: var(--font-serif);
  font-size: 0.88rem;
  line-height: 1.72;
  color: rgba(255,255,255,0.5);
  margin: 0;
}

/* Outcome sidebar */
.els-outcome-sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: sticky;
  top: 32px;
}

.els-osi-block {
  border: 1px solid rgba(255,255,255,0.1);
  padding: 24px;
}

.els-osi-block--blue {
  border-color: rgba(26,107,255,0.3);
  background: rgba(26,107,255,0.06);
}

.els-osi-label {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  display: block;
  margin-bottom: 14px;
}

.els-osi-line {
  height: 2px;
  background: rgba(255,255,255,0.15);
  margin-bottom: 18px;
}

.els-osi-line--blue { background: var(--el-blue); }

.els-osi-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.els-osi-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-serif);
  font-size: 0.85rem;
  color: rgba(255,255,255,0.65);
}

.els-osi-list li svg { color: var(--el-blue); flex-shrink: 0; }

.els-osi-list--blue li { color: rgba(255,255,255,0.75); }

.els-osi-quote {
  border: 1px solid rgba(255,255,255,0.1);
  padding: 24px;
  position: relative;
}

.els-osi-quote__icon {
  color: var(--el-blue);
  opacity: 0.5;
  margin-bottom: 14px;
}

.els-osi-quote p {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 0.9rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.55);
  margin-bottom: 12px;
}

.els-osi-quote cite {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--el-blue);
  font-style: normal;
}

/* ════════════════════════════════════════════════════════════
   WHY EL SALVADOR
   ════════════════════════════════════════════════════════════ */
.els-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 52px;
  border: 1px solid var(--el-border);
}

.els-why-item {
  padding: 36px 30px;
  border-right: 1px solid var(--el-border);
  border-bottom: 1px solid var(--el-border);
  position: relative;
  transition: background 0.3s;
}

.els-why-item:nth-child(3),
.els-why-item:nth-child(6) { border-right: none; }

.els-why-item:nth-child(4),
.els-why-item:nth-child(5),
.els-why-item:nth-child(6) { border-bottom: none; }

.els-why-item:hover { background: var(--el-blue-pale); }

.els-why-item__accent {
  width: 32px;
  height: 3px;
  background: var(--el-blue);
  margin-bottom: 18px;
  transition: width 0.3s ease;
}

.els-why-item:hover .els-why-item__accent { width: 48px; }

.els-why-item h4 {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--el-dark);
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}

.els-why-item p {
  font-family: var(--font-serif);
  font-size: 0.87rem;
  line-height: 1.76;
  color: var(--el-mid);
}

/* ════════════════════════════════════════════════════════════
   CTA SECTION
   ════════════════════════════════════════════════════════════ */
.els-cta-section {
  position: relative;
  background: #1a3644de;
  padding: var(--pad-y) var(--pad-x);
  overflow: hidden;
}

.els-cta-section__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(26,107,255,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26,107,255,0.05) 1px, transparent 1px);
  background-size: 48px 48px;
  animation: els-gridmove 18s linear infinite;
}

@keyframes els-gridmove {
  from { background-position: 0 0; }
  to   { background-position: 48px 48px; }
}

.els-cta-section__inner {
  position: relative;
  z-index: 1;
  max-width: var(--max-w);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.els-cta__title {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.5vw, 2.9rem);
  font-weight: 800;
  color: var(--el-white);
  line-height: 1.08;
  margin-bottom: 20px;
  letter-spacing: -0.03em;
}

.els-cta__body {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  line-height: 1.78;
  color: rgba(255,255,255,0.5);
  margin-bottom: 36px;
}

.els-cta__body strong { color: rgba(255,255,255,0.8); }

.els-cta__actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

/* ── Buttons ─────────────────────────────────────────────── */
.els-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 14px 28px;
  cursor: pointer;
  transition: all 0.22s ease;
  border: none;
}

.els-btn--primary {
  background: #03a9f4de;
  color: var(--el-white);
}

.els-btn--primary:hover {
  background: var(--el-blue-mid);
  transform: translateY(-1px);
}

.els-btn--primary svg { transition: transform 0.22s; }
.els-btn--primary:hover svg { transform: translateX(4px); }

.els-btn--ghost {
  background: #ffeb3bad;
  color: rgba(255,255,255,0.55);
  border: 1px solid rgba(255,255,255,0.2);
}

.els-btn--ghost:hover {
  border-color: rgba(255,255,255,0.5);
  color: var(--el-white);
}

/* CTA service tags */
.els-cta-services {
  padding: 36px;
  border: 1px solid rgba(255,255,255,0.08);
}

.els-cta-service-label {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.25);
  margin-bottom: 20px;
  display: block;
}

.els-cta-service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.els-cta-service-tags span {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.5);
  border: 1px solid rgba(255,255,255,0.1);
  padding: 6px 12px;
  transition: all 0.2s;
}

.els-cta-service-tags span:hover {
  background: rgba(26,107,255,0.15);
  border-color: rgba(26,107,255,0.4);
  color: var(--el-blue);
}

/* ── Animations ──────────────────────────────────────────── */
@keyframes els-fadein {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .els-hero__inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .els-hero__right { max-width: 500px; }

  .els-two-col-header {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .els-bg-blocks { grid-template-columns: 1fr; }
  .els-bg-block { border-right: none; border-bottom: 1px solid var(--el-border); }
  .els-bg-block:last-child { border-bottom: none; }

  .els-reg-table { overflow-x: auto; }
  .els-reg-row { min-width: 800px; }

  .els-challenge-layout {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .els-challenge-intro { position: static; }

  .els-outcome-grid {
    grid-template-columns: 1fr;
  }

  .els-outcome-sidebar { position: static; }

  .els-why-grid { grid-template-columns: repeat(2, 1fr); }

  .els-why-item:nth-child(3) { border-right: 1px solid var(--el-border); }
  .els-why-item:nth-child(2),
  .els-why-item:nth-child(4) { border-right: none; }
  .els-why-item:nth-child(4),
  .els-why-item:nth-child(5) { border-bottom: 1px solid var(--el-border); }
  .els-why-item:nth-child(5),
  .els-why-item:nth-child(6) { border-bottom: none; }

  .els-cta-section__inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}

@media (max-width: 640px) {
  .els-hero__title-line--1,
  .els-hero__title-line--2,
  .els-hero__title-line--3 {
    font-size: clamp(2.8rem, 11vw, 4rem);
  }

  .els-why-grid { grid-template-columns: 1fr; }

  .els-why-item { border-right: none !important; }

  .els-af-step {
    grid-template-columns: 44px 1fr;
    gap: 20px;
  }

  .els-cta__actions {
    flex-direction: column;
  }

  .els-btn { justify-content: center; }

  .els-intro-band__inner {
    flex-direction: column;
    gap: 16px;
  }

  .els-intro-band__divider { display: none; }
}


/* ============================================================
   ind-gld.css — Tech Legal India Gold Tokenization Case Study
   Scope: .ig-root — fully sandboxed, no global overrides
   Aesthetic: Art Deco / Gilded Editorial — warm, opulent, structured
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Barlow:wght@300;400;500;600&family=Barlow+Condensed:wght@400;500;600;700&display=swap');

/* ── Design Tokens ───────────────────────────────────────── */
.ig-root {
  --ig-gold:          #B8870A;
  --ig-gold-light:    #D4A017;
  --ig-gold-pale:     #F9F2DF;
  --ig-gold-bright:   #E8B832;
  --ig-burgundy:      #5C1A2E;
  --ig-burgundy-mid:  #7A2340;
  --ig-ink:           #1E1209;
  --ig-charcoal:      #2D2112;
  --ig-brown:         #5A4030;
  --ig-warm-grey:     #8A7A6A;
  --ig-parchment:     #FBF7EE;
  --ig-parchment-mid: #F4EDDA;
  --ig-white:         #FFFFFF;
  --ig-dark-bg:       #1A0F08;
  --ig-rule:          rgba(184,135,10,0.25);

  --font-display: 'EB Garamond', Georgia, serif;
  --font-body:    'Barlow', sans-serif;
  --font-cond:    'Barlow Condensed', sans-serif;

  --max-w: 1160px;
  --pad-x: clamp(20px, 5.5vw, 72px);
  --pad-y: clamp(72px, 9vw, 120px);

  font-family: var(--font-body);
  color: var(--ig-charcoal);
  background: var(--ig-white);
  overflow-x: hidden;
}

/* ── Reset ───────────────────────────────────────────────── */
.ig-root *, .ig-root *::before, .ig-root *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.ig-root a  { text-decoration: none; color: inherit; }
.ig-root img { display: block; max-width: 100%; }

.ig-section__inner {
  max-width: var(--max-w);
  margin-inline: auto;
}

/* ── Eyebrow ─────────────────────────────────────────────── */
.ig-eyebrow {
  font-family: var(--font-cond);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ig-gold);
  white-space: nowrap;
}

.ig-eyebrow--gold { color: var(--ig-gold-bright); }
.ig-eyebrow--dark { color: var(--ig-ink); }

/* ── Section rule ────────────────────────────────────────── */
.ig-section-rule {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 40px;
}

.ig-rule-line {
  flex: 1;
  height: 1px;
  background: var(--ig-rule);
}

.ig-rule-line--dim     { background: rgba(255,255,255,0.1); }
.ig-rule-line--gold-dim { background: rgba(184,135,10,0.3); }

.ig-section-rule--light .ig-eyebrow { color: var(--ig-gold-bright); }
.ig-section-rule--gold  .ig-eyebrow { color: var(--ig-ink); }

/* ── Section Titles ──────────────────────────────────────── */
.ig-section-title {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.5vw, 2.9rem);
  font-weight: 500;
  line-height: 1.18;
  color: var(--ig-charcoal);
  margin-bottom: 28px;
}

.ig-section-title em {
  font-style: italic;
  color: var(--ig-gold);
}

.ig-section-title--light { color: var(--ig-white); }
.ig-section-title--dark  { color: var(--ig-ink); }

/* ── Body ────────────────────────────────────────────────── */
.ig-body {
  font-family: var(--font-body);
  font-size: 0.96rem;
  line-height: 1.82;
  color: var(--ig-brown);
  margin-bottom: 18px;
}

.ig-body--lead {
  font-size: 1.05rem;
  color: var(--ig-charcoal);
  margin-bottom: 44px;
}

/* ════════════════════════════════════════════════════════════
   HERO
   ════════════════════════════════════════════════════════════ */
.ig-hero {
  position: relative;
  background: #81512d;
  padding: clamp(110px, 5vw, 160px) var(--pad-x) clamp(80px, 10vw, 120px);
  text-align: center;
  overflow: hidden;
}

/* Art deco top border */
.ig-hero__deco-top {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 6px;
 }

/* Art deco bottom border */
.ig-hero__deco-bottom {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--ig-gold) 20%, var(--ig-gold) 80%, transparent);
  opacity: 0.5;
}

/* Subtle background texture */
.ig-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse 60% 40% at 50% 50%, rgba(184,135,10,0.08), transparent),
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 30px,
      rgba(184,135,10,0.025) 30px,
      rgba(184,135,10,0.025) 31px
    );
  pointer-events: none;
}

.ig-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 880px;
  margin-inline: auto;
}

/* Pretitle with ornamental lines */
.ig-hero__pretitle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-bottom: 32px;
  animation: ig-rise 0.8s ease both;
}

.ig-hero__pretitle span {
  font-family: var(--font-cond);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--ig-gold);
  white-space: nowrap;
}

.ig-hero__pretitle-line {
  flex: 1;
  max-width: 80px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--ig-gold));
}

.ig-hero__pretitle-line:last-child {
  background: linear-gradient(270deg, transparent, var(--ig-gold));
}

/* Main title */
.ig-hero__title {
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 6vw, 5.2rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--ig-white);
  margin-bottom: 36px;
  animation: ig-rise 0.9s 0.12s ease both;
}

.ig-hero__title em {
  font-style: italic;
  color: var(--ig-gold-light);
  display: block;
}

.ig-hero__sub {
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.74;
  color: rgba(255,255,255,0.52);
  max-width: 700px;
  margin-inline: auto;
  margin-bottom: 52px;
  animation: ig-rise 1s 0.24s ease both;
}

/* Meta strip */
.ig-hero__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  border: 1px solid rgba(184,135,10,0.25);
  animation: ig-rise 1.1s 0.4s ease both;
}

.ig-meta-item {
  padding: 16px 24px;
  text-align: center;
  border-right: 1px solid rgba(184,135,10,0.15);
}

.ig-meta-item:last-child { border-right: none; }

.ig-meta-item__key {
  display: block;
  font-family: var(--font-cond);
  font-size: 0.6rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
  margin-bottom: 4px;
}

.ig-meta-item__val {
  display: block;
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 500;
  color: var(--ig-gold-light);
}

.ig-meta-sep {
  color: rgba(184,135,10,0.3);
  font-size: 0.5rem;
  padding: 0 4px;
  display: none;
}

/* ════════════════════════════════════════════════════════════
   PULL QUOTE SECTION
   ════════════════════════════════════════════════════════════ */
.ig-pull-section {
  background: #cea439;
  padding: 44px var(--pad-x);
}

.ig-pull-section__inner {
  max-width: var(--max-w);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 36px;
}

.ig-pull-section__deco {
  color: rgba(255,255,255,0.4);
  flex-shrink: 0;
}

.ig-pull-section__deco--right {
  transform: rotate(180deg);
}

.ig-pull-quote {
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.55;
  color: var(--ig-ink);
  text-align: center;
  flex: 1;
}

/* ════════════════════════════════════════════════════════════
   SECTIONS
   ════════════════════════════════════════════════════════════ */
.ig-section {
  padding: var(--pad-y) var(--pad-x);
  position: relative;
}

.ig-section--white     { background: var(--ig-white); }
.ig-section--parchment { background: var(--ig-parchment); }
.ig-section--dark      { background: #81512d; overflow: hidden; }
.ig-section--gold-strip {
  background: var(--ig-gold-pale);
  border-top: 2px solid var(--ig-gold);
  border-bottom: 2px solid var(--ig-gold);
}

/* ════════════════════════════════════════════════════════════
   BACKGROUND SECTION
   ════════════════════════════════════════════════════════════ */
.ig-bg-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}

.ig-bg-layout .ig-body { max-width: 680px; }

/* Key facts box */
.ig-bg-keybox {
  border: 1px solid var(--ig-rule);
  overflow: hidden;
  margin-bottom: 24px;
}

.ig-bg-keybox__header {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--ig-gold);
  color: var(--ig-ink);
  font-family: var(--font-cond);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 12px 18px;
}

.ig-bg-keybox__items { padding: 0; }

.ig-kf {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 10px;
  align-items: start;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(184,135,10,0.12);
}

.ig-kf:last-child { border-bottom: none; }

.ig-kf__label {
  font-family: var(--font-cond);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ig-warm-grey);
  padding-top: 2px;
}

.ig-kf__val {
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--ig-charcoal);
  line-height: 1.4;
}

/* Background image */
.ig-bg-img-wrap {
  position: relative;
}

.ig-bg-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border: 1px solid var(--ig-rule);
}

.ig-bg-img-caption {
  background: rgba(30,18,9,0.88);
  color: var(--ig-gold-light);
  font-family: var(--font-cond);
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 9px 14px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(184,135,10,0.2);
  border-top: none;
}

/* ════════════════════════════════════════════════════════════
   REGULATORY ARCHITECTURE
   ════════════════════════════════════════════════════════════ */
.ig-reg-arch {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--ig-rule);
  margin-top: 8px;
}

.ig-reg-pillar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 0;
  align-items: start;
  border-bottom: 1px solid var(--ig-rule);
  transition: background 0.25s;
}

.ig-reg-pillar:last-child { border-bottom: none; }

.ig-reg-pillar:hover { background: var(--ig-gold-pale); }

.ig-reg-pillar__header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 28px 28px 28px 28px;
  border-right: 1px solid var(--ig-rule);
  min-width: 280px;
}

.ig-reg-pillar__num {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 400;
  color: var(--ig-gold);
  line-height: 1;
  min-width: 28px;
  opacity: 0.6;
}

.ig-reg-pillar__header h3 {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--ig-charcoal);
  line-height: 1.3;
  margin-bottom: 4px;
}

.ig-reg-pillar__sub {
  font-family: var(--font-cond);
  font-size: 0.63rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ig-warm-grey);
}

.ig-reg-pillar p {
  padding: 28px 28px;
  font-family: var(--font-body);
  font-size: 0.88rem;
  line-height: 1.76;
  color: var(--ig-brown);
}

.ig-reg-pillar__tag {
  padding: 28px 22px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-family: var(--font-cond);
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ig-gold);
  border-left: 1px solid var(--ig-rule);
  white-space: nowrap;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ════════════════════════════════════════════════════════════
   CHALLENGE — DARK SECTION
   ════════════════════════════════════════════════════════════ */
.ig-deco-pattern {
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(184,135,10,0.03) 0px,
    rgba(184,135,10,0.03) 1px,
    transparent 1px,
    transparent 36px
  );
  pointer-events: none;
}

.ig-section--dark .ig-section__inner { position: relative; z-index: 1; }
.ig-section--dark .ig-section-title { max-width: 820px; margin-bottom: 52px; }

.ig-challenge-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(184,135,10,0.12);
}

.ig-ch-card {
  background: rgba(255,255,255,0.03);
  padding: 36px 28px;
  transition: background 0.3s;
}

.ig-ch-card:hover { background: rgba(255,255,255,0.06); }

.ig-ch-card__icon {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(184,135,10,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ig-gold-bright);
  margin-bottom: 20px;
  transition: border-color 0.3s;
}

.ig-ch-card:hover .ig-ch-card__icon { border-color: var(--ig-gold-bright); }

.ig-ch-card h3 {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--ig-white);
  margin-bottom: 12px;
  line-height: 1.3;
}

.ig-ch-card p {
  font-family: var(--font-body);
  font-size: 0.86rem;
  line-height: 1.74;
  color: rgba(255,255,255,0.48);
}

/* ════════════════════════════════════════════════════════════
   APPROACH — NUMBERED LIST
   ════════════════════════════════════════════════════════════ */
.ig-approach-list {
  margin-top: 8px;
  border-top: 1px solid var(--ig-rule);
}

.ig-ap-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 0;
  border-bottom: 1px solid var(--ig-rule);
}

.ig-ap-item--last { border-bottom: none; }

.ig-ap-item__left {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 36px;
  border-right: 1px solid var(--ig-rule);
}

.ig-ap-item__num {
  font-family: var(--font-display);
  font-size: 2.2rem;
  font-weight: 400;
  color: var(--ig-gold);
  line-height: 1;
  opacity: 0.5;
}

.ig-ap-item__vline {
  flex: 1;
  width: 1px;
  background: repeating-linear-gradient(
    to bottom,
    var(--ig-rule) 0px,
    var(--ig-rule) 6px,
    transparent 6px,
    transparent 12px
  );
  margin-top: 16px;
  min-height: 40px;
}

.ig-ap-item__right {
  padding: 36px 36px 40px 36px;
}

.ig-ap-item__right h3 {
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--ig-charcoal);
  margin-bottom: 16px;
  line-height: 1.25;
}

.ig-ap-item__right p {
  font-family: var(--font-body);
  font-size: 0.92rem;
  line-height: 1.8;
  color: var(--ig-brown);
}

/* ════════════════════════════════════════════════════════════
   OUTCOME SECTION
   ════════════════════════════════════════════════════════════ */
.ig-outcome-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}

.ig-outcome-highlight {
  display: flex;
  gap: 18px;
  background: var(--ig-gold-pale);
  border: 1px solid var(--ig-rule);
  padding: 24px 22px;
  margin: 24px 0;
}

.ig-outcome-highlight__bar {
  width: 3px;
  background: var(--ig-gold);
  flex-shrink: 0;
  border-radius: 2px;
}

.ig-outcome-highlight p {
  font-family: var(--font-body);
  font-size: 0.95rem;
  line-height: 1.72;
  color: var(--ig-charcoal);
  margin: 0;
}

/* Outcome results panel */
.ig-outcome-results {
  border: 1px solid var(--ig-rule);
  overflow: hidden;
  margin-bottom: 24px;
}

.ig-or-header {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--ig-burgundy);
  color: rgba(255,255,255,0.85);
  font-family: var(--font-cond);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 13px 18px;
}

.ig-or-header svg { color: var(--ig-gold-light); }

.ig-or-list {
  padding: 8px 0;
}

.ig-or-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 18px;
  border-bottom: 1px solid rgba(184,135,10,0.1);
  transition: background 0.2s;
}

.ig-or-item:last-child { border-bottom: none; }
.ig-or-item:hover { background: var(--ig-gold-pale); }

.ig-or-item svg { color: var(--ig-gold); flex-shrink: 0; margin-top: 3px; }

.ig-or-item span {
  font-family: var(--font-body);
  font-size: 0.84rem;
  line-height: 1.6;
  color: var(--ig-brown);
}

/* Outcome image */
.ig-outcome-img-wrap { position: relative; }

.ig-outcome-img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border: 1px solid var(--ig-rule);
  filter: sepia(20%) saturate(80%);
}

/* ════════════════════════════════════════════════════════════
   WHY GIFT CITY
   ════════════════════════════════════════════════════════════ */
.ig-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 48px;
  border: 1px solid rgba(184,135,10,0.2);
}

.ig-why-item {
  padding: 32px 26px;
  border-right: 1px solid rgba(184,135,10,0.2);
  border-bottom: 1px solid rgba(184,135,10,0.2);
  transition: background 0.3s;
}

.ig-why-item:nth-child(3),
.ig-why-item:nth-child(6) { border-right: none; }

.ig-why-item:nth-child(4),
.ig-why-item:nth-child(5),
.ig-why-item:nth-child(6) { border-bottom: none; }

.ig-why-item:hover { background: rgba(184,135,10,0.07); }

.ig-why-item svg {
  color: var(--ig-gold);
  margin-bottom: 16px;
  display: block;
}

.ig-why-item h4 {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--ig-ink);
  margin-bottom: 10px;
  line-height: 1.3;
}

.ig-why-item p {
  font-family: var(--font-body);
  font-size: 0.86rem;
  line-height: 1.74;
  color: var(--ig-brown);
}

/* ════════════════════════════════════════════════════════════
   CTA SECTION
   ════════════════════════════════════════════════════════════ */
.ig-cta-section {
  position: relative;
  background: #81512d;
  padding: var(--pad-y) var(--pad-x);
  text-align: center;
  overflow: hidden;
}

/* Art deco corner ornaments */
.ig-cta-section__ornament {
  position: absolute;
  width: 120px;
  height: 120px;
  pointer-events: none;
}

.ig-cta-section__ornament--tl {
  top: 30px;
  left: 30px;
  border-top: 1px solid rgba(184,135,10,0.3);
  border-left: 1px solid rgba(184,135,10,0.3);
}

.ig-cta-section__ornament--tl::before {
  content: '';
  position: absolute;
  top: 12px; left: 12px; right: -12px; bottom: -12px;
  border-top: 1px solid rgba(184,135,10,0.15);
  border-left: 1px solid rgba(184,135,10,0.15);
}

.ig-cta-section__ornament--br {
  bottom: 30px;
  right: 30px;
  border-bottom: 1px solid rgba(184,135,10,0.3);
  border-right: 1px solid rgba(184,135,10,0.3);
}

.ig-cta-section__ornament--br::before {
  content: '';
  position: absolute;
  top: -12px; left: -12px; right: 12px; bottom: 12px;
  border-bottom: 1px solid rgba(184,135,10,0.15);
  border-right: 1px solid rgba(184,135,10,0.15);
}

.ig-cta-section__inner {
  position: relative;
  z-index: 1;
  max-width: 740px;
  margin-inline: auto;
}

/* Decorative rule with diamond */
.ig-cta-section__rule {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-bottom: 36px;
}

.ig-cta-rule-line {
  width: 80px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(184,135,10,0.5));
}

.ig-cta-rule-line:last-child {
  background: linear-gradient(270deg, transparent, rgba(184,135,10,0.5));
}

.ig-cta-section__rule svg { color: var(--ig-gold); opacity: 0.7; }

.ig-cta__title {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3.8vw, 3rem);
  font-weight: 500;
  color: var(--ig-white);
  line-height: 1.18;
  margin-bottom: 22px;
}

.ig-cta__title em { color: var(--ig-gold-light); font-style: italic; }

.ig-cta__body {
  font-family: var(--font-body);
  font-size: 0.97rem;
  line-height: 1.76;
  color: rgba(255,255,255,0.5);
  margin-bottom: 40px;
}

.ig-cta__body strong { color: rgba(255,255,255,0.8); }

.ig-cta__actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 44px;
      color: #eed7aa;
}

/* ── Buttons ─────────────────────────────────────────────── */
.ig-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-cond);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 14px 32px;
  cursor: pointer;
  transition: all 0.25s ease;
  border: none;
}

.ig-btn--primary {
  background: var(--ig-gold);
  color: var(--ig-ink);
}

.ig-btn--primary:hover {
  background: var(--ig-gold-light);
  transform: translateY(-1px);
}

.ig-btn--primary svg { transition: transform 0.25s; }
.ig-btn--primary:hover svg { transform: translateX(4px); }

.ig-btn--outline {
  background: transparent;
  color: rgba(255,255,255,0.55);
  border: 1px solid rgba(255,255,255,0.2);
}

.ig-btn--outline:hover {
  border-color: rgba(184,135,10,0.5);
  color: var(--ig-gold-light);
}

/* CTA service tags */
.ig-cta-services {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  padding-top: 12px;
  border-top: 1px solid rgba(184,135,10,0.15);
}

.ig-cta-services span {
  font-family: var(--font-cond);
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  border: 1px solid rgba(184,135,10,0.15);
  padding: 5px 12px;
  transition: all 0.22s;
  cursor: default;
}

.ig-cta-services span:hover {
  color: var(--ig-gold-light);
  border-color: rgba(184,135,10,0.4);
}

/* ── Animations ──────────────────────────────────────────── */
@keyframes ig-rise {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .ig-hero__meta {
    flex-direction: column;
    gap: 0;
  }

  .ig-meta-item {
    border-right: none;
    border-bottom: 1px solid rgba(184,135,10,0.15);
    text-align: left;
    display: flex;
    align-items: center;
    gap: 16px;
  }

  .ig-meta-item:last-child { border-bottom: none; }

  .ig-bg-layout {
    grid-template-columns: 1fr;
  }

  .ig-bg-layout__side {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }

  .ig-reg-pillar {
    grid-template-columns: 1fr;
    border-right: none;
  }

  .ig-reg-pillar__header {
    border-right: none;
    border-bottom: 1px solid var(--ig-rule);
    min-width: auto;
  }

  .ig-reg-pillar__tag {
    writing-mode: horizontal-tb;
    padding: 10px 18px;
    border-left: none;
    border-top: 1px solid var(--ig-rule);
    justify-content: flex-start;
  }

  .ig-challenge-cols {
    grid-template-columns: repeat(2, 1fr);
  }

  .ig-ap-item {
    grid-template-columns: 56px 1fr;
  }

  .ig-outcome-layout {
    grid-template-columns: 1fr;
  }

  .ig-why-grid { grid-template-columns: repeat(2, 1fr); }

  .ig-why-item:nth-child(3) { border-right: 1px solid rgba(184,135,10,0.2); }
  .ig-why-item:nth-child(2),
  .ig-why-item:nth-child(4) { border-right: none; }
  .ig-why-item:nth-child(4),
  .ig-why-item:nth-child(5) { border-bottom: 1px solid rgba(184,135,10,0.2); }
  .ig-why-item:nth-child(5),
  .ig-why-item:nth-child(6) { border-bottom: none; }
}

@media (max-width: 680px) {
  .ig-hero__pretitle-line { display: none; }

  .ig-pull-section__inner { flex-direction: column; gap: 20px; }
  .ig-pull-section__deco--right { display: none; }

  .ig-bg-layout__side { grid-template-columns: 1fr; }

  .ig-challenge-cols { grid-template-columns: 1fr; }

  .ig-ap-item { grid-template-columns: 48px 1fr; }
  .ig-ap-item__right { padding: 28px 20px 32px 20px; }

  .ig-why-grid { grid-template-columns: 1fr; }
  .ig-why-item { border-right: none !important; }

  .ig-cta__actions { flex-direction: column; align-items: center; }
  .ig-btn { justify-content: center; width: 100%; max-width: 300px; }

  .ig-cta-section__ornament { display: none; }
}

/* ═══════════════════════════════════════════════════════
   vara-tp.css — VARA Licensing Case Study
   YourTechLegal · yourtechlegal.com
   Prefix: .vara-tp-
═══════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@400;500&display=swap');

/* ── Variables ───────────────────────────────────────── */
.vara-tp-root {
  --c-gold:       #B8973A;
  --c-gold-lt:    #D4B56A;
  --c-gold-pale:  #F5EDD5;
  --c-ink:        #111218;
  --c-ink-soft:   #2A2C35;
  --c-slate:      #4A4D5C;
  --c-mist:       #7A7D8C;
  --c-parchment:  #FAF8F3;
  --c-white:      #FFFFFF;
  --c-border:     #E4E0D6;
  --c-accent:     #1B4F8A;
  --c-accent-lt:  #EAF0F9;
  --c-success:    #2D7D5E;

  --ff-serif:     'Cormorant Garamond', Georgia, serif;
  --ff-sans:      'DM Sans', system-ui, sans-serif;
  --ff-mono:      'DM Mono', 'Courier New', monospace;

  --radius-sm:    6px;
  --radius-md:    12px;
  --radius-lg:    20px;

  --shadow-sm:    0 2px 8px rgba(0,0,0,0.06);
  --shadow-md:    0 6px 24px rgba(0,0,0,0.09);
  --shadow-lg:    0 16px 48px rgba(0,0,0,0.13);

  font-family: var(--ff-sans);
  color: var(--c-ink);
  background: var(--c-white);
  overflow-x: hidden;
}

/* ── HERO ──────────────────────────────────────────────── */
.vara-tp-hero {
  position: relative;
  min-height: 88vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
}

.vara-tp-hero__bg-img {
  position: absolute;
  inset: 0;
  background-image: url('../images/Case/uae.jfif');
  background-size: cover;
  background-position: center 30%;
  transform: scale(1.04);
  animation: vara-hero-drift 18s ease-in-out infinite alternate;
}

@keyframes vara-hero-drift {
  from { transform: scale(1.04) translateX(0); }
  to   { transform: scale(1.08) translateX(-1%); }
}

.vara-tp-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    160deg,
    rgba(10, 12, 20, 0.62) 0%,
    rgba(10, 12, 20, 0.78) 55%,
    rgba(10, 12, 20, 0.88) 100%
  );
}

/* Grid line pattern overlay */
.vara-tp-hero__grid-lines {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(184, 151, 58, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184, 151, 58, 0.08) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: linear-gradient(to bottom, transparent 0%, black 40%, black 70%, transparent 100%);
}

.vara-tp-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 960px;
  padding: 60px 60px 80px;
  animation: vara-fade-up 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes vara-fade-up {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Breadcrumb */
.vara-tp-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.6);
  font-size: 13px;
  font-family: var(--ff-mono);
  letter-spacing: 0.02em;
  margin-bottom: 28px;
}
.vara-tp-breadcrumb a {
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  transition: color 0.2s;
}
.vara-tp-breadcrumb a:hover { color: var(--c-gold-lt); }
.vara-tp-breadcrumb svg { opacity: 0.5; }

/* Tags */
.vara-tp-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}
.vara-tp-tag {
  display: inline-flex;
  align-items: center;
  padding: 5px 14px;
  border-radius: 100px;
  border: 1px solid rgba(255,255,255,0.25);
  color: rgba(255,255,255,0.82);
  font-size: 12px;
  font-family: var(--ff-mono);
  letter-spacing: 0.04em;
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(6px);
}
.vara-tp-tag--accent {
  border-color: var(--c-gold);
  color: var(--c-gold-lt);
  background: rgba(184, 151, 58, 0.15);
}

/* Hero title */
.vara-tp-hero__title {
  font-family: var(--ff-serif);
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 600;
  line-height: 1.12;
  color: var(--c-white);
  margin: 0 0 24px;
  letter-spacing: -0.02em;
}
.vara-tp-hero__title em {
  font-style: italic;
  color: var(--c-gold-lt);
}

.vara-tp-hero__sub {
  font-size: 1.1rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.72);
  max-width: 680px;
  margin-bottom: 36px;
}

/* Meta */
.vara-tp-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.vara-tp-meta-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.55);
  font-size: 13px;
  font-family: var(--ff-mono);
}
.vara-tp-meta-item svg { opacity: 0.7; }

/* Stat Ribbon */
.vara-tp-stat-ribbon {
  position: relative;
  z-index: 3;
  background: var(--c-white);
  border-top: 3px solid var(--c-gold);
  box-shadow: 0 -8px 32px rgba(0,0,0,0.18);
}
.vara-tp-stat-ribbon__inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr) repeat(3, 2px);
  align-items: stretch;
  padding: 0;
}
/* reflow: just use flex */
.vara-tp-stat-ribbon__inner {
  display: flex;
  align-items: stretch;
}

.vara-tp-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px 24px;
  text-align: center;
  position: relative;
}
.vara-tp-stat::after {
  content: '';
  position: absolute;
  right: 0; top: 20%; bottom: 20%;
  width: 1px;
  background: var(--c-border);
}
.vara-tp-stat:last-of-type::after { display: none; }

.vara-tp-stat-divider { display: none; }

.vara-tp-stat__num {
  font-family: var(--ff-serif);
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--c-gold-lt);
  line-height: 1;
  letter-spacing: -0.02em;
}
.vara-tp-stat__unit {
  font-family: var(--ff-mono);
  font-size: 0.75rem;
  color: var(--c-gold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  height: 16px;
}
.vara-tp-stat__label {
  font-size: 0.78rem;
  color: var(--c-mist);
  margin-top: 4px;
  font-family: var(--ff-sans);
  font-weight: 500;
}

/* ── BODY LAYOUT ─────────────────────────────────────── */
.vara-tp-body {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 0;
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 40px;
  align-items: start;
  position: relative;
}

/* ── SIDEBAR TOC ─────────────────────────────────────── */
.vara-tp-toc {
  position: sticky;
  top: 100px;
  padding-right: 40px;
  border-right: 1px solid var(--c-border);
}

.vara-tp-toc__label {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-mist);
  margin-bottom: 16px;
}

.vara-tp-toc nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.vara-tp-toc__link {
  display: block;
  padding: 7px 12px;
  font-size: 13px;
  color: var(--c-slate);
  text-decoration: none;
  border-left: 2px solid transparent;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  transition: all 0.2s;
  line-height: 1.4;
}
.vara-tp-toc__link:hover,
.vara-tp-toc__link--active {
  color: var(--c-ink);
  border-left-color: var(--c-gold);
  background: var(--c-gold-pale);
}

.vara-tp-toc__cta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 28px;
  padding: 10px 16px;
  background: var(--c-gold-lt);
  color: var(--c-white);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-radius: var(--radius-sm);
  transition: background 0.2s;
}
.vara-tp-toc__cta:hover { background: var(--c-gold); }

/* ── MAIN CONTENT ────────────────────────────────────── */
.vara-tp-main {
  padding-left: 60px;
  min-width: 0;
}

/* ── SECTION ─────────────────────────────────────────── */
.vara-tp-section {
  padding-bottom: 80px;
  border-bottom: 1px solid var(--c-border);
  margin-bottom: 80px;
}
.vara-tp-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.vara-tp-section__label {
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: 16px;
}

.vara-tp-section h2 {
  font-family: var(--ff-serif);
  font-size: clamp(1.9rem, 3.5vw, 2.9rem);
  font-weight: 600;
  line-height: 1.15;
  color: var(--c-gold-lt);
  margin: 0 0 24px;
  letter-spacing: -0.02em;
}

.vara-tp-section p {
  font-size: 1.02rem;
  line-height: 1.78;
  color: var(--c-slate);
  margin-bottom: 20px;
}

.vara-tp-h3 {
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--c-ink);
  margin: 40px 0 16px;
  letter-spacing: -0.01em;
}

/* ── IMAGES ──────────────────────────────────────────── */
.vara-tp-img {
  width: 100%;
  border-radius: var(--radius-md);
  display: block;
}
.vara-tp-img--full {
  height: 420px;
  object-fit: cover;
  margin: 32px 0 12px;
  box-shadow: var(--shadow-lg);
}
.vara-tp-img-caption {
  font-size: 0.82rem !important;
  color: var(--c-mist) !important;
  font-style: italic;
  margin-bottom: 32px !important;
  padding-left: 12px;
  border-left: 2px solid var(--c-border);
}

/* ── CALLOUTS ────────────────────────────────────────── */
.vara-tp-callout {
  display: flex;
  gap: 16px;
  padding: 22px 24px;
  border-radius: var(--radius-md);
  margin: 32px 0;
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--c-ink-soft);
}
.vara-tp-callout--highlight {
  background: var(--c-gold-pale);
  border: 1px solid rgba(184, 151, 58, 0.3);
  border-left: 4px solid var(--c-gold);
}
.vara-tp-callout--info {
  background: var(--c-accent-lt);
  border: 1px solid rgba(27, 79, 138, 0.2);
  border-left: 4px solid var(--c-accent);
}
.vara-tp-callout--info .vara-tp-callout__icon { color: var(--c-accent); }
.vara-tp-callout__icon {
  flex-shrink: 0;
  color: var(--c-gold);
  margin-top: 2px;
}

.vara-tp-callout--quote {
  flex-direction: column;
  background:
    url('https://images.unsplash.com/photo-1519999482648-25049ddd37b1?w=1200&q=60') center/cover no-repeat;
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  padding: 60px 56px;
  border: none;
  margin-top: 48px;
}
.vara-tp-callout--quote::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(10, 12, 20, 0.82);
  border-radius: var(--radius-lg);
}
.vara-tp-callout__quote-mark {
  position: relative;
  z-index: 1;
  font-family: var(--ff-serif);
  font-size: 7rem;
  line-height: 0.6;
  color: var(--c-gold);
  margin-bottom: 20px;
}
.vara-tp-callout--quote blockquote {
  position: relative;
  z-index: 1;
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-style: italic;
  line-height: 1.6;
  color: var(--c-white);
  margin: 0 0 20px;
  border: none;
  padding: 0;
}
.vara-tp-callout__attribution {
  position: relative;
  z-index: 1;
  font-size: 0.85rem;
  font-family: var(--ff-mono);
  color: var(--c-gold-lt);
  letter-spacing: 0.04em;
}

/* ── CLIENT GRID ─────────────────────────────────────── */
.vara-tp-client-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  align-items: start;
  margin: 32px 0;
}

.vara-tp-fact-list {
  margin-top: 32px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.vara-tp-fact {
  display: grid;
  grid-template-columns: 180px 1fr;
  font-size: 0.9rem;
  border-bottom: 1px solid var(--c-border);
}
.vara-tp-fact:last-child { border-bottom: none; }
.vara-tp-fact__key {
  padding: 12px 16px;
  background: var(--c-parchment);
  color: var(--c-slate);
  font-weight: 600;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  border-right: 1px solid var(--c-border);
}
.vara-tp-fact__val {
  padding: 12px 16px;
  color: var(--c-ink-soft);
}

.vara-tp-client-visual img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
}

/* ── CHALLENGE BLOCKS ────────────────────────────────── */
.vara-tp-challenge-blocks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--c-border);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  margin: 32px 0;
}
.vara-tp-challenge-block {
  background: var(--c-white);
  padding: 32px 28px;
  position: relative;
}
.vara-tp-challenge-block:hover {
  background: var(--c-parchment);
  transition: background 0.2s;
}
.vara-tp-challenge-block__num {
  font-family: var(--ff-serif);
  font-size: 3rem;
  font-weight: 700;
  color: rgba(184, 151, 58, 0.18);
  line-height: 1;
  margin-bottom: 12px;
  position: absolute;
  top: 20px; right: 24px;
}
.vara-tp-challenge-block h3 {
  font-family: var(--ff-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 10px;
  line-height: 1.4;
  padding-right: 50px;
}
.vara-tp-challenge-block p {
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--c-slate);
  margin: 0;
}

/* ── ACTIVITY TABLE ──────────────────────────────────── */
.vara-tp-activity-table {
  margin: 24px 0;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.vara-tp-activity-row {
  display: grid;
  grid-template-columns: 2fr 2fr 1.2fr;
  gap: 0;
  font-size: 0.88rem;
  border-bottom: 1px solid var(--c-border);
}
.vara-tp-activity-row:last-child { border-bottom: none; }
.vara-tp-activity-row span {
  padding: 12px 16px;
  color: var(--c-slate);
  border-right: 1px solid var(--c-border);
  line-height: 1.45;
}
.vara-tp-activity-row span:last-child { border-right: none; font-family: var(--ff-mono); font-size: 0.8rem; color: var(--c-mist); }
.vara-tp-activity-row--header {
  background: var(--c-ink);
}
.vara-tp-activity-row--header span {
  color: rgba(255,255,255,0.7);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-right-color: rgba(255,255,255,0.1);
}
.vara-tp-activity-row--active span { color: var(--c-ink); font-weight: 500; }
.vara-tp-activity-row--active { background: #FAFAF6; }

/* ── PHASES ──────────────────────────────────────────── */
.vara-tp-phases {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: var(--c-border);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin: 32px 0;
}
.vara-tp-phase {
  background: var(--c-white);
  padding: 36px 32px;
  position: relative;
  transition: background 0.25s;
}
.vara-tp-phase:hover { background: var(--c-parchment); }
.vara-tp-phase__header {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}
.vara-tp-phase__icon {
  width: 44px; height: 44px;
  border-radius: 10px;
  background: var(--c-ink);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--c-gold-lt);
}
.vara-tp-phase__num {
  display: block;
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: 4px;
}
.vara-tp-phase h3 {
  font-family: var(--ff-sans);
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0;
  line-height: 1.3;
}
.vara-tp-phase p {
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--c-slate);
  margin-bottom: 16px;
}

.vara-tp-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.vara-tp-list li {
  font-size: 0.85rem;
  color: var(--c-slate);
  padding-left: 20px;
  position: relative;
  line-height: 1.5;
}
.vara-tp-list li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--c-gold);
  font-size: 0.8rem;
}

/* ── TWO COL ──────────────────────────────────────────── */
.vara-tp-two-col {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 48px;
  align-items: start;
  margin-bottom: 40px;
}

/* ── STRUCTURE DIAGRAM ────────────────────────────────── */
.vara-tp-structure {
  background:
    radial-gradient(ellipse at 30% 50%, rgba(184, 151, 58, 0.06) 0%, transparent 60%),
    var(--c-parchment);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  padding: 48px 40px;
  margin: 32px 0;
  text-align: center;
}
.vara-tp-structure__title {
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-mist);
  margin-bottom: 40px;
}
.vara-tp-structure__diagram {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.vara-tp-struct-node {
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  background: var(--c-white);
  padding: 18px 32px;
  min-width: 300px;
  box-shadow: var(--shadow-sm);
  position: relative;
}
.vara-tp-struct-node--top { border-color: var(--c-border); }
.vara-tp-struct-node--mid { border-color: rgba(27,79,138,0.3); background: var(--c-accent-lt); }
.vara-tp-struct-node--bottom {
  border-color: var(--c-gold);
  background: var(--c-white);
  box-shadow: 0 0 0 3px rgba(184,151,58,0.15), var(--shadow-md);
}
.vara-tp-struct-node__badge {
  display: inline-block;
  padding: 2px 10px;
  background: var(--c-gold);
  color: var(--c-white);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 100px;
  margin-bottom: 8px;
}
.vara-tp-struct-node__label {
  font-weight: 700;
  font-size: 1rem;
  color: var(--c-ink);
}
.vara-tp-struct-node__sub {
  font-size: 0.82rem;
  color: var(--c-mist);
  margin-top: 4px;
}
.vara-tp-struct-level {
  display: flex;
  gap: 20px;
}
.vara-tp-struct-line--down {
  width: 2px;
  height: 36px;
  background: linear-gradient(to bottom, var(--c-border), var(--c-gold));
  margin: 0 auto;
}

/* ── COMPLIANCE GRID ─────────────────────────────────── */
.vara-tp-compliance-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  margin: 32px 0;
}
.vara-tp-compliance-item {
  padding: 28px 24px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  background: var(--c-white);
  transition: box-shadow 0.25s, transform 0.25s;
}
.vara-tp-compliance-item:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.vara-tp-compliance-item__icon {
  width: 40px; height: 40px;
  border-radius: 10px;
  background: var(--c-parchment);
  display: grid;
  place-items: center;
  color: var(--c-gold);
  margin-bottom: 16px;
}
.vara-tp-compliance-item h4 {
  font-family: var(--ff-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 10px;
  line-height: 1.3;
}
.vara-tp-compliance-item p {
  font-size: 0.86rem;
  line-height: 1.65;
  color: var(--c-slate);
  margin: 0;
}

/* ── TIMELINE ────────────────────────────────────────── */
.vara-tp-timeline {
  position: relative;
  padding-left: 40px;
  margin: 40px 0;
}
.vara-tp-timeline::before {
  content: '';
  position: absolute;
  left: 11px; top: 10px; bottom: 10px;
  width: 2px;
  background: linear-gradient(to bottom, var(--c-gold), var(--c-border));
}
.vara-tp-tl-item {
  position: relative;
  padding-bottom: 48px;
  animation: vara-tl-in 0.5s ease both;
}
.vara-tp-tl-item:last-child { padding-bottom: 0; }

@keyframes vara-tl-in {
  from { opacity: 0; transform: translateX(-12px); }
  to   { opacity: 1; transform: translateX(0); }
}

.vara-tp-tl-marker {
  position: absolute;
  left: -40px; top: 4px;
  width: 24px; height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.vara-tp-tl-marker--done {
  background: var(--c-success);
  color: white;
  box-shadow: 0 0 0 4px rgba(45, 125, 94, 0.15);
}
.vara-tp-tl-marker--final {
  background: var(--c-gold);
  color: white;
  box-shadow: 0 0 0 5px rgba(184, 151, 58, 0.2), 0 0 0 9px rgba(184, 151, 58, 0.08);
  animation: vara-pulse 2s ease-in-out infinite;
}
@keyframes vara-pulse {
  0%, 100% { box-shadow: 0 0 0 5px rgba(184,151,58,0.2), 0 0 0 9px rgba(184,151,58,0.08); }
  50%       { box-shadow: 0 0 0 7px rgba(184,151,58,0.25), 0 0 0 14px rgba(184,151,58,0.05); }
}

.vara-tp-tl-date {
  font-family: var(--ff-mono);
  font-size: 11px;
  color: var(--c-gold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.vara-tp-tl-content h4 {
  font-family: var(--ff-sans);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 8px;
}
.vara-tp-tl-content p {
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--c-slate);
  margin: 0;
}
.vara-tp-tl-item--final .vara-tp-tl-content h4 {
  color: var(--c-gold);
  font-family: var(--ff-serif);
  font-size: 1.25rem;
}

/* ── RESULTS GRID ────────────────────────────────────── */
.vara-tp-results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--c-border);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin: 40px 0;
}
.vara-tp-result {
  background: var(--c-white);
  padding: 36px 28px;
  position: relative;
  overflow: hidden;
  transition: background 0.2s;
}
.vara-tp-result::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(to right, var(--c-gold), var(--c-gold-lt));
  opacity: 0;
  transition: opacity 0.25s;
}
.vara-tp-result:hover::before { opacity: 1; }
.vara-tp-result:hover { background: var(--c-parchment); }

.vara-tp-result__number {
  font-family: var(--ff-serif);
  font-size: 3rem;
  font-weight: 700;
  color: var(--c-ink);
  line-height: 1;
  margin-bottom: 8px;
  letter-spacing: -0.02em;
}
.vara-tp-result__title {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--c-ink);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.vara-tp-result__desc {
  font-size: 0.88rem;
  line-height: 1.6;
  color: var(--c-slate);
}

/* ── TAKEAWAYS ───────────────────────────────────────── */
.vara-tp-takeaways {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin: 32px 0;
}
.vara-tp-takeaway {
  display: grid;
  grid-template-columns: 80px 1fr;
  border-bottom: 1px solid var(--c-border);
  transition: background 0.2s;
}
.vara-tp-takeaway:last-child { border-bottom: none; }
.vara-tp-takeaway:hover { background: var(--c-parchment); }
.vara-tp-takeaway__num {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-serif);
  font-size: 2rem;
  font-weight: 700;
  color: rgba(184, 151, 58, 0.25);
  border-right: 1px solid var(--c-border);
  padding: 28px 0;
}
.vara-tp-takeaway__body {
  padding: 28px 32px;
}
.vara-tp-takeaway__body h4 {
  font-family: var(--ff-sans);
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 10px;
}
.vara-tp-takeaway__body p {
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--c-slate);
  margin: 0;
}

/* ── CTA SECTION ─────────────────────────────────────── */
.vara-tp-cta-section {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--c-border);
  margin-bottom: 80px;
  box-shadow: var(--shadow-lg);
}
.vara-tp-cta-bg {
  position: absolute;
  inset: 0;
  background:
    url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60"><path d="M0 30h60M30 0v60" stroke="%23B8973A" stroke-width="0.4" opacity="0.15"/></svg>') repeat,
    linear-gradient(135deg, var(--c-ink) 0%, var(--c-ink-soft) 100%);
  pointer-events: none;
}
.vara-tp-cta-content {
  position: relative;
  z-index: 1;
  padding: 60px 56px;
  color: var(--c-white);
}
.vara-tp-cta-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 14px;
  border: 1px solid rgba(184, 151, 58, 0.5);
  border-radius: 100px;
  font-size: 11px;
  font-family: var(--ff-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-gold-lt);
  margin-bottom: 24px;
}
.vara-tp-cta-content h2 {
  font-family: var(--ff-serif);
  font-size: 2.2rem;
  font-weight: 600;
  color: var(--c-white);
  margin: 0 0 16px;
  line-height: 1.2;
}
.vara-tp-cta-content p {
  font-size: 0.98rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.7);
  margin-bottom: 28px;
}
.vara-tp-cta-points {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 36px;
}
.vara-tp-cta-point {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9rem;
  color: rgba(255,255,255,0.8);
}
.vara-tp-cta-point svg { color: var(--c-gold-lt); flex-shrink: 0; }

.vara-tp-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  background: var(--c-gold);
  color: var(--c-white);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-radius: var(--radius-sm);
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 16px rgba(184, 151, 58, 0.35);
}
.vara-tp-btn-primary:hover {
  background: var(--c-gold-lt);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(184, 151, 58, 0.45);
}

.vara-tp-cta-image {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.vara-tp-cta-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(0.75) saturate(0.9);
  transition: filter 0.4s;
}
.vara-tp-cta-section:hover .vara-tp-cta-image img { filter: brightness(0.85) saturate(1); }

/* ── RELATED ──────────────────────────────────────────── */
.vara-tp-related {
  margin-top: 0;
  padding-top: 48px;
  border-top: 1px solid var(--c-border);
}
.vara-tp-related > h3 {
  font-family: var(--ff-serif);
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--c-ink);
  margin: 0 0 28px;
}
.vara-tp-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.vara-tp-related-card {
  display: block;
  text-decoration: none;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: box-shadow 0.25s, transform 0.25s;
}
.vara-tp-related-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
}
.vara-tp-related-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}
.vara-tp-related-card__body {
  padding: 20px;
}
.vara-tp-related-card__body span {
  display: inline-block;
  font-size: 10px;
  font-family: var(--ff-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: 8px;
}
.vara-tp-related-card__body h4 {
  font-family: var(--ff-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 8px;
  line-height: 1.35;
}
.vara-tp-related-card__body p {
  font-size: 0.84rem;
  color: var(--c-slate);
  line-height: 1.55;
  margin: 0;
}

/* ── RESPONSIVE ──────────────────────────────────────── */
@media (max-width: 1024px) {
  .vara-tp-body {
    grid-template-columns: 1fr;
    padding: 40px 24px;
  }
  .vara-tp-toc {
    display: none;
  }
  .vara-tp-main {
    padding-left: 0;
  }
  .vara-tp-hero__inner {
    padding: 80px 32px 60px;
  }
  .vara-tp-compliance-grid {
    grid-template-columns: 1fr 1fr;
  }
  .vara-tp-results-grid {
    grid-template-columns: 1fr 1fr;
  }
  .vara-tp-client-grid {
    grid-template-columns: 1fr;
  }
  .vara-tp-client-visual { display: none; }
  .vara-tp-two-col { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .vara-tp-stat-ribbon__inner {
    flex-wrap: wrap;
  }
  .vara-tp-stat {
    min-width: 50%;
    border-bottom: 1px solid var(--c-border);
  }
  .vara-tp-stat::after { display: none; }
  .vara-tp-phases {
    grid-template-columns: 1fr;
  }
  .vara-tp-challenge-blocks {
    grid-template-columns: 1fr;
  }
  .vara-tp-compliance-grid {
    grid-template-columns: 1fr;
  }
  .vara-tp-results-grid {
    grid-template-columns: 1fr;
  }
  .vara-tp-cta-section {
    grid-template-columns: 1fr;
  }
  .vara-tp-cta-image { height: 240px; }
  .vara-tp-cta-content { padding: 40px 28px; }
  .vara-tp-related-grid {
    grid-template-columns: 1fr;
  }
  .vara-tp-activity-row {
    grid-template-columns: 1fr;
  }
  .vara-tp-activity-row span { border-right: none; border-bottom: 1px solid var(--c-border); }
  .vara-tp-activity-row span:last-child { border-bottom: none; }
}

/* ═══════════════════════════════════════════════════════════
   series-up.css — Series A Legal Stack Case Study
   YourTechLegal · yourtechlegal.com
   Prefix: .su-
   NO generic tags (.body, .root, html, etc.)
═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,300;0,400;0,600;0,700;1,300;1,600&family=IBM+Plex+Sans:wght@300;400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* ── Tokens ──────────────────────────────────────────────── */
.su-root {
  --su-ink:        #0D0F14;
  --su-ink-soft:   #252830;
  --su-slate:      #484B5A;
  --su-mist:       #7E8192;
  --su-border:     #E3E5EC;
  --su-white:      #FFFFFF;
  --su-off:        #F8F8FA;
  --su-paper:      #FAFAF7;

  --su-green:      #1D6B4E;
  --su-green-lt:   #E5F4EE;
  --su-green-mid:  #2D7D5E;

  --su-blue:       #1A3F7A;
  --su-blue-lt:    #EAF0FA;

  --su-amber:      #A07020;
  --su-amber-lt:   #FBF3E4;

  --su-red:        #B03030;
  --su-red-lt:     #FAEAEA;
  --su-red-mid:    #D05050;

  --su-accent:     #1D6B4E;

  --ff-serif:      'Fraunces', Georgia, serif;
  --ff-sans:       'IBM Plex Sans', system-ui, sans-serif;
  --ff-mono:       'IBM Plex Mono', 'Courier New', monospace;

  --r-sm:  6px;
  --r-md:  12px;
  --r-lg:  20px;

  --sh-sm: 0 2px 8px rgba(0,0,0,0.05);
  --sh-md: 0 6px 24px rgba(0,0,0,0.08);
  --sh-lg: 0 16px 48px rgba(0,0,0,0.11);

  font-family: var(--ff-sans);
  color: var(--su-ink);
  background: var(--su-white);
  overflow-x: hidden;
}

/* ── HERO ─────────────────────────────────────────────────── */
.su-hero {
  background-color: #123647;
  background-image:
    radial-gradient(ellipse 80% 60% at 70% 40%, rgba(29, 107, 78, 0.18) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 20% 80%, rgba(26, 63, 122, 0.12) 0%, transparent 55%);
  position: relative;
  overflow: hidden;
  padding-bottom: 0;
}

/* Noise texture overlay */
.su-hero__noise {
  position: absolute;
  inset: 0;
  opacity: 0.045;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  pointer-events: none;
}

/* Dot grid */
.su-hero__dot-grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.1) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(to bottom, transparent, rgba(0,0,0,0.4) 30%, rgba(0,0,0,0.4) 70%, transparent);
  pointer-events: none;
}

/* Kicker row */
.su-hero__kicker-row {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 32px 60px 0;
}

.su-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,0.5);
  font-size: 12px;
  font-family: var(--ff-mono);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color 0.2s;
}
.su-breadcrumb:hover { color: rgba(255,255,255,0.8); }

.su-hero__divider {
  width: 1px; height: 16px;
  background: rgba(255,255,255,0.2);
}

.su-tag {
  display: inline-flex;
  padding: 4px 12px;
  border-radius: 100px;
  border: 1px solid rgba(255,255,255,0.18);
  color: rgba(255,255,255,0.65);
  font-size: 11px;
  font-family: var(--ff-mono);
  letter-spacing: 0.04em;
  background: rgba(255,255,255,0.05);
}
.su-tag--green {
  border-color: rgba(29, 107, 78, 0.7);
  color: #6EE0AA;
  background: rgba(29, 107, 78, 0.2);
}

/* Hero main two-col */
.su-hero__main {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  padding: 60px 60px 80px;
  align-items: start;
}

.su-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin-bottom: 24px;
}
.su-eyebrow-num { color: var(--su-green-lt); }
.su-eyebrow-sep { color: rgba(255,255,255,0.2); }

.su-hero__title {
  font-family: var(--ff-serif);
  font-size: clamp(3rem, 6vw, 5.5rem);
  font-weight: 300;
  line-height: 1.05;
  color: var(--su-white);
  margin: 0;
  letter-spacing: -0.03em;
}
.su-hero__title em {
  font-style: italic;
  font-weight: 300;
  color: #6EE0AA;
}

.su-hero__desc {
  font-size: 1.05rem;
  line-height: 1.72;
  color: rgba(255,255,255,0.65);
  margin: 0 0 32px;
}
.su-hero__desc strong { color: rgba(255,255,255,0.9); font-weight: 600; }

/* Meta */
.su-hero__meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 32px;
}
.su-hero__meta-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-family: var(--ff-mono);
  color: rgba(255,255,255,0.45);
}
.su-hero__meta-item svg { opacity: 0.6; flex-shrink: 0; }

/* Outcome pill strip */
.su-outcome-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--r-md);
  overflow: hidden;
  background: rgba(255,255,255,0.04);
}
.su-outcome-pill {
  padding: 16px 14px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,0.08);
}
.su-outcome-pill:last-child { border-right: none; }
.su-outcome-pill__val {
  display: block;
  font-family: var(--ff-serif);
  font-size: 1.6rem;
  font-weight: 400;
  color: #6EE0AA;
  line-height: 1;
  margin-bottom: 4px;
}
.su-outcome-pill__label {
  font-size: 10px;
  font-family: var(--ff-mono);
  color: rgba(255,255,255,0.4);
  letter-spacing: 0.04em;
  line-height: 1.3;
}

/* Ticker */
.su-ticker {
  position: relative;
  z-index: 2;
  border-top: 1px solid rgba(255,255,255,0.08);
  overflow: hidden;
  background: rgb(14 67 92);
  padding: 12px 0;
  mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
}
.su-ticker__track {
  display: inline-flex;
  gap: 0;
  white-space: nowrap;
  animation: su-ticker 40s linear infinite;
}
.su-ticker__track span {
  font-family: var(--ff-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  padding: 0 20px;
}
.su-ticker__dot {
  color: rgba(29, 107, 78, 0.6) !important;
  padding: 0 4px !important;
}
@keyframes su-ticker {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ── BODY ─────────────────────────────────────────────────── */
.su-body {
  display: grid;
  grid-template-columns: 240px 1fr;
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 40px;
  gap: 0;
  align-items: start;
}

/* ── TOC ──────────────────────────────────────────────────── */
.su-toc {
  position: sticky;
  top: 100px;
  padding-right: 40px;
  border-right: 1px solid var(--su-border);
}
.su-toc__label {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--su-mist);
  margin-bottom: 14px;
}
.su-toc nav { display: flex; flex-direction: column; gap: 1px; }
.su-toc__link {
  display: block;
  padding: 6px 12px;
  font-size: 12.5px;
  color: var(--su-slate);
  text-decoration: none;
  border-left: 2px solid transparent;
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  transition: all 0.18s;
  line-height: 1.4;
  font-family: var(--ff-sans);
}
.su-toc__link:hover,
.su-toc__link--active {
  color: var(--su-ink);
  border-left-color: var(--su-green);
  background: var(--su-green-lt);
}

/* Deal card */
.su-toc__deal-card {
  margin-top: 24px;
  border: 1px solid var(--su-border);
  border-radius: var(--r-md);
  overflow: hidden;
}
.su-toc__deal-label {
  background: #2d6884;
  color: rgba(255,255,255,0.7);
  font-size: 9px;
  font-family: var(--ff-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 8px 12px;
}
.su-toc__deal-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  font-size: 11.5px;
  border-bottom: 1px solid var(--su-border);
  gap: 8px;
}
.su-toc__deal-row:last-child { border-bottom: none; }
.su-toc__deal-row span { color: var(--su-mist); font-family: var(--ff-mono); font-size: 10px; }
.su-toc__deal-row strong { color: var(--su-ink); text-align: right; font-weight: 600; font-size: 11px; }

.su-toc__cta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  padding: 10px 16px;
  background: #2d6884;
  color: var(--su-white);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--r-sm);
  transition: background 0.2s;
  justify-content: center;
}
.su-toc__cta:hover { background: #155539; }

/* ── MAIN ─────────────────────────────────────────────────── */
.su-main { padding-left: 56px; min-width: 0; }

/* ── SECTION ──────────────────────────────────────────────── */
.su-sec {
  padding-bottom: 72px;
  border-bottom: 1px solid var(--su-border);
  margin-bottom: 72px;
}
.su-sec:last-of-type { border-bottom: none; margin-bottom: 0; }

.su-sec__label {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--su-green);
  margin-bottom: 14px;
}
.su-sec h2 {
  font-family: var(--ff-serif);
  font-size: clamp(1.8rem, 3.2vw, 2.7rem);
  font-weight: 300;
  line-height: 1.15;
  color: #2d6884;
  margin: 0 0 22px;
  letter-spacing: -0.02em;
}
.su-sec p {
  font-size: 1rem;
  line-height: 1.78;
  color: var(--su-slate);
  margin-bottom: 18px;
}
.su-h3 {
  font-family: var(--ff-serif);
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--su-ink);
  margin: 36px 0 14px;
  letter-spacing: -0.01em;
}

/* ── CALLOUTS ─────────────────────────────────────────────── */
.su-callout {
  display: flex;
  gap: 14px;
  border-radius: var(--r-md);
  margin: 28px 0;
  font-size: 0.93rem;
  line-height: 1.65;
}
.su-callout--stat-row {
  display: flex;
  align-items: center;
  background: #2d6884;
  border-radius: var(--r-lg);
  padding: 0;
  overflow: hidden;
  gap: 0;
  margin: 36px 0;
}
.su-inline-stat {
  flex: 1;
  text-align: center;
  padding: 28px 20px;
  position: relative;
}
.su-inline-stat::after {
  content: '';
  position: absolute;
  right: 0; top: 20%; bottom: 20%;
  width: 1px;
  background: rgba(255,255,255,0.1);
}
.su-inline-stat:last-of-type::after { display: none; }
.su-inline-stat__divider { display: none; }
.su-inline-stat__num {
  font-family: var(--ff-serif);
  font-size: 2.4rem;
  font-weight: 300;
  color: #6EE0AA;
  line-height: 1;
  margin-bottom: 6px;
}
.su-inline-stat__label {
  font-size: 0.78rem;
  font-family: var(--ff-mono);
  color: rgb(227 237 241 / 73%);
  letter-spacing: 0.04em;
}

.su-callout--highlight {
  background: var(--su-green-lt);
  border: 1px solid rgba(29, 107, 78, 0.25);
  border-left: 4px solid var(--su-green);
  padding: 20px 22px;
  color: var(--su-ink-soft);
}
.su-callout--highlight .su-callout__icon { color: var(--su-green); flex-shrink: 0; margin-top: 2px; }

.su-callout--info {
  background: var(--su-blue-lt);
  border: 1px solid rgba(26, 63, 122, 0.2);
  border-left: 4px solid var(--su-blue);
  padding: 20px 22px;
  color: var(--su-ink-soft);
}
.su-callout--info .su-callout__icon { color: var(--su-blue); flex-shrink: 0; margin-top: 2px; }

.su-callout--quote {
  flex-direction: column;
  background: #2d6884;
  border-radius: var(--r-lg);
  padding: 52px 56px;
  border: none;
  position: relative;
  overflow: hidden;
  margin-top: 40px;
}
.su-callout--quote::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-image: radial-gradient(ellipse 60% 50% at 80% 50%, rgba(29,107,78,0.15) 0%, transparent 60%);
  pointer-events: none;
}
.su-callout__quote-mark {
  font-family: var(--ff-serif);
  font-size: 6rem;
  line-height: 0.5;
  color: #6EE0AA;
  opacity: 0.5;
  margin-bottom: 16px;
  position: relative;
}
.su-callout--quote blockquote {
  position: relative;
  font-family: var(--ff-serif);
  font-size: 1.4rem;
  font-style: italic;
  font-weight: 300;
  line-height: 1.65;
  color: rgba(255,255,255,0.9);
  margin: 0 0 20px;
  padding: 0; border: none;
}
.su-callout__attr {
  font-size: 0.82rem;
  font-family: var(--ff-mono);
  color: #6EE0AA;
  opacity: 0.8;
  letter-spacing: 0.03em;
  position: relative;
}

/* ── CLIENT PROFILE ───────────────────────────────────────── */
.su-profile-grid {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 48px;
  margin: 24px 0;
}
.su-fact-block {
  border: 1px solid var(--su-border);
  border-radius: var(--r-md);
  overflow: hidden;
}
.su-fact-block__title {
  background: #2d6884;
  color: rgba(255,255,255,0.6);
  font-size: 9px;
  font-family: var(--ff-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 10px 14px;
}
.su-fact-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 9px 14px;
  font-size: 12px;
  border-bottom: 1px solid var(--su-border);
  gap: 12px;
}
.su-fact-row:last-child { border-bottom: none; }
.su-fact-row span { color: var(--su-mist); font-family: var(--ff-mono); font-size: 10px; flex-shrink: 0; }
.su-fact-row strong { color: var(--su-ink); text-align: right; font-weight: 600; font-size: 11px; line-height: 1.3; }

/* ── CHALLENGE ITEMS ──────────────────────────────────────── */
.su-challenge-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--su-border);
  border: 1px solid var(--su-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin: 28px 0;
}
.su-challenge-item {
  background: var(--su-white);
  padding: 28px 32px;
  transition: background 0.2s;
}
.su-challenge-item:hover { background: var(--su-off); }
.su-challenge-item__head {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 12px;
}
.su-challenge-num {
  font-family: var(--ff-serif);
  font-size: 2.2rem;
  font-weight: 300;
  color: rgba(0,0,0,0.1);
  line-height: 1;
  flex-shrink: 0;
  width: 44px;
}
.su-challenge-item h3 {
  font-family: var(--ff-sans);
  font-size: 1rem;
  font-weight: 600;
  color: var(--su-ink);
  margin: 0;
  padding-top: 6px;
  line-height: 1.35;
}
.su-challenge-item p {
  font-size: 0.92rem;
  line-height: 1.68;
  color: var(--su-slate);
  margin: 0 0 12px;
  padding-left: 64px;
}
.su-challenge-item__risk {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 64px;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 11px;
  font-family: var(--ff-mono);
  font-weight: 500;
  letter-spacing: 0.04em;
}
.su-risk--high { background: var(--su-red-lt); color: var(--su-red); border: 1px solid rgba(176,48,48,0.2); }
.su-risk--med  { background: var(--su-amber-lt); color: var(--su-amber); border: 1px solid rgba(160,112,32,0.2); }
.su-risk--low  { background: var(--su-blue-lt); color: var(--su-blue); border: 1px solid rgba(26,63,122,0.2); }

/* ── STACK DIAGRAM ────────────────────────────────────────── */
.su-stack-diagram {
  background: #212d32;
  border-radius: var(--r-lg);
  padding: 40px;
  margin: 32px 0;
  position: relative;
  overflow: hidden;
}
.su-stack-diagram::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 80% 20%, rgba(29,107,78,0.12) 0%, transparent 50%),
                    radial-gradient(circle at 10% 80%, rgba(26,63,122,0.1) 0%, transparent 40%);
  pointer-events: none;
}
.su-stack-diagram__label {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  margin-bottom: 28px;
  position: relative;
}
.su-stack-layers {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
}
.su-stack-layer {
  border-radius: var(--r-md);
  padding: 18px 24px;
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s;
}
.su-stack-layer:hover { transform: translateX(4px); }
.su-stack-layer__num {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.6;
  flex-shrink: 0;
  width: 56px;
}
.su-stack-layer__title {
  font-size: 0.9rem;
  font-weight: 600;
  flex-shrink: 0;
  width: 130px;
}
.su-stack-layer__items {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.su-stack-layer__items span {
  font-size: 11px;
  font-family: var(--ff-mono);
  padding: 3px 10px;
  border-radius: 100px;
  white-space: nowrap;
}
.su-stack-layer--1 { background: rgba(29,107,78,0.25); border: 1px solid rgba(29,107,78,0.4); }
.su-stack-layer--1 .su-stack-layer__num  { color: #6EE0AA; }
.su-stack-layer--1 .su-stack-layer__title { color: #6EE0AA; }
.su-stack-layer--1 .su-stack-layer__items span { background: rgba(29,107,78,0.3); color: rgba(255,255,255,0.8); border: 1px solid rgba(29,107,78,0.3); }

.su-stack-layer--2 { background: rgba(26,63,122,0.25); border: 1px solid rgba(26,63,122,0.4); }
.su-stack-layer--2 .su-stack-layer__num  { color: #90B8F8; }
.su-stack-layer--2 .su-stack-layer__title { color: #90B8F8; }
.su-stack-layer--2 .su-stack-layer__items span { background: rgba(26,63,122,0.3); color: rgba(255,255,255,0.8); border: 1px solid rgba(26,63,122,0.3); }

.su-stack-layer--3 { background: rgba(160,112,32,0.2); border: 1px solid rgba(160,112,32,0.35); }
.su-stack-layer--3 .su-stack-layer__num  { color: #F5C96A; }
.su-stack-layer--3 .su-stack-layer__title { color: #F5C96A; }
.su-stack-layer--3 .su-stack-layer__items span { background: rgba(160,112,32,0.25); color: rgba(255,255,255,0.8); border: 1px solid rgba(160,112,32,0.3); }

.su-stack-layer--4 { background: rgba(176,48,48,0.18); border: 1px solid rgba(176,48,48,0.3); }
.su-stack-layer--4 .su-stack-layer__num  { color: #F5A0A0; }
.su-stack-layer--4 .su-stack-layer__title { color: #F5A0A0; }
.su-stack-layer--4 .su-stack-layer__items span { background: rgba(176,48,48,0.2); color: rgba(255,255,255,0.8); border: 1px solid rgba(176,48,48,0.25); }

/* ── COMPARISON TABLE ─────────────────────────────────────── */
.su-comparison-table {
  border: 1px solid var(--su-border);
  border-radius: var(--r-md);
  overflow: hidden;
  margin: 20px 0;
}
.su-ct-header {
  display: grid;
  grid-template-columns: 1.5fr 1.5fr 1.5fr 100px;
  background: #2d6884;
  padding: 0;
}
.su-ct-header span {
  padding: 10px 16px;
  font-size: 10px;
  font-family: var(--ff-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  border-right: 1px solid rgba(255,255,255,0.08);
}
.su-ct-header span:last-child { border-right: none; }
.su-ct-row {
  display: grid;
  grid-template-columns: 1.5fr 1.5fr 1.5fr 100px;
  border-bottom: 1px solid var(--su-border);
}
.su-ct-row:last-child { border-bottom: none; }
.su-ct-row span {
  padding: 12px 16px;
  font-size: 0.88rem;
  color: var(--su-slate);
  border-right: 1px solid var(--su-border);
  line-height: 1.45;
}
.su-ct-row span:last-child { border-right: none; }
.su-ct-row--selected { background: var(--su-green-lt); }
.su-ct-row--selected span { color: var(--su-ink-soft); }
.su-ct-yes {
  display: flex !important;
  align-items: center;
  gap: 6px;
  color: var(--su-green) !important;
  font-weight: 600;
  font-size: 11px !important;
}
.su-ct-no {
  display: flex !important;
  align-items: center;
  gap: 6px;
  color: var(--su-red-mid) !important;
  font-size: 11px !important;
}

/* ── TERM GRID ────────────────────────────────────────────── */
.su-term-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--su-border);
  border: 1px solid var(--su-border);
  border-radius: var(--r-md);
  overflow: hidden;
  margin: 16px 0 32px;
}
.su-term-item {
  background: var(--su-white);
  padding: 22px 24px;
  transition: background 0.2s;
}
.su-term-item:hover { background: var(--su-off); }
.su-term-item__key {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--su-mist);
  margin-bottom: 6px;
}
.su-term-item__val {
  font-family: var(--ff-serif);
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--su-ink);
  line-height: 1;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.su-term-item__note {
  font-size: 0.83rem;
  color: var(--su-mist);
  line-height: 1.5;
}

/* ── NEGOTIATION TABLE ────────────────────────────────────── */
.su-negotiation-table {
  border: 1px solid var(--su-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin: 24px 0;
}
.su-nt-header {
  display: grid;
  grid-template-columns: 1.4fr 1.5fr 1.5fr 90px;
  background: #2d6884;
}
.su-nt-header span {
  padding: 10px 16px;
  font-size: 10px;
  font-family: var(--ff-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  border-right: 1px solid rgba(255,255,255,0.06);
}
.su-nt-header span:last-child { border-right: none; }
.su-nt-row {
  display: grid;
  grid-template-columns: 1.4fr 1.5fr 1.5fr 90px;
  border-bottom: 1px solid var(--su-border);
  align-items: stretch;
  transition: background 0.15s;
}
.su-nt-row:last-child { border-bottom: none; }
.su-nt-row:hover { background: var(--su-off); }
.su-nt-term {
  padding: 14px 16px;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--su-ink);
  border-right: 1px solid var(--su-border);
  line-height: 1.4;
  display: flex;
  align-items: center;
}
.su-nt-before {
  padding: 14px 16px;
  font-size: 0.86rem;
  color: var(--su-red-mid);
  border-right: 1px solid var(--su-border);
  line-height: 1.4;
  display: flex;
  align-items: center;
  background: rgba(176,48,48,0.03);
}
.su-nt-after {
  padding: 14px 16px;
  font-size: 0.86rem;
  color: var(--su-green);
  font-weight: 500;
  border-right: 1px solid var(--su-border);
  line-height: 1.4;
  display: flex;
  align-items: center;
  background: rgba(29,107,78,0.04);
}
.su-nt-badge {
  padding: 14px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 10px;
  font-family: var(--ff-mono);
  font-weight: 600;
  letter-spacing: 0.04em;
}
.su-nt-badge--win     { background: var(--su-green-lt); color: var(--su-green); }
.su-nt-badge--neutral { background: var(--su-blue-lt); color: var(--su-blue); }

/* ── CAP TABLE VISUAL ─────────────────────────────────────── */
.su-captable {
  background: var(--su-paper);
  border: 1px solid var(--su-border);
  border-radius: var(--r-lg);
  padding: 32px 36px;
  margin: 24px 0;
}
.su-captable__title {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--su-mist);
  margin-bottom: 28px;
}
.su-captable__bars { display: flex; flex-direction: column; gap: 10px; }
.su-ct-bar-row {
  display: grid;
  grid-template-columns: 200px 1fr;
  align-items: center;
  gap: 16px;
}
.su-ct-bar-label {
  font-size: 0.83rem;
  color: var(--su-slate);
  font-family: var(--ff-mono);
  text-align: right;
}
.su-ct-bar-wrap { position: relative; background: var(--su-border); border-radius: 100px; height: 32px; }
.su-ct-bar {
  height: 100%;
  border-radius: 100px;
  background: var(--su-ink);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 12px;
  position: relative;
  transition: width 1s cubic-bezier(0.22, 1, 0.36, 1);
  animation: su-bar-grow 1.2s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes su-bar-grow {
  from { width: 0 !important; }
}
.su-ct-bar span { font-size: 11px; font-family: var(--ff-mono); font-weight: 500; color: rgba(255,255,255,0.9); }
.su-ct-bar--b { background: var(--su-green); }
.su-ct-bar--c { background: var(--su-blue); }
.su-ct-bar--d { background: var(--su-amber); }
.su-ct-bar--pool { background: var(--su-mist); }
.su-captable__note {
  margin-top: 16px;
  font-size: 0.8rem;
  color: var(--su-mist);
  font-style: italic;
  font-family: var(--ff-sans);
}

/* ── VESTING GRID ─────────────────────────────────────────── */
.su-vesting-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--su-border);
  border: 1px solid var(--su-border);
  border-radius: var(--r-md);
  overflow: hidden;
  margin: 20px 0;
}
.su-vest-item {
  background: var(--su-white);
  padding: 24px 26px;
  transition: background 0.2s;
}
.su-vest-item:hover { background: var(--su-off); }
.su-vest-item__title {
  font-family: var(--ff-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--su-mist);
  margin-bottom: 6px;
}
.su-vest-item__detail {
  font-family: var(--ff-serif);
  font-size: 1.3rem;
  color: var(--su-ink);
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.su-vest-item__desc {
  font-size: 0.86rem;
  line-height: 1.6;
  color: var(--su-slate);
}

/* ── IP LAYERS ────────────────────────────────────────────── */
.su-ip-layers {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--su-border);
  border: 1px solid var(--su-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin: 28px 0;
}
.su-ip-layer {
  display: grid;
  grid-template-columns: 60px 1fr;
  background: var(--su-white);
  transition: background 0.2s;
}
.su-ip-layer:hover { background: var(--su-off); }
.su-ip-layer--risk { background: rgba(176,48,48,0.025); }
.su-ip-layer--risk:hover { background: rgba(176,48,48,0.05); }
.su-ip-layer__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--su-green);
  border-right: 1px solid var(--su-border);
  padding: 24px 0;
}
.su-ip-layer--risk .su-ip-layer__icon { color: var(--su-red-mid); }
.su-ip-layer__body { padding: 22px 28px; }
.su-ip-layer__body h4 {
  font-family: var(--ff-sans);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--su-ink);
  margin: 0 0 8px;
}
.su-ip-layer__body p {
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--su-slate);
  margin: 0;
}

/* ── ONLINE GRID ──────────────────────────────────────────── */
.su-online-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin: 28px 0;
}
.su-online-item {
  border: 1px solid var(--su-border);
  border-radius: var(--r-md);
  padding: 26px 22px;
  transition: box-shadow 0.25s, transform 0.25s;
  background: var(--su-white);
}
.su-online-item:hover { box-shadow: var(--sh-md); transform: translateY(-3px); }
.su-online-item__icon {
  width: 42px; height: 42px;
  border-radius: 10px;
  background: var(--su-green-lt);
  display: grid;
  place-items: center;
  color: var(--su-green);
  margin-bottom: 14px;
}
.su-online-item h4 {
  font-family: var(--ff-sans);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--su-ink);
  margin: 0 0 8px;
  line-height: 1.3;
}
.su-online-item p {
  font-size: 0.85rem;
  line-height: 1.62;
  color: var(--su-slate);
  margin: 0;
}

/* ── RESULTS ──────────────────────────────────────────────── */
.su-results-band {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--su-border);
  border: 1px solid var(--su-border);
  border-radius: var(--r-lg);
  overflow: hidden;
  margin: 28px 0;
}
.su-result-big {
  background: #2d6884;
  padding: 44px 40px;
  position: relative;
  overflow: hidden;
}
.su-result-big::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 80% 80%, rgba(29,107,78,0.15) 0%, transparent 60%);
}
.su-result-big--right::before {
  background: radial-gradient(ellipse at 20% 20%, rgba(26,63,122,0.15) 0%, transparent 60%);
}
.su-result-big__num {
  font-family: var(--ff-serif);
  font-size: 4.5rem;
  font-weight: 300;
  color: #6EE0AA;
  line-height: 1;
  letter-spacing: -0.03em;
  position: relative;
}
.su-result-big--right .su-result-big__num { color: #90B8F8; }
.su-result-big__label {
  font-size: 0.85rem;
  font-weight: 600;
  color: rgba(255,255,255,0.8);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 10px 0 8px;
  font-family: var(--ff-mono);
  position: relative;
}
.su-result-big__sub {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.4);
  line-height: 1.55;
  position: relative;
}

.su-outcome-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--su-border);
  border-radius: var(--r-md);
  overflow: hidden;
  margin: 28px 0;
}
.su-outcome-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px 22px;
  border-bottom: 1px solid var(--su-border);
  font-size: 0.93rem;
  line-height: 1.65;
  color: var(--su-slate);
  transition: background 0.2s;
}
.su-outcome-item:last-child { border-bottom: none; }
.su-outcome-item:hover { background: var(--su-off); }
.su-outcome-item strong { color: var(--su-ink); }
.su-outcome-item__icon {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--su-green-lt);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--su-green);
  margin-top: 1px;
}

/* ── TAKEAWAYS ────────────────────────────────────────────── */
.su-takeaway-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin: 28px 0;
}
.su-takeaway-col { display: flex; flex-direction: column; gap: 32px; }
.su-takeaway-entry { position: relative; }
.su-takeaway-entry__num {
  font-family: var(--ff-serif);
  font-size: 3.5rem;
  font-weight: 300;
  color: rgba(0,0,0,0.06);
  line-height: 1;
  margin-bottom: -12px;
}
.su-takeaway-entry h4 {
  font-family: var(--ff-sans);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--su-ink);
  margin: 0 0 8px;
  line-height: 1.35;
}
.su-takeaway-entry p {
  font-size: 0.9rem;
  line-height: 1.65;
  color: var(--su-slate);
  margin: 0;
}

/* ── CTA ──────────────────────────────────────────────────── */
.su-cta-section {
  position: relative;
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--su-border);
  margin-bottom: 72px;
  box-shadow: var(--sh-lg);
}
.su-cta-pattern {
  position: absolute;
  inset: 0;
  background-color: #2d6884;
  background-image:
    linear-gradient(rgba(29,107,78,0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(29,107,78,0.08) 1px, transparent 1px),
    radial-gradient(ellipse 70% 60% at 30% 50%, rgba(29,107,78,0.15) 0%, transparent 60%);
  background-size: 48px 48px, 48px 48px, 100% 100%;
  pointer-events: none;
}
.su-cta-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 380px;
  align-items: center;
  gap: 0;
}
.su-cta-left { padding: 60px 56px; }
.su-cta-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 14px;
  border: 1px solid rgba(29,107,78,0.5);
  border-radius: 100px;
  font-size: 10px;
  font-family: var(--ff-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6EE0AA;
  margin-bottom: 22px;
}
.su-cta-left h2 {
  font-family: var(--ff-serif);
  font-size: 2.2rem;
  font-weight: 300;
  color: var(--su-white);
  margin: 0 0 14px;
  line-height: 1.2;
  letter-spacing: -0.02em;
}
.su-cta-left h2 em { font-style: italic; color: #6EE0AA; }
.su-cta-left p { font-size: 0.95rem; line-height: 1.7; color: rgba(255,255,255,0.6); margin-bottom: 24px; }
.su-cta-services {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 32px;
}
.su-cta-services span {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.86rem;
  color: rgba(255,255,255,0.7);
}
.su-cta-services svg { color: #6EE0AA; flex-shrink: 0; }

.su-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 26px;
  background: #1d96a6;
  color: var(--su-white);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-radius: var(--r-sm);
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 16px rgba(29, 107, 78, 0.4);
}
.su-btn-primary:hover {
  background: #155539;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(29, 107, 78, 0.5);
}

/* Document stack illustration */
.su-cta-right {
  padding: 56px 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.su-cta-doc-stack {
  position: relative;
  width: 280px;
  height: 340px;
}
.su-cta-doc {
  position: absolute;
  left: 0; right: 0;
  border-radius: 10px;
  box-shadow: var(--sh-lg);
}
.su-cta-doc--back2 {
  top: 20px;
  left: 16px;
  right: -16px;
  height: 300px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  transform: rotate(3deg);
}
.su-cta-doc--back1 {
  top: 10px;
  left: 8px;
  right: -8px;
  height: 310px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  transform: rotate(1.5deg);
}
.su-cta-doc--front {
  top: 0; left: 0; right: 0;
  background: var(--su-white);
  border: 1px solid rgba(255,255,255,0.2);
  overflow: hidden;
}
.su-cta-doc__header {
  background: var(--su-off);
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--su-border);
}
.su-cta-doc__dots { display: flex; gap: 5px; }
.su-cta-doc__dots span {
  width: 9px; height: 9px;
  border-radius: 50%;
  background: var(--su-border);
}
.su-cta-doc__dots span:nth-child(1) { background: #FC5F57; }
.su-cta-doc__dots span:nth-child(2) { background: #FDBC2C; }
.su-cta-doc__dots span:nth-child(3) { background: #34C749; }
.su-cta-doc__filename { font-size: 10px; font-family: var(--ff-mono); color: var(--su-mist); }
.su-cta-doc__body { padding: 18px 18px 20px; }
.su-cta-doc__line {
  height: 8px;
  background: var(--su-border);
  border-radius: 4px;
  margin-bottom: 8px;
}
.su-cta-doc__line--title { height: 12px; width: 70%; margin-bottom: 18px; background: rgba(0,0,0,0.12); }
.su-cta-doc__line--short { width: 55%; }
.su-cta-doc__section { margin-bottom: 16px; }
.su-cta-doc__label-text {
  font-size: 8px;
  font-family: var(--ff-mono);
  letter-spacing: 0.1em;
  color: var(--su-mist);
  text-transform: uppercase;
  margin-bottom: 6px;
}
.su-cta-doc__stamp {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--su-border);
}
.su-cta-doc__stamp span { font-size: 11px; font-family: var(--ff-mono); color: var(--su-green); font-weight: 600; }

/* ── RELATED ──────────────────────────────────────────────── */
.su-related { padding-top: 48px; border-top: 1px solid var(--su-border); }
.su-related > h3 {
  font-family: var(--ff-serif);
  font-size: 1.5rem;
  font-weight: 300;
  color: var(--su-ink);
  margin: 0 0 24px;
  letter-spacing: -0.01em;
}
.su-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.su-related-card {
  display: block;
  text-decoration: none;
  border: 1px solid var(--su-border);
  border-radius: var(--r-md);
  padding: 26px 24px 22px;
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.25s, transform 0.25s;
  background: var(--su-white);
}
.su-related-card:hover { box-shadow: var(--sh-md); transform: translateY(-3px); }
.su-related-card__accent {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
}
.su-related-card__accent--blue { background: linear-gradient(to right, var(--su-blue), #4A80D4); }
.su-related-card__accent--green { background: linear-gradient(to right, var(--su-green), #3AAA78); }
.su-related-card__accent--gold { background: linear-gradient(to right, var(--su-amber), #D4A030); }
.su-related-card__tag {
  display: inline-block;
  font-size: 10px;
  font-family: var(--ff-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--su-mist);
  margin-bottom: 10px;
}
.su-related-card h4 {
  font-family: var(--ff-sans);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--su-ink);
  margin: 0 0 8px;
  line-height: 1.35;
}
.su-related-card p {
  font-size: 0.84rem;
  color: var(--su-slate);
  line-height: 1.55;
  margin: 0 0 14px;
}
.su-related-card__link {
  font-size: 12px;
  font-family: var(--ff-mono);
  color: var(--su-green);
  font-weight: 500;
}

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width: 1024px) {
  .su-body { grid-template-columns: 1fr; padding: 40px 24px; }
  .su-toc { display: none; }
  .su-main { padding-left: 0; }
  .su-hero__kicker-row { padding: 24px 24px 0; }
  .su-hero__main { grid-template-columns: 1fr; padding: 40px 24px 56px; gap: 32px; }
  .su-online-grid { grid-template-columns: 1fr 1fr; }
  .su-profile-grid { grid-template-columns: 1fr; }
  .su-takeaway-cols { grid-template-columns: 1fr; gap: 24px; }
  .su-cta-inner { grid-template-columns: 1fr; }
  .su-cta-right { display: none; }
  .su-cta-left { padding: 40px 32px; }
}

@media (max-width: 768px) {
  .su-hero__title { font-size: 2.8rem; }
  .su-outcome-strip { grid-template-columns: 1fr 1fr; }
  .su-callout--stat-row { flex-wrap: wrap; }
  .su-inline-stat { min-width: 50%; }
  .su-inline-stat::after { display: none; }
  .su-stack-layer { flex-direction: column; align-items: flex-start; gap: 10px; }
  .su-stack-layer__title { width: auto; }
  .su-ct-header, .su-ct-row { grid-template-columns: 1fr 1fr; }
  .su-ct-row span:nth-child(3) { display: none; }
  .su-ct-header span:nth-child(3) { display: none; }
  .su-nt-header, .su-nt-row { grid-template-columns: 1fr 1fr 80px; }
  .su-nt-before { display: none; }
  .su-nt-header span:nth-child(2) { display: none; }
  .su-term-grid { grid-template-columns: 1fr; }
  .su-vesting-grid { grid-template-columns: 1fr; }
  .su-online-grid { grid-template-columns: 1fr; }
  .su-results-band { grid-template-columns: 1fr; }
  .su-related-grid { grid-template-columns: 1fr; }
  .su-captable .su-ct-bar-row { grid-template-columns: 140px 1fr; }
  .su-cta-services { grid-template-columns: 1fr; }
  .su-callout--quote { padding: 36px 28px; }
  .su-callout--quote blockquote { font-size: 1.15rem; }
}