:root {
  --ds-color-border: #e2e8f0;
  --ds-color-border-accent-muted: #cfe2f3;
  --ds-color-border-button: rgba(0, 34, 68, 0.2);
  --ds-color-border-card: #e9ecf1;
  --ds-color-border-control: #cbd5e1;
  --ds-color-border-divider: #eeeeee;
  --ds-color-border-line: #e6eaf0;
  --ds-color-border-strong: #cbd5e0;
  --ds-color-border-subtle: #e0e0e0;
  --ds-color-danger: #991b1b;
  --ds-color-hero-scrim-1: rgba(0, 17, 34, 0.86);
  --ds-color-hero-scrim-2: rgba(0, 17, 34, 0.77);
  --ds-color-hero-scrim-3: rgba(0, 17, 34, 0.48);
  --ds-color-hero-scrim-4: rgba(0, 17, 34, 0.30);
  --ds-color-hero-scrim-5: rgba(0, 17, 34, 0.26);
  --ds-color-legacy-page-accent: #1d4ed8;
  --ds-color-legacy-page-ink: #1f2a3a;
  --ds-color-legacy-page-line: #e2e6ee;
  --ds-color-legacy-page-muted: #5b6678;
  --ds-color-legacy-page-navy: #0b1f3a;
  --ds-color-logo-glow: rgba(120, 150, 200, 0.28);
  --ds-color-navy: #002244;
  --ds-color-navy-black: #000f1e;
  --ds-color-navy-deep: #001a33;
  --ds-color-page-bg: #ffffff;
  --ds-color-shadow-card: rgba(0, 34, 68, 0.08);
  --ds-color-shadow-faint: rgba(16, 42, 67, 0.04);
  --ds-color-shadow-focus: rgba(0, 34, 68, 0.12);
  --ds-color-shadow-hero-text: rgba(0, 0, 0, 0.4);
  --ds-color-shadow-medium: rgba(0, 0, 0, 0.2);
  --ds-color-shadow-soft: rgba(0, 0, 0, 0.08);
  --ds-color-shadow-strong: rgba(0, 0, 0, 0.3);
  --ds-color-surface: #ffffff;
  --ds-color-surface-accent-tint: #eef4fb;
  --ds-color-surface-alt: #f1f5f9;
  --ds-color-surface-border: rgba(0, 34, 68, 0.12);
  --ds-color-surface-error: #fee2e2;
  --ds-color-surface-hero-scrim-deep: rgba(0, 15, 30, 0.9);
  --ds-color-surface-hero-scrim-light: rgba(0, 15, 30, 0.15);
  --ds-color-surface-hero-scrim-mid: rgba(0, 15, 30, 0.35);
  --ds-color-surface-hero-scrim-strong: rgba(0, 15, 30, 0.55);
  --ds-color-surface-modal-scrim: rgba(0, 0, 0, 0.5);
  --ds-color-surface-note: #f4f7fc;
  --ds-color-surface-on-navy: rgba(255, 255, 255, 0.15);
  --ds-color-surface-on-navy-active: rgba(255, 255, 255, 0.25);
  --ds-color-surface-on-navy-badge: rgba(255, 255, 255, 0.16);
  --ds-color-surface-on-navy-hover: rgba(255, 255, 255, 0.1);
  --ds-color-surface-on-navy-icon: rgba(255, 255, 255, 0.18);
  --ds-color-surface-placeholder: #fafafa;
  --ds-color-surface-subtle: #f8fafc;
  --ds-color-surface-success: #d1fae5;
  --ds-color-text-accent-link: #0a6bb0;
  --ds-color-text-badge-accent: #0369a1;
  --ds-color-text-body: #475569;
  --ds-color-text-faint: #94a3b8;
  --ds-color-text-grey: #717171;
  --ds-color-text-grey-dark: #666666;
  --ds-color-text-heading: #1a2433;
  --ds-color-text-ink: #1a1a1a;
  --ds-color-text-muted: #627288;
  --ds-color-text-muted-cool: #5a6573;
  --ds-color-text-on-navy: rgba(255, 255, 255, 0.85);
  --ds-color-text-on-navy-body: rgba(255, 255, 255, 0.82);
  --ds-color-text-on-navy-dim: rgba(255, 255, 255, 0.4);
  --ds-color-text-on-navy-faint: rgba(255, 255, 255, 0.45);
  --ds-color-text-on-navy-hover: rgba(255, 255, 255, 0.8);
  --ds-color-text-on-navy-muted: rgba(255, 255, 255, 0.7);
  --ds-color-text-on-navy-soft: rgba(255, 255, 255, 0.75);
  --ds-color-text-on-navy-strong: rgba(255, 255, 255, 0.9);
  --ds-color-text-secondary: #333333;
  --ds-color-text-strong: #334155;
  --ds-color-text-success: #065f46;
  --ds-color-text-tertiary: #555555;
  --ds-color-viz-area: rgba(42, 120, 214, 0.1);
  --ds-color-wb-blue: #003087;
  --ds-color-wb-cyan: #009fda;
  --ds-color-wb-cyan-text: #006d94;
  --ds-color-white: #ffffff;
  --ds-font-display: 'Inter', sans-serif;
  --ds-font-family-1: Arial, Helvetica, sans-serif;
  --ds-font-sans: 'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
  --ds-font-sans-2: 'Source Sans 3', sans-serif;
  --ds-text-10: 10px;
  --ds-text-11: 11px;
  --ds-text-12: 12px;
  --ds-text-13: 13px;
  --ds-text-14: 14px;
  --ds-text-15: 15px;
  --ds-text-16: 16px;
  --ds-text-17: 17px;
  --ds-text-18: 18px;
  --ds-text-19: 19px;
  --ds-text-20: 20px;
  --ds-text-22: 22px;
  --ds-text-23: 23px;
  --ds-text-24: 24px;
  --ds-text-26: 26px;
  --ds-text-28: 28px;
  --ds-text-29: 29px;
  --ds-text-30: 30px;
  --ds-text-32: 32px;
  --ds-text-34: 34px;
  --ds-text-_82rem: .82rem;
  --ds-text-1_05rem: 1.05rem;
  --ds-text-1_7rem: 1.7rem;
  --ds-text-11_5: 11.5px;
  --ds-text-12_5: 12.5px;
  --ds-text-13_5: 13.5px;
  --ds-text-14_5: 14.5px;
  --ds-text-15_5: 15.5px;
  --ds-radius-2: 2px;
  --ds-radius-3: 3px;
  --ds-radius-4: 4px;
  --ds-radius-5: 5px;
  --ds-radius-6: 6px;
  --ds-radius-8: 8px;
  --ds-radius-9: 9px;
  --ds-radius-10: 10px;
  --ds-radius-12: 12px;
  --ds-radius-14: 14px;
  --ds-radius-20: 20px;
  --ds-radius-999: 999px;
  --ds-size-container: 1300px;
  --ds-size-gutter: 24px;
  --ds-size-prose-measure: 720px;
  --ds-shadow-button-hover: 0 6px 16px rgba(0,0,0,0.2);
  --ds-shadow-card: none;
  --ds-shadow-card-expanded: 0 8px 24px rgba(0,34,68,0.12);
  --ds-shadow-card-hover: 0 4px 16px rgba(0,34,68,0.08);
  --ds-shadow-card-lift: none;
  --ds-shadow-control-hover: 0 2px 4px rgba(0,0,0,0.05);
  --ds-shadow-cover: 0 2px 8px rgba(0,0,0,0.15);
  --ds-shadow-dropdown: 0 4px 12px rgba(0,0,0,0.15);
  --ds-shadow-header: 0 2px 8px rgba(0,34,68,.18);
  --ds-shadow-hero-eyebrow: 0 1px 2px rgba(0,0,0,.45);
  --ds-shadow-hero-title: 0 1px 4px rgba(0,0,0,.5);
  --ds-shadow-modal: 0 20px 50px rgba(0,0,0,0.3);
  --ds-shadow-panel: none;
  --ds-viz-area: rgba(43, 108, 176, 0.1);
  --ds-viz-cat-1: #2b6cb0;
  --ds-viz-cat-2: #38a169;
  --ds-viz-cat-3: #c05621;
  --ds-viz-cat-4: #6b46c1;
  --ds-viz-cat-5: #975a16;
  --ds-viz-cat-6: #805ad5;
  --ds-viz-cat-7: #b83280;
  --ds-viz-cat-8: #3182ce;
  --ds-viz-grid: rgba(0, 0, 0, 0.08);
  --ds-viz-grid-svg: #e6ebf1;
  --ds-viz-line: #2b6cb0;
  --ds-viz-neg: #e34948;
  --ds-viz-pos: #008300;
  --ds-viz-sector-agriculture: #3f6212;
  --ds-viz-sector-context: #e11d48;
  --ds-viz-sector-debt: #92400e;
  --ds-viz-sector-education: #ea580c;
  --ds-viz-sector-education-title: #c2410c;
  --ds-viz-sector-external: #1d4ed8;
  --ds-viz-sector-fiscal: #4338ca;
  --ds-viz-sector-governance: #0891b2;
  --ds-viz-sector-governance-title: #0e7490;
  --ds-viz-sector-health: #dc2626;
  --ds-viz-sector-labour: #db2777;
  --ds-viz-sector-labour-title: #9d174d;
  --ds-viz-sector-monetary: #15803d;
  --ds-viz-sector-poverty: #86198f;
  --ds-viz-sector-prices: #b45309;
  --ds-viz-sector-real: #0d9488;
  --ds-viz-sector-real-title: #0f766e;
  --ds-viz-sector-socio: #5b21b6;
}

