/* ═══════════════════════════════════════════════════════════════
   STOKHOS LABS — Global Stylesheet
   Single source of truth for all design tokens, typography,
   layout utilities, and shared components.

   PAGE AGENTS: import this file. Never override tokens in your
   page stylesheet — add only page-specific rules.
   ═══════════════════════════════════════════════════════════════ */

/* ── Google Fonts ─────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* ══════════════════════════════════════════════════════════════
   DESIGN TOKENS
   ══════════════════════════════════════════════════════════════ */
:root {

  /* ── Background surfaces ─────────────────────────────── */
  --bg:            #0D1117;   /* cream — default page background  */
  --bg-white:      #161C24;   /* pure white — cards, modals       */
  --bg-subtle:     #0B0E14;   /* very light gray — alt sections   */
  --bg-panel:      #1C2535;   /* slightly blue-gray — table heads */

  /* ── Primary ink (navy) ───────────────────────────────── */
  --navy:          #EEF3F8;   /* primary heading and body text    */
  --navy-mid:      #B0BAC8;   /* secondary text                   */
  --navy-light:    #8B949E;   /* tertiary / muted labels          */

  /* ── Green accent ────────────────────────────────────── */
  --green:         #3FCF8E;   /* primary CTA, highlights          */
  --green-light:   #8EE0A0;   /* decorative, tag fills            */
  --green-dim:     rgba(63,207,142,0.12);   /* green tint backgrounds           */

  /* ── Blue accent ─────────────────────────────────────── */
  --blue:          #58A6FF;   /* links, secondary CTAs            */
  --blue-light:    #79C0FF;   /* softer blue for accents          */
  --blue-dim:      rgba(88,166,255,0.10);   /* blue tint backgrounds            */

  /* ── Borders & dividers ──────────────────────────────── */
  --border:        #21262D;   /* default borders                  */
  --border-dark:   #30363D;   /* emphasized borders               */

  /* ── Text shades ─────────────────────────────────────── */
  --text:          #EEF3F8;   /* alias → --navy                   */
  --text-muted:    #8B949E;   /* muted body text                  */
  --text-subtle:   #7B8896;   /* de-emphasized labels — readable on all dark surfaces */

  /* ── Dark surface ───────────────────────────────────────────── */
  --navy-bg:       #0F1A2E;   /* dark navy — use for backgrounds (footer, CTA, cards) */

  /* ── Semantic ────────────────────────────────────────── */
  --red:           #FF4757;   /* error, negative delta            */
  --amber:         #E3B341;   /* warning, caution                 */

  /* ── Typography ──────────────────────────────────────── */
  --font-sans:  'Inter', system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif;
  --font-mono:  'JetBrains Mono', 'SF Mono', 'Fira Code', Consolas, monospace;

  /* ── Type scale (fluid where appropriate) ────────────── */
  --text-xs:    11px;
  --text-sm:    13px;
  --text-base:  16px;
  --text-lg:    18px;
  --text-xl:    22px;
  --text-2xl:   clamp(22px, 2.4vw, 28px);
  --text-3xl:   clamp(26px, 3.0vw, 38px);
  --text-4xl:   clamp(32px, 4.2vw, 54px);
  --text-5xl:   clamp(42px, 5.8vw, 76px);
  --text-6xl:   clamp(54px, 7.5vw, 100px);

  /* ── Spacing (8 px grid) ─────────────────────────────── */
  --sp-1:   4px;
  --sp-2:   8px;
  --sp-3:   12px;
  --sp-4:   16px;
  --sp-5:   20px;
  --sp-6:   24px;
  --sp-8:   32px;
  --sp-10:  40px;
  --sp-12:  48px;
  --sp-16:  64px;
  --sp-20:  80px;
  --sp-24:  96px;
  --sp-32:  128px;

  /* ── Layout ──────────────────────────────────────────── */
  --container:    1200px;
  --container-sm:  720px;
  --container-md:  960px;
  --container-xl: 1400px;
  --nav-height:     68px;

  /* ── Elevation ───────────────────────────────────────── */
  --shadow-xs:  0 1px 2px rgba(0,0,0,0.30);
  --shadow-sm:  0 1px 4px rgba(0,0,0,0.40), 0 1px 2px rgba(0,0,0,0.20);
  --shadow-md:  0 4px 16px rgba(0,0,0,0.50), 0 2px 4px rgba(0,0,0,0.20);
  --shadow-lg:  0 12px 40px rgba(0,0,0,0.60), 0 4px 8px rgba(0,0,0,0.20);
  --shadow-xl:  0 24px 64px rgba(0,0,0,0.70);

  /* ── Borders ─────────────────────────────────────────── */
  --radius-xs:   2px;
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   20px;
  --radius-2xl:  28px;
  --radius-full: 9999px;

  /* ── Transitions ─────────────────────────────────────── */
  --ease:      cubic-bezier(0.16, 1, 0.3, 1);
  --ease-std:  cubic-bezier(0.45, 0, 0.55, 1);
  --t-fast:    140ms;
  --t-base:    220ms;
  --t-slow:    380ms;
}