.header {
  background: var(--ds-color-navy);
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: var(--ds-shadow-header);
}

.header-content {
  box-sizing: border-box;
  max-width: var(--ds-size-container);
  margin: 0 auto;
  padding: 0 var(--ds-size-gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: 48px;
}

.header-left { display: flex; align-items: center; gap: 8px; }
.header-right { display: flex; align-items: center; gap: 24px; }

.header-logo {
  font-family: var(--ds-font-display);
  font-size: var(--ds-text-17);
  font-weight: 800;
  color: var(--ds-color-white);
  letter-spacing: -0.3px;
  text-decoration: none;
  transition: opacity 0.15s;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
}
.header-logo:hover { opacity: 0.85; }

.crumb,
.site-title a {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

.header-mark {
  width: 17.33px;
  height: 20px;
  flex: 0 0 auto;
  display: block;
  margin-right: 4px;
  filter: drop-shadow(0 0 2.5px var(--ds-color-logo-glow));
}

.header-nav { display: flex; gap: 22px; }

.header-nav a {
  font-family: var(--ds-font-display);
  color: var(--ds-color-text-on-navy-muted);
  text-decoration: none;
  font-size: var(--ds-text-13);
  font-weight: 600;
  transition: color 0.15s;
  display: inline-flex;
  align-items: center;
  min-height: 32px;
}
.header-nav a:hover { color: var(--ds-color-text-on-navy); }
.header-nav a.active { color: var(--ds-color-white); }

.hd-sep {
  opacity: 0.3;
  font-weight: 300;
  margin: 0 4px;
  color: var(--ds-color-white);
}

.hd-section {
  font-family: var(--ds-font-display);
  font-weight: 400;
  font-size: var(--ds-text-13);
  color: var(--ds-color-text-on-navy-muted);
  letter-spacing: 0.01em;
}

.language-toggle {
  display: flex;
  gap: 2px;
  background: var(--ds-color-surface-on-navy);
  padding: 2px;
  border-radius: var(--ds-radius-5);
  border: none;
}

.lang-btn {
  padding: 4px 10px;
  border: none;
  background: transparent;
  color: var(--ds-color-text-on-navy-muted);
  font-size: var(--ds-text-12);
  font-weight: 700;
  cursor: pointer;
  border-radius: var(--ds-radius-3);
  transition: background-color 0.15s, color 0.15s;
  font-family: var(--ds-font-display);
  min-height: 28px;
}
.lang-btn:hover { background: var(--ds-color-surface-on-navy-hover); color: var(--ds-color-text-on-navy); }
.lang-btn.active { background: var(--ds-color-surface-on-navy-active); color: var(--ds-color-white); }

.header-logo:focus-visible,
.header-nav a:focus-visible,
.lang-btn:focus-visible,
.crumb:focus-visible,
.site-title a:focus-visible {
  outline: 2px solid var(--ds-color-white);
  outline-offset: 2px;
}

.tagline {
  font-size: var(--ds-text-12);
  color: var(--ds-color-text-on-navy-faint);
  font-weight: 400;
  margin: 0;
  display: none;
}
.tagline a {
  color: var(--ds-color-text-on-navy-faint);
  text-decoration: none;
  font-weight: 400;
  transition: color 0.15s;
}
.tagline a:hover { color: var(--ds-color-text-on-navy-hover); text-decoration: underline; }

.hd-menu-btn {
  display: none;
  appearance: none;
  -webkit-appearance: none;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  padding: 4px 8px;
  min-height: 28px;
  color: var(--ds-color-text-on-navy-muted);
  cursor: pointer;
  border-radius: var(--ds-radius-3);
}
.hd-menu-btn:hover { color: var(--ds-color-text-on-navy); }
.hd-menu-btn:focus-visible {
  outline: 2px solid var(--ds-color-white);
  outline-offset: 2px;
}
.hd-menu-btn[aria-expanded="true"] { color: var(--ds-color-white); }

@media (max-width: 768px) {
  .header-content {
    padding: 0 16px;
    height: 44px;
  }
  .header-logo { font-size: var(--ds-text-15); }
  .hd-menu-btn { display: inline-flex; }
  .header-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    gap: 0;
    background: var(--ds-color-navy);
    padding: 4px 16px 10px;
    box-shadow: var(--ds-shadow-header);
  }
  .header-nav.nav-open { display: flex; }
  .header-nav a { min-height: 44px; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

.hero,
.page-hero,
.data-hero,
.doc-hero,
.collection-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero:has(.sugg),
.page-hero:has(.sugg) {
  overflow: visible;
}

.hero:has(img),
.hero:has(picture),
.page-hero:has(img),
.page-hero:has(picture),
.data-hero,
.doc-hero,
.collection-hero {
  background: var(--ds-color-navy-black);
  min-height: 206px;
}

.hero-img,
.data-hero-img,
.doc-hero-img,
.collection-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-overlay,
.hero-ov,
.data-hero-overlay,
.doc-hero-overlay,
.collection-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    var(--ds-color-surface-hero-scrim-mid) 0%,
    var(--ds-color-surface-hero-scrim-light) 30%,
    var(--ds-color-surface-hero-scrim-light) 45%,
    var(--ds-color-surface-hero-scrim-strong) 70%,
    var(--ds-color-surface-hero-scrim-deep) 100%
  );
}

.hero-text,
.hero-in,
.data-hero-text,
.doc-hero-text,
.collection-hero-text,
.collection-hero-content,
.page-hero > .wrap {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  max-width: var(--ds-size-container);
  margin: 0 auto;
  width: 100%;
  padding: 48px 24px 44px;
}

.hero:has(img) .hero-eyebrow,
.hero:has(picture) .hero-eyebrow,
.page-hero:has(img) .hero-eyebrow,
.data-hero-eyebrow,
.doc-hero-eyebrow,
.collection-hero-eyebrow {
  font-family: var(--ds-font-display);
  font-size: var(--ds-text-12);
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 700;
  color: var(--ds-color-text-on-navy-soft);
  margin-bottom: 12px;
  text-shadow: var(--ds-shadow-hero-eyebrow);
}

.hero:has(img) .hero-headline,
.hero:has(picture) .hero-headline,
.page-hero:has(img) h1,
.page-hero:has(picture) h1,
.data-hero h1,
.doc-hero-h1,
.collection-hero h1 {
  font-family: var(--ds-font-display);
  font-size: var(--ds-text-32);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.5px;
  color: var(--ds-color-white);
  text-shadow: var(--ds-shadow-hero-title);
  margin: 0;
}

.hero:has(img) .hero-sub,
.hero:has(picture) .hero-sub,
.page-hero:has(img) .hero-sub,
.data-hero-sub,
.doc-hero-sub,
.collection-hero-desc {
  font-family: var(--ds-font-sans);
  font-size: var(--ds-text-16);
  color: var(--ds-color-text-on-navy);
  margin: 10px 0 0;
  max-width: 68ch;
  line-height: 1.5;
}

.hero input:not([type="checkbox"]):not([type="radio"]),
.page-hero input:not([type="checkbox"]):not([type="radio"]) {
  min-height: 24px;
}


.hero .hero-text,
.hero .hero-in {
  padding: 44px 24px 42px;
}
.hero .hero-headline {
  font-size: var(--ds-text-34);
  letter-spacing: -1px;
  line-height: 1.13;
}



.collection-hero .collection-hero-text,
.collection-hero .collection-hero-content,
.doc-hero--sm .doc-hero-text {
  padding: 32px 24px 28px;
}

@media (max-width: 768px) {
  .hero:has(img),
  .hero:has(picture),
  .page-hero:has(img),
  .page-hero:has(picture),
  .data-hero,
  .doc-hero,
  .collection-hero {
    min-height: 132px;
    padding: 0;
  }

  .hero-text,
  .hero-in,
  .data-hero-text,
  .doc-hero-text,
  .collection-hero-text,
  .collection-hero-content,
  .hero .hero-text,
  .hero .hero-in,
  .collection-hero .collection-hero-text,
  .collection-hero .collection-hero-content,
  .doc-hero--sm .doc-hero-text,
  .page-hero > .wrap {
    padding: 22px 16px 20px;
  }
  .hero .hero-headline,
  .doc-hero-h1,
  .data-hero h1 {
    font-size: var(--ds-text-26);
  }
  .hero-eyebrow,
  .data-hero-eyebrow,
  .doc-hero-eyebrow {
    font-size: var(--ds-text-11);
    letter-spacing: 2px;
  }
}

.hero:not(:has(picture)),
.page-hero:not(:has(picture)),
.data-hero,
.doc-hero,
.collection-hero {
  min-height: 132px;
  background-color: var(--ds-color-navy);
  background-image: url('/haiti-topo-band.webp');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.hero:not(:has(picture))::after,
.page-hero:not(:has(picture))::after,
.data-hero::after,
.doc-hero::after,
.collection-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    var(--ds-color-hero-scrim-1) 0%,
    var(--ds-color-hero-scrim-2) 34%,
    var(--ds-color-hero-scrim-3) 56%,
    var(--ds-color-hero-scrim-4) 76%,
    var(--ds-color-hero-scrim-5) 100%
  );
}

.hero:not(:has(picture)) .hero-overlay,
.hero:not(:has(picture)) .hero-ov,
.page-hero:not(:has(picture)) .hero-overlay,
.data-hero .data-hero-overlay,
.doc-hero .doc-hero-overlay,
.collection-hero .collection-hero-overlay {
  background: none;
}

.hero:not(:has(picture)) .hero-text,
.hero:not(:has(picture)) .hero-in,
.page-hero:not(:has(picture)) > .wrap,
.data-hero .data-hero-text,
.doc-hero .doc-hero-text,
.collection-hero .collection-hero-text,
.collection-hero .collection-hero-content {
  position: relative;
  z-index: 2;
}

.hero:not(:has(picture)) .hero-text,
.hero:not(:has(picture)) .hero-in,
.page-hero:not(:has(picture)) > .wrap,
.data-hero .data-hero-text,
.doc-hero .doc-hero-text,
.doc-hero--sm .doc-hero-text,
.collection-hero .collection-hero-text,
.collection-hero .collection-hero-content {
  padding: 18px var(--ds-size-gutter);
}

.hero:not(:has(picture)) .hero-headline,
.page-hero:not(:has(picture)) h1,
.data-hero h1,
.doc-hero .doc-hero-h1,
.collection-hero h1 {
  font-size: var(--ds-text-29);
  line-height: 1.15;
  letter-spacing: -0.4px;
}