/* ══════════════════════════════════════════════════════════════
   CSS RESET
   ══════════════════════════════════════════════════════════════ */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

a {
  color: var(--blue);
  text-decoration: none;
}
a:hover { text-decoration: none; }

img, svg, canvas, video {
  display: block;
  max-width: 100%;
}

ul, ol { list-style: none; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.15;
  color: var(--navy);
  letter-spacing: -0.025em;
}

p { max-width: 68ch; }

button, input, select, textarea {
  font: inherit;
  color: inherit;
}

button { cursor: pointer; }

:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
  border-radius: var(--radius-xs);
}

table {
  border-collapse: collapse;
  width: 100%;
}

/* ══════════════════════════════════════════════════════════════
   LAYOUT & CONTAINER
   ══════════════════════════════════════════════════════════════ */
.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--sp-10);
}
.container--sm { max-width: var(--container-sm); }
.container--md { max-width: var(--container-md); }
.container--xl { max-width: var(--container-xl); }

@media (max-width: 768px) {
  .container { padding-inline: var(--sp-6); }
}
@media (max-width: 480px) {
  .container { padding-inline: var(--sp-4); }
}

/* Page-level wrapper that clears the fixed nav */
.page-main {
  padding-top: var(--nav-height);
  min-height: calc(100vh - var(--nav-height));
}

/* ── Grid helpers ─────────────────────────────────────────── */
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-8); }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-8); }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-6); }

@media (max-width: 1024px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
}

/* ── Flex helpers ─────────────────────────────────────────── */
.flex          { display: flex; }
.flex-col      { flex-direction: column; }
.items-center  { align-items: center; }
.items-start   { align-items: flex-start; }
.items-end     { align-items: flex-end; }
.justify-between { justify-content: space-between; }
.justify-center  { justify-content: center; }
.flex-wrap     { flex-wrap: wrap; }
.flex-1        { flex: 1; }
.gap-2  { gap: var(--sp-2); }
.gap-4  { gap: var(--sp-4); }
.gap-6  { gap: var(--sp-6); }
.gap-8  { gap: var(--sp-8); }
.gap-10 { gap: var(--sp-10); }
.gap-12 { gap: var(--sp-12); }
.gap-16 { gap: var(--sp-16); }

/* ══════════════════════════════════════════════════════════════
   SECTION RHYTHM
   ══════════════════════════════════════════════════════════════ */
.section       { padding-block: var(--sp-32); }
.section--sm   { padding-block: var(--sp-20); }
.section--lg   { padding-block: calc(var(--sp-32) + var(--sp-16)); }
.section--white  { background: var(--bg-white); }
.section--cream  { background: var(--bg); }
.section--subtle { background: var(--bg-subtle); }

@media (max-width: 768px) {
  .section     { padding-block: var(--sp-20); }
  .section--sm { padding-block: var(--sp-12); }
  .section--lg { padding-block: var(--sp-24); }
}

/* Section header pattern — used across all pages */
.section-eyebrow {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: var(--sp-4);
}

.section-title {
  font-size: var(--text-4xl);
  font-weight: 800;
  color: var(--navy);
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin-bottom: var(--sp-5);
  max-width: 800px;
}