.hero:not(:has(picture)),
.page-hero:not(:has(picture)),
.data-hero,
.doc-hero,
.collection-hero {
  color: var(--ds-color-white);
}
.hero:not(:has(picture)) h1,
.page-hero:not(:has(picture)) h1,
.data-hero h1,
.doc-hero h1,
.collection-hero h1,
.hero:not(:has(picture)) .hero-headline,
.doc-hero .doc-hero-h1 {
  color: var(--ds-color-white);
}
.hero:not(:has(picture)) p,
.page-hero:not(:has(picture)) p,
.data-hero p,
.doc-hero p,
.collection-hero p {
  color: var(--ds-color-text-on-navy-body);
}

.hero:not(:has(picture)) .hero-eyebrow,
.page-hero:not(:has(picture)) .eyebrow,
.data-hero .data-hero-eyebrow,
.doc-hero .doc-hero-eyebrow,
.collection-hero .collection-hero-eyebrow {
  margin-bottom: 4px;
}
.doc-hero .doc-hero-badges,
.data-hero .data-hero-badges {
  margin-top: 8px;
}
.doc-hero .doc-hero-sub,
.page-hero:not(:has(picture)) p,
.hero:not(:has(picture)) .hero-sub {
  margin-top: 4px;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .hero:not(:has(picture)),
  .page-hero:not(:has(picture)),
  .data-hero,
  .doc-hero,
  .collection-hero {
    background-image: url('/haiti-topo-band-sm.webp');
  }
}

.site-footer,
.footer,
.foot {
  background: var(--ds-color-navy);
}

.site-footer,
.footer,
.foot .wrap {
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  padding: 24px max(var(--ds-size-gutter), calc((100% - var(--ds-size-container)) / 2));
  font-size: var(--ds-text-12);
  color: var(--ds-color-text-on-navy-muted);
  text-align: start;
}

.footer-logo,
.foot .fl {
  font-family: var(--ds-font-display);
  font-weight: 700;
  color: var(--ds-color-white);
  justify-self: start;
}

footer a,
.site-footer a,
.footer a,
.foot a {
  color: var(--ds-color-text-on-navy-soft);
  text-decoration: none;
  transition: color 0.15s;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}

footer a:hover,
.site-footer a:hover,
.footer a:hover,
.foot a:hover {
  color: var(--ds-color-white);
}

footer a:focus-visible,
.site-footer a:focus-visible,
.footer a:focus-visible,
.foot a:focus-visible {
  outline: 2px solid var(--ds-color-white);
  outline-offset: 2px;
  color: var(--ds-color-white);
}

.footer-links {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  justify-self: center;
  justify-content: center;
}

.footer-preferred {
  justify-self: end;
  width: 260px;
  max-width: 100%;
}

@media (max-width: 640px) {
  .site-footer,
  .footer,
  .foot .wrap {
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 12px;
  }

  .footer-logo,
  .foot .fl,
  .footer-links,
  .footer-preferred {
    justify-self: start;
  }

  .footer-links {
    justify-content: flex-start;
  }
}