.section-sub {
  font-size: var(--text-lg);
  color: var(--text-muted);
  max-width: 600px;
  line-height: 1.8;
  margin-bottom: var(--sp-12);
}

@media (max-width: 768px) {
  .section-title { margin-bottom: var(--sp-4); }
  .section-sub   { margin-bottom: var(--sp-8); }
}

/* ══════════════════════════════════════════════════════════════
   NAVIGATION (styles applied after injection)
   ══════════════════════════════════════════════════════════════ */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--nav-height);
  z-index: 200;
  background: rgba(13,17,23,0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  transition: background var(--t-base), box-shadow var(--t-base);
}
.nav.scrolled {
  background: rgba(13,17,23,0.98);
  box-shadow: var(--shadow-sm);
}

.nav__inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-8);
}

.nav__logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.nav__logo img { height: 30px; width: auto; }

.nav__links {
  display: flex;
  align-items: center;
  gap: var(--sp-8);
  list-style: none;
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--navy-mid);
}

.nav__link {
  color: inherit;
  position: relative;
  padding-block: var(--sp-2);
  transition: color var(--t-fast);
}
.nav__link::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0; right: 0;
  height: 2px;
  background: var(--green);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--t-base) var(--ease);
}
.nav__link:hover { color: var(--navy); text-decoration: none; }
.nav__link:hover::after { transform: scaleX(1); }
.nav__link--active { color: var(--navy); font-weight: 600; }
.nav__link--active::after { transform: scaleX(1); }

.nav__actions {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
}

.nav__hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  padding: var(--sp-2);
  border-radius: var(--radius-sm);
  transition: background var(--t-fast);
}
.nav__hamburger:hover { background: var(--bg-subtle); }
.nav__hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--navy);
  border-radius: 1px;
  transition: transform 0.22s var(--ease), opacity 0.18s;
}
.nav--open .nav__hamburger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav--open .nav__hamburger span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav--open .nav__hamburger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav__mobile {
  position: fixed;
  top: var(--nav-height);
  left: 0; right: 0;
  background: var(--bg-white);
  border-bottom: 1px solid var(--border);
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.28s var(--ease);
  z-index: 199;
  box-shadow: var(--shadow-md);
}
.nav--open .nav__mobile { max-height: 480px; }

.nav__mobile-link {
  display: block;
  padding: var(--sp-4) var(--sp-6);
  font-size: var(--text-base);
  font-weight: 500;
  color: var(--navy-mid);
  border-bottom: 1px solid var(--border);
  transition: background var(--t-fast), color var(--t-fast);
}
.nav__mobile-link:hover {
  background: var(--bg-subtle);
  color: var(--navy);
  text-decoration: none;
}

.nav__mobile-cta {
  display: block;
  margin: var(--sp-4) var(--sp-6) var(--sp-5);
  text-align: center;
}

@media (max-width: 768px) {
  .nav__links { display: none; }
  .nav__hamburger { display: flex; }
  .nav__actions .btn { display: none; }
}

/* ══════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════ */
.footer {
  background: var(--navy-bg);
  color: rgba(255,255,255,0.70);
  padding: var(--sp-20) 0 var(--sp-10);
}

.footer__top {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr;
  gap: var(--sp-16);
  padding-bottom: var(--sp-12);
  border-bottom: 1px solid rgba(255,255,255,0.10);
  margin-bottom: var(--sp-8);
}

.footer__brand img {
  height: 28px;
  margin-bottom: var(--sp-4);
}

.footer__tagline {
  font-size: var(--text-sm);
  line-height: 1.8;
  opacity: 0.75;
  max-width: 260px;
}

.footer__heading {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--green-light);
  margin-bottom: var(--sp-4);
  font-weight: 600;
}