*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--ds-font-sans);line-height:1.6;color:var(--ds-color-text-ink);background:var(--ds-color-white);font-size:var(--ds-text-16)}


.page-hero .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.page-hero .hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,var(--ds-color-surface-hero-scrim-mid) 0%,var(--ds-color-surface-hero-scrim-light) 30%,var(--ds-color-surface-hero-scrim-light) 45%,var(--ds-color-surface-hero-scrim-strong) 70%,var(--ds-color-surface-hero-scrim-deep) 100%)}
.page-hero .wrap{position:relative;z-index:2}
.wrap{max-width: var(--ds-size-container);margin:0 auto;padding:0 24px}
.page-hero .eyebrow{font-family:var(--ds-font-display);font-size:var(--ds-text-12);text-transform:uppercase;letter-spacing:3px;font-weight:700;color:rgba(255,255,255,.65);margin-bottom:12px}
.page-hero h1{font-family:var(--ds-font-display);font-size:var(--ds-text-32);font-weight:900;line-height:1.15;letter-spacing:-0.5px;margin-bottom:12px}
.page-hero p{font-size:var(--ds-text-17);color:var(--ds-color-text-on-navy-body);max-width:680px}
.badges{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
.badge{font-family:var(--ds-font-display);font-size:var(--ds-text-11_5);font-weight:700;letter-spacing:.4px;background:rgba(255,255,255,.14);color:var(--ds-color-white);padding:5px 12px;border-radius:var(--ds-radius-20)}

main{padding:8px 0 40px}
section.block{padding:34px 0 6px}
section.block h2{font-family:var(--ds-font-display);font-size:var(--ds-text-23);font-weight:800;color:var(--ds-color-navy);letter-spacing:-.4px;margin-bottom:6px}
section.block .lead{color:var(--ds-color-text-tertiary);font-size:var(--ds-text-15_5);margin-bottom:20px;max-width:720px}
section.block .lead.lead-full{max-width:none}
.divider{height:1px;background:#e6e9ef;max-width:1000px;margin:0 auto}

.endpoint{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;background:#f3f7fc;border-left:4px solid var(--ds-color-wb-cyan);border-radius:0 8px 8px 0;padding:16px 20px;margin:4px 0 8px;font-size:var(--ds-text-15)}
.endpoint .k{font-family:var(--ds-font-display);font-weight:700;color:var(--ds-color-navy)}
code,kbd{font-family:'SF Mono',Menlo,Consolas,monospace;font-size:.9em;background:var(--ds-color-surface-alt);padding:2px 6px;border-radius:var(--ds-radius-4);color:#0a2e5c}
kbd{background:var(--ds-color-navy);color:var(--ds-color-white)}
pre{background:#0f1b2d;color:#e6edf3;border-radius:var(--ds-radius-8);padding:16px 18px;overflow-x:auto;margin:12px 0;font-size:var(--ds-text-13_5);line-height:1.5}
pre code{background:none;padding:0;color:inherit;font-size:var(--ds-text-13_5)}

.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:6px}
.card{border:1px solid var(--ds-color-border-card);border-radius:var(--ds-radius-10);padding:20px;display:flex;flex-direction:column;background:var(--ds-color-white)}
.card-top{height:3px;border-radius:var(--ds-radius-3);margin:-20px -20px 16px;border-top-left-radius:10px;border-top-right-radius:10px}
.card-top-claude{background:#D97757}
.card-top-chatgpt{background:#10a37f}
.card-top-copilot{background:#8661c5}
.card-top-vscode{background:#0078d4}
.card .card-note-lead{margin:0 0 10px}
.admin-callout{margin:0 0 12px}
.curl-lead{margin-top:18px}
.curl-note{color:var(--ds-color-text-grey);font-size:13.5px}
.card h3{font-family:var(--ds-font-display);font-size:var(--ds-text-17);font-weight:800;color:var(--ds-color-navy);margin-bottom:10px}
.card ol{margin:0 0 4px 18px;font-size:var(--ds-text-14_5);color:var(--ds-color-text-secondary)}
.card ol li{margin:6px 0}
.card .note{font-size:var(--ds-text-13);color:#717171;margin-top:10px}

.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;margin-top:6px}
.tool{display:flex;gap:12px;align-items:baseline}
.tool .name{font-family:'SF Mono',Menlo,Consolas,monospace;font-weight:700;color:#0a2e5c;background:var(--ds-color-surface-alt);padding:2px 8px;border-radius:var(--ds-radius-5);font-size:var(--ds-text-13_5);white-space:nowrap}
.tool .desc{font-size:var(--ds-text-14_5);color:#444}

ul.plain{list-style:none;margin-top:8px}
ul.plain li{padding:8px 0;border-bottom:1px solid #eef0f4;font-size:var(--ds-text-15)}
ul.plain li:last-child{border-bottom:none}
ul.plain b{color:var(--ds-color-navy);font-family:var(--ds-font-display)}
a.inline{color:#0a6ebd;text-decoration:none;font-weight:600}
a.inline:hover{text-decoration:underline}

.callout{background:#fffaf0;border:1px solid #f0e2c0;border-radius:var(--ds-radius-8);padding:14px 18px;font-size:var(--ds-text-14_5);color:#5a4a23;margin:14px 0}
.callout b{color:#7a5a10}

.folds{max-width:1000px;margin:26px auto 0;padding:0 24px}
details.fold{border:1px solid var(--ds-color-border-card);border-radius:var(--ds-radius-10);background:var(--ds-color-white);margin-bottom:12px;overflow:hidden}
details.fold summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px 20px;font-family:var(--ds-font-display);font-size:16.5px;font-weight:800;color:var(--ds-color-navy);letter-spacing:-.2px}
details.fold summary::-webkit-details-marker{display:none}
details.fold summary:hover{background:#f7f9fc}
details.fold summary .chev{margin-left:auto;flex:0 0 auto;width:18px;height:18px;color:#6a717b;transition:transform .18s}
details.fold[open] summary .chev{transform:rotate(180deg)}
details.fold summary .sub{font-family:var(--ds-font-sans);font-weight:400;font-size:var(--ds-text-13_5);color:#6a717b;letter-spacing:0}
.fold-body{padding:4px 20px 20px}
.fold-body h2{display:none}
@media(prefers-reduced-motion:reduce){details.fold summary .chev{transition:none}}
@media(max-width:680px){details.fold summary .sub{display:none}}






.modal{display:none;position:fixed;z-index:2000;inset:0;background:var(--ds-color-surface-modal-scrim)}
.modal.open{display:flex;align-items:center;justify-content:center}
.modal-content{background:var(--ds-color-white);border-radius:var(--ds-radius-12);padding:32px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative}
.modal-close{position:absolute;top:16px;right:16px;font-size:var(--ds-text-28);font-weight:700;color:var(--ds-color-text-muted);cursor:pointer;border:none;background:none}
.modal-title{font-family:var(--ds-font-display);font-size:var(--ds-text-24);font-weight:700;color:var(--ds-color-navy);margin-bottom:8px}
.modal-description{color:var(--ds-color-text-muted);margin-bottom:24px;font-size:var(--ds-text-14)}
.form-group{margin-bottom:16px}
.form-label{display:block;font-size:var(--ds-text-13);font-weight:600;color:var(--ds-color-navy);margin-bottom:6px}
.form-input,.form-textarea{width:100%;padding:10px 12px;font-size:var(--ds-text-14);border:1px solid var(--ds-color-border-strong);border-radius:var(--ds-radius-6);font-family:inherit}
.form-textarea{min-height:120px;resize:vertical}
.form-submit{width:100%;padding:12px;background:var(--ds-color-navy);color:var(--ds-color-white);border:none;border-radius:var(--ds-radius-6);font-size:var(--ds-text-15);font-weight:600;cursor:pointer}
.form-message{margin-top:16px;padding:12px;border-radius:var(--ds-radius-6);font-size:var(--ds-text-14);display:none}
.form-message.success{background:var(--ds-color-surface-success);color:var(--ds-color-text-success);display:block}
.form-message.error{background:var(--ds-color-surface-error);color:var(--ds-color-danger);display:block}

@media(max-width:820px){
  .cards{grid-template-columns:1fr}
  .tool-grid{grid-template-columns:1fr}
  .page-hero h1{font-size:var(--ds-text-26)}
}

.demo-section{max-width:760px;margin:0 auto;padding:30px 24px 6px}
.chatdemo{border:1px solid var(--ds-color-border-card);border-radius:var(--ds-radius-14);overflow:hidden;background:var(--ds-color-white);box-shadow:0 1px 2px var(--ds-color-shadow-faint),0 12px 32px rgba(16,42,67,.09)}
.chatdemo-head{display:flex;align-items:center;gap:7px;padding:10px 14px;background:var(--ds-color-white);border-bottom:1px solid #eaedf2}
.chatdemo-app{font-weight:800;color:var(--ds-color-navy);font-size:var(--ds-text-13)}
.chatdemo-conn{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:var(--ds-text-11_5);font-weight:700;color:var(--ds-color-wb-cyan-text);background:#eaf6fb;padding:3px 11px;border-radius:var(--ds-radius-20)}
.chatdemo-conn-dot{width:7px;height:7px;border-radius:50%;background:#19b36b;box-shadow:0 0 0 3px rgba(25,179,107,.18)}
.chatdemo-body{padding:18px}
.chatdemo [hidden]{display:none!important}
.cd-row{display:flex;margin-bottom:12px}
.cd-user{justify-content:flex-start}
.cd-bubble{max-width:85%;padding:11px 14px;border-radius:var(--ds-radius-14);font-size:var(--ds-text-14);line-height:1.5}
.cd-q{background:var(--ds-color-navy);color:var(--ds-color-white);border-bottom-left-radius:4px}
.cd-a{background:#f4f6f9;color:#1a2430;border-bottom-left-radius:4px}
.cd-caret{display:inline-block;width:2px;height:1em;background:var(--ds-color-white);margin-left:1px;vertical-align:-2px;animation:cdBlink 1s steps(1) infinite}
@keyframes cdBlink{50%{opacity:0}}
.cd-tool{display:flex;align-items:center;gap:8px;margin:0 0 14px 2px;font-size:var(--ds-text-12_5);color:var(--ds-color-text-muted-cool)}
.cd-tool:not([hidden]){animation:cdFade .3s both}
.cd-tool-spin{width:13px;height:13px;border:2px solid var(--ds-color-border-accent-muted);border-top-color:var(--ds-color-wb-cyan);border-radius:50%;animation:cdSpin .7s linear infinite}
@keyframes cdSpin{to{transform:rotate(360deg)}}
.cd-tool.done .cd-tool-spin{animation:none;border:none;background:#19b36b;position:relative}
.cd-tool.done .cd-tool-spin::after{content:"";position:absolute;left:4.5px;top:1.5px;width:3px;height:6px;border:solid var(--ds-color-white);border-width:0 1.7px 1.7px 0;transform:rotate(45deg)}
.cd-tool-label{font-weight:700;color:var(--ds-color-wb-cyan-text)}
.cd-tool-count{color:#9aa4b1}
.cd-a p,.cd-a ul{margin:0}
.cd-lead{font-weight:700;color:var(--ds-color-navy);margin-bottom:6px!important}
.cd-a ul{padding-left:18px}
.cd-a li{margin:4px 0}
.cd-cite{margin-top:9px!important;font-size:var(--ds-text-12);color:#7a8593;border-top:1px solid #e6e9ef;padding-top:7px}
.cd-asst:not([hidden]) .cd-bubble{animation:cdFade .45s both}
.cd-asst:not([hidden]) li{animation:cdFade .42s both}
.cd-asst:not([hidden]) li:nth-child(1){animation-delay:.12s}
.cd-asst:not([hidden]) li:nth-child(2){animation-delay:.26s}
.cd-asst:not([hidden]) li:nth-child(3){animation-delay:.40s}
@keyframes cdFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cd-chart{margin:10px 0 4px}
.cd-chart-title{font-size:var(--ds-text-11_5);font-weight:700;color:var(--ds-color-navy);margin-bottom:5px}
.cd-chart-svg{width:100%;height:118px;display:block;overflow:visible}
.cd-chart-area{fill:rgba(0,159,218,.12)}
.cd-chart-line{fill:none;stroke:var(--ds-color-wb-cyan);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.cd-chart-dot{fill:var(--ds-color-navy)}
.cd-chart-lab{fill:var(--ds-color-text-muted-cool);font-size:var(--ds-text-10);font-weight:700}
.cd-chart-x{fill:#9aa4b1;font-size:var(--ds-text-10)}
.cd-asst:not([hidden]) .cd-chart-line{stroke-dasharray:1300;animation:cdDraw 1.2s ease .15s both}
.cd-asst:not([hidden]) .cd-chart-area,.cd-asst:not([hidden]) .cd-chart-dot,.cd-asst:not([hidden]) .cd-chart-lab{animation:cdFade .5s .8s both}
@keyframes cdDraw{from{stroke-dashoffset:1300}to{stroke-dashoffset:0}}
.demo-caption{max-width:760px;margin:11px auto 0;padding:0 24px;color:#6a717b;font-size:var(--ds-text-12_5);text-align:center}
@media(max-width:680px){.cd-bubble{max-width:92%}}
@media(prefers-reduced-motion:reduce){
  .cd-caret,.cd-tool-spin{animation:none}
  .cd-asst:not([hidden]) .cd-bubble,.cd-asst:not([hidden]) li,.cd-tool:not([hidden]){animation:none}
  .cd-asst:not([hidden]) .cd-chart-line{animation:none;stroke-dasharray:none}
  .cd-asst:not([hidden]) .cd-chart-area,.cd-asst:not([hidden]) .cd-chart-dot,.cd-asst:not([hidden]) .cd-chart-lab{animation:none}
}
    