.footer__link {
  display: block;
  font-size: var(--text-sm);
  color: rgba(255,255,255,0.55);
  padding: var(--sp-1) 0;
  transition: color var(--t-fast);
}
.footer__link:hover { color: #fff; text-decoration: none; }

.footer__email {
  font-size: var(--text-base);
  color: var(--green-light);
  font-weight: 500;
  margin-bottom: var(--sp-3);
  display: block;
  overflow-wrap: break-word;
  word-break: break-all;
  transition: color var(--t-fast);
}
.footer__email:hover { color: #fff; text-decoration: none; }

.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--sp-6);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  opacity: 0.65;
  flex-wrap: wrap;
  line-height: 1.7;
}

.footer__disclaimer { max-width: 560px; }

@media (max-width: 768px) {
  .footer__top { grid-template-columns: 1fr; gap: var(--sp-8); }
  .footer__bottom { flex-direction: column; }
}

/* ══════════════════════════════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════════════════════════════ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  padding: 12px 24px;
  border-radius: var(--radius-md);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1;
  border: 1.5px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  transition:
    background var(--t-fast),
    color var(--t-fast),
    border-color var(--t-fast),
    box-shadow var(--t-base) var(--ease),
    transform var(--t-fast);
}
.btn:hover { transform: translateY(-1px); text-decoration: none; }
.btn:active { transform: translateY(0); }
.btn:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}

/* Primary — green */
.btn--primary {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
  box-shadow: 0 2px 10px rgba(63,184,115,0.25);
}
.btn--primary:hover {
  background: #34a265;
  border-color: #34a265;
  box-shadow: 0 4px 18px rgba(63,184,115,0.38);
}

/* Secondary — dark navy */
.btn--secondary {
  background: var(--navy-bg);
  color: var(--navy);
  border-color: var(--border-dark);
}
.btn--secondary:hover {
  background: var(--bg-panel);
  border-color: var(--border-dark);
  box-shadow: var(--shadow-md);
}

/* Outline */
.btn--outline {
  background: transparent;
  color: var(--navy);
  border-color: var(--border-dark);
}
.btn--outline:hover {
  border-color: var(--navy);
  background: var(--bg-subtle);
}

/* Ghost */
.btn--ghost {
  background: transparent;
  color: var(--blue);
  border-color: transparent;
  padding-inline: var(--sp-3);
  box-shadow: none;
}
.btn--ghost:hover { background: var(--blue-dim); transform: none; }

/* Outline White — for use on dark/navy backgrounds (CTA strips, banners) */
.btn--outline-white {
  background: transparent;
  color: rgba(255,255,255,0.82);
  border-color: rgba(255,255,255,0.22);
}
.btn--outline-white:hover {
  color: #fff;
  border-color: rgba(255,255,255,0.55);
  background: rgba(255,255,255,0.07);
}

/* Sizes */
.btn--sm {
  padding: 8px 16px;
  font-size: var(--text-xs);
  border-radius: var(--radius-sm);
}
.btn--lg {
  padding: 16px 36px;
  font-size: var(--text-base);
  border-radius: var(--radius-lg);
}
.btn--xl {
  padding: 20px 44px;
  font-size: var(--text-lg);
  border-radius: var(--radius-lg);
}

/* ══════════════════════════════════════════════════════════════
   CARDS
   ══════════════════════════════════════════════════════════════ */
.card {
  background: var(--bg-white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--sp-8);
  transition:
    box-shadow var(--t-base) var(--ease),
    transform var(--t-base) var(--ease),
    border-color var(--t-base);
}
.card--hoverable:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
  border-color: var(--border-dark);
}

.card--elevated {
  box-shadow: var(--shadow-sm);
}
.card--elevated:hover {
  box-shadow: var(--shadow-lg);
  transform: translateY(-3px);
}

.card--flat { border: none; background: var(--bg-subtle); }
.card--flat:hover { background: var(--bg-panel); }

.card--navy {
  background: var(--navy-bg);
  color: var(--navy);
  border-color: var(--border);
}
.card--navy h1, .card--navy h2, .card--navy h3 { color: var(--navy); }

/* ══════════════════════════════════════════════════════════════
   BADGES / TAGS
   ══════════════════════════════════════════════════════════════ */
.badge {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  padding: 3px 10px;
  border-radius: var(--radius-full);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.5;
}
.badge--green   { background: var(--green-dim);  color: var(--green); }
.badge--blue    { background: var(--blue-dim);   color: var(--blue); }
.badge--navy    { background: var(--navy-bg);    color: var(--navy); }
.badge--outline { background: transparent; border: 1px solid var(--border-dark); color: var(--text-muted); }
.badge--preview { background: rgba(227,179,65,0.12); color: var(--amber); border: 1px solid rgba(227,179,65,0.30); }
.badge--new     { background: var(--green-dim);  color: var(--green); }

/* ══════════════════════════════════════════════════════════════
   TYPOGRAPHY UTILITIES
   ══════════════════════════════════════════════════════════════ */
.mono          { font-family: var(--font-mono); }
.mono-label {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-subtle);
  font-weight: 500;
}

.text-xs     { font-size: var(--text-xs); }
.text-sm     { font-size: var(--text-sm); }
.text-base   { font-size: var(--text-base); }
.text-lg     { font-size: var(--text-lg); }
.text-xl     { font-size: var(--text-xl); }
.text-2xl    { font-size: var(--text-2xl); }
.text-3xl    { font-size: var(--text-3xl); }
.text-4xl    { font-size: var(--text-4xl); }
.text-5xl    { font-size: var(--text-5xl); }
.text-6xl    { font-size: var(--text-6xl); }

.font-light  { font-weight: 300; }
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semi   { font-weight: 600; }
.font-bold   { font-weight: 700; }
.font-extra  { font-weight: 800; }
.font-black  { font-weight: 900; }

.text-navy   { color: var(--navy); }
.text-muted  { color: var(--text-muted); }
.text-subtle { color: var(--text-subtle); }
.text-green  { color: var(--green); }
.text-blue   { color: var(--blue); }
.text-white  { color: #fff; }
.text-red    { color: var(--red); }

.text-center { text-align: center; }
.text-left   { text-align: left; }
.text-right  { text-align: right; }
.uppercase   { text-transform: uppercase; }
.tracking-wide    { letter-spacing: 0.05em; }
.tracking-wider   { letter-spacing: 0.10em; }
.tracking-widest  { letter-spacing: 0.20em; }
.leading-tight    { line-height: 1.1; }
.leading-snug     { line-height: 1.3; }
.leading-relaxed  { line-height: 1.8; }

/* ══════════════════════════════════════════════════════════════
   STAT / NUMBER DISPLAY
   ══════════════════════════════════════════════════════════════ */
.stat-number {
  font-size: var(--text-5xl);
  font-weight: 900;
  color: var(--green);
  line-height: 0.95;
  letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}
.stat-unit {
  font-size: 0.5em;
  font-weight: 700;
  opacity: 0.8;
}
.stat-label {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin-top: var(--sp-3);
  line-height: 1.6;
  max-width: 280px;
}

/* ══════════════════════════════════════════════════════════════
   DIVIDERS
   ══════════════════════════════════════════════════════════════ */
.divider {
  border: none;
  border-top: 1px solid var(--border);
  margin-block: var(--sp-8);
}
.divider--heavy { border-top-color: var(--border-dark); }
.divider--light { border-top-color: rgba(255,255,255,0.10); }

/* ══════════════════════════════════════════════════════════════
   UTILITY CLASSES
   ══════════════════════════════════════════════════════════════ */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.mt-auto { margin-top: auto; }
.w-full  { width: 100%; }
.rounded { border-radius: var(--radius-md); }

/* Spacing helpers (top/bottom) */
.mt-2  { margin-top: var(--sp-2); }
.mt-4  { margin-top: var(--sp-4); }
.mt-6  { margin-top: var(--sp-6); }
.mt-8  { margin-top: var(--sp-8); }
.mt-12 { margin-top: var(--sp-12); }
.mt-16 { margin-top: var(--sp-16); }
.mb-2  { margin-bottom: var(--sp-2); }
.mb-4  { margin-bottom: var(--sp-4); }
.mb-6  { margin-bottom: var(--sp-6); }
.mb-8  { margin-bottom: var(--sp-8); }
.mb-12 { margin-bottom: var(--sp-12); }
.mb-16 { margin-bottom: var(--sp-16); }
